Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.2.0.Final break builds where 1.1.0 works (Apache Commons IO): add-module-info failed: Couldn't copy JAR file #244

Closed
garydgregory opened this issue Mar 23, 2024 · 9 comments

Comments

@garydgregory
Copy link

garydgregory commented Mar 23, 2024

To reproduce:

git clone https://github.com/apache/commons-io
cd commons-io
git checkout 51dd8f5d3cdf72f63b1b156021f284387811a08a
mvn -DskipTests -Dcommons.moditect-maven-plugin.version=1.2.0.Final

Produces the error add-module-info failed: Couldn't copy JAR file:

[INFO] --- moditect:1.2.0.Final:add-module-info (add-module-infos) @ commons-io ---
[INFO] Running jdeps --generate-module-info /Users/garydgregory/git/commons-io/target/moditect --multi-release=9 /Users/garydgregory/git/commons-io/target/commons-io-2.16.0-SNAPSHOT.jar
writing to /Users/garydgregory/git/commons-io/target/moditect/org.apache.commons.io/versions/9/module-info.java
[INFO] Created module descriptor at /Users/garydgregory/git/commons-io/target/moditect/generated-sources/org.apache.commons.io/module-info.java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  33.197 s
[INFO] Finished at: 2024-03-23T07:12:58-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.moditect:moditect-maven-plugin:1.2.0.Final:add-module-info (add-module-infos) on project commons-io: Execution add-module-infos of goal org.moditect:moditect-maven-plugin:1.2.0.Final:add-module-info failed: Couldn't copy JAR file: /Users/garydgregory/git/commons-io/target/commons-io-2.16.0-SNAPSHOT.jar -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

With -X:

[INFO] --- moditect:1.2.0.Final:add-module-info (add-module-infos) @ commons-io ---
[DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=14908, ConflictMarker.markTime=20735, ConflictMarker.nodeCount=5, ConflictIdSorter.graphTime=6002, ConflictIdSorter.topsortTime=10922, ConflictIdSorter.conflictIdCount=5, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=45181, ConflictResolver.conflictItemCount=5, DfDependencyCollector.collectTime=11422738, DfDependencyCollector.transformTime=115258}
[DEBUG] org.moditect:moditect-maven-plugin:jar:1.2.0.Final
[DEBUG]    org.eclipse.aether:aether-util:jar:1.1.0:compile
[DEBUG]       org.eclipse.aether:aether-api:jar:1.1.0:compile
[DEBUG]    org.moditect:moditect:jar:1.2.0.Final:compile
[DEBUG]       com.beust:jcommander:jar:1.82:compile
[DEBUG] Created new class realm plugin>org.moditect:moditect-maven-plugin:1.2.0.Final
[DEBUG] Importing foreign packages into class realm plugin>org.moditect:moditect-maven-plugin:1.2.0.Final
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm plugin>org.moditect:moditect-maven-plugin:1.2.0.Final
[DEBUG]   Included: org.moditect:moditect-maven-plugin:jar:1.2.0.Final
[DEBUG]   Included: org.moditect:moditect:jar:1.2.0.Final
[DEBUG]   Included: com.beust:jcommander:jar:1.82
[DEBUG] Loading mojo org.moditect:moditect-maven-plugin:1.2.0.Final:add-module-info from plugin realm ClassRealm[plugin>org.moditect:moditect-maven-plugin:1.2.0.Final, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@67424e82]
[DEBUG] Configuring mojo execution 'org.moditect:moditect-maven-plugin:1.2.0.Final:add-module-info:add-module-infos' with basic configurator -->
[DEBUG]   (f) artifactId = commons-io
[DEBUG]   (f) buildDirectory = /Users/garydgregory/git/commons-io/target
[DEBUG]   (f) failOnWarning = false
[DEBUG]   (f) jdepsExtraArgs = [--multi-release=9]
[DEBUG]   (f) jvmVersion = 9
[DEBUG]   (s) name = org.apache.commons.io
[DEBUG]   (s) addServiceUses = true
[DEBUG]   (s) moduleInfo = ModuleInfoConfiguration [requires=*;, exports=*;, opens=!*;, opensResources=null, uses=null, provides=null, name=org.apache.commons.io, addServiceUses=true, open=false]
[DEBUG]   (f) module = MainModuleConfiguration [ moduleInfo=ModuleInfoConfiguration [requires=*;, exports=*;, opens=!*;, opensResources=null, uses=null, provides=null, name=org.apache.commons.io, addServiceUses=true, open=false], moduleInfoFile=null, moduleInfoSource=null, mainClass=null]
[DEBUG]   (f) outputDirectory = /Users/garydgregory/git/commons-io/target
[DEBUG]   (f) outputTimestamp = 2024-02-01T03:27:02Z
[DEBUG]   (f) overwriteExistingFiles = true
[DEBUG]   (f) project = MavenProject: commons-io:commons-io:2.16.0-SNAPSHOT @ /Users/garydgregory/git/commons-io/pom.xml
[DEBUG]   (f) remoteRepos = [apache.snapshots (https://repository.apache.org/snapshots, default, snapshots), central (https://repo.maven.apache.org/maven2, default, releases)]
[DEBUG]   (f) repoSession = org.eclipse.aether.DefaultRepositorySystemSession@2ddfa4df
[DEBUG]   (f) skip = false
[DEBUG]   (f) version = 2.16.0-SNAPSHOT
[DEBUG]   (f) workingDirectory = /Users/garydgregory/git/commons-io/target/moditect
[DEBUG] -- end configuration --
[INFO] Running jdeps --generate-module-info /Users/garydgregory/git/commons-io/target/moditect --multi-release=9 /Users/garydgregory/git/commons-io/target/commons-io-2.16.0-SNAPSHOT.jar
writing to /Users/garydgregory/git/commons-io/target/moditect/org.apache.commons.io/versions/9/module-info.java
[DEBUG] Version extracted from the same argument: 9
[INFO] Created module descriptor at /Users/garydgregory/git/commons-io/target/moditect/generated-sources/org.apache.commons.io/module-info.java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  36.213 s
[INFO] Finished at: 2024-03-23T07:03:46-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.moditect:moditect-maven-plugin:1.2.0.Final:add-module-info (add-module-infos) on project commons-io: Execution add-module-infos of goal org.moditect:moditect-maven-plugin:1.2.0.Final:add-module-info failed: Couldn't copy JAR file: /Users/garydgregory/git/commons-io/target/commons-io-2.16.0-SNAPSHOT.jar -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.moditect:moditect-maven-plugin:1.2.0.Final:add-module-info (add-module-infos) on project commons-io: Execution add-module-infos of goal org.moditect:moditect-maven-plugin:1.2.0.Final:add-module-info failed: Couldn't copy JAR file
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution add-module-infos of goal org.moditect:moditect-maven-plugin:1.2.0.Final:add-module-info failed: Couldn't copy JAR file
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:133)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: java.lang.RuntimeException: Couldn't copy JAR file
    at org.moditect.commands.AddModuleInfo.run (AddModuleInfo.java:113)
    at org.moditect.mavenplugin.add.AddModuleInfoMojo.execute (AddModuleInfoMojo.java:238)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: java.nio.file.FileAlreadyExistsException: /Users/garydgregory/git/commons-io/target/commons-io-2.16.0-SNAPSHOT.jar
    at sun.nio.fs.UnixException.translateToIOException (UnixException.java:94)
    at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:106)
    at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:111)
    at sun.nio.fs.UnixFileSystemProvider.newByteChannel (UnixFileSystemProvider.java:218)
    at java.nio.file.Files.newByteChannel (Files.java:380)
    at java.nio.file.Files.createFile (Files.java:658)
    at org.moditect.commands.AddModuleInfo.run (AddModuleInfo.java:110)
    at org.moditect.mavenplugin.add.AddModuleInfoMojo.execute (AddModuleInfoMojo.java:238)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[DEBUG] Shutting down adapter factory; available factories [file-lock, rwlock-local, semaphore-local, noop]; available name mappers [discriminating, file-gav, file-hgav, file-static, gav, static]
[DEBUG] Shutting down 'file-lock' factory
[DEBUG] Shutting down 'rwlock-local' factory
[DEBUG] Shutting down 'semaphore-local' factory
[DEBUG] Shutting down 'noop' factory
@aalmiray
Copy link
Contributor

aalmiray commented Mar 23, 2024

Yup, I can see where things went wrong. There's a check for overwriting existing files but the code attempts to overwrite while reading the original. Sorry about that, will fix it right away.

@garydgregory
Copy link
Author

Thank you @aalmiray !

@aalmiray
Copy link
Contributor

aalmiray commented Mar 23, 2024

PR #246 ready. Will sit on it (review) for a few days before merging

@garydgregory
Copy link
Author

@aalmiray
Thanks for the update.

@garydgregory
Copy link
Author

garydgregory commented Mar 28, 2024

Hi, I see #246 is merged, when can we expect a release?

@aalmiray
Copy link
Contributor

I suppose 1.2.1.Final could be posted this weekend.

@garydgregory
Copy link
Author

OK, that works, then I can create a release candidate for a new Commons Parent POM. TY!

@aalmiray
Copy link
Contributor

Shipped in 1.2.1.Final.

@garydgregory
Copy link
Author

TY @aalmiray, on the Apache Commons Parent side, I merged apache/commons-parent#390

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants