Uploaded image for project: 'Maven Install Plugin'
  1. Maven Install Plugin
  2. MINSTALL-30

Command Line parameter 'version' does not override pom file

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.1
    • Fix Version/s: None
    • Component/s: install:install
    • Labels:
      None
    • Environment:
      maven 2.0.4
      maven-install-plugin 2.1

      Description

      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

      $ 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] ------------------------------------------------------------------------
      

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rfscholte Robert Scholte
                Reporter:
                fischaz Johan Fischer
              • Votes:
                5 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: