You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/09/03 08:59:16 UTC

svn commit: r267429 - in /maven/components/trunk: maven-model/maven.mdo maven-profile/profiles.mdo maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java maven-project/src/main/resources/META-INF/plexus/components.xml

Author: brett
Date: Fri Sep  2 23:59:07 2005
New Revision: 267429

URL: http://svn.apache.org/viewcvs?rev=267429&view=rev
Log:
PR: MNG-821
Submitted by: Jesse McConnell
Reviewed by:  Brett Porter
Add file existence based profile activation

Modified:
    maven/components/trunk/maven-model/maven.mdo
    maven/components/trunk/maven-profile/profiles.mdo
    maven/components/trunk/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java
    maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml

Modified: maven/components/trunk/maven-model/maven.mdo
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-model/maven.mdo?rev=267429&r1=267428&r2=267429&view=diff
==============================================================================
--- maven/components/trunk/maven-model/maven.mdo (original)
+++ maven/components/trunk/maven-model/maven.mdo Fri Sep  2 23:59:07 2005
@@ -2602,7 +2602,7 @@
         </codeSegment>
       </codeSegments>
     </class>
-    <class>
+    <class> 
       <name>Activation</name>
       <version>4.0.0</version>
       <description><![CDATA[
@@ -2628,6 +2628,16 @@
             <type>ActivationProperty</type>
           </association>
         </field>
+        <field>
+          <name>file</name>
+          <version>4.0.0</version>
+          <description><![CDATA[
+             Specifies that this profile will be activated based on existence of a file.
+             ]]></description>
+          <association>
+             <type>ActivationFile</type>
+          </association>
+        </field>
       </fields>
     </class>
     <class>
@@ -2651,6 +2661,29 @@
           <version>4.0.0</version>
           <type>String</type>
           <description>The value of the property to be used to activate a profile</description>
+        </field>
+      </fields>
+    </class>
+    <class>
+      <name>ActivationFile</name>
+      <version>4.0.0</version>
+      <description><![CDATA[
+        This is the file specification used to activate a profile. The missing value will be a the location
+        of a file that needs to exist, and if it doesn't the profile must run.  On the other hand exists will test 
+        for the existence of the file and if it is there will run the profile.
+      ]]></description>
+      <fields>
+        <field>
+          <name>missing</name>
+          <version>4.0.0</version>
+          <type>String</type>
+          <description>The name of the file that should be missing to activate a profile</description>
+        </field>
+        <field>
+          <name>exists</name>
+          <version>4.0.0</version>
+          <type>String</type>
+          <description>The name of the file that should exist to activate a profile</description>
         </field>
       </fields>
     </class>

Modified: maven/components/trunk/maven-profile/profiles.mdo
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-profile/profiles.mdo?rev=267429&r1=267428&r2=267429&view=diff
==============================================================================
--- maven/components/trunk/maven-profile/profiles.mdo (original)
+++ maven/components/trunk/maven-profile/profiles.mdo Fri Sep  2 23:59:07 2005
@@ -130,6 +130,16 @@
             <type>ActivationProperty</type>
           </association>
         </field>
+        <field>
+          <name>file</name>
+          <version>1.0.0</version>
+          <description><![CDATA[
+             Specifies that this profile will be activated based on existence of a file.
+             ]]></description>
+          <association>
+             <type>ActivationFile</type>
+          </association>
+        </field>
       </fields>
     </class>
 
@@ -169,8 +179,7 @@
         <field>
           <name>layout</name>
           <version>1.0.0</version>
-          <description>The type of layout this repository uses for locating and storing artifacts - can be "legacy" or
-            "default".</description>
+          <description>The type of layout this repository uses for locating and storing artifacts - can be "legacy" or "default".</description>
           <type>String</type>
           <defaultValue>default</defaultValue>
         </field>
@@ -196,7 +205,6 @@
         </codeSegment>
       </codeSegments>
     </class>
-
     <class>
       <name>Repository</name>
       <superClass>RepositoryBase</superClass>
@@ -284,7 +292,6 @@
         </field>
       </fields>
     </class>
-
     <class>
       <name>ActivationProperty</name>
       <version>1.0.0</version>
@@ -309,5 +316,28 @@
         </field>
       </fields>
     </class>
+    <class>
+      <name>ActivationFile</name>
+      <version>1.0.0</version>
+      <description><![CDATA[
+        This is the file specification used to activate a profile. The missing value will be a the location
+        of a file that needs to exist, and if it doesn't the profile must run.  On the other hand exists will test 
+        for the existence of the file and if it is there will run the profile.
+      ]]></description>
+      <fields>
+        <field>
+          <name>missing</name>
+          <version>1.0.0</version>
+          <type>String</type>
+          <description>The name of the file that should be missing to activate a profile</description>
+        </field>
+        <field>
+          <name>exists</name>
+          <version>1.0.0</version>
+          <type>String</type>
+          <description>The name of the file that should exist to activate a profile</description>
+        </field>
+      </fields>
+    </class>
   </classes>
-</model>
\ No newline at end of file
+</model>

Modified: maven/components/trunk/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java?rev=267429&r1=267428&r2=267429&view=diff
==============================================================================
--- maven/components/trunk/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java (original)
+++ maven/components/trunk/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java Fri Sep  2 23:59:07 2005
@@ -18,6 +18,7 @@
 
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.ActivationProperty;
+import org.apache.maven.model.ActivationFile;
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.Repository;
 
@@ -45,7 +46,7 @@
             Activation activation = new Activation();
 
             activation.setJdk( profileActivation.getJdk() );
-
+            
             org.apache.maven.profiles.ActivationProperty profileProp = profileActivation.getProperty();
 
             if ( profileProp != null )
@@ -57,7 +58,19 @@
 
                 activation.setProperty( prop );
             }
+            
+            org.apache.maven.profiles.ActivationFile profileFile = profileActivation.getFile();
+
+            if ( profileFile != null )
+            {
+                ActivationFile file = new ActivationFile();
 
+                file.setExists( profileFile.getExists() );
+                file.setMissing( profileFile.getMissing() );
+
+                activation.setFile( file );
+            }
+            
             profile.setActivation( activation );
         }
         else

Modified: maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml?rev=267429&r1=267428&r2=267429&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml Fri Sep  2 23:59:07 2005
@@ -115,6 +115,16 @@
       <role-hint>system-property</role-hint>
       <implementation>org.apache.maven.profiles.activation.SystemPropertyProfileActivator</implementation>
     </component>
+    <!--
+     |
+     |
+     |
+     -->
+    <component>
+      <role>org.apache.maven.profiles.activation.ProfileActivator</role>
+      <role-hint>file</role-hint>
+      <implementation>org.apache.maven.profiles.activation.FileProfileActivator</implementation>
+    </component>
 <!--
      |
      |



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org