ENGAGE-182: refactor path structure for mvn (maven2)

Metadata

Source
ENGAGE-182
Type
Improvement
Priority
Minor
Status
Closed
Resolution
Fixed
Assignee
Michelle D'Souza
Reporter
joan garcia
Created
2009-11-04T10:54:31.000-0500
Updated
2014-03-03T14:21:10.688-0500
Versions
N/A
Fixed Versions
  1. 0.3b
Component
N/A

Description

refactor java project directories to:

/src/main/java
/src/main/resources
/src/main/webapp

Comments

  • joan garcia commented 2009-11-04T10:57:47.000-0500

    for example, <fluid-all/kettle> project.

    mvn eclipse:eclipse will recognise the project structure and will create a proper .project file.

    • 2change [new WebAppContext contructor argument]:

    public class JettyLauncher {

    public static void main(String[] args) throws Exception {
    Server server = new Server();

    Connector connector = new SelectChannelConnector();
    connector.setPort(Integer.getInteger("jetty.port", 8080).intValue());
    server.setConnectors(new Connector[] { connector });

    WebAppContext webapp = new WebAppContext("src/main/webapp", "/");

  • joan garcia commented 2009-11-04T11:00:46.000-0500

    maven 2 interesting link:
    http://www.javaworld.com/javaworld/jw-12-2005/jw-1205-maven.html

  • joan garcia commented 2009-11-05T10:54:10.000-0500

    this is my local fluid-engage-kettle pom.xml (it seems to work). I compile and run kettle on Jetty.
    Note that there are no source references, maven 2 handle sources properly (using: "convention over configuration" pattern).
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    <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>
    <artifactId>fluid-engage</artifactId>
    <groupId>org.fluidproject</groupId>
    <version>0.3-SNAPSHOT</version>
    <organization>
    <name>Fluid Project</name>
    <url>http://fluidproject.org</url>
    </organization>
    <inceptionYear>2009</inceptionYear>
    <packaging>war</packaging>
    <description>
    A set of test components for evaluating conversion and rendering strategies
    </description>

    <repositories>
    <repository>
    <id>CARET-Maven2</id>
    <name>CARET Maven 2 Repository</name>
    <url>http://www2.caret.cam.ac.uk/maven2</url>
    </repository>
    <repository>
    <id>Fluid-Maven2</id>
    <name>Fluid Maven 2 Repository</name>
    <url>http://developer.jasig.org/repo/content/repositories/fluid-m2</url>
    </repository>
    <repository>
    <id>3rd-party</id>
    <name>jasig 3rd party Maven 2 Repository</name>
    <url>http://developer.jasig.org/repo/content/repositories/3rd-party</url>
    </repository>
    <repository>
    <id>CARET-Maven2-dev</id>
    <name>CARET Maven 2 Development Repository</name>
    <url>http://www2.caret.cam.ac.uk/maven2dev</url>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
    </repository>
    </repositories>

    <dependencies>
    <dependency>
    <groupId>uk.org.ponder</groupId>
    <artifactId>ponderutilcore</artifactId>
    <version>1.2.4A</version>
    <type>jar</type>
    </dependency>
    <dependency>
    <groupId>rhino</groupId>
    <artifactId>js</artifactId>
    <version>1.7R3pre</version>
    <type>jar</type>
    </dependency>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.3</version>
    <type>jar</type>
    <scope>provided</scope>
    </dependency>
    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.14</version>
    <type>jar</type>
    </dependency>
    <dependency>
    <groupId>xpp3</groupId>
    <artifactId>xpp3_min</artifactId>
    <version>1.1.3.4.O</version>
    <type>jar</type>
    </dependency>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>provided</scope>
    </dependency>
    <dependency>
    <artifactId>jetty</artifactId>
    <groupId>org.mortbay.jetty</groupId>
    <version>6.1.18</version>
    </dependency>
    <dependency>
    <artifactId>jetty-util</artifactId>
    <groupId>org.mortbay.jetty</groupId>
    <version>6.1.18</version>
    </dependency>
    <dependency>
    <artifactId>xercesImpl</artifactId>
    <groupId>xerces</groupId>
    <version>2.9.1</version>
    </dependency>
    </dependencies>

    <build>
    <finalName>fluid-engage</finalName>
    <plugins>
    <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    </plugin>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
    <source>1.5</source>
    <target>1.5</target>
    </configuration>
    </plugin>
    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>surefire-report-maven-plugin</artifactId>
    <version>2.0-beta-1</version>
    </plugin>
    </plugins>
    </build>
    </project>

  • joan garcia commented 2009-11-05T11:00:01.000-0500

    local pom.xml

  • joan garcia commented 2009-11-17T06:13:45.000-0500

    this a build patch for engage.

    Simplifies the build process and stores java source classes in the public webapp space.
    (Not mixed with build resources inside WEB-INF/classes).

  • joan garcia commented 2009-11-17T06:46:10.000-0500

    This patch includes the previous one.

    Added encoding support on maven build.

    It's a good approach make build process "system independent".
    We cannot trust systems 's defaults.