Command Line parameter 'version' does not override pom file -----------------------------------------------------------
Key: MINSTALL-30 URL: http://jira.codehaus.org/browse/MINSTALL-30 Project: Maven 2.x Install Plugin Issue Type: Bug Affects Versions: 2.1 Environment: maven 2.0.4 maven-install-plugin 2.1 Reporter: Johan Fischer Fix For: 2.2 Hi, I'm trying to override the version number in the pom using the CLI params -Dversion but the install plugin still uses the pom version creating a mismatched of the installed jar file: example: pom version: SHIP_VERSION {noformat} $ mvn -X -Dversion=1.4.1_2 install Error stacktraces are turned on. Maven version: 2.0.4 [DEBUG] Building Maven user-level plugin registry from: '/home/jfischer/.m2/plugin-registry.xml' [DEBUG] Building Maven global-level plugin registry from: '/opt/maven/conf/plugin-registry.xml' [INFO] Scanning for projects... [DEBUG] Searching for parent-POM: cmss:parent::1.0.0-SNAPSHOT of project: cmss-libs:cmcrc-favlib:jar:SHIP_VERSION in relative path: ../pom.xml [DEBUG] Parent-POM: cmss:parent::1.0.0-SNAPSHOT not found in relative path: ../pom.xml [DEBUG] Retrieving parent-POM: cmss:parent::1.0.0-SNAPSHOT for project: cmss-libs:cmcrc-favlib:jar:SHIP_VERSION from the repository. [DEBUG] Skipping disabled repository central [DEBUG] parent: resolved to version 1.0.0-20060516.064917-2 from repository cmss [INFO] ---------------------------------------------------------------------------- [INFO] Building Java SMARTS lib [INFO] task-segment: [install] [INFO] ---------------------------------------------------------------------------- <--- snip ---> DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-compiler-plugin:2.0.1:compile' --> [DEBUG] (f) basedir = /home/jfischer/cmcrc/cmss/libs/favlib [DEBUG] (f) buildDirectory = /home/jfischer/cmcrc/cmss/libs/favlib/target [DEBUG] (f) classpathElements = [/home/jfischer/cmcrc/cmss/libs/favlib/target/classes, /home/jfischer/.m2/repository/cmss-libs/jelte-util/1.0.0/jelte-util-1.0.0.j ar] [DEBUG] (f) compileSourceRoots = [/home/jfischer/cmcrc/cmss/libs/favlib/src/main/java] [DEBUG] (f) compilerId = javac [DEBUG] (f) debug = true [DEBUG] (f) fork = false [DEBUG] (f) optimize = false [DEBUG] (f) outputDirectory = /home/jfischer/cmcrc/cmss/libs/favlib/target/classes [DEBUG] (f) outputFileName = cmcrc-favlib-1.4.1_2 [DEBUG] (f) projectArtifact = cmss-libs:cmcrc-favlib:jar:SHIP_VERSION [DEBUG] (f) showDeprecation = false [DEBUG] (f) showWarnings = false [DEBUG] (f) staleMillis = 0 [DEBUG] (f) verbose = false [DEBUG] -- end configuration -- <--- snip ---> [DEBUG] org.apache.maven.plugins:maven-install-plugin:maven-plugin:2.1:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-plugin-api:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-project:jar:2.0:runtime (selected for runtime) [DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-8:runtime (selected for runtime) [DEBUG] junit:junit:jar:3.8.1:runtime (selected for runtime) [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (selected for runtime) [DEBUG] classworlds:classworlds:jar:1.1-alpha-2:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-profile:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-model:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-model:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-artifact-manager:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven.wagon:wagon-provider-api:jar:1.0-alpha-5:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-artifact:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-repository-metadata:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-artifact:jar:2.0:runtime (selected for runtime) [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-artifact:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-artifact-manager:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven.wagon:wagon-provider-api:jar:1.0-alpha-5:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-repository-metadata:jar:2.0:runtime (selected for runtime) [DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-install-plugin:2.1:install' --> [DEBUG] (f) artifact = cmss-libs:cmcrc-favlib:jar:SHIP_VERSION [DEBUG] (f) attachedArtifacts = [] [DEBUG] (f) localRepository = [local] -> file:///home/jfischer/.m2/repository [DEBUG] (f) packaging = jar [DEBUG] (f) pomFile = /home/jfischer/cmcrc/cmss/libs/favlib/pom.xml [DEBUG] -- end configuration -- [INFO] [install:install] [INFO] Installing /home/jfischer/cmcrc/cmss/libs/favlib/target/cmcrc-favlib-1.4.1_2.jar to /home/jfischer/.m2/repository/cmss-libs/cmcrc-favlib/SHIP_VERSION/cmcrc-f avlib-SHIP_VERSION.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 10 seconds [INFO] Finished at: Wed Aug 02 12:36:09 GMT+10:00 2006 [INFO] Final Memory: 4M/9M [INFO] ------------------------------------------------------------------------ {noformat} As you can see, the install plugin installed the built jar file 1.4.2_2 to the local repos version=SHIP_VERSION...... Looking at the trunk code: http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java this makes perfect sense as if the pom file exists, it reads the version from there and skip CLI parsing as requested in MINSTALL-21. So would be nice to read first the pom, and then allow the CLI to override this. I don't know if you want to allow overriding the groupId and artifactId (I just looked at the version case). Cheers. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira