Skip to content

Commit

Permalink
Publish maven artifacts via travis (#14)
Browse files Browse the repository at this point in the history
added maven and travis configuration for automatically publishing signed releases of deequ in maven central
  • Loading branch information
sscdotopen committed Sep 18, 2018
1 parent 4cfa6e5 commit 54afdd3
Show file tree
Hide file tree
Showing 5 changed files with 220 additions and 2 deletions.
16 changes: 16 additions & 0 deletions .travis.yml
@@ -1 +1,17 @@
language: java
jdk: oraclejdk8

# encrypted environment variables: MAVEN_REPO_USERNAME, MAVEN_REPO_PASSWORD, MAVEN_GPG_PASSPHRASE
env:
global:
- secure: "AE6KjEwnhkzjrMH3kz1+xoD0dCNhHoMmLF3kzb/EDDgR+slOacqnTkC+xC73d3c6UTWx3JLjxEXu9GYOoSgwb1kbR7eTzUHEJ5ADsIhCRPQIlu1qevA3xfsGUz09IN1x2a8DKDYiHT1WuYFtTwfGcvTPOuSExnjlxcUDvt8ydYKn3Fd0jHGzAnAowT+yErkVnsvlTWjglGwXCTPDIj9rzWyhOFXm5qNYIrzLkWnRL1l29u6Vti0y4msAsQ+sGF+GLbIfmmNw1aoDvS1vh+8uNR2HibdCW94HNQQ5GCqcOCKVpHSBSyWiAJ6XLO4uWkA95p1qktG7MYTgksq7I3I0EuYI1uAyZkRiY1g0b9xveQOrw7LFVB7LlBqN578xuUCIM3PputZ3sIfZg4RQsd5VGFu+u5ujF9al4ynzXjHOFD0yOFsPC47Xvfpydta9m6B2nETOsVIVjtDETO7s3r9AbUZbmWkgEkX1oMqzL5nUjyikIf1k++BuMwv75FbBOCKEXX0d/1JovCRSCi9JZUjSg6XfR+XKD7mIqNTzEJV6vUJZWqy6shfdFR8xAsD5iSNAQZEB9TyCspK8CgFPPjlor2Va8eHWkg912Ai6gEZQm/LJLBLEu63GuLFXi0bk0GKEQ8Vz8omOka/iT1B3jlm9jWaW240MQ7TnsdWNnwtPSNU="
- secure: "NGxtRigTY5GoN5gNKl9zPR7R5QSm2EG06lhtlT9dBXJnEIGm0HwmYQYvGuFo7yy6DRuXq9Txqc/XPfl+C9y2JZTg8YtmvztQNDFrNsKg8CqT09YwGF/70AZ1vTAqdvFNdhrYfdg+OzeAO4tloCAOuO8nQf6DNngC9OwDDi0QqrUV7Qgo5ogoT1n02epK/Wk7ZLM3nKpDhV9ZlsfO/njwQsrasxyCBpiSwwSp18DDjvN+r1peZNmX4p1ztSCZtMAScm6puiMLhXOCoLAh/IAhJn39oGUBmuMh1lKltB2+8Eg+8G2n+h4+5bRm60ONjbq1ijJf95fETXn1v5p3X0nZdw8TCj2MWYsVgFngQpv3cOWXhnIpSY6IkIqXFJQJGphXHgvqKxI4jEl1NIY9TJ+aQrgOzSz92PlMJQV0tIZHagiZh2cvq7LQSiWrgc/M4dKCkRjeP0+Zsk6QDoFNyl2Hzmh4uSD1vY3Vs+Hl9sw6sRd0xS4hzPEwA6z8hDSXxXKGY1zEtpRQubdp54i2oZLwK0/0YpeSrvBDTq3yqKbmeVtQ5YYbiiHGgYMfioJi6XPHEX+UOIQTB6OBJgIHdGDrASmxqO/to4anLgqIkG15rarESXJbzPl8UgIwnMqBlcuQ8IlytoUH/P03ewe4pTdjRo6Hw5/5idD0e8yWacBMOxU="
- secure: "D2WE1CQZyyRrAroZWFW9UKF9xMbngVWPXMpwNz3apoOUNpZieZSXzqjfV+6S2nl8eXdRfibOuM97u0PwqYIAsnbinACiujInqNiWA+LOP1vtahtgMWWInVfEuiIxZpBO6wT9YsmOwmsTnim2C+K8ckbHZlnNWAkkaZQmXym8PKg/DxVcAqyMpRszEMzWHMNftbnr93lu2fhM8mm3PVfJzwzhPe4fV5lSqwfmTqDUmY2uG8q2hMm517tajOOWqO3PlpyUfXojSL4wXvQsjFgMMIK1eDFpO1Af9l7jly4lo4/Jl+DIEVSlWSNYEeJLSYBrOdElWKaQtSrSU6HrH2dUuCjdYwB8wMaUYeCdv6XfH4Sye+Da9BJHDBjwBMBfcFvy9WwdHM0Tgw3eo3oMh4/dLoZw7koBvEQDOJSm+5i0kQaucb1m9c9LRrqTJfr6QfgJ4HqegDPLElwhvKJVTL3WJQewaWUSJNL3Zn1yyoBIt7FmyI0cWf4Z36jtcK5XGrqoMhuzzjJILLk350zok7T/bocnKULNH6M/hr7HHPzIdQR/v/Ee8TZ6jabiruNPKFIyHJBcCfnh8EoW8ths8TrOO0Ws9twPYM5Q34DhWy4sBtUqCBfFKy8TM8E1T6pMJzYn6HhNAa0fyq1uhIuFQ/tK11gTZW5xcLSiuDbRmF3T4aY="

script: make build

deploy:
provider: script
script: make travis-deploy
on:
tags: true
30 changes: 30 additions & 0 deletions .travis/public-signing-key.gpg
@@ -0,0 +1,30 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQENBFufwYwBCADGWqHVBptJUmx5zF7wwbBgHUe7OvVoBoHGExOJFUxEWTtx3MTE
97UkosT85dyCy21NH9rUlzdxpZV9kOegQVVhpOr4nkyuUNkOA3P47bZKjkk5oQN+
rffY7+1yLLb4vlbufrX/r+xNYMycAKAFk6diJUPLFKXmDxkB3rH7jQeeWzEk6sEt
a8qvB96s8fCrlP2Eq1GLbpTR3MWqKhZSNWlIS8LqoB7RcadTpBZu0T8e4DTlaIjM
iOfbqBGLOE6RvD2M7ZUHOR89zqyqErgUTErnjMrTxabB/AOGp1LPfiIVX6jeFV/W
Fu5ZzaSUo2EabgEl16n7L8PM/BIF/cGx8jIPABEBAAG0LURlZXF1IHJlbGVhc2Ug
c2lnbmluZyBrZXkgPGxhbmdlZEBhbWF6b24uY29tPokBOAQTAQIAIgUCW5/BjAIb
AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQNppzdDUF5Z2zwAf8CkzJ5Ygz
gAn/jyFzTxq667AbO8sKxFYHosMCpgTfW3fmVdv15vaH8PPGR9vLSrlPRtTCEQfB
LMe7woCuIG8JHxtXTj9u9Zx6EhQrNPYRAYx/v59UjI/nNeyqfQCXIzeWyVmvgvNv
7AnJY6SAVX/3JUvxc584JTKIdwBzedxB/RirfRVkva5KcODLlBTaqPoxl/RFpT2F
FLQ+ld/DtRerLP05hsTxJVBk6RHtzwOUzll/8pQEiPBqVHkMpkIc26eVSwr3FWAH
irHDeT7s8IZ3SAIoiCt2a5xdN9nG8uB3lFFoBiqywqXIiD6W1bzSkiUcAYJzHfv+
79v7a/1MCgjc3LkBDQRbn8GMAQgA2/wR+FDtopW+N1MfrwBUEiUZcMu+sv1d+Tn8
PrjXr1+4G4lHl800RdUs5TTIEKTuLtsWjpHmvN6ntDQwXLVcc4vn1AXpYbuQQBpa
KK0JBZkXDxX86nR3U0yf1ySbJOKk6ftOmX219n6j+lRB0olYz9PLsh26eew4Wbc6
VtynFPNG3+7jtkZZpiDwO5HAJGDie+HVMDnhfQR6v2ZI44Ybj+hznwe8HFaL720j
NFJXnM/c6v3vsX1tY7XyVg/qpgJl8cALQ10wQQaLUeiYfbwq1ykxQEsh/tPJY15Q
oLHE/Q5hSw7Nxzy8W4zDAPmpvyZcqP06biwGXJEKABdWvGU1DQARAQABiQEfBBgB
AgAJBQJbn8GMAhsMAAoJEDaac3Q1BeWd3Z8IAKiUVvTW3ogUXwvYfq89000KnZ5l
ZA/xAWpiSfiHj8I9IYiVzRB5p+V3aoSDN6kUiDohe6D+EqmbKiQ0PRp1ObE5hlNS
O1X+O+vdVPy4PPjVj0SY0k2RngRAfWBp9AYkII+FhwwWnYV9ioANEFH/n1kWQqPT
WfOeCdnUm5IUCTkAdTm27UgwT5LbMC8T8MiIJL/3K2A58hCzjUT2yVN0JMwZDkzE
1jNSdSLwj/uaqfF2Jp/JTAdj7UCMAF6+rnRRTFPKRP9hOfNnPtmL/YqEcjlh+HP6
vR2pIRuGK0OgUBel81gUNYqLaaBCeWUXW6Fni+tMLyeokPkpXHj7AeO9J0Y=
=fsoW
-----END PGP PUBLIC KEY BLOCK-----
22 changes: 22 additions & 0 deletions .travis/settings.xml
@@ -0,0 +1,22 @@
<settings>
<servers>
<server>
<id>ossrh</id>
<username>${env.MAVEN_REPO_USERNAME}</username>
<password>${env.MAVEN_REPO_PASSWORD}</password>
</server>
</servers>
<profiles>
<profile>
<id>release</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.keyname>3505E59D</gpg.keyname>
<gpg.passphrase>${env.MAVEN_GPG_PASSPHRASE}</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
7 changes: 7 additions & 0 deletions Makefile
@@ -0,0 +1,7 @@
build:
mvn install

travis-deploy:
gpg --import .travis/private-signing-key.gpg
mvn versions:set -DnewVersion=${TRAVIS_TAG}
mvn clean deploy -P release --settings .travis/settings.xml
147 changes: 145 additions & 2 deletions pom.xml
Expand Up @@ -4,9 +4,55 @@
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>

<groupId>com.amazon</groupId>
<groupId>com.amazon.deequ</groupId>
<artifactId>deequ</artifactId>
<version>1.1</version>
<version>1.0-SNAPSHOT</version>

<name>deequ</name>
<description>Deequ is a library built on top of Apache Spark for defining "unit tests for data",
which measure data quality in large datasets.
</description>
<url>https://github.com/awslabs/deequ</url>

<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://aws.amazon.com/apache2.0/</url>
<distribution>repo</distribution>
</license>
</licenses>

<developers>
<developer>
<id>dustin-lange</id>
<name>Dustin Lange</name>
<url>https://github.com/dustin-lange</url>
</developer>
<developer>
<id>sscdotopen</id>
<name>Sebastian Schelter</name>
<url>https://github.com/sscdotopen</url>
</developer>
<developer>
<id>tdhd</id>
<name>Philipp Schmidt</name>
<url>https://github.com/tdhd</url>
</developer>
<developer>
<id>stefan-grafberger</id>
<name>Stefan Grafberger</name>
<url>https://github.com/stefan-grafberger</url>
</developer>
<developer>
<id>andrey-tpt</id>
<name>Andrey Taptunov</name>
<url>https://github.com/andrey-tpt</url>
</developer>
</developers>

<scm>
<url>https://github.com/awslabs/deequ</url>
</scm>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
Expand Down Expand Up @@ -64,6 +110,8 @@

</dependencies>



<build>
<sourceDirectory>src/main/scala</sourceDirectory>

Expand Down Expand Up @@ -104,6 +152,7 @@
<skipTests>true</skipTests>
</configuration>
</plugin>

<!-- enable scalatest -->
<plugin>
<groupId>org.scalatest</groupId>
Expand Down Expand Up @@ -160,4 +209,98 @@
</plugins>

</build>

<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<scalaCompatVersion>${scala.major.version}</scalaCompatVersion>
<scalaVersion>${scala.version}</scalaVersion>
</configuration>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>doc-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.3</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>

</project>

0 comments on commit 54afdd3

Please sign in to comment.