You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by pg...@apache.org on 2009/05/01 16:44:49 UTC

svn commit: r770696 - in /maven/ant-tasks/branches/maven-ant-tasks-2.0.x: sample.build.xml src/main/java/org/apache/maven/artifact/ant/Pom.java src/test/pom-with-profiles.xml

Author: pgier
Date: Fri May  1 14:44:49 2009
New Revision: 770696

URL: http://svn.apache.org/viewvc?rev=770696&view=rev
Log:
[MANTTASKS-35] Add tests for profiles.

Added:
    maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/pom-with-profiles.xml   (with props)
Modified:
    maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml
    maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/Pom.java

Modified: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml
URL: http://svn.apache.org/viewvc/maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml?rev=770696&r1=770695&r2=770696&view=diff
==============================================================================
--- maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml (original)
+++ maven/ant-tasks/branches/maven-ant-tasks-2.0.x/sample.build.xml Fri May  1 14:44:49 2009
@@ -53,7 +53,7 @@
   </target>
 
   <target name="test-all-deps" description="All dependencies tests"
-    depends="test-pom,test-pom-with-parent,test-no-deps,test-pom-deps,test-deps-two-repos,test-deps,test-legacy-pom,test-deps-mirror,test-deps-order,test-deps-sources,test-deps-sources-empty,test-deps-profile">
+    depends="test-pom, test-pom-profiles, test-pom-with-parent,test-no-deps,test-pom-deps,test-deps-two-repos,test-deps,test-legacy-pom,test-deps-mirror,test-deps-order,test-deps-sources,test-deps-sources-empty,test-deps-profile">
     <echo>test-bad-dep and test-invalid-pom-ref must be run manually, since they are intended to fail</echo>
   </target>
 
@@ -107,6 +107,59 @@
     </fail>
   </target>
 
+  <target name="test-pom-profiles" depends="initTaskDefs">
+    
+    <!-- Test default profile activation -->
+    <artifact:pom file="src/test/pom-with-profiles.xml" id="project.default"/>
+
+    <echo>Current profile = ${project.default.build.finalName}</echo>
+
+    <fail message="failed to activate profile default">
+      <condition>
+        <not><equals arg1="${project.default.build.finalName}" arg2="default"/></not>
+      </condition>
+    </fail>
+
+    <!-- Test explicit profile activation -->
+    <artifact:pom file="src/test/pom-with-profiles.xml" id="project.myprofile1" >
+      <profile id="myprofile1"/>
+    </artifact:pom>
+
+    <echo>Current profile = ${project.myprofile1.build.finalName}</echo>
+
+    <fail message="failed to activate profile myprofile1">
+      <condition>
+        <not><equals arg1="${project.myprofile1.build.finalName}" arg2="myprofile1"/></not>
+      </condition>
+    </fail>
+
+    <!-- Test explicit profile activation with "active" attr set -->
+    <artifact:pom file="src/test/pom-with-profiles.xml" id="project.myprofile2" >
+      <profile id="myprofile2" active="true"/>
+    </artifact:pom>
+
+    <echo>Current profile = ${project.myprofile2.build.finalName}</echo>
+
+    <fail message="failed to activate profile myprofile2">
+      <condition>
+        <not><equals arg1="${project.myprofile2.build.finalName}" arg2="myprofile2"/></not>
+      </condition>
+    </fail>
+
+    <!-- Test explicit profile deactivation -->
+    <artifact:pom file="src/test/pom-with-profiles.xml" id="project.noprofile" >
+      <profile id="default" active="false" />
+    </artifact:pom>
+
+    <echo>Current profile = ${project.noprofile.build.finalName}</echo>
+
+    <fail message="failed to deactivate default profile">
+      <condition>
+        <not><equals arg1="${project.noprofile.build.finalName}" arg2="noprofile"/></not>
+      </condition>
+    </fail>
+  </target>
+
   <target name="test-legacy-pom" depends="initTaskDefs">
     <artifact:dependencies>
       <dependency groupId="geronimo-spec" artifactId="geronimo-spec-javamail" version="1.3.1-rc5" />

Modified: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/Pom.java
URL: http://svn.apache.org/viewvc/maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/Pom.java?rev=770696&r1=770695&r2=770696&view=diff
==============================================================================
--- maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/Pom.java (original)
+++ maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/main/java/org/apache/maven/artifact/ant/Pom.java Fri May  1 14:44:49 2009
@@ -467,6 +467,12 @@
         while ( it.hasNext() )
         {
             Profile profile = (Profile) it.next();
+            
+            if ( profile.getId() == null )
+            {
+                throw new BuildException( "Attribute \"id\" is required for profile in pom type." );
+            }
+            
             if ( profile.getActive() == null || Boolean.parseBoolean( profile.getActive() ) )
             {
                 profileManager.explicitlyActivate( profile.getId() );

Added: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/pom-with-profiles.xml
URL: http://svn.apache.org/viewvc/maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/pom-with-profiles.xml?rev=770696&view=auto
==============================================================================
--- maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/pom-with-profiles.xml (added)
+++ maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/pom-with-profiles.xml Fri May  1 14:44:49 2009
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>it.ant-tasks</groupId>
+  <artifactId>profiles</artifactId>
+  <packaging>jar</packaging>
+
+  <name>profiles</name>
+  <version>0.10-SNAPSHOT</version>
+  <description>
+    Check that the profiles work corretly.
+  </description>
+  
+  <build>
+    <finalName>noprofile</finalName>
+  </build>
+  
+  <profiles>
+    <profile>
+      <id>default</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <build>
+        <finalName>default</finalName>
+      </build>
+    </profile>
+    <profile>
+      <id>myprofile1</id>
+      <build>
+        <finalName>myprofile1</finalName>
+      </build>
+    </profile>
+    <profile>
+      <id>myprofile2</id>
+      <build>
+        <finalName>myprofile2</finalName>
+      </build>
+    </profile>
+  </profiles>
+</project>

Propchange: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/pom-with-profiles.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/pom-with-profiles.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision