You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by GitBox <gi...@apache.org> on 2019/06/04 08:30:33 UTC

[GitHub] [hadoop] elek commented on issue #900: HDDS-1510. Classpath files are deployed to the maven repository as pom/jar files

elek commented on issue #900: HDDS-1510. Classpath files are deployed to the maven repository as pom/jar files
URL: https://github.com/apache/hadoop/pull/900#issuecomment-498575508
 
 
   Every file can be an "artifact" in the maven word if they are marked as artifact. We use custom classpath descriptors to generate the exact classpath and they are installed to the local maven repo + deployed to the maven repository during release.
   
   This is a problem in the `build-classpath` goal of the `maven-depedency-plugin` which is used to generate the classpath file. With using the `<attach>true</attach>` configuration we ask the plugin to mark the file as an uploadable artifact.
   
   Unfortunately the plugin doesn't set the _type_ of the artifact and the default is a jar. As a result the classpath file (text) is uploaded as a jar file, and nexus validation is failed because these fake jars.
   
   See the output of a normal `mvn install`
   
   ```
   [INFO] --- maven-install-plugin:2.5.1:install (default-install) @ hadoop-hdds-common ---
   ...
   [INFO] Installing /home/elek/projects/hadoop-review/hadoop-hdds/common/target/classpath to /home/elek/.m2/repository/org/apache/hadoop/hadoop-hdds-common/0.5.0-SNAPSHOT/hadoop-hdds-common-0.5.0-SNAPSHOT-classpath.jar
   ```
   But the classpath file is a text file:
   
   ```
   head  /home/elek/projects/hadoop-review/hadoop-hdds/common/target/classpath to /home/elek/.m2/repository/org/apache/hadoop/hadoop-hdds-common/0.5.0-SNAPSHOT/hadoop-hdds-common-0.5.0-SNAPSHOT-classpath.jar
   classpath=$HDDS_LIB_JARS_DIR/kerb-simplekdc-1.0.1.jar:$HDDS_LIB_JARS_DIR/jackson-core-2.9.5.jar:$HDDS_LIB_JARS_DIR/ratis-netty-0.4.0-fe2b15d-SNAPSHOT.jar:$HDDS_LIB_JARS_DIR/protobuf-java-2.5.0.jar:$HDDS_LIB_JARS_DIR/bcpkix-jdk15on-1.60.jar
   ...
   ```
    
   One easy workaround is to mark the classpath file as an uploadable artifact with a separated plugin which has more flexibility (maven-build-helper-plugin).
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org