Dear Acegi Security Users

Following off-list discussion between Luke Taylor, Carlos Sanchez and myself, we'd like to propose the following changes to the project build system and CVS layout. The ultimate goal is to use Maven and retire the Ant build. This will deliver a lot of benefits, including easier (clearer) dependency management, having a smaller release ZIP file, moving all the libs out of CVS, easy publishing to iBiblio, adopting the standard Maven project layout (making it faster for people to get up to speed and use plugins without special configuration), avoiding the duplication of maintaining two build systems, and using Maven for the project web pages at acegisecurity.sourceforge.net.

As Maven recommends use of a standard directory layout (http://wiki.codehaus.org/maven/DirectoryLayout), the project directories will be moved around as follows:

src/net/sf/acegisecurity/adapters/cas --> adapters/cas/src/main/java/net/sf/acegisecurity/adapters
src/net/sf/acegisecurity/adapters/catalina --> adapters/catalina/src/main/java/net/sf/acegisecurity/adapters
src/net/sf/acegisecurity/adapters/jboss --> adapters/jboss/src/main/java/net/sf/acegisecurity/adapters
src/net/sf/acegisecurity/adapters/jetty --> adapters/jetty/src/main/java/net/sf/acegisecurity/adapters
src/net/sf/acegisecurity/adapters/resin --> adapters/resin/src/main/java/net/sf/acegisecurity/adapters
test/net/sf/acegisecurity/adapters/cas --> adapters/cas/src/test/java/net/sf/acegisecurity/adapters
test/net/sf/acegisecurity/adapters/catalina --> adapters/catalina/src/test/java/net/sf/acegisecurity/adapters
test/net/sf/acegisecurity/adapters/jboss --> adapters/jboss/src/test/java/net/sf/acegisecurity/adapters
test/net/sf/acegisecurity/adapters/jetty --> adapters/jetty/src/test/java/net/sf/acegisecurity/adapters
test/net/sf/acegisecurity/adapters/resin --> adapters/resin/src/test/java/net/sf/acegisecurity/adapters
src --> core/src/main/java
test --> core/src/test/java
sandbox/src --> sandbox/src/main/java
sandbox/test --> sandbox/src/test/java
samples/attributes/src --> samples/attributes/src/main/java
samples/contacts/src --> samples/contacts/src/main/java
samples/quick-start --> made into a documentation article instead
xdocs --> doc


We'll be asking the SourceForge team to make these changes in the CVS repository in a manner that preserves file history as much as possible. In the worst case scenario, old directories will be emptied (the "Attic" will remain) and files will go back to version 1.1 in the new directories. This will still allow the checkout of previous releases. Having said that, we expect files will be moved successfully within the repository without losing their version history.

JBoss will remain a dependency of the JBoss adapter artifact. The AutoIntegrationFilter, which would be in core, will be removed. This is because AutoIntegrationFilter has a dependency on JBoss which would make JBoss a dependency of core as well. Removing this filter isn't really a problem, as people will simply use the appropriate filter for their configuration: HttpSessionIntegrationFilter, HttpRequestIntegrationFilter or JbossIntegrationFilter.

The "extractor" directory will be removed, as full web containers will be used instead via a dependency in the respective adapter POM. As there is now a GPL version 2 edition of Resin, we intend to place the GPL Resin 3.0.9 JAR into a new repository setup at acegisecurity.sourceforge.net/repository. My reading of the GPL version 2 allows us to distribute the unmodified object code (ie JAR) in this manner under section 3(a) because we'll also publish the license and resin-3.0.9-src.zip in the same location. I notice other GPL version 2 libraries are on iBiblio (eg http://www.ibiblio.org/maven/mm-mysql/). Even so, if there are objections to this we can remove it and people wanting to build the Resin adapter can manually add it to their local repositories.

The "integration-test" directory will be kept around for a while longer, with its lib directory intact. I plan on rewriting the sample application soon, to better demonstrate domain object instance security. A new integration test approach will be implemented at that time.

The "hsqldb" directory will be removed. Instead Hypersonic will be embedded as an in-memory database within the sample application. I setup something similar in the Petclinic Rich Client sample application, where it has been working fine.

Future release ZIPs will no longer contain the lib directory. Samples will be built by end users via Maven. Detailed instructions on Maven use will be provided.

We'll also ensure Acegi Security JARs are added to iBiblio on an ongoing basis in the future.

I should emphasize that typical Acegi Security users will not be impacted at all from these changes, except perhaps defining the correct substitute for AutoIntegrationFilter in web.xml. Users already need to build the samples using Ant, so the need to build the samples via Maven shouldn't be a major issue.

Any comments, concerns, support, votes etc regarding the above are most welcome.

Thanks
Ben


------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Acegisecurity-developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer

Reply via email to