Skip to content

Commit

Permalink
Merge branch 'release/0.1.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
ChristianGarcia committed Mar 19, 2017
2 parents aea34a9 + f81e55a commit a2aaf70
Show file tree
Hide file tree
Showing 7 changed files with 144 additions and 31 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.gradle
/local.properties
/gradle.properties
.idea
.DS_Store
/build
Expand Down
22 changes: 22 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
language: java
jdk: oraclejdk8
env:
global:
- secure: dVtOoBPb5R6FxEOvVLmwj8Spq1cRwuJzPj1VVgmTxngl1a7EcoAk7vLHzl/I6qWTZmtx+TA294k22yLnOAUgWzl1W17af/wViy22r94XwRsw4FW2OHkUHmkUG6Q5FjrvZlWLbhuAC9NFZRun8xtZQqSiD7Wb95jxLN5HDARrfZS5ze/XNit5sEkka4X4vqIzH4SXlAlyd4aqUnUtG+orW0V2oSdycP+izmUZBvyzLPpBeVM90Hq6s+CncOHXUYZi8mcG5G44E0JcOm1P9voJPw1mAiRSyqU2ZPY4t9WxeUrHw9p2EfyW1AnmnM8k6Fe1DB9ZD0RB+x5iUaRG+h43yyHuAnMGfYk8uw4JzfhRdf/gxrPJPcEic6VufRgDPBZLFhUqqCzNLNuu+LxNieK8AkS/jd4Ro4XhuDNtGZdkARa2FcUmj3+NY08L0pKJPgx/Sc0IF/TYgZ/99u9KqDPgyESkiV1XkYQU3tVK6CRZcintoTqYZQKJggY3aVDQxtc0LWjI4J6WLp3Y9cJ9qogh2knJ33ekYjv9CmN76ao6qIa+xrMR2pusIFOF1BgAfNGXcOpLiU6agHSBM5d752RAufrO0I6K08LvFPpqeI5wxTPveRGSQIJKiFppZXs39DtoiMPC8lpnK18ryppd+N81+GKhzjubkeZWsOJJUnOWIjY=
- secure: b2k8RrtOIMeXO7sbiX/adHPDH0SBHJyVzGnpBEjoG651FLSPEarPrE0X2ZC2W7h6+2EZ45nQUQR+aDfH78smnDeWpWr4IY9/bc7+hz11QfQFDQiLM/mp5vqdYfXNJ5XWlfDermLBwyE8ynqdhm54Mp/jA6o1aVng9wkW3kAN9lXNn4tHL9E/Ihih69r8RidQ3rj0VlPKAh5j7ih21OHo/zeXWGBVZ7j2w2FQxTmuGoLGgfOEcdH+riE+Mo8W41elMKcxmDJAxj+hG+8gFBY2iC9+0gZUHNU1ubAYxqKC8OAt8WFzaQaFcn/PpV2m/jlIcPikdnC6OK8OMelDV3UxJwbG/qLffby6tXexYy9epsRCvYdRPGEPiXmFZQEnKk+4IHi7EvJlNVSn68WZYhHqsbBE+jeQ9mYzaatyASIXFI5UwRFbH4BeQG0JNLEG/k4Qzl+1osQhkzmK0CVM+d2NBFcdxd22QTgxJC74h4NkiYP9f/2VLNefCA9AFurlxVrATxva1dxEOb8GH7muZhlG00EiwEmgX6Tip94yNZ0gBaJi3dmbfPVADUVZJRSI6IGne0QimXRaI7w3IV1OO7IuMcDTiv8jtnsBrqkXGg/7dqjK+Xebxy9eUt0Ww7hmZ3Ubz4LRivp431C441xztcOIBwZ96zyzUOZ99woLrKb5EdA=
- secure: Xew7G6aGbAnF6zqKRKj8IUbw9pgBjlcAppiFyvHYI5bdYfDhDF8/wxaUstE6RtrP6dRtmmwYl00UoG8oJCgZlKPgRk5fcobrltjsZebh3Cpsl/XsjeMzowMWRdaSDmKM695Rzz7RXSunmyKsNSHx8JYQBHHIzM1LlSTjTcjU/vXOy8OrvOTsNj5HVYJQEsuUI4Th+9BndR9clviewL8sxnKzuQ/clsTjeSkqOtZ4GjcgVo8Hd5sIuHAVCM/Xelk8FxbkBXoSTNCnW8NpVpDbdJlqfBq5yLq4P53WSEGUgJQHAfgxbAL7gn3wYrVfczR4KKU6E2MzizileqOjKc8dzVcjiSIZ5dfOHkidNACNG9e2FV1pILgaM1CDk/XHxyAFCkN4hxELYau00wU/bCp8cUqGRWzGeZhE68aTN1dSCb/9tOXVliuYRsur/i0QRejLuZt+PwP++irF1aCaXKw5rjZ8IEc01gs7KCbYI6mwPtwMdjHbeVQGcOpCJFHh6lDTpBA7kYRuLcHJ1b/6fTGx39Se/s+fsx17Dc17QBrjCJnQT2DqGHsnqC9lp6IFFMpm0CbDAYluQkq92N5/Aitx66QBUfYMjZ47KnKwBhG7wzyGj4aE2NaYbrp6/DrF5vyBA4wbtTIKzv+gdua6qAXZ3FGIMnh0xQ7FL8WOSs93gPU=
- secure: LVuG8VdZeQqlBoVR+v+eZKyJ5LrKKt+00MsUpbNZf+ZRRhhXrA4WkfDbFidejrTDpot/L8ojAwWF4RsLhOc5OJCgTTfST+x8lIa/mqr1mVG/Ca+C9v91tuY3BYQEkoBmMT9fvmZmCHWUN4OOXb1PVVDV7pv9gW6OaBav5QytQTHWj/5sFkUIwltmRkqUxce92mIVTzCABzu3HjymUMfRMGVs+Mk4KuJ5M4gYbVSgbrSNnD5JBg4i76bV41IG4X+ieqGniZJwvxuZMCzp+FApo+dD799PqCs2bGI6N+pgAycEHc1FYoqm5G82Z400Ws/nTbAl/sEo6l+QHttkqJnLyk8O3mda580zGpA83KnJ9C8FsHS0zdaqSqYenwwLlQQ0le7J3q+V1OFcUwg71WeLyf2r9Y/IK2ngHJux91kl5mY8AiLqVigrMaFnk2AdnKniSPIp8XaEaes4i5KTJ4+VedW/7S2UFOSJkqEkWIbSgJ1gE22Pxd0DFkWJz5gdO77Ff3cpOd6m7knRtbOOscI+axl8LDG+0mSKVRPdX1R694CwW4L+qoqK1VeN45S7kPX0avYue5MIvTXaF/kOwtChFIEMjocf4LTvxn4ZgBsdWG8P35HFD9wExhZL5icthriuHjUeSrEvUZX7+b/Urf6LBp+IkSRIAW2sjzoa1N0ZWGc=
- secure: De4qO5KSSIF+XOFE32SrXBbucltbeNIN53qtKtLckYKO5gdPi9ROW1aINhwkdIsGNQXuoKsgJiaicz/BnpHIPt+y6djwQE35anxMOe/EGedMjRaEbvo3YHLdIiyaGg3OGHHZkt3xhLSGD84mwzUHIISNGnqOXrNG3gED5M/I7LXRRc/E/PwInZe1PnCqXMVvmfZl15dwVKLWi5zzaQyU2Tmj+XbihUrBbsVLwcz7E6g5zVYI+yo7/lhuJtXF5PprbgqI+7R/PEJ0rGU2mmzIQBP116oM5xc29519TKtX41/fyr6RlKfsroFM0eQ5z0Qxt+hbZdij+qF5qilMuEQ0U798SN8BNLHDD+HuZv52756uyK9gs0rN0BMOSTo6dDweYd7K+YokZ0vOMs+J7JlLjwj/vkLqOSOUyzusoNEQZcIzK5wIjxwTGzpSSxyt9BNBdn9/lILJ1vejkkK+IFqYch0GonDCiK2Mz/cbFW5bZykN+dy0i8/sKVdbnZMLi3wtgL3kKS2iElgFkEifJh+zwJGkuEM/cHRO1qNAAhq9JbXEX25W2QFBDFCag3wQMmUzvfsuI9IfiXqXieYjM0pnFpC3DeYCELHWqeIQXMOai86XDVNT3Ke5Id2dChyMG4WrMpE6yn9gdyc9Vt01AkEkgdNnvaOWyiAhuKJO5ZIGVEg=

before_install:
- openssl aes-256-cbc -K $encrypted_0c4056e72dfa_key -iv $encrypted_0c4056e72dfa_iv
-in monzo-retrofit/sign.tar.enc -out monzo-retrofit/sign.tar -d
- tar xvf monzo-retrofit/sign.tar -C monzo-retrofit/

deploy:
- provider: script
script: ./gradlew uploadArchives closeAndPromoteRepository #uploadArchives depends on the custom task checkArchivesUpload, which checks everything is fine
skip_cleanup: true
on:
tags: true
all_branches: true
6 changes: 5 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,15 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.5.3"
}
}

allprojects {
repositories {
jcenter()
}
}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
17 changes: 0 additions & 17 deletions gradle.properties

This file was deleted.

3 changes: 3 additions & 0 deletions monzo-retrofit/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
gradle.properties
secring.gpg
sign.tar
/build
126 changes: 113 additions & 13 deletions monzo-retrofit/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,12 @@

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'signing'
apply plugin: 'io.codearte.nexus-staging'

group = 'com.christiangp'
version = '0.1.1-SNAPSHOT'
archivesBaseName = "monzo-retrofit"
version = '0.1.2'

sourceCompatibility = "1.7"
targetCompatibility = "1.7"
Expand All @@ -36,22 +39,119 @@ task sourcesJar(type: Jar, dependsOn: classes) {
from sourceSets.main.allSource
}

task javadocJar(type: Jar) {
classifier = 'javadoc'
from javadoc
}

artifacts {
archives sourcesJar
}

// To specify a license in the pom:
install {
repositories.mavenInstaller {
pom.project {
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
archives javadocJar, sourcesJar
}

signing {
required { gradle.taskGraph.hasTask("uploadArchives") }
sign configurations.archives
}

nexusStaging {
numberOfRetries = 10
delayBetweenRetriesInMillis = 3000
}

task checkReleaseCandidateVersion() {
doLast {
def branchName = System.env.TRAVIS_BRANCH != null ? System.env.TRAVIS_BRANCH : getGitBranchName()
failIfCandidateBranchWithWrongVersion(branchName, "release/", version)
failIfCandidateBranchWithWrongVersion(branchName, "hotfix/", version)
}

}

task checkArchivesUpload() {
doLast {
if (version.contains("-SNAPSHOT")) {
System.out.println("Snapshot upload: $version")
return;
}

System.out.println("Release upload")
//Release or release candidate
def tagName = System.env.TRAVIS_TAG
if (tagName == null) throw new IllegalStateException("Attempting a release from not a tag. Use CI")

if (tagName != version) {
throw new IllegalArgumentException("The tag name ($tagName) does not match the build version name ($version)")
}
System.out.println("Checks for tag $tagName successful")
}
}

def ossrh_Username = hasProperty("ossrhUsername") ? ossrhUsername : System.getenv("ossrhUsername");
def ossrh_Password = hasProperty("ossrhPassword") ? ossrhPassword : System.getenv("ossrhPassword");

uploadArchives {
dependsOn checkArchivesUpload
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: ossrh_Username, password: ossrh_Password)
}

snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: ossrh_Username, password: ossrh_Password)
}

pom.project {
name 'Monzo Retrofit'
packaging 'jar'
artifactId archivesBaseName
description 'A Retrofit interface for Monzo\'s public API.'
url 'https://github.com/ChristianGarcia/MonzoRetrofit'

scm {
connection 'scm:git:git://github.com/ChristianGarcia/MonzoRetrofit.git'
developerConnection 'scm:git:ssh://github.com:ChristianGarcia/MonzoRetrofit.git'
url 'https://github.com/ChristianGarcia/MonzoRetrofit/'
}

licenses {
license {
name 'The Apache License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}

developers {
developer {
id 'ChristianGarcia'
name 'Christian Garcia'
email '[email protected]'
}
}
}
}
}
}

compileJava.dependsOn checkReleaseCandidateVersion

def getGitBranchName() {
// Triple double-quotes for the breaklines
def workingBranch = """git --git-dir=${rootDir}/.git
--work-tree=${rootDir}
rev-parse --abbrev-ref HEAD""".execute().text.trim()
return workingBranch
}

def static void failIfCandidateBranchWithWrongVersion(branchName, prefix, version) {
if (branchName.indexOf(prefix) == -1) {
return
}
def branchBuildVersion = branchName.substring(branchName.indexOf(prefix) + prefix.length())

if (!version.startsWith(branchBuildVersion)) {
throw new IllegalArgumentException("The branch version ($branchBuildVersion) does not match the build version ($version)")
}
}
Binary file added monzo-retrofit/sign.tar.enc
Binary file not shown.

0 comments on commit a2aaf70

Please sign in to comment.