Vertispan / j2clmavenplugin

Maven plugin to launch new J2CL compilation
https://vertispan.github.io/j2clmavenplugin/
Apache License 2.0
53 stars 27 forks source link

Turbine seems to be writing extra details to META-INF/TRANSITIVE #215

Closed niloc132 closed 1 year ago

niloc132 commented 1 year ago

Is this what we want, does it risk messing up by either adding unexpected classes to the classpath, or changing the output hash?

treblereel commented 1 year ago

@niloc132, may I ask you to attach how-to-repro? Maybe I missed something because I can't find any TRANSITIVE files/folder.

niloc132 commented 1 year ago
[colin@runes j2clmavenplugin (main)]$ git show
commit 174ae561186c77012a23fd93d25a372d0285572b (HEAD -> main, zbynek/main, upstream/main, calpano/main)
Author: Colin Alworth <colin@colinalworth.com>
Date:   Sat Dec 24 11:46:19 2022 -0600

    Java 11 upgrade (#211)

    Also enables turbine by default, but supports the old implementation if
    necessary.
...
 mvn clean install -Dinvoker.test=elemental2-project

...
[INFO] --- maven-invoker-plugin:3.0.1:integration-test (default) @ j2cl-maven-plugin ---
[INFO] Running Setup Jobs
[INFO] Building: elemental2-project/pom.xml
[INFO]           elemental2-project/pom.xml ....................... SUCCESS (25.4 s)
[INFO] 
...

The directory for stripped_bytecode_headers might vary for this next one, but ideally its the same on different machines:

[colin@runes j2clmavenplugin (main)]$ find j2cl-maven-plugin/target/it-tests/elemental2-project/target/gwt3BuildCache/0.21-SNAPSHOT/com.google.elemental2-elemental2-dom-1.1.0/7034e110338a0c9e05042fabb57f1c1b-stripped_bytecode_headers/results/META-INF/
j2cl-maven-plugin/target/it-tests/elemental2-project/target/gwt3BuildCache/0.21-SNAPSHOT/com.google.elemental2-elemental2-dom-1.1.0/7034e110338a0c9e05042fabb57f1c1b-stripped_bytecode_headers/results/META-INF/
j2cl-maven-plugin/target/it-tests/elemental2-project/target/gwt3BuildCache/0.21-SNAPSHOT/com.google.elemental2-elemental2-dom-1.1.0/7034e110338a0c9e05042fabb57f1c1b-stripped_bytecode_headers/results/META-INF/TRANSITIVE
j2cl-maven-plugin/target/it-tests/elemental2-project/target/gwt3BuildCache/0.21-SNAPSHOT/com.google.elemental2-elemental2-dom-1.1.0/7034e110338a0c9e05042fabb57f1c1b-stripped_bytecode_headers/results/META-INF/TRANSITIVE/elemental2
j2cl-maven-plugin/target/it-tests/elemental2-project/target/gwt3BuildCache/0.21-SNAPSHOT/com.google.elemental2-elemental2-dom-1.1.0/7034e110338a0c9e05042fabb57f1c1b-stripped_bytecode_headers/results/META-INF/TRANSITIVE/elemental2/core
j2cl-maven-plugin/target/it-tests/elemental2-project/target/gwt3BuildCache/0.21-SNAPSHOT/com.google.elemental2-elemental2-dom-1.1.0/7034e110338a0c9e05042fabb57f1c1b-stripped_bytecode_headers/results/META-INF/TRANSITIVE/elemental2/core/Transferable.class
j2cl-maven-plugin/target/it-tests/elemental2-project/target/gwt3BuildCache/0.21-SNAPSHOT/com.google.elemental2-elemental2-dom-1.1.0/7034e110338a0c9e05042fabb57f1c1b-stripped_bytecode_headers/results/META-INF/TRANSITIVE/elemental2/core/JsIterable.class
...
treblereel commented 1 year ago

@niloc132 got it, thank you

treblereel commented 1 year ago

@niloc132 by default turbine generates .jar files and adds the transitive deps, from here https://github.com/google/turbine/blob/ff5c47b99956df009cf6c10fa95887cf89249f7c/java/com/google/turbine/main/Main.java#L401.

So what we can do: skip that folder during unpack stage.

wdyt? From my point of view, it's ok

niloc132 commented 1 year ago

Yes, I think that makes sense, unless we think we get some benefit out of it (and no downside)?

treblereel commented 1 year ago

The build exited with code 1. See /home/runner/work/j2clmavenplugin/j2clmavenplugin/j2cl-maven-plugin/target/it-tests/static-resources/build.log

Sometimes I have the same error locally