Page History
...
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Maven WAR Overlays
Much of the customisation described in the JSPUI and XMLUI customisation sections is based on [Maven WAR Overlays|http://maven.apache.org/plugins/maven-war-plugin/overlays.html]. In short, any classes or files placed in {{\ Wiki Markup [dspace-source
\]/dspace/modules/*
}} will be overlayed onto the selected WAR. This includes both new and amended files.
For more details on Maven WAR Overlays and how they relate to DSpace, see this presentation from Fall 2009: Making DSpace XMLUI Your Own
(Please note that this presentation was made for DSpace 1.5.x and 1.6.x, but much of it still applies to current versions of DSpace.)
DSpace Source Release
...
If you really want to get your hands dirty you may have downloaded the 'dspace-src-release' (or checked out the latest DSpace Code via [Subversion|http://scm.dspace.org/svn/repo/dspace/]) and wish to make changes to dspace-api source code. In that case it should be noted that DSpace should be rebuilt by running '{{mvn package}}' from the root {{\[dspace-source\]}} directory rather than from {{\[dspace-source\]/dspace}}. This will ensure that your modifications are included in the final WAR files. In other words, with the 'dspace-src-release' there are two main build options that are available to you:
Running {{mvn package}} from the root {{\Full Build: RunningWiki Markup mvn package
from the root[dspace-source
\]
}} directory- This option will rebuild all DSpace modules from their Java Source code, then apply any Maven WAR Overlays.
Running {{mvn package}} from the {{\Wiki Markup - In other words, all subdirectories of
[dspace-source]
are recompiled/rebuilt.
- Quick Build: Running
mvn package
from the[dspace-source
\]/dspace/
}} directory- This option performs a "quick build". It does not recompile/rebuild all DSpace modules. All it does is rebuild and re-apply any Maven WAR Overlays to the previously compiled source code. In other words, the ONLY code that will be recompiled/rebuilt is code that exists in
[dspace-source]/dspace/modules/*
(the Maven WAR Overlay directories)
- This option performs a "quick build". It does not recompile/rebuild all DSpace modules. All it does is rebuild and re-apply any Maven WAR Overlays to the previously compiled source code. In other words, the ONLY code that will be recompiled/rebuilt is code that exists in
Which build option you need to use will depend on your local development practices. If you have been careful to utilize Maven WAR Overlays for your local code/changes (putting everything under [dspace-source]/dspace/modules/*
), then the Quick Build option may be the best way for you to recompile & reapply your local modifications. However, if you have made direct changes to code within a subdirectory of [dspace-source]
(e.g. /dspace-api
, /dspace-xmlui
, /dspace-jspui
, etc.) then you will need to utilize the Full Build option in order to ensure those modifications are included in the final WAR files.