Add ability to disable the building of particular DSpace modules/interfaces
from source code
--------------------------------------------------------------------------------------------
Key: DS-791
URL: https://jira.duraspace.org/browse/DS-791
Project: DSpace
Issue Type: Improvement
Components: DSpace API
Affects Versions: 1.7.0
Reporter: Tim Donohue
Assignee: Tim Donohue
Fix For: 1.8.0
Attachments: dspace-modules-pom.patch
For developers (and anyone who frequently rebuilds DSpace), it would be nice to
have the ability to *disable* the building of DSpace modules which you are not
currently using.
For example, an institution may only be actively using the XMLUI, Discovery and
SWORD. But, when they run 'mvn package', it will *always* rebuild all
modules/interfaces (even those which they don't really care about).
A simple way to allow institutions to disable the building of specific modules
is to provide consistent "module profiles" across all our POMs, which can then
be disabled from the command-line using Maven's "-P" option along with the "!"
option (requires Maven 2.1 or above). For example, if you have profiles with
IDs of "dspace-lni" and "dspace-oai", you can disable them by calling Maven as
follows:
mvn package -P !dspace-lni,!dspace-oai
We currently already provide various interface-based profiles in the
[dspace-src]/dspace/pom.xml. However, the [dspace-src]/dspace/modules/pom.xml
*always* defaults to building/installing all modules.
Simply put, with a small tweak to [dspace-src]/dspace/modules/pom.xml to add
matching profiles (with the same IDs as in [dspace-src]/dspace/pom.xml), we can
make things a lot easier on developers. See the attached patch for more
details of the changes. This patch was built against current Trunk (r5997).
With the patch applied, here's what build options are available:
* By default, all DSpace modules are still built when running 'mvn package' on
the full source code
* If a developer chooses, he/she can disable the building of specific DSpace
modules using the Maven "-P" option. He/She just needs to provide a listing of
the modules to disable (see example above). The full list of modules is
currently:
* dspace-xmlui
* dspace-lni
* dspace-oai
* dspace-jspui
* dspace-sword
* dspace-solr
Suggestions & comments are welcome. If others agree that this is a useful
tweak to our current build process, I will commit it to Trunk for the 1.8.0
release.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.duraspace.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel