Date: Thu, 28 Mar 2024 11:45:09 -0400 (EDT) Message-ID: <1619713269.28228.1711640709623@lyrasis1-roc-mp1> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_28227_1676207661.1711640709623" ------=_Part_28227_1676207661.1711640709623 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
This project would reorganize and consolidate some of the maven = project hierarchy to reduce the number of maven projects neccessary to oper= ate DSpace.
Benefits: Reduce the number of maven projects in DSpace "Core" from 39 t= o 19.
Example Repository: https://= github.com/dspace/DSpace/tree/maven-project-consolidation
This project would consolidate:
and it would reduce it down to
We would utilize the current model found in dspace-swordv2 (http://scm.dspace.org/svn/repo/dspace/trun= k/dspace/modules/swordv2)
dspace-swordv2
http://scm.dspace.o= rg/svn/repo/dspace/trunk/dspace/modules/swordv2/pom.xml
How it works:
SWORDv2 uses skinny= WARs and the generation of secondary artifacts (classes.jar) to create= the proper artifacts needed for the overlay process.
<bui= ld> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <attachClasses>true</attachClasses> <!-- In version 2.1-alpha-1, this was incorrectly na= med warSourceExcludes --> <packagingExcludes>WEB-INF/lib/*.jar</packagin= gExcludes> <warSourceExcludes>WEB-INF/lib/*.jar</warSourc= eExcludes> <webResources> <resource> <filtering>true</filtering> <directory>${basedir}/src/main/webapp<= /directory> <includes> <include>WEB-INF/web.xml</include&= gt; </includes> </resource> </webResources> </configuration> <executions> <execution> <phase>prepare-package</phase> </execution> </executions> </plugin> </plugins> </build>
To produce this for DSpace XMLUI and other webapplications we would cons= olidate all the project directories in each case and create the same build = process for them as well.
Then to add the dependencies into the overlay projects such as dspace/mo= dules/swordv2, the dependencies just need to have the webapp.war and api.ja= r dependencies replaced with the following
<dep= endencies> <!-- DSpace Custom SWORDv2 Web application --> <dependency> <groupId>org.dspace</groupId> <artifactId>dspace-swordv2</artifactId> <type>war</type> </dependency> <!-- DSpace Implementation of SWORDv2 Provider --> <dependency> <groupId>org.dspace</groupId> <artifactId>dspace-swordv2</artifactId> <type>jar</type> <classifier>classes</classifier> </dependency> </dependencies>
In this task we would want to retain svn history as effectively as possi= ble, this means that we will want to probibly do the following
A prototype branch of this work has been completed in SVN and is ready f= or testing purposes.