Skip to content

Commit

Permalink
Merge pull request #45 from tdonohue/update_pom_for_release_5_x
Browse files Browse the repository at this point in the history
Update POM for release via Sonatype (5.x branch)
  • Loading branch information
tdonohue authored Mar 18, 2020
2 parents 6e10799 + f3b07a1 commit 8b28437
Showing 1 changed file with 231 additions and 31 deletions.
262 changes: 231 additions & 31 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,148 @@
<artifactId>dspace-replicate</artifactId>
<packaging>jar</packaging>
<name>DSpace Replication Task Suite</name>
<url>https://wiki.duraspace.org/display/DSPACE/ReplicationTaskSuite</url>
<version>3.5-SNAPSHOT</version>
<description>Replication Task Suite: A DSpace add-on providing Curation Tasks that perform replication
(backup and restore) of DSpace content to other locations or services.</description>
<url>https://wiki.lyrasis.org/display/DSPACE/ReplicationTaskSuite</url>
<version>5.0-SNAPSHOT</version>

<organization>
<name>DuraSpace</name>
<name>LYRASIS</name>
<url>http://www.dspace.org</url>
</organization>

<!-- brings the sonatype snapshot repository and signing requirement on board -->
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>9</version>
</parent>

<properties>
<!-- DSpace Version Information (supported version of DSpace) -->
<dspace.version>[5.0,5.20)</dspace.version>
<!-- DuraCloud Version Information (supported version of DuraCloud) -->
<duracloud.version>6.1.1</duracloud.version>
<!-- Replication Task Suite requires Java 1.7 or higher, as DuraCloud APIs require Java 1.7 or above. -->
<java.version>1.7</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
</properties>

<build>
<!-- Define Maven Plugin Settings / versions. -->
<pluginManagement>
<plugins>
<!-- Use to enforce a particular version of Java and ensure no conflicting dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>${java.version}</version>
</requireJavaVersion>
<requireMavenVersion>
<version>[3.0.5,)</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
<!-- Make sure that we do not have conflicting dependencies-->
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<DependencyConvergence />
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- Used to compile all Java classes -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<!-- Used to package all JARs -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- Used to generate a new release via Sonatype (see release profile). -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
</plugin>
<!-- Used to generate JavaDocs for new releases (see release profile). -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<!-- Never fail a build based on Javadoc errors -->
<failOnError>false</failOnError>
</configuration>
</plugin>
<!-- Used to generate source JARs for new releases (see release profile). -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
</plugin>
<!-- Used to sign new releases via GPG (see release profile). -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<!-- Replication Task Suite requires Java 1.7 or higher,
as DuraCloud APIs require Java 1.7 or above. -->
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<!-- During release:perform, enable the "release" profile (see below) -->
<releaseProfiles>release</releaseProfiles>
<goals>deploy</goals>
<!-- Auto-Version all modules the same as the parent module -->
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
<!-- Copy necessary Runtime Depenencies to /target/lib/
during build process. (We are only including Runtime
Expand All @@ -67,15 +172,67 @@
</plugins>
</build>

<!--
GitHub repository used for version control
-->
<scm>
<connection>scm:git:[email protected]:DSpace/dspace-replicate.git</connection>
<developerConnection>scm:git:[email protected]:DSpace/dspace-replicate.git</developerConnection>
<url>[email protected]:DSpace/dspace-replicate.git</url>
<tag>HEAD</tag>
</scm>
<profiles>
<!--
The 'release' profile is used by the 'maven-release-plugin' (see above)
to actually perform an dspace-replicate release to Maven central.
This profile contains settings which are ONLY enabled when performing
a DSpace module release. See also https://wiki.lyrasis.org/display/DSPACE/Release+Procedure
-->
<profile>
<id>release</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<!-- Configure Nexus plugin for new releases via Sonatype.
See: http://central.sonatype.org/pages/apache-maven.html -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<!-- In your settings.xml, your username/password
MUST be specified for server 'ossrh' -->
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<!-- Require manual verification / release to Maven Central -->
<autoReleaseAfterClose>false</autoReleaseAfterClose>
</configuration>
</plugin>
<!-- For new releases, generate Source JAR files -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Sign any new releases via GPG.
NOTE: you may optionall specify the "gpg.passphrase" in your settings.xml -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>

<dependencies>
<dependency>
Expand All @@ -87,13 +244,13 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.4.1</version>
<version>1.19</version>
</dependency>
<!-- DuraCloud dependencies (used for replication to/from DuraCloud).
We only need to specify a dependency on the 'storeclient', as it already
Expand Down Expand Up @@ -130,4 +287,47 @@
</exclusions>
</dependency>
</dependencies>

<licenses>
<license>
<name>DSpace BSD License</name>
<url>https://raw.github.com/DSpace/DSpace/master/LICENSE</url>
<distribution>repo</distribution>
<comments>
A BSD 3-Clause license for the DSpace codebase.
</comments>
</license>
</licenses>

<!--
GitHub repository used for version control
-->
<scm>
<connection>scm:git:[email protected]:DSpace/dspace-replicate.git</connection>
<developerConnection>scm:git:[email protected]:DSpace/dspace-replicate.git</developerConnection>
<url>[email protected]:DSpace/dspace-replicate.git</url>
<tag>HEAD</tag>
</scm>

<!-- Configure our release repositories to use Sonatype.
See: http://central.sonatype.org/pages/apache-maven.html -->
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>

<developers>
<developer>
<name>DSpace Committers</name>
<email>[email protected]</email>
<url>https://wiki.lyrasis.org/display/DSPACE/DSpace+Committers</url>
</developer>
</developers>

</project>

0 comments on commit 8b28437

Please sign in to comment.