Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Cannot Reproduce
-
Affects Version/s: 2.0.9
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
I could not find the situation documented somewhere, but the current behaviour is against my excpectation, hence a low priority bug report. In my pom, I have two profiles. One is activated by the -P command line option, the other by an environment variable. In variation of the example in MNG-2309:
<profile> <id>default</id> <activation> <property> <name>env.WORKSPACE</name> </property> </activation> <properties> <test>DEFAULT</test> </properties> </profile> <profile> <id>override</id> <properties> <test>OVERRIDE</test> </properties> </profile>
env.WORKSPACE is set by Hudson, when the build is executed. When Hudson runs "mvn -P override" I would expect test set to override. As I said, this is my expectation, and I don't know if it was a consious design decision to make the priority of profile activation differently.
Running mvn validate -P override on the attached POM yields:
i.e. the property test used in the project name evalutes to OVERRIDE as you expect and it should (i.e. active profiles are injected in order of declaration, last in wins).
Since you mentioned Hudson, I can only suggest to double-check the unexpected behavior is not caused by Hudson's Maven integration. Using a stock Maven 2.0.9 distribution (and all later versions), I cannot reproduce the issue.