I have a couple recommendations.

1.) with the release of Sesame 2.0 final. Might it be possible to get  
off the beta versions in the longwell/pom.xml in the svn?

2.) we are attempting to use war overlays of longwell to package in  
our configuration and additions, is there any way we could start  
getting wars deployed to the simile Maven repository? These could  
even be skinny wars that only contain the web resources and not the  
WEB-INF/lib or WEB-INF/classes directories.  The idea being that  
there would be two artifacts released for the project (1)  
longwell.war, a war that can be overlaid in maven and (2)  
longwell.jar, the same currently released jar that is need to be  
added as a dependency to the overlay.

This would greatly assist us in automating our build, development and  
release processes when it comes to deploying longwell into a  
production environment.

Cheers,
Mark

Here are some example configuration solutions...

Providing such a solution is fairly simple in maven, to produce a  
"skinny" war as the primary artifact...

>    <build>
>       <plugins>
>          <plugin>
>             <groupId>org.apache.maven.plugins</groupId>
>             <artifactId>maven-war-plugin</artifactId>
>             <configuration>
>                <archiveClasses>true</archiveClasses>
>                <warSourceExcludes>WEB-INF/lib/*.jar</ 
> warSourceExcludes>
>             </configuration>
>             <executions>
>                <execution>
>                   <phase>prepare-package</phase>
>                </execution>
>             </executions>
>          </plugin>
>       </plugins>
>    </build>

If you don't want to do it in the main war plugin, it can be  
completed in an assembly as well.

in skinny.xml

> <?xml version="1.0" encoding="UTF-8"?>
> <assembly xmlns="http://maven.apache.org/POM/4.0.0";
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:// 
> maven.apache.org/xsd/assembly-1.1.0-SNAPSHOT.xsd">
>    <id>skinny</id>
>    <formats>
>       <format>war</format>
>    </formats>
>    <includeBaseDirectory>false</includeBaseDirectory>
>    <fileSets>
>       <fileSet>
>          <directory>target/${artifactId}-${version}</directory>
>          <outputDirectory></outputDirectory>
>          <excludes>
>             <exclude>WEB-INF/lib/*</exclude>
>          </excludes>
>       </fileSet>
>    </fileSets>
> </assembly>


in pom.xml

> <!-- Secondary Artifact: Skinny war. -->
>          <plugin>
>             <artifactId>maven-assembly-plugin</artifactId>
>             <configuration>
>                <descriptors>
>                   <descriptor>skinny.xml</descriptor>
>                </descriptors>
>             </configuration>
>             <executions>
>                <execution>
>                   <phase>package</phase>
>                   <goals>
>                      <goal>attached</goal>
>                   </goals>
>                </execution>
>             </executions>
>          </plugin>


As an example of how it would be used downstream by a project, see  
below...

> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0";
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:// 
> maven.apache.org/maven-v4_0_0.xsd">
>    <modelVersion>4.0.0</modelVersion>
>    <groupId>edu.mit.libraries</groupId>
>    <artifactId>dspace-longwell</artifactId>
>    <packaging>war</packaging>
>    <name>DSpace Longwell Webapplication</name>
>    <version>1.5-SNAPSHOT</version>
>    <description>
>       Webapplication supporting access to the DSpace configured  
> Longwell Service.
>    </description>
>    <build>
>       <plugins>
>          <plugin>
>             <artifactId>maven-war-plugin</artifactId>
>             <executions>
>                <execution>
>                   <phase>package</phase>
>                   <goals>
>                      <goal>war</goal>
>                   </goals>
>                </execution>
>             </executions>
>             <configuration>
>                <dependentWarExcludes>
>                   longwell/**,semantic-bank/**,example/ 
> **,conference-bank/**
>                </dependentWarExcludes>
>                <archiveClasses>true</archiveClasses>
>                <webResources>
>                   <resource>
>                      <filtering>true</filtering>
>                      <directory>${basedir}/src/main/webapp</directory>
>                      <includes>
>                         <include>WEB-INF/web.xml</include>
>                         <include>WEB-INF/longwell.properties</include>
>                      </includes>
>                   </resource>
>                </webResources>
>             </configuration>
>          </plugin>
>       </plugins>
>    </build>
>    <repositories>
>       <repository>
>          <id>simile.mit.edu</id>
>          <url>http://simile.mit.edu/maven/</url>
>       </repository>
>       <repository>
>          <id>simile.mit.edu-proxy</id>
>          <url>http://simile.mit.edu/maven-proxy/</url>
>       </repository>
>    </repositories>
>    <dependencies>
>       <dependency>
>          <groupId>edu.mit.simile</groupId>
>          <artifactId>longwell</artifactId>
>          <version>2.5.5</version>
>          <type>war</type>
>          <classifier>skinny</classifier>
>       </dependency>
>       <dependency>
>          <groupId>edu.mit.simile</groupId>
>          <artifactId>longwell</artifactId>
>          <version>2.5.5</version>
>          <type>jar</type>
>       </dependency>
>       <!-- ... -->
>    </dependencies>
> </project>




~~~~~~~~~~~~~
Mark R. Diggory - DSpace Developer and Systems Manager
MIT Libraries, Systems and Technology Services
Massachusetts Institute of Technology





_______________________________________________
General mailing list
[email protected]
http://simile.mit.edu/mailman/listinfo/general

Reply via email to