spring-security/doc/xdocs/building.xml

61 lines
4.5 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<document><properties><title>Building</title></properties><body><section name="Building Acegi Security System"><subsection name="Checking Out from Subversion (SVN)"><p>This project uses <a href="http://maven.apache.org">Maven</a> as project manager
and build tool. We recommend you to install Maven 1.0.2 or greater before trying
the following. <b>Note there are workarounds at the bottom of this page.</b></p><p>To checkout Acegi Security from SVN, see our
<a href="cvs-usage.html">CVS Usage</a> page.</p></subsection><subsection name="Quick Build"><p>Often people reading this document just want to see if Acegi Security will work
for their projects. They want to deploy a sample application, and that's about it
(after all, all the reference documentation can be read online at
<a href="http://acegisecurity.org">http://acegisecurity.org</a>).
In this case, execute:</p><ol>
<pre>cd $ACEGI_SECURITY/core (or cd %ACEGI_SECURITY%/core on Windows)</pre>
<pre>maven jar:install</pre>
<pre>cd $ACEGI_SECURITY/samples/contacts</pre>
<pre>maven multiwar:multiwar</pre>
<pre>copy $ACEGI_SECURITY/samples/contacts/target/acegi-security-sample-contacts-filter.war $YOUR_CONTAINER/webapps</pre>
</ol><p>Then load up your web container and visit
<a href="http://localhost:8080/acegi-security-sample-contacts-filter/">http://localhost:8080/acegi-security-sample-contacts-filter/</a>
(or whatever location is appropriate for your web container).</p></subsection><subsection name="Installing commons-attributes-plugin"><p>To properly integrate Commons Attributes with Maven (as required by
the <a href="/multiproject/acegi-security-sample-attributes/index.html">Attributes Sample</a>),
you need to install an additional plugin.</p><p>To install the <code>commons-attributes-plugin</code>, execute the following commands:</p><ol>
<pre>cd $ACEGI_SECURITY/doc</pre>
<pre>maven plugin:download
-DgroupId=commons-attributes
-DartifactId=commons-attributes-plugin
-Dversion=2.1</pre>
</ol><p>The second (final) command should be executed on a single line.</p></subsection><subsection name="Building All JARs"><p>Sometimes people are already using Acegi Security, and they just want to build the
latest code from CVS. To build all artifacts (JARs) and install them into
your local Maven repository, simply perform a CVS checkout and install the
<code>commons-attributes-plugin</code> (as detailed above), and then
execute:</p><ol>
<pre>cd $ACEGI_SECURITY/doc</pre>
<pre>maven multiproject:install</pre>
</ol><p>You can then check your <code>$HOME/.maven/repository/acegisecurity</code>
directory and it should contain all of the latest Acegi Security JARs.</p></subsection><subsection name="Building The Site"><p>By "site" we mean the web site you can browse at
<a href="http://acegisecurity.sourceforge.net">http://acegisecurity.sourceforge.net</a>,
which includes the reference documentation and all of the Maven reports.
If you'd like a local copy, simply execute:
<ol>
<pre>cd $ACEGI_SECURITY/doc</pre>
<pre>maven -Dpassword= changelog:create-cvspass</pre>
<pre>maven multiproject:clean multiproject:site
-Dmaven.jar.override=on
-Dmaven.jar.clover-ant=1.3.3_01
</pre>
</ol>
</p><p>As per the
<a href="http://maven.apache.org/reference/plugins/changelog/">Maven Changelog Plugin Documentation</a>,
you must tell the plugin the "anonymous CVS pserver" password is blank. This is
why there is the "create-cvspass" command shown above. You should only need to
do this once.</p></subsection><subsection name="Memory and Clover Workarounds"><p>If you get an <code>OutOfMemoryError</code>, simply execute the following before
calling Maven:</p><ol>
<pre>set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=512m</pre>
</ol><p>If you get an <code>[ERROR] Invalid license: Invalid license file [E1202]</code>,
this is because the <code>maven-clover-plugin</code> is using an old version of
<code>clover-ant-xxx.jar</code>. Whilst Acegi Security's <code>project.properties</code>
specifies a newer version, subprojects have an inheritence problem and don't pick
this up (as of the time of writing). To workaround this issue, you need to
specify those override properties on the command line. For example, to execute the
Clover reports for the core subproject, you would do the following:</p><ol>
<pre>cd $ACEGI_SECURITY/core</pre>
<pre>maven clover:html-report -Dmaven.jar.override=on -Dmaven.jar.clover-ant=1.3.3_01</pre>
</ol></subsection></section></body></document>