ENGAGE-95: Create Engage build scripts

Metadata

Source
ENGAGE-95
Type
Task
Priority
Blocker
Status
Closed
Resolution
Fixed
Assignee
Michelle D'Souza
Reporter
Michelle D'Souza
Created
2009-09-24T12:10:52.000-0400
Updated
2009-11-10T11:10:38.000-0500
Versions
N/A
Fixed Versions
  1. 0.3b
Component
N/A

Description

The build should create a war file containing infusion, engage-client and engage-server.
The war file should be able to be dropped into Jetty or Tomcat as is and the engage demos should work.

Comments

  • Michelle D'Souza commented 2009-09-24T12:12:50.000-0400

    The details of the structure are being discussed on list. Currently the structure is planned to be:

    src/
    webapp/
    infusion/ --> copied/exploded from the product of the Infusion Ant build
    components/
    framework/
    lib/
    engage-client/ --> minified and copied into place
    components
    engage-server/
    kettle/
    js/
    artifact/
    js/
    browse/
    js/
    java/
    org/
    fluidproject/
    kettle/
    KettleServlet.java
    .. etc ...
    jetty/
    JettyLauncher.java
    ... etc ...

  • Michelle D'Souza commented 2009-09-24T12:21:21.000-0400

    Bug Parade Engage 0.1

  • Michelle D'Souza commented 2009-09-24T13:22:13.000-0400

    From Colin's e-mail to the list:

    Assumptions:

    • Maven is not awesome for build scripts, but it is awesome for dependency resolution
    • Our Infusion WAR file is somewhat broken, in that it has all our main directories at top level, instead of being nested inside an infusion/ directory. This was a regression when we restructured SVN for the Infusion 1.0 release.

    Our approach for building Engage:

    • Don't mess with being able to easily run and rapidly develop inside Eclipse with Jetty
    • Create separate kettleIncludes.json files, one for in Eclipse, one for standalone deployment
    • Don't worry about separating Kettle from the Engage server code at the moment
    • Build a good, self-contained, production-ready WAR for Engage containing the following:
      1. Infusion
      2. Engage client
      3. Engage Server and Kettle
    • Write an Engage Ant build script that takes care of minification and preparing the correct WAR directory structure
    • Use the Ant script to swap the Eclipse includes for the stand-alone includes
    • Use Maven to build the final WAR and resolve any Java dependencies
  • Colin Clark commented 2009-09-24T14:18:41.000-0400

    We should also include, within the scope of this issue, any tweaks to Kettle's Eclipse/Jetty build to ensure it can be built and run correctly.

    Two issues I've discovered:

    1. JettyServlet.java has a hard-baked IP address in it, causing Kettle to fail at startup
    2. The version of Xerces declared in the engage-sketches .classpath is incorrect, and should be 2.9.1 instead of 2.81

  • Colin Clark commented 2009-10-14T18:09:32.000-0400

    Tasks remaining for this issue:

    • Adjust the build scripts to accommodate the directory restructuring
    • Copy license files to the distributions
  • Colin Clark commented 2009-10-14T18:10:12.000-0400

    The build scripts will need to change a little bit after the directory restructuring.

  • Justin Obara commented 2009-11-10T11:10:38.000-0500

    Build scripts are in place and the child jira is closed