On 29 Dec 06, at 4:25 PM 29 Dec 06, Brett Porter wrote:

I don't understand why this is needed - this seems to only augment the one in the parent POM (except for the specification of explicit versions for source/javadoc which could be changed using plugin management). Why was overriding necessary?


1) I put everything in one profile that will be used in the future and did that because profiles are not preserver through the release, what's used in prepare is not passed on. I put that in JIRA. 2) The profile for releases, or any profile, should be put in the parent POM. It's just completely invisible and people will do releases differently 3) Any mojo specified in the lifecycle gets run twice if it's listed in more then one profile. This was happening with the deploy for staging so I just overrode everything and did it as if there was nothing in the Super POM. When I work on the release plugin I'll put it in a place that can easily be shared a la the remote resources which is a model which scales nicely and doesn't require copying profiles around or putting things that should be visible and configurable in the Super POM.

Jason.

- Brett

On 26/12/2006, at 2:08 PM, [EMAIL PROTECTED] wrote:

Author: jvanzyl
Date: Mon Dec 25 19:08:55 2006
New Revision: 490209

URL: http://svn.apache.org/viewvc?view=rev&rev=490209
Log:
o adding a profile for a direct release which overrides the one buried in the POM


Modified:
    maven/plugins/trunk/pom.xml

Modified: maven/plugins/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/pom.xml? view=diff&rev=490209&r1=490208&r2=490209 ===================================================================== =========
--- maven/plugins/trunk/pom.xml (original)
+++ maven/plugins/trunk/pom.xml Mon Dec 25 19:08:55 2006
@@ -10,7 +10,7 @@
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-plugins</artifactId>
   <packaging>pom</packaging>
-  <version>6</version>
+  <version>7</version>
   <name>Maven Plugins</name>
   <description>Maven Plugins</description>
   <url>http://maven.apache.org/plugins/</url>
@@ -268,5 +268,94 @@
         </plugins>
       </build>
     </profile>
+    <profile>
+      <!--
+ | When doing a direct release to a production repository use the following command to prepare the release:
+       |
+       | mvn -PdirectRelease release:prepare
+       |
+ | When doing a direct release to a production repository use the following command to perform the release:
+       |
+       | mvn release:perform -DuseReleaseProfile=false
+       |
+ | You see here that we want to disable the profile that is buried in the Super POM
+       -->
+      <id>directRelease</id>
+      <build>
+        <plugins>
+ <!-- We want the sources JAR published with the release -->
+          <plugin>
+            <inherited>true</inherited>
+            <artifactId>maven-source-plugin</artifactId>
+            <version>2.0.2</version>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+ <!-- We want the JavaDoc JAR published with the release -->
+          <plugin>
+            <inherited>true</inherited>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <version>2.2</version>
+            <executions>
+              <execution>
+                <id>attach-javadocs</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+ <!-- We want to sign the artifact, the POM, and all attached artifacts -->
+          <plugin>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <version>1.0-alpha-1</version>
+            <configuration>
+              <passphrase>${gpg.passphrase}</passphrase>
+            </configuration>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+ <!-- We want to package up license resources in the JARs produced -->
+          <plugin>
+            <artifactId>maven-remote-resources-plugin</artifactId>
+            <version>1.0-alpha-1</version>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>process</goal>
+                </goals>
+                <configuration>
+                  <resourceBundles>
+ <resourceBundle>org.apache:apache-jar- resource-bundle:1.0</resourceBundle>
+                  </resourceBundles>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+ <!-- Since we are ignoring the release profile we need to use the deploy plugin with the update release info option -->
+          <plugin>
+            <inherited>true</inherited>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-deploy-plugin</artifactId>
+            <!-- We don't need any staging for this -->
+            <version>2.2.1</version>
+            <configuration>
+              <updateReleaseInfo>true</updateReleaseInfo>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
   </profiles>
 </project>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to