sorry no idea about travis and memory

On Jun 8, 2017, at 10:40 AM, Christofer Dutz <christofer.d...@c-ware.de> wrote:
> ...
> Today I had some progress on the java7 side.
...
> problem. The default methods in DirectTestSetup can’t seem to be backported 
> if the interface and the implementing class are not in the same retrolambda 
> execution. Eventually refactoring the tests to work without default methods 
> would be a good idea.
I’ll look into that.

> The problem with classifiers is that maven automatically resolves artifacts. 
> Depending on the scope different artifacts are pulled in. In general, we 
> would be using the “compile” scope. So, if I add a dependency with classifier 
> “java7” then it would pull in that jar in the java7 version, but the 
> transitive dependencies would probably be the java8 ones, so you would have 
> to explicitly define all the transitive dependencies with the classifier. We 
> don’t want that ;-)

Thought I was following it but then not :-)  
I may have to try a test using classifier so as to really understand how/why it 
won’t work. 

But if encoding tgt-kind in the versionId is the way to go… (I think it would 
be nice if it could be avoided for tgt-java8, e.g., just 1.2.0, not 1.2.0.java8)

In travis I don’t think you’ll be able to just/only say
        mvn clean deploy                        # compile/test/deploy java8
        mvn clean deploy -Pjava7        # compile/test/deploy java7

That’s because the compile for java7, including the tests, must be done with a 
java8 JDK (with retrolambda then applied).  There’s no java7 JDK in the mix for 
java7 compile.

But to really test the compiled java7-compatible tests one has to first switch 
the environment to a java7 JRE and then run them in that environment (they 
can’t be compiled in a java7 env because they use lambdas).

That’s why the travis / gradle/ant stuff was structured out the way it was:
        switch to java8
        gradlew release           # compiles Edgent into jars for 
java8,7,android.
                                            # NOTE, tests are not bundled into 
jars. So there are just the j8 class files
        gradlew test                 # runs the already compiled Edgent tests 
(with java8)
        gradlew test7Compile  # recompile the tests-only to be java7 compatible
        switch to java7
        gradlew test7Run        # runs the already java7-compatible compiled 
Edgent tests (with java7)

Also at a high level I think we don’t want to deploy one config unless all 
configs are OK.

— Dale

Reply via email to