From 54afdd3938195eafbd4e6cf169bd1b1e40866eb7 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 18 Sep 2018 13:42:05 +0200 Subject: [PATCH] Publish maven artifacts via travis (#14) added maven and travis configuration for automatically publishing signed releases of deequ in maven central --- .travis.yml | 16 ++++ .travis/public-signing-key.gpg | 30 +++++++ .travis/settings.xml | 22 +++++ Makefile | 7 ++ pom.xml | 147 ++++++++++++++++++++++++++++++++- 5 files changed, 220 insertions(+), 2 deletions(-) create mode 100644 .travis/public-signing-key.gpg create mode 100644 .travis/settings.xml create mode 100644 Makefile diff --git a/.travis.yml b/.travis.yml index dff5f3a5d..3efe4e71b 100644 --- a/.travis.yml +++ b/.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 \ No newline at end of file diff --git a/.travis/public-signing-key.gpg b/.travis/public-signing-key.gpg new file mode 100644 index 000000000..e86feaf87 --- /dev/null +++ b/.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----- diff --git a/.travis/settings.xml b/.travis/settings.xml new file mode 100644 index 000000000..1a421d964 --- /dev/null +++ b/.travis/settings.xml @@ -0,0 +1,22 @@ + + + + ossrh + ${env.MAVEN_REPO_USERNAME} + ${env.MAVEN_REPO_PASSWORD} + + + + + release + + true + + + gpg + 3505E59D + ${env.MAVEN_GPG_PASSPHRASE} + + + + \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..33bb2c155 --- /dev/null +++ b/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 diff --git a/pom.xml b/pom.xml index dc818cfef..2c6bd13a3 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,55 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.amazon + com.amazon.deequ deequ - 1.1 + 1.0-SNAPSHOT + + deequ + Deequ is a library built on top of Apache Spark for defining "unit tests for data", + which measure data quality in large datasets. + + https://github.com/awslabs/deequ + + + + Apache License, Version 2.0 + http://aws.amazon.com/apache2.0/ + repo + + + + + + dustin-lange + Dustin Lange + https://github.com/dustin-lange + + + sscdotopen + Sebastian Schelter + https://github.com/sscdotopen + + + tdhd + Philipp Schmidt + https://github.com/tdhd + + + stefan-grafberger + Stefan Grafberger + https://github.com/stefan-grafberger + + + andrey-tpt + Andrey Taptunov + https://github.com/andrey-tpt + + + + + https://github.com/awslabs/deequ + 1.8 @@ -64,6 +110,8 @@ + + src/main/scala @@ -104,6 +152,7 @@ true + org.scalatest @@ -160,4 +209,98 @@ + + + + release + + + + net.alchim31.maven + scala-maven-plugin + 3.2.0 + + ${scala.major.version} + ${scala.version} + + + + scala-compile-first + process-resources + + add-source + compile + + + + scala-test-compile + process-test-resources + + testCompile + + + + attach-javadocs + + doc-jar + + + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + attach-sources + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9.1 + + + attach-javadocs + + jar + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.3 + true + + ossrh + https://oss.sonatype.org/ + true + + + + + + +