add parent pom and doc how to do a release (#2)
* add parent pom and doc how to do a release
* add scm connection and release plugin version
diff --git a/README.md b/README.md
index 7b48652..c79e17d 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Cassandra diff
+# Apache Cassandra diff
## Configuration
See `spark-job/localconfig.yaml` for an example config.
@@ -84,3 +84,58 @@
]
```
+## Releases
+We push maven artifacts to `repository.apache.org`. To create a release, follow the instructions
+[here|http://www.apache.org/dev/publishing-maven-artifacts.html], basically:
+
+1. make sure your `~/.m2/settings.xml` has entries for the apache repositories:
+ ```xml
+ <settings>
+ ...
+ <servers>
+ <!-- To publish a snapshot of some part of Maven -->
+ <server>
+ <id>apache.snapshots.https</id>
+ <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
+ <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
+ </server>
+ <!-- To stage a release of some part of Maven -->
+ <server>
+ <id>apache.releases.https</id>
+ <username> <!-- YOUR APACHE LDAP USERNAME --> </username>
+ <password> <!-- YOUR APACHE LDAP PASSWORD (encrypted) --> </password>
+ </server>
+ ...
+ </servers>
+ </settings>
+ ```
+2. Generate GPG keys:
+ ```shell script
+$ gpg --gen-key
+ ```
+
+3. Try a local install with the apache profile to make sure everything is setup correctly:
+ ```shell script
+$ mvn clean install -Papache-release
+ ```
+ Note, if you get an error like `gpg: signing failed: Inappropriate ioctl for device` you can run the command like
+ this instead:
+ ```shell script
+$ GPG_TTY=$(tty) mvn clean install -Papache-release
+ ```
+
+4. Publish a snapshot:
+ ```shell script
+$ mvn deploy
+ ```
+
+5. Prepare the release:
+ ```shell script
+$ mvn release:clean
+$ mvn release:prepare
+ ```
+
+6. Stage the release for a vote
+ ```shell script
+$ mvn release:perform
+ ```
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index fce7cc1..16b35b7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
-
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>10</version>
+ </parent>
<groupId>org.apache.cassandra.diff</groupId>
<artifactId>diff</artifactId>
<packaging>pom</packaging>
@@ -34,6 +38,13 @@
<module>api-server</module>
</modules>
+ <scm>
+ <connection>scm:git:https://gitbox.apache.org/repos/asf/cassandra-diff.git</connection>
+ <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/cassandra-diff.git</developerConnection>
+ <url>https://github.com/apache/cassandra-diff/tree/${project.scm.tag}</url>
+ <tag>master</tag>
+ </scm>
+
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
@@ -96,6 +107,11 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.5.3</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
@@ -103,6 +119,20 @@
<target>1.8</target>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.6</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>