[seam-dev] Removing the combined jars

Shane Bryzak sbryzak at redhat.com
Sun Aug 7 19:39:13 EDT 2011


Hi module leads,

In preparation for the 3.1.0.Beta1 release which we are planning for 
this weekend, could you please take the following steps to remove the 
combined jar from your module if you haven't already done so:

1) Delete the "combined" directory from your module.

2) Remove the combined module declaration from your module's parent pom.xml

3) Rename your module's implementation.  If you have only one 
implementation then this should be simple - for example seam-catch-impl 
will become just seam-catch.  If you have more than one implementation 
then name it likewise - e.g. seam-reports-jasper.

4) Update the dependency management section of your parent pom.xml - it 
will probably contain something like this:

<dependency>
<groupId>org.jboss.seam.security</groupId>
<artifactId>seam-security-api</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>org.jboss.seam.security</groupId>
<artifactId>seam-security-impl</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>org.jboss.seam.security</groupId>
<artifactId>seam-security</artifactId>
<version>${project.version}</version>
</dependency>


In this example for Seam Security, the seam-security-impl dependency 
should be removed (as the seam-security dependency will now refer to the 
implementation).

5) Update the dependencies for the distribution build.  In dist/pom.xml, 
you'll find dependencies for the api, impl and combined jar, so like in 
step 4 you should be able to just delete the -impl dependency to fix the 
dependency list.

6) Update the assembly - edit dist/src/main/assembly/assembly.xml, and 
update the dependencies, in particular the list of source dependencies.

7) Update your documentation - somewhere near the beginning of most 
modules we list Maven dependencies, take a look at 
http://docs.jboss.org/seam/3/faces/latest/reference/en-US/html/faces.installation.html 
for an example.  I'm open to suggestions for this however I think the 
easiest thing we can instruct our users to do is simply add the 
implementation dependency to their project, which will automatically 
pull in the API.

8) Build your module! Run mvn clean install -Drelease to confirm that 
the distribution builds ok, and spend a few minutes checking over the 
distribution archive to confirm that everything looks in order.

If you have any questions, please feel free to ask!

Shane


More information about the seam-dev mailing list