Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The code is available from SVN prototype branch at: http://scm.dspace.org/svn/repo/sandbox/installer-prototype/Image Removed

This code only includes a customized version of the normal 'dspace' Assembly module from Trunk (1.8.0-SNAPSHOT).

...

  • Wiki Markup
    {{org.dspace.install.Installer}} \- This is the main executable Installer class.  Currently, it essentially just uses the Apache Ant API to call a custom Installer 'installer-build.xml' file (which is based off the default DSpace {{\[installer-prototype\]/dspace/src/main/config/build.xml}} file). NOTE: Even though this installer uses the Ant API, Ant is *not* required to be installed on the local system.  The Ant API is included within the Installer itself.
  • /src/main/resources/installer-build.xml - This is the Ant Build file which actually tells Ant what it needs to do to actually perform the Install process.

...

Wiki Markup
Initially, I thought: "If I can embed Ant in the installer to actually create the \[dspace\] installation directory, why not go one step further and embed Maven, so that the Installer.jar just auto-builds DSpace for you via Maven".  The main reason for potentially embedding Maven was to allow for a smaller Installer.jar overall (less duplication of JAR dependencies, for each of the various DSpace WARs), and to allow Maven to do what it does best (namely managing dependencies). 

Unfortunately, that is not as simple as it may sound. To properly embed Maven into the Installer.jar, you'd need to do the following:

...

Wiki Markup
The Conclusion: At least at this point in time, embedding Maven into an Installer is not really a plausible solution.  We'll need to find a better way of avoiding an ever growing Installer.jar file (which is already rather large as some basic dependencies, e.g. dspace-api.jar, are duplicated 7 times in that one Installer.jar, once for each of the six webapps and once in \[dspace\]/lib).