Bug 2024103

Summary: Xmvn cannot detect its classpath
Product: [Fedora] Fedora Reporter: Didik Supriadi <didiksupriadi41>
Component: plexus-languagesAssignee: Mikolaj Izdebski <mizdebsk>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: java-sig-commits, mat.booth, mizdebsk, msrb
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: plexus-languages-1.0.6-4.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-26 01:21:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Didik Supriadi 2021-11-17 10:22:49 UTC
Description of problem:

I have some issues with java packaging i.e. jaxb-stax-ex.
The error comes out after xmvn-4.0.0 is released.

with maven (mvn clean package -X), the building goes well as you can see here:

```
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ stax-ex ---
[DEBUG] Configuring mojo org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:3.8.1, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@55054057]
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile' with basic configurator -->
[DEBUG]   (f) basedir = /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3
[DEBUG]   (f) buildDirectory = /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target
[DEBUG]   (f) compilePath = [/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes, /home/dsupriadi/.m2/repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar, /home/dsupriadi/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar]
[DEBUG]   (f) compileSourceRoots = [/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java]
[DEBUG]   (f) compilerArgs = [-Xlint:all]
[DEBUG]   (f) compilerId = javac
[DEBUG]   (f) debug = true
[DEBUG]   (f) failOnError = true
[DEBUG]   (f) failOnWarning = false
[DEBUG]   (f) forceJavacCompilerUse = false
[DEBUG]   (f) fork = false
[DEBUG]   (f) generatedTestSourcesDirectory = /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations
[DEBUG]   (f) mojoExecution = org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile {execution: default-testCompile}
[DEBUG]   (f) optimize = false
[DEBUG]   (f) outputDirectory = /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes
[DEBUG]   (f) parameters = false
[DEBUG]   (f) project = MavenProject: org.jvnet.staxex:stax-ex:1.8.3 @ /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/pom.xml
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@7c4fc2bf
[DEBUG]   (f) showDeprecation = false
[DEBUG]   (f) showWarnings = false
[DEBUG]   (f) skipMultiThreadWarning = false
[DEBUG]   (f) source = 9
[DEBUG]   (f) staleMillis = 0
[DEBUG]   (s) target = 9
[DEBUG]   (f) testPath = [/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes, /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes, /home/dsupriadi/.m2/repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar, /home/dsupriadi/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar, /home/dsupriadi/.m2/repository/junit/junit/4.12/junit-4.12.jar, /home/dsupriadi/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar]
[DEBUG]   (f) useIncrementalCompilation = true
[DEBUG]   (f) verbose = false
[DEBUG] -- end configuration --
[DEBUG] Using compiler 'javac'.
[DEBUG] Adding /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations to test-compile source roots:
  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java
[DEBUG] New test-compile source roots:
  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java
  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations
[DEBUG] CompilerReuseStrategy: reuseCreated
[DEBUG] useIncrementalCompilation enabled
[DEBUG] New dependency detected: /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes
[INFO] Changes detected - recompiling the module!
[DEBUG] Classpath:
[DEBUG]  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes
[DEBUG]  /home/dsupriadi/.m2/repository/junit/junit/4.12/junit-4.12.jar
[DEBUG]  /home/dsupriadi/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
[DEBUG] Modulepath:
[DEBUG]  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes
[DEBUG]  /home/dsupriadi/.m2/repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar
[DEBUG]  /home/dsupriadi/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar
[DEBUG] Source roots:
[DEBUG]  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java
[DEBUG]  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations
[DEBUG] Command line options:
[DEBUG] -d /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes -classpath /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes:/home/dsupriadi/.m2/repository/junit/junit/4.12/junit-4.12.jar:/home/dsupriadi/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar: --module-path /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes:/home/dsupriadi/.m2/repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar:/home/dsupriadi/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar: -sourcepath /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java:/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations: -s /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations -g -nowarn -target 9 -source 9 -Xlint:all --patch-module org.jvnet.staxex=/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes:/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java:/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations: --add-reads org.jvnet.staxex=ALL-UNNAMED
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[DEBUG] incrementalBuildHelper#beforeRebuildExecution
[INFO] Compiling 2 source files to /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes
[DEBUG] incrementalBuildHelper#afterRebuildExecution
[INFO]
[INFO] --- maven-surefire-plugin:3.0.0-M3:test (default-test) @ stax-ex ---

but with xmvn (/usr/bin/python3 /usr/share/java-utils/mvn_build.py --xmvn-javadoc -X), it cannot detect its classpath:

[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ stax-ex ---
[DEBUG] Configuring mojo org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:3.8.1, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@55054057]
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile' with basic configurator -->
[DEBUG]   (f) basedir = /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3
[DEBUG]   (f) buildDirectory = /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target
[DEBUG]   (f) compilePath = [/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes, /usr/share/java/jakarta-activation/jakarta.activation-api.jar, /home/dsupriadi/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar]
[DEBUG]   (f) compileSourceRoots = [/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java]
[DEBUG]   (f) compilerArgs = [-Xlint:all]
[DEBUG]   (f) compilerId = javac
[DEBUG]   (f) debug = true
[DEBUG]   (f) failOnError = true
[DEBUG]   (f) failOnWarning = false
[DEBUG]   (f) forceJavacCompilerUse = false
[DEBUG]   (f) fork = false
[DEBUG]   (f) generatedTestSourcesDirectory = /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations
[DEBUG]   (f) mojoExecution = org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile {execution: default-testCompile}
[DEBUG]   (f) optimize = false
[DEBUG]   (f) outputDirectory = /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes
[DEBUG]   (f) parameters = false
[DEBUG]   (f) project = MavenProject: org.jvnet.staxex:stax-ex:1.8.3 @ /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/pom.xml
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@3d6a6bee
[DEBUG]   (f) showDeprecation = false
[DEBUG]   (f) showWarnings = false
[DEBUG]   (f) skipMultiThreadWarning = false
[DEBUG]   (f) source = 9
[DEBUG]   (f) staleMillis = 0
[DEBUG]   (s) target = 9
[DEBUG]   (f) testPath = [/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes, /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes, /usr/share/java/jakarta-activation/jakarta.activation-api.jar, /home/dsupriadi/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar]
[DEBUG]   (f) useIncrementalCompilation = true
[DEBUG]   (f) verbose = false
[DEBUG] -- end configuration --
[DEBUG] Using compiler 'javac'.
[DEBUG] Adding /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations to test-compile source roots:
  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java
[DEBUG] New test-compile source roots:
  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java
  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations
[DEBUG] CompilerReuseStrategy: reuseCreated
[DEBUG] useIncrementalCompilation enabled
[WARNING] Can't extract module name from test-classes: null
[DEBUG] New dependency detected: /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes
[INFO] Changes detected - recompiling the module!
[DEBUG] Classpath:
[DEBUG] Modulepath:
[DEBUG]  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes
[DEBUG]  /usr/share/java/jakarta-activation/jakarta.activation-api.jar
[DEBUG]  /home/dsupriadi/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar
[DEBUG] Source roots:
[DEBUG]  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java
[DEBUG]  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations
[DEBUG] Command line options:
[DEBUG] -d /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes --module-path /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes:/usr/share/java/jakarta-activation/jakarta.activation-api.jar:/home/dsupriadi/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar: -sourcepath /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java:/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations: -s /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations -g -nowarn -target 9 -source 9 -Xlint:all --patch-module org.jvnet.staxex=/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/classes:/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/src/test/java:/home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/generated-test-sources/test-annotations: --add-reads org.jvnet.staxex=ALL-UNNAMED
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[DEBUG] incrementalBuildHelper#beforeRebuildExecution
[INFO] Compiling 2 source files to /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes
[DEBUG] incrementalBuildHelper#afterRebuildExecution
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
This MIGHT be the reason why so many packages are FTBFS (?)

I have to do this workaround for this compilation error:
https://src.fedoraproject.org/rpms/jaxb-stax-ex/blob/rawhide/f/jaxb-stax-ex.spec#_38-56
https://src.fedoraproject.org/rpms/xmlstreambuffer/blob/rawhide/f/xmlstreambuffer.spec#_37-55


Version-Release number of selected component (if applicable):
4.0.0-1 (f35), 4.0.0-4 (rawhide)

How reproducible:
Always

Steps to Reproduce:
1. `git clone https://src.fedoraproject.org/rpms/jaxb-stax-ex.git`
2. delete my workaround (in this case, line 38 - line 56)
3. run `fedpkg prep`
4. change dir to jaxb-stax-ex-%{version}
5. to see the code build with maven, run `mvn clean package -X` (don't forget to run `mvn clean` after it builds)
6. to see the code build with xmvn, run `/usr/bin/python3 /usr/share/java-utils/mvn_build.py --xmvn-javadoc -X`

Actual results:
as you can see, in maven:
[DEBUG] Classpath:
[DEBUG]  /home/dsupriadi/Fedora-scm/jaxb-stax-ex/jaxb-stax-ex-1.8.3/target/test-classes
[DEBUG]  /home/dsupriadi/.m2/repository/junit/junit/4.12/junit-4.12.jar
[DEBUG]  /home/dsupriadi/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar

while in xmvn:
[DEBUG] Classpath:

Expected results:
xmvn should detect the Classpath like maven.

Additional info:

Comment 1 Mikolaj Izdebski 2021-11-17 10:26:57 UTC
Moving to plexus-languages component. This is not a bug in XMvn.
Upstream links:
https://github.com/codehaus-plexus/plexus-languages/issues/70
https://issues.apache.org/jira/browse/SUREFIRE-1897

Comment 2 Mikolaj Izdebski 2021-11-17 10:34:21 UTC
Pull request: https://src.fedoraproject.org/rpms/plexus-languages/pull-request/4

Comment 3 Mikolaj Izdebski 2021-11-17 11:03:02 UTC
PR was merged.

Comment 4 Mikolaj Izdebski 2021-11-17 11:08:24 UTC
Build with the fix was built for rawhide.
You can wait for it to appear in build repo with command: koji wait-repo f36-build --build plexus-languages-1.0.6-4.fc36
Then build your package in Koji or in mock with --enablerepo local

Comment 5 Fedora Update System 2021-11-17 11:10:09 UTC
FEDORA-2021-4d20858fb2 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-4d20858fb2

Comment 6 Didik Supriadi 2021-11-17 11:12:45 UTC
Thank you

Comment 7 Fedora Update System 2021-11-18 04:45:02 UTC
FEDORA-2021-4d20858fb2 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-4d20858fb2`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-4d20858fb2

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2021-11-26 01:21:43 UTC
FEDORA-2021-4d20858fb2 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.