Maven Release Plugin
  1. Maven Release Plugin
  2. MRELEASE-406

release:perform ignores environment variables

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Blocker Blocker
    • Resolution: Won't Fix
    • Affects Version/s: 2.0-beta-8
    • Fix Version/s: None
    • Component/s: perform
    • Labels:
      None
    • Environment:
      WinXP Maven 2.0.9
    • Number of attachments :
      5

      Description

      Our settings.xml is shared across many sites and we use reository mirrors at each of our sites.

      The mirrors are setup in the settings.xml as $

      {proxyURL}/repopath

      the users set an environment variable to point to the nexus cache at their paticular site -
      eg http://maven-proxy-east.mycorp.com/nexus/content/repositories


      This woks fine for normal working (compile, site deploy etc..) but release:perform fails as it tries to download from
      ${proxyURL}

      /central/org/apache/mave....

      It would appear that environment variables are not passed to the forked process doing the release.

      – settings.xml snippet –

      		<mirror>
      			<id>central-mirror</id>
      			<name>Maven Central [nexus mirror]</name>
      			<url>${proxyURL}/central</url>
      			<mirrorOf>central</mirrorOf>
      		</mirror>
      

      – end settings.xml snippet –

      output from release:perfrom

      D:\workspaces\TestProject>set | grep proxyURL
      proxyURL=http://maven-proxy-east.mycorp.com/nexus/content/repositories
      
      D:\workspaces\TestProject>mvn release:perform
      [INFO] Scanning for projects...
      [INFO] Searching repository for plugin with prefix: 'release'.
      [INFO] ------------------------------------------------------------------------
      [INFO] Building Test Project
      [INFO]    task-segment: [release:perform] (aggregator-style)
      [INFO] ------------------------------------------------------------------------
      [INFO] [release:perform]
      [INFO] Checking out the project to perform the release ...
      [INFO] Executing: cmd.exe /X /C "svn --non-interactive checkout https://svnserver.mycorp.com/repos/scratch/tags/testproj-0.0.1
      checkout"
      [INFO] Working directory: D:\workspaces\TestProject\target
      [INFO] Executing goals 'deploy site-deploy'...
      [WARNING] Maven will be executed in interactive mode, but no input stream has been configured for this MavenInvoker inst
      ance.
      [INFO] [INFO] Scanning for projects...
      [INFO] [INFO] ------------------------------------------------------------------------
      [INFO] [INFO] Building Test Project
      [INFO] [INFO]    task-segment: [deploy, site-deploy]
      [INFO] [INFO] ------------------------------------------------------------------------
      [INFO] Downloading: ${proxyURL}/releases/org/apache/maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.pom
      [INFO] Downloading: ${proxyURL}/central/org/apache/maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.pom
      [INFO] Downloading: ${proxyURL}/releases/org/apache/maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.pom
      [INFO] Downloading: ${proxyURL}/thirdparty/org/apache/maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.pom
      [INFO] Downloading: ${proxyURL}/central/org/apache/maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.pom
      [INFO] Downloading: ${proxyURL}/codehaus/org/apache/maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.pom
      [INFO] Downloading: ${proxyURL}/java.net/org/apache/maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.pom
      [INFO] Downloading: ${proxyURL}/jboss/org/apache/maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.pom
      [INFO] [INFO] ------------------------------------------------------------------------
      [INFO] [ERROR] BUILD ERROR
      [INFO] [INFO] ------------------------------------------------------------------------
      [INFO] [INFO] Error building POM (may not be this project's POM).
      
      1. mvn2.0.10_debug.log
        93 kB
        James Nord
      2. mvn2.0.10.log
        16 kB
        James Nord
      3. mvn2.1.0-RC3.log
        17 kB
        James Nord
      4. pom.xml
        1 kB
        James Nord
      5. settings.xml
        0.5 kB
        James Nord

        Activity

        Hide
        James Nord added a comment -

        debug output from 2.0.10

        Show
        James Nord added a comment - debug output from 2.0.10
        Hide
        Brett Porter added a comment -

        as you've identified, this was related to the documented Maven change.

        You should use $

        {env.*}

        if you require an environment variable. However, you might better consider using it as a property, in which case you'd set it with MAVEN_OPTS="-DsomeProperty=someValue" instead of using an env. variable.

        Show
        Brett Porter added a comment - as you've identified, this was related to the documented Maven change. You should use $ {env.*} if you require an environment variable. However, you might better consider using it as a property, in which case you'd set it with MAVEN_OPTS="-DsomeProperty=someValue" instead of using an env. variable.
        Hide
        James Nord added a comment -

        Brett: Please read comment by me from 17/Mar/09 6:20 AM.

        Show
        James Nord added a comment - Brett: Please read comment by me from 17/Mar/09 6:20 AM.
        Hide
        Brett Porter added a comment -

        I tried this with Maven 2.0.10 + 2.0-beta-8; 2.0.10 + 2.0; 3.0-RC3 + 2.0 - no problems on any of them.

        I put your settings.xml into ~/.m2, removed the local repository, and ran the command you gave against the POM. I had to modify the settings to user /internal instead of /central as I'm using Archiva, but the env var was used. In the POM I used a different SVN repository in the SCM element and I changed the deployment URL to $

        {env.proxyURL}

        /test which worked for deployment too.

        There's a possibility this is Windows specific, so I'll have to try it there. Have you tried with more recent versions of Maven and/or the release plugin?

        Show
        Brett Porter added a comment - I tried this with Maven 2.0.10 + 2.0-beta-8; 2.0.10 + 2.0; 3.0-RC3 + 2.0 - no problems on any of them. I put your settings.xml into ~/.m2, removed the local repository, and ran the command you gave against the POM. I had to modify the settings to user /internal instead of /central as I'm using Archiva, but the env var was used. In the POM I used a different SVN repository in the SCM element and I changed the deployment URL to $ {env.proxyURL} /test which worked for deployment too. There's a possibility this is Windows specific, so I'll have to try it there. Have you tried with more recent versions of Maven and/or the release plugin?
        Hide
        Michael Osipov added a comment -

        Please refer to https://cwiki.apache.org/confluence/display/MAVEN/The+Great+JIRA+Cleanup+of+2014 if you're wondering why this issue was closed out.

        Assignee, if you think you can fix this bug anytime soon, please reopen and proceed appropriately.

        Show
        Michael Osipov added a comment - Please refer to https://cwiki.apache.org/confluence/display/MAVEN/The+Great+JIRA+Cleanup+of+2014 if you're wondering why this issue was closed out. Assignee, if you think you can fix this bug anytime soon, please reopen and proceed appropriately.

          People

          • Assignee:
            Brett Porter
            Reporter:
            James Nord
          • Votes:
            5 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: