[jboss-cvs] jboss-seam/build ...
Peter Muir
peter at bleepbleep.org.uk
Fri Sep 21 08:52:57 EDT 2007
User: pmuir
Date: 07/09/21 08:52:57
Added: build readme.txt
Log:
readme for dependency management changes
Revision Changes Path
1.1 date: 2007/09/21 12:52:57; author: pmuir; state: Exp;jboss-seam/build/readme.txt
Index: readme.txt
===================================================================
Seam Build System
------------------
This readme describes the build and dependency management system used to build
Seam, it's examples, and seam-gen. If you are looking for information on
building or configuring dependencies for a project which uses Seam, you should
look at the chapter on dependencies and building in the reference manual.
Dependency Management
---------------------
The dependency managmement for Seam is managed through Maven pom files. The
pom's are located in the build/ directory. The root.pom.xml is the 'root' or
parent pom for Seam, and contains versioning information for all dependencies.
Each Seam jar has it's own pom (e.g. pdf.pom.xml) which declares the dependencies
for that module - it has the root pom declared as it's parent; no version
information is placed in this pom.
Seam directly uses the 'compile' dependencies to build the various modules,
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 modul. 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
* 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 proceedure for this is
outlined at http://wiki.jboss.org/wiki/Wiki.jsp?page=MavenThirdPartyJars
To add a dependency of Seam to the development repository stored in CVS:
* 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 can
add a dependency to Seam's local (development) repository. These dependencies
are (for now) just available when building Seam itself (or if a user adds the
local repository to their pom).
* 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:
ant deployLocal -Dpom=foo.pom -Djar=foo.jar
If you want maven to create a basic pom for you:
ant deployLocalJar -Djar=foo.jar
* If you need to alter the pom or jar in the local repository but don't change
the version number, you'll need to delete the old copy from maven's cache
rm -rf ~/.m2/repository/group/id/artifactId/version
Release Instructions
--------------------
TBD
Examples
--------
The examples assemble all the Seam dependencies into a staging directory (/lib).
/lib/*.jar is used as the classpath to compile the examples, and the examples
use pattern's to select the jars to put in their deployed archives.
Some trickery (excluding jars) is required to get JBoss Embedded to run
currently - this should be improved.
More information about the jboss-cvs-commits
mailing list