* IDEMPIERE-4298: remove Bundle-RequiredExecutionEnvironment
when build by tycho value of Bundle-RequiredExecutionEnvironment and jdt need to compatibility
in case we use Bundle-RequiredExecutionEnvironment = 11 then can't build by jdk != 11
so stick on fix value isn't good
eclipse now also support Require-Capability, so don't need Bundle-RequiredExecutionEnvironment anymore
* IDEMPIERE-4298:support update jdk (jdk 12 13 14)
default environment still jdk-11 but you can build for any jdk by below command
export JAVA_HOME=path to jdk
mvn verify -Djdk.version=11
in case on JAVA_HOME is jdk 14 then can set jdk.version for 11, 12, 13, 14 and same for other jdk
at moment java 14 just support on eclipse 2020-03 with install plugin
Java 14 Support for Eclipse 2020-03 (4.15)
* IDEMPIERE-4267 Remove org.adempiere.report.jasper.webapp
Remove org.adempiere.report.jasper.webapp project.
Use reportfilename.md5 to get remote md5 hash.
Use hex instead of base64 for md5 hash.
Copy standalone.jrxml to org.adempiere.report.jasper/test folder.
* IDEMPIERE-4267 Remove org.adempiere.report.jasper.webapp
Remove org.adempiere.report.jasper.fragment.test project
Added space checking for the default hash created by the md5sum command
line tool.
from warning: No classloader found for java.util.ServiceLoader:load(interface org.eclipse.jetty.websocket.api.extensions.Extension)
reason:
spi-fly on idempiere use Dynamic Weaving to lookup service provide
it use Bundle.ACTIVE event to start lookup service provide (see org.apache.aries.spifly.BaseActivator and ProviderBundleTrackerCustomizer)
so service provide need to active before it's used
solution:
active and set start level to 3 for some bundle relate websocket to plan support websocket
remain some warning:
10:39:31.747-----------> BaseActivator.log: No classloader found for java.util.ServiceLoader:load(interface org.atmosphere.inject.Injectable)
don't fix because it still work well, in case active this bundle will encounter issue relase package "org.atmosphere.annotation" not yet export
https://github.com/Atmosphere/atmosphere/issues/1896
WARNING: No classloader found for java.util.ServiceLoader:load(interface org.eclipse.jetty.xml.ConfigurationProcessorFactory)
WARNING: No classloader found for java.util.ServiceLoader:load(interface org.eclipse.jetty.xml.ConfigurationProcessorFactory)
just find SpringConfigurationProcessorFactory and SpringConfigurationProcessorFactory implement that service, it look for spring so don't need resolve
refer:http://aries.apache.org/modules/spi-fly.html
1. new version of cxf need new version of spring so get osgi version from org.apache.servicemix but spring of cxf limit to 4.0 so take 4.3.19.RELEASE_1
http://cxf.apache.org/docs/30-migration-guide.html
2. eclipse auto add --add-modules=ALL-SYSTEM when run eclipse launcher, so when run idempiere server from eclipse encounter bellow condition
javax.activity, javax.xml.ws is depricate package to remove on jdk11
that why this module is exclusive from build class path (but by --add-modules=ALL-SYSTEM it appear at runtime)
we use some replace jar for that package (com.sun.activation for javax.activation)
update jetty to 12
update almost library to latest version
change org.eclipse.jdt.core.compiler.batch to org.eclipse.jdt.core
change javax.management.j2ee-api to org.apache.geronimo.specs.geronimo-j2ee-management_1.1_spec, reduce dependency and correct dependency of activeMQ
javax.activation to com.sun.activation.javax.activation
lib for service will take from library instea of jdk
groovy to date