Ok guys … now some MAJOR update :-) I managed to setup a build that build all modules with Java8, if the profile “platform-java7” is enabled, also Java7 versions are produced by unpacking the Java8 versions in some pom-only modules, applying retrolambda there and then running all unit- and integration-tests with Java7. The cool thing is, I didn’t port only the ones build for java7 in the past, but all edgent modules and fixed the ones that were having problems (I added a helper that does the same as the Java8 extensions did). Now all modules except some examples are also available on Java7 (I had do disable some Tests though, as they were using Java8 APIs, but this should be fixable quite easily). The cool thing … all should also work on Travis too (I found a place where the Java paths were documented … see the .travis.yml).
The build of Java8 should work out of the box on any machine with Maven and Java8, if you want to build the Java7 versions, you need to activate the profile “platform-java7” and provide a so-called toolchain (either you create a toolchain.xml in your .m2 directory or you create a file elsewhere and pass that files path in with the “-t” command-line option). As retrolambda needs Java8 to run, you also need to provide a property: “java8.home” that points to your Java8 home directory. Regarding the Android package, I would start working on this next. If the “android” modules are only used in the “android” platform, I would suggest building a similar structure for android as for Java7 and to move the real android modules into that directory. Then they wouldn’t be part of the Java8 and Java7 package and be included only in the android package. You can use the toolchains-travis.xml file as a template to create your own. I added an git exclusion for toolchains-local.xml. So, if you just copy that to toolchains-local.xml and adjust your java-home paths inside, you should be able to build everything with the following command: mvn –Pplatform-java7,platform-android –Djava8.home={JAVA8_HOME} –t toolchains-local.xml clean install Hope it works on your machines too … if not I’ll handle the problems as soon as possible. Chris Am 19.06.17, 15:20 schrieb "Dale LaBossiere" <dml.apa...@gmail.com>: Nice catch! I created https://issues.apache.org/jira/browse/EDGENT-423 — Dale > On Jun 18, 2017, at 8:04 AM, Christofer Dutz <christofer.d...@c-ware.de> wrote: > > While fine tuning my maven migration, I stumbled over a problem in the analytics/sensors modules. > As part of the build I am validating the classes for Java7 against the signatures of the Java 7 SDK. Here my plugin found an issue I thought was worth reporting. > In the class org.apache.edgent.analytics.sensors.Range almost at the end in the method toUnsignedString we are using Byte.toUnsignedInt, which is only available in Java 8 … there is no back-port for java 7 for this code. Eventually we should replace this with code that works on Java 7 too.