[jboss-cvs] jboss-seam/build ...
Peter Muir
peter at bleepbleep.org.uk
Wed Sep 26 08:48:18 EDT 2007
User: pmuir
Date: 07/09/26 08:48:18
Modified: build build.properties utilities.build.xml readme.txt
build.xml
Log:
Release proceedure
Revision Changes Path
1.3 +1 -1 jboss-seam/build/build.properties
(In the diff below, changes in quantity of whitespace are not shown.)
Index: build.properties
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/build/build.properties,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- build.properties 24 Sep 2007 09:40:12 -0000 1.2
+++ build.properties 26 Sep 2007 12:48:18 -0000 1.3
@@ -1 +1 @@
-offline.repository /Users/pmuir/workspace/maven2.repository.jboss.org
\ No newline at end of file
+offline.repository.jboss.org /Users/pmuir/workspace/maven2.repository.jboss.org
\ No newline at end of file
1.10 +24 -7 jboss-seam/build/utilities.build.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: utilities.build.xml
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/build/utilities.build.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- utilities.build.xml 26 Sep 2007 12:14:21 -0000 1.9
+++ utilities.build.xml 26 Sep 2007 12:48:18 -0000 1.10
@@ -63,6 +63,23 @@
</sequential>
</macrodef>
+ <macrodef name="deployWithSources">
+ <attribute name="pom" default="" />
+ <attribute name="jar" default="" />
+ <attribute name="srcjar" />
+ <attribute name="repositoryId" default="" />
+ <element name="credentials" implicit="true" optional="true" />
+ <sequential>
+ <artifact:deploy file="@{jar}">
+ <pom file="@{pom}" />
+ <remoteRepository refId="@{repositoryId}">
+ <credentials />
+ </remoteRepository>
+ <attach file="@{srcjar}" classifier="-sources" />
+ </artifact:deploy>
+ </sequential>
+ </macrodef>
+
<macrodef name="deployLocal">
<attribute name="pom" default="" />
<attribute name="jar" default="" />
@@ -102,7 +119,7 @@
<copy overwrite="true" tofile="@{tofile}">
<fileset file="@{file}" />
<filterset>
- <filter token="@{filterProperty}" value="<classpathentry kind="lib" path="${eclipse.entries}"/>"/>
+ <filter token="@{filterProperty}" value="<classpathentry kind="lib" path="${eclipse.entries}"/>" />
</filterset>
</copy>
</sequential>
@@ -111,7 +128,7 @@
<macrodef name="maven">
<attribute name="target" />
<attribute name="basedir" />
- <element name="args" implicit="true" optional="true"/>
+ <element name="args" implicit="true" optional="true" />
<sequential>
<java classname="org.codehaus.classworlds.Launcher" fork="true" dir="@{basedir}">
<classpath>
1.5 +28 -22 jboss-seam/build/readme.txt
(In the diff below, changes in quantity of whitespace are not shown.)
Index: readme.txt
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/build/readme.txt,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- readme.txt 25 Sep 2007 22:22:51 -0000 1.4
+++ readme.txt 26 Sep 2007 12:48:18 -0000 1.5
@@ -20,29 +20,40 @@
and the test scope (for core) to run core tests.
To add or upgrade a dependency of Seam:
+---------------------------------------
* Find the dependency in a maven repository - check repository.jboss.org/maven2
first and then try mvnsearch.com.
+
* Add or update the entry in root.pom.xml including version information
+
* If it's a new dependency, add an entry to the correct module. If it's an
optional dependency (most are), mark it <optional>true</optional>. If it's
provided by JBoss AS (current targeted version), mark it <scope>provided</scope>
-* Bear in mind that a released Seam shouldn't depend on a SNAPSHOT version, so
- it might be better to take a snapshot, and add it to Seam's local repository
- as a custom version
+
+* Bear in mind that a released Seam shouldn't depend on a SNAPSHOT version
+
* When we release Seam we have to add all it's dependencies to
repository.jboss.org (no thirdparty repositories should be used for released
versions) - so if you are adding a dependency which is stable, and you aren't
- planning to change the dependency before the next release you should consider
- adding it to repository.jboss.org straight away. The procedure for this is
- outlined at http://wiki.jboss.org/wiki/Wiki.jsp?page=MavenThirdPartyJars
+ planning to change the dependency before the next release you should add it
+ straight to repository.jboss.org. To do this:
+ 1) Checkout repository.jboss.org/maven2 from svn (https://svn.jboss.org/repos/repository.jboss.org)
+ 2) Set the offline.repository.jboss.org property in build/build.properties to
+ the directory you checked out to.
+ 3) Run ant -Dpom=foo.pom -Djar=foo.jar deployRelease
+ 4) Check in the changed files to SVN (they'll be under a path of
+ artifactId/groupId/version)
+
-To add a non-released dependency of Seam:
+To add a unreleased dependency of Seam:
+-----------------------------------------
* If you need a dependency which isn't available in Maven, and don't want to add
it straight to repository.jboss.org or want to depend on a CVS/snapshot of a
project which you're planning to upgrade before the next Seam release you
- should add it to snapshots.jboss.org.
+ can add it to snapshots.jboss.org.
+
* To add a jar to the local repository, you can, if you have a pom (that you
copied from an earlier version or have written) run:
@@ -50,7 +61,7 @@
If you want maven to create a basic pom for you:
- ant deploySnapshotJar -Djar=foo.jar
+ ant deploySnapshot -Djar=foo.jar
You will be prompted for your jboss.org username and pasword (WARNING your
password is echoed back to you!)
@@ -70,22 +81,17 @@
Release dependencies:
-* If you are adding a couple of dependencies its easier to follow the wiki page
- http://wiki.jboss.org/wiki/Wiki.jsp?page=MavenThirdPartyJars option 2
-* If you need to add a lot of dependencies, you can use the offlineDependencies target in
- the build/ directory, and set the offline.repository property to point at your
- svn checkout of repository.jboss.org/maven2. This task downloads all
- dependencies of Seam into your checked out repository.jboss.org - you can then
- commit those that are necessary. (N.B. This will include some Seam jars, don't
- include these in your commit!)
-* Edit the root.pom.xml to remove all references to other repositories if
- possible
-* Delete the contents of the build/repository directory (the development
- repository) as this should not have anything in for releases.
+* Check that all dependencies of Seam are present in repository.jboss.org
+ - Check that snapshots.jboss.org is not active
+ - Check that no other maven repositorys are enabled
+* Follow the proceedure outlined above to add jars to repository.jboss.org
Add Seam to repository.jboss.org:
-* Run the offlineSeam target
+* Checkout repository.jboss.org/maven2 from svn (https://svn.jboss.org/repos/repository.jboss.org)
+* Set the offline.repository.jboss.org property in build/build.properties to the
+ directory you checked out to.
+* Run ant releaseSeam
* Commit the release to repository.jboss.org
1.16 +27 -24 jboss-seam/build/build.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: build.xml
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/build/build.xml,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- build.xml 25 Sep 2007 22:22:51 -0000 1.15
+++ build.xml 26 Sep 2007 12:48:18 -0000 1.16
@@ -8,6 +8,7 @@
<import file="common.build.xml" />
<artifact:remoteRepository id="snapshots.jboss.org" url="dav:https://snapshots.jboss.org/maven2" />
+ <artifact:remoteRepository id="offline.repository.jboss.org" url="file:///${offline.repository.jboss.org}" />
<target name="initdav">
<artifact:install-provider artifactId="wagon-webdav" version="1.0-beta-2"/>
@@ -30,16 +31,23 @@
</deploy>
</target>
- <target name="deploySnapshotJar" description="Deploy a jar (generating the pom) to snapshots.jboss.org" depends="initdav">
- <input addproperty="username"
- message="JBoss.org username:" />
- <input addproperty="password"
- message="JBoss.org password:" />
-
+ <target name="deployRelease" description="Deploy a jar (generating the pom) to snapshots.jboss.org" depends="initdav">
<pomfile name="pom.file" value="${pom}" />
- <deploy pom="${pom.file}" jar="${jar}" repositoryId="snapshots.jboss.org">
- <authentication username="${username}" password="${password}" />
- </deploy>
+ <deploy pom="${pom.file}" jar="${jar}" repositoryId="offline.repository.jboss.org" />
+ </target>
+
+ <target name="releaseSeam" description="Deploy Seam and JBoss EL to your local copy of repository.jboss.org" depends="initpoms">
+ <fail unless="offline.repository.jboss.org" message="Please set the offline.repository.jboss.org property"/>
+ <deploy pom="${root.pom}" repositoryId="offline.repository.jboss.org"/>
+ <deploy pom="${parent.pom}" repositoryId="offline.repository.jboss.org" />
+ <deployWithSources pom="${core.pom}" jar="${lib.dir}/jboss-seam.jar" repositoryId="offline.repository.jboss.org" srcjar="${lib.dir}/src/jboss-seam-sources.jar" />
+ <deployWithSources pom="${debug.pom}" jar="${lib.dir}/jboss-seam-debug.jar" repositoryId="offline.repository.jboss.org" srcjar="${lib.dir}/src/jboss-seam-debug-sources.jar"/>
+ <deployWithSources pom="${gen.pom}" jar="${lib.dir}/jboss-seam-gen.jar" repositoryId="offline.repository.jboss.org" srcjar="${lib.dir}/src/jboss-seam-gen-sources.jar"/>
+ <deployWithSources pom="${ioc.pom}" jar="${lib.dir}/jboss-seam-ioc.jar" repositoryId="offline.repository.jboss.org" srcjar="${lib.dir}/src/jboss-seam-ioc-sources.jar"/>
+ <deployWithSources pom="${mail.pom}" jar="${lib.dir}/jboss-seam-mail.jar" repositoryId="offline.repository.jboss.org" srcjar="${lib.dir}/src/jboss-seam-mail-sources.jar"/>
+ <deployWithSources pom="${pdf.pom}" jar="${lib.dir}/jboss-seam-pdf.jar" repositoryId="offline.repository.jboss.org" srcjar="${lib.dir}/src/jboss-seam-pdf-sources.jar"/>
+ <deployWithSources pom="${remoting.pom}" jar="${lib.dir}/jboss-seam-remoting.jar" repositoryId="offline.repository.jboss.org" srcjar="${lib.dir}/src/jboss-seam-remoting-sources.jar"/>
+ <deployWithSources pom="${ui.pom}" jar="${lib.dir}/jboss-seam-ui.jar" repositoryId="offline.repository.jboss.org" srcjar="${lib.dir}/src/jboss-seam-ui-sources.jar"/>
</target>
<target name="deployLocalPom">
@@ -50,7 +58,7 @@
<deployLocal jar="${jar}" />
</target>
- <target name="installProfiles" >
+ <!--<target name="installProfiles" >
<installProfile pom="profiles/seam-ajax.pom.xml" />
<installProfile pom="profiles/seam-async-timer-quartz.pom.xml" />
<installProfile pom="profiles/seam-cache.pom.xml" />
@@ -66,7 +74,7 @@
<installProfile pom="profiles/seam-search.pom.xml" />
<installProfile pom="profiles/seam-spring.pom.xml" />
<installProfile pom="profiles/seam-urlrewrite.pom.xml" />
- </target>
+ </target>-->
<target name="help" description="Show help">
<echo>Run ant -p</echo>
@@ -105,19 +113,14 @@
<deploySeam repositoryId="tmp.repository" />
- <offline pom="core.pom" repository="${offline.repository}" />
- <offline pom="ui.pom" repository="${offline.repository}" />
- <offline pom="remoting.pom" repository="${offline.repository}" />
- <offline pom="pdf.pom" repository="${offline.repository}" />
- <offline pom="mail.pom" repository="${offline.repository}" />
- <offline pom="ioc.pom" repository="${offline.repository}" />
- <offline pom="gen.pom" repository="${offline.repository}" />
- <offline pom="debug.pom" repository="${offline.repository}" />
- </target>
-
- <target name="offlineSeam" depends="initpoms" description="Build an offline snapshot of Seam jars">
- <artifact:remoteRepository id="offline.repository" url="file://${offline.repository}" />
- <deploySeam repositoryId="offline.repository" url="${offline.repository}" />
+ <offline pom="core.pom" repository="${offline.repository.jboss.org}" />
+ <offline pom="ui.pom" repository="${offline.repository.jboss.org}" />
+ <offline pom="remoting.pom" repository="${offline.repository.jboss.org}" />
+ <offline pom="pdf.pom" repository="${offline.repository.jboss.org}" />
+ <offline pom="mail.pom" repository="${offline.repository.jboss.org}" />
+ <offline pom="ioc.pom" repository="${offline.repository.jboss.org}" />
+ <offline pom="gen.pom" repository="${offline.repository.jboss.org}" />
+ <offline pom="debug.pom" repository="${offline.repository.jboss.org}" />
</target>
<macrodef name="offline">
More information about the jboss-cvs-commits
mailing list