[ https://issues.apache.org/jira/browse/MASSEMBLY-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17016987#comment-17016987 ]
Andrey Turbanov edited comment on MASSEMBLY-874 at 1/17/20 2:41 PM: -------------------------------------------------------------------- As I can in debugger see artifacts are downloaded there - https://github.com/apache/maven-assembly-plugin/blob/master/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java#L158 Perhaps code should set more parameters in {{ProjectBuildingRequest}}. Something like this: {code} Index: src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java <+>UTF-8 =================================================================== --- src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java (revision 178d0d0e3af1557f0c1400de33cce9885e1d89ab) +++ src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java (date 1579186139177) @@ -180,7 +180,9 @@ private ProjectBuildingRequest getProjectBuildingRequest( AssemblerConfigurationSource configSource ) { - return configSource.getMavenSession().getProjectBuildingRequest(); + ProjectBuildingRequest pbr = configSource.getMavenSession().getProjectBuildingRequest(); + pbr.setRemoteRepositories( project.getRemoteArtifactRepositories() ); + return pbr; } private boolean isUnpackWithOptions( DependencySet dependencySet ) {code} It's still unclear for my why plugin tries to "build" project from dependency. You can see that {{project.getRemoteArtifactRepositories()}} contains all defined remote repositories, while default {{pbr.getRemoteArtifactRepositories()}} contains only one. !maven_assembly_repositories_after_and_before_change.png! Before fix. *mvn package -U* run {code} [INFO] --- maven-assembly-plugin:3.2.0:single (default) @ dxcore-ipfservice --- [INFO] Reading assembly descriptor: assembly.xml Downloading from Nexus: https://maven.in.devexperts.com/content/groups/public/com/dxfeed/ipf-api/327/ipf-api-327.pom Downloading from Nexus: https://maven.in.devexperts.com/content/groups/public/com/devexperts/mdd/ipfservice/327/ipfservice-327.pom Downloading from Nexus: https://maven.in.devexperts.com/content/groups/public/com/devexperts/mdd/storage/327/storage-327.pom [INFO] Building zip: D:\Projects\dxcore-assembly\Tools\ipfservice\target\dxcore-ipfservice.zip [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for dxcore TURBO-SNAPSHOT: [INFO] [INFO] dxcore ............................................. SUCCESS [ 0.014 s] [INFO] dxcore-tools-parent ................................ SUCCESS [ 0.015 s] [INFO] dxcore-ipfservice .................................. SUCCESS [ 2.228 s] {code} After fix. *mvn package -U* run {code} [INFO] --- maven-assembly-plugin:3.2.1-dx:single (default) @ dxcore-ipfservice --- [INFO] Reading assembly descriptor: assembly.xml [INFO] Building zip: D:\Projects\dxcore-assembly\Tools\ipfservice\target\dxcore-ipfservice.zip [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for dxcore TURBO-SNAPSHOT: [INFO] [INFO] dxcore ............................................. SUCCESS [ 0.015 s] [INFO] dxcore-tools-parent ................................ SUCCESS [ 0.015 s] [INFO] dxcore-ipfservice .................................. SUCCESS [ 1.919 s] {code} [~eolivelli] I've created github PR request. Can you please help with review my patch? was (Author: turbanoff): As I can in debugger see artifacts are downloaded there - https://github.com/apache/maven-assembly-plugin/blob/master/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java#L158 Perhaps code should set more parameters in {{ProjectBuildingRequest}}. Something like this: {code} Index: src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java <+>UTF-8 =================================================================== --- src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java (revision 178d0d0e3af1557f0c1400de33cce9885e1d89ab) +++ src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java (date 1579186139177) @@ -180,7 +180,9 @@ private ProjectBuildingRequest getProjectBuildingRequest( AssemblerConfigurationSource configSource ) { - return configSource.getMavenSession().getProjectBuildingRequest(); + ProjectBuildingRequest pbr = configSource.getMavenSession().getProjectBuildingRequest(); + pbr.setRemoteRepositories( project.getRemoteArtifactRepositories() ); + return pbr; } private boolean isUnpackWithOptions( DependencySet dependencySet ) {code} It's still unclear for my why plugin tries to "build" project from dependency. You can see that {{project.getRemoteArtifactRepositories()}} contains all defined remote repositories, while default {{pbr.getRemoteArtifactRepositories()}} contains only one. !maven_assembly_repositories_after_and_before_change.png! Before fix. *mvn package -U* run {code} [INFO] --- maven-assembly-plugin:3.2.0:single (default) @ dxcore-ipfservice --- [INFO] Reading assembly descriptor: assembly.xml Downloading from Nexus: https://maven.in.devexperts.com/content/groups/public/com/dxfeed/ipf-api/327/ipf-api-327.pom Downloading from Nexus: https://maven.in.devexperts.com/content/groups/public/com/devexperts/mdd/ipfservice/327/ipfservice-327.pom Downloading from Nexus: https://maven.in.devexperts.com/content/groups/public/com/devexperts/mdd/storage/327/storage-327.pom [INFO] Building zip: D:\Projects\dxcore-assembly\Tools\ipfservice\target\dxcore-ipfservice.zip [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for dxcore TURBO-SNAPSHOT: [INFO] [INFO] dxcore ............................................. SUCCESS [ 0.014 s] [INFO] dxcore-tools-parent ................................ SUCCESS [ 0.015 s] [INFO] dxcore-ipfservice .................................. SUCCESS [ 2.228 s] {code} After fix. *mvn package -U* run {code} [INFO] --- maven-assembly-plugin:3.2.1-dx:single (default) @ dxcore-ipfservice --- [INFO] Reading assembly descriptor: assembly.xml [INFO] Building zip: D:\Projects\dxcore-assembly\Tools\ipfservice\target\dxcore-ipfservice.zip [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for dxcore TURBO-SNAPSHOT: [INFO] [INFO] dxcore ............................................. SUCCESS [ 0.015 s] [INFO] dxcore-tools-parent ................................ SUCCESS [ 0.015 s] [INFO] dxcore-ipfservice .................................. SUCCESS [ 1.919 s] {code} > maven-assembly plugin always downloads dependencies from net > ------------------------------------------------------------ > > Key: MASSEMBLY-874 > URL: https://issues.apache.org/jira/browse/MASSEMBLY-874 > Project: Maven Assembly Plugin > Issue Type: Improvement > Affects Versions: 3.1.0 > Environment: Multi-Module build > Reporter: Roland Schäuble > Assignee: Enrico Olivelli > Priority: Major > Attachments: make.log, > maven_assembly_repositories_after_and_before_change.png > > Time Spent: 10m > Remaining Estimate: 0h > > The maven-assembly-plugin always loads it own dependencies from the internet, > although the required dependencies are available in the local m2 repositiory. > The local repository is updated with the dependencies but during the next > build, the files are downloaded from the internet again instead of getting > them from the local repo. > In the attached log, near the end, the unnecessary downloads begin with > "Downloading from central: > [https://repo.maven.apache.org/maven2/com/lowagie/itext/2.1.7.js5/itext-2.1.7.js5.pom."|https://repo.maven.apache.org/maven2/com/lowagie/itext/2.1.7.js5/itext-2.1.7.js5.pom.] > The files are definitely available in my local repository under > ~/.m2/repository/com/... -- This message was sent by Atlassian Jira (v8.3.4#803005)