Try this little trick borrowed from Netty.
So you have an exception:
- you don't want to check
- you don't want to swallow
- you don't want to pollute the method signature
Consider the following class Throw
:
java.lang.Exception: Stack trace | |
at java.lang.Thread.dumpStack(Thread.java:1365) | |
at com.liferay.ant.bnd.version.VersionVerifierPlugin.verify(VersionVerifierPlugin.java:43) | |
at aQute.bnd.osgi.Verifier.doVerifierPlugins(Verifier.java:544) | |
at aQute.bnd.osgi.Verifier.verify(Verifier.java:536) | |
at aQute.bnd.osgi.Builder.doVerify(Builder.java:503) | |
at aQute.bnd.osgi.Builder.build(Builder.java:152) | |
at aQute.bnd.osgi.Builder$build$1.call(Unknown Source) | |
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) | |
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) |
[rotty@rotty-XPS-15-9530 (pr-1030 *$) portal-rest-extender-test]$ ../../../gradlew clean deploy --stacktrace | |
Configuration on demand is an incubating feature. | |
:portal:portal-rest-extender-test:cleanBuildCSS UP-TO-DATE | |
:portal:portal-rest-extender-test:cleanBuildXSD UP-TO-DATE | |
:portal:portal-rest-extender-test:cleanCompileJSP | |
:portal:portal-rest-extender-test:cleanCompileJava | |
:portal:portal-rest-extender-test:cleanCompileTestIntegrationJava | |
:portal:portal-rest-extender-test:cleanCompileTestJava UP-TO-DATE | |
:portal:portal-rest-extender-test:cleanConfigJSModules UP-TO-DATE | |
:portal:portal-rest-extender-test:cleanCopyLibs |
/** | |
* Copyright (c) 2000-present Liferay, Inc. All rights reserved. | |
* | |
* This library is free software; you can redistribute it and/or modify it under | |
* the terms of the GNU Lesser General Public License as published by the Free | |
* Software Foundation; either version 2.1 of the License, or (at your option) | |
* any later version. | |
* | |
* This library is distributed in the hope that it will be useful, but WITHOUT | |
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
#!/bin/bash | |
spin() { | |
local s=("|" "/" "-" '\x5C') | |
local i=0 | |
while kill -0 $1 2> /dev/null; do | |
echo -en "[${s[$i]}]"\\r | |
i=$(( $i == 3 ? 0 : $i + 1 )) | |
sleep .1 | |
done |
#!/bin/bash | |
checkoutMasterSubmodule() { | |
( | |
local name=${1##*/} | |
echo "[----> Initing Submodule '${name}']" | |
git submodule update "${name}" 2>/dev/null | |
cd "${name}" | |
git checkout master 2>/dev/null | |
)& |
#!/bin/bash | |
# Get it! | |
wget http://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.0.0%20M4/liferay-portal-tomcat-7.0-ce-m4-20150224120313668.zip/download -O liferay-portal-tomcat-7.0-ce-m4.zip | |
# Unzip it! | |
unzip liferay-portal-tomcat-7.0-ce-m4.zip | |
# Trim off some legacy apps! | |
rm -rf liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/calendar-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/marketplace-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/opensocial-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/web-form-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/kaleo-web liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/notifications-portlet liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/resources-importer-web liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/sync-web liferay-portal-7.0-ce-m4/tomcat-7.0.42/webapps/welcome-theme |
@Component( | |
property = { | |
"osgi.http.whiteboard.resource.pattern=/kaleo/resources/*", | |
"osgi.http.whiteboard.resource.prefix=/", | |
"osgi.http.whiteboard.servlet.pattern=/kaleo/resources/*" // temporary since this was the old property | |
}, | |
service = Servlet.class | |
) | |
public class DDMJsResources extends HttpServlet { | |
} |
Import-Package:\ | |
!com.liferay.portal.tools.sql,\ | |
!javax.activation.*,\ | |
!javax.crypto.*,\ | |
!javax.imageio.*,\ | |
!javax.mail.*,\ | |
!javax.naming.*,\ | |
!javax.sql,\ | |
!junit.framework.*,\ | |
!net.sf.akismet.*,\ |
@@ -23,8 +23,12 @@ import com.liferay.portal.kernel.dao.db.IndexMetadataFactoryUtil; | |
import com.liferay.portal.kernel.dao.jdbc.DataAccess; | |
import com.liferay.portal.kernel.io.unsync.UnsyncBufferedReader; | |
import com.liferay.portal.kernel.io.unsync.UnsyncStringReader; | |
+import com.liferay.portal.kernel.io.unsync.UnsyncStringWriter; | |
import com.liferay.portal.kernel.log.Log; | |
import com.liferay.portal.kernel.log.LogFactoryUtil; | |
+import com.liferay.portal.kernel.template.StringTemplateResource; | |
+import com.liferay.portal.kernel.template.Template; | |
+import com.liferay.portal.kernel.template.TemplateManagerUtil; |
Try this little trick borrowed from Netty.
So you have an exception:
Consider the following class Throw
: