[ https://issues.apache.org/jira/browse/MDEP-732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17483991#comment-17483991 ]
Arjan Tijms commented on MDEP-732: ---------------------------------- Just a ping, any updates here? > unpack - artifactItem type attribute ignored > -------------------------------------------- > > Key: MDEP-732 > URL: https://issues.apache.org/jira/browse/MDEP-732 > Project: Maven Dependency Plugin > Issue Type: Bug > Components: unpack > Affects Versions: 3.1.2 > Reporter: Zoltán Forgó > Priority: Major > > If an existing artifact which has other types (e.g. test-jar) needs to be > unpacked the type attribute is getting ignored. Always jar type used. > {code:xml} > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-dependency-plugin</artifactId> > <version>3.1.2</version> > <executions> > <execution> > <id>share-tests</id> > <phase>generate-test-sources</phase> > <goals> > <goal>unpack</goal> > </goals> > <configuration> > <artifactItems> > <artifactItem> > <groupId>io.github.zforgo.stackoverflow</groupId> > <artifactId>shared-tests</artifactId> > <version>0.1.0-SNAPSHOT</version> > <type>test-jar</type> > > <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory> > </artifactItem> > </artifactItems> > </configuration> > </execution> > </executions> > </plugin> > {code} > While running {{mvn install}} the log says > {noformat} > [INFO] > [INFO] --- maven-dependency-plugin:3.1.2:unpack (share-tests) @ project --- > [INFO] Configured Artifact: > io.github.zforgo.stackoverflow:shared-tests:0.1.0-SNAPSHOT:test-jar > [INFO] Unpacking [...] > shared-tests/0.1.0-SNAPSHOT/shared-tests-0.1.0-SNAPSHOT.jar to [...] with > includes "" and excludes "" > [INFO] > {noformat} > It seems {{ArtifactItem}} was configured well but the {{Artifact}} is wrong. > After some debugging it seems {{AbstractFromConfigurationMojo}} didn't set > type attribute when creating {{Artifact}} from {{ArtifactItem}}. > Related code: > {code:java} > protected Artifact getArtifact( ArtifactItem artifactItem ) > throws MojoExecutionException > { > Artifact artifact; > try > { > // ... > ProjectBuildingRequest buildingRequest = > newResolveArtifactProjectBuildingRequest(); > if ( localRepositoryDirectory != null ) > { > buildingRequest = > repositoryManager.setLocalRepositoryBasedir( > buildingRequest, localRepositoryDirectory ); > } > // Map dependency to artifact coordinate > DefaultArtifactCoordinate coordinate = new > DefaultArtifactCoordinate(); > coordinate.setGroupId( artifactItem.getGroupId() ); > coordinate.setArtifactId( artifactItem.getArtifactId() ); > coordinate.setVersion( artifactItem.getVersion() ); > coordinate.setClassifier( artifactItem.getClassifier() ); > final String extension; > ArtifactHandler artifactHandler = > artifactHandlerManager.getArtifactHandler( artifactItem.getType() ); > //... > } > catch ( ArtifactResolverException e ) > { > throw new MojoExecutionException( "Unable to find/resolve > artifact.", e ); > } > return artifact; > }{code} > The {{DefaultArtifactCoordinate}} sets type to {{jar}} and there is no place > where it was updated. Because of this wrong artifact will be unpacked. -- This message was sent by Atlassian Jira (v8.20.1#820001)