Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-2848

Environment variables in profile activation not working

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.4, 2.0.5
    • Fix Version/s: 2.0.9
    • Component/s: Profiles
    • Labels:
      None
    • Environment:
      Windows XP Professional, JDK 1.5

      Description

      When using an environment variable as a profile activation variable, it doesnt work, using either env.X or $

      {env.X}

      doesnt work.
      I found the same issue on the forums unresolved.

      http://www.nabble.com/profile-activation-based-on-environment-variables-tf2585492s177.html#a7208580

      Basically, the following doesnt work, where FOO is a windows environment variable (like PATH for example) :

       
       <profile>
        <id>haroon-workstation</id>
        <activation>
          <property>
            <name>env.FOO</name>
            <value>foo</value>
          </property>
         </activation>
          .......
      
       </profile> 
      
      1. MNG-2848.patch
        5 kB
        Richard van der Hoff

        Issue Links

          Activity

          Hide
          richvdh Richard van der Hoff added a comment -

          Yes, agreed that this seems the most sensible approach for now.

          Thanks for sorting this, guys.

          Show
          richvdh Richard van der Hoff added a comment - Yes, agreed that this seems the most sensible approach for now. Thanks for sorting this, guys.
          Hide
          jdcasey John Casey added a comment -

          Looks like the system-property-setting has been reinstated, and the execution properties are still setup and used internally as specified in the patch. This is probably the best we can expect for now, unless/until we find a way to control the way plugins use (and more importantly, pass on to their delegates) the system properties.

          I'm closing this issue. We can open a new one later if we need to fine-tune this behavior further.

          Show
          jdcasey John Casey added a comment - Looks like the system-property-setting has been reinstated, and the execution properties are still setup and used internally as specified in the patch. This is probably the best we can expect for now, unless/until we find a way to control the way plugins use (and more importantly, pass on to their delegates) the system properties. I'm closing this issue. We can open a new one later if we need to fine-tune this behavior further.
          Hide
          brianf@infinity.nu Brian E. Fox (imported) added a comment -

          vincent: any way to get this for 2.0.9 this week?

          Show
          brianf@infinity.nu Brian E. Fox (imported) added a comment - vincent: any way to get this for 2.0.9 this week?
          Hide
          siveton Siveton Vincent added a comment -

          To reinvestigate due to Richard's comment

          Show
          siveton Siveton Vincent added a comment - To reinvestigate due to Richard's comment
          Hide
          richvdh Richard van der Hoff added a comment -

          Oops, this seems to have broken property passing in mvn exec:java - see MEXEC-41

          Show
          richvdh Richard van der Hoff added a comment - Oops, this seems to have broken property passing in mvn exec:java - see MEXEC-41
          Hide
          siveton Siveton Vincent added a comment -

          Patch applied in r609944. Thanks!

          Show
          siveton Siveton Vincent added a comment - Patch applied in r609944. Thanks!
          Hide
          richvdh Richard van der Hoff added a comment -

          Here's a patch, against maven-core 2.0.8, which makes profile activation via environment variables work.

          Show
          richvdh Richard van der Hoff added a comment - Here's a patch, against maven-core 2.0.8, which makes profile activation via environment variables work.
          Hide
          ockky k added a comment - - edited

          Has there been any resolution to this issue? I am currently also trying to access environment variables from within <profile> (be it within profiles.xml and pom.xml) with no success. Outside of <profile>, I can access environment variables just fine, but within <profile>, using the environment variable as an activation property, does not seem to work.

          I've been unsuccessful trying to access the variable using the following methods within <profile>:
          env.FOO
          FOO
          $

          {env.FOO}

          $

          {FOO}

          Any information reguarding this issue would be greatly appreciated... especially since this has been an issue for well over a year now (referring to http://jira.codehaus.org/browse/MNG-2276 ).

          Defining the variable via the commandline interface does work however, as stated in the link above.

          Btw, my version of maven is 2.0.7

          Show
          ockky k added a comment - - edited Has there been any resolution to this issue? I am currently also trying to access environment variables from within <profile> (be it within profiles.xml and pom.xml) with no success. Outside of <profile>, I can access environment variables just fine, but within <profile>, using the environment variable as an activation property, does not seem to work. I've been unsuccessful trying to access the variable using the following methods within <profile>: env.FOO FOO $ {env.FOO} $ {FOO} Any information reguarding this issue would be greatly appreciated... especially since this has been an issue for well over a year now (referring to http://jira.codehaus.org/browse/MNG-2276 ). Defining the variable via the commandline interface does work however, as stated in the link above. Btw, my version of maven is 2.0.7

            People

            • Assignee:
              jdcasey John Casey
              Reporter:
              shipmaster Muhammad Yahia
            • Votes:
              10 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development