From 0e9b6c9165d6b98a1b790c5c21442fe9e8a0f20e Mon Sep 17 00:00:00 2001 From: Ben Fradet Date: Wed, 9 Jan 2019 16:00:37 +0100 Subject: [PATCH 1/4] Add Bintray credentials to .travis.yml (closes #208) --- .travis.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 52bafd8e..adf02abd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,13 @@ sudo: false - language: java - jdk: - - openjdk8 - - oraclejdk8 - - openjdk11 - - oraclejdk11 +- openjdk8 +- oraclejdk8 +- openjdk11 +- oraclejdk11 +env: + global: + # BINTRAY_SNOWPLOW_MAVEN_USER + - secure: Sk7Xf0TEXyDKtZxICiDVZkDEnDkSSe3m2+j1FWhLNEVfVDGqY9j4mo84S9qNOGjblJ6LbLa91NPhGFaNa1E0WAb9Zlf7e82nELTufGmoOn006Tw/nSEy8Vpvbjh+OZ+wweGYSghWYvjYKmUtlwpwBDyHezblVmpBa9tLg/2Ajzw= + # BINTRAY_SNOWPLOW_MAVEN_API_KEY + - secure: aqeXPiW/VAZNQJiE9z2S8Z/bshyVXiepczXIDlyesKe//qNaQ3X6A5Ozh8r0KCk1TCJESW5fFzBzD1kla/aDK7clW9GFQ3U29aWgXcGcLDu4plslKK+sGt/yDhMVEpD1qjLhI9mIwj6enDCvIlEtjVnrVkqaN2pjXreemE+F2UU= From d00fc465d22cdd1d94c8df7a52847a2cb402d4f1 Mon Sep 17 00:00:00 2001 From: Ben Fradet Date: Wed, 9 Jan 2019 16:02:56 +0100 Subject: [PATCH 2/4] Add sonatype credentials to .travis.yml (closes #209) --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index adf02abd..ba8c53bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,3 +11,6 @@ env: - secure: Sk7Xf0TEXyDKtZxICiDVZkDEnDkSSe3m2+j1FWhLNEVfVDGqY9j4mo84S9qNOGjblJ6LbLa91NPhGFaNa1E0WAb9Zlf7e82nELTufGmoOn006Tw/nSEy8Vpvbjh+OZ+wweGYSghWYvjYKmUtlwpwBDyHezblVmpBa9tLg/2Ajzw= # BINTRAY_SNOWPLOW_MAVEN_API_KEY - secure: aqeXPiW/VAZNQJiE9z2S8Z/bshyVXiepczXIDlyesKe//qNaQ3X6A5Ozh8r0KCk1TCJESW5fFzBzD1kla/aDK7clW9GFQ3U29aWgXcGcLDu4plslKK+sGt/yDhMVEpD1qjLhI9mIwj6enDCvIlEtjVnrVkqaN2pjXreemE+F2UU= + - SONA_USER=snowplow + # SONA_PASS + - secure: QjjbsUJXsD/jiWXW/5vKm6obp/0SASVRxFVtVLUCee4euPTd5faCXP0gdr1IbnNW7iLbYlk+FExw2N9CzWpfjr1EWz+U405znkR6YCMMWIQ0WKgzGzEgy/19vQhPI3SPy4ymiDEh7tbDmvmMdnmtX2+btRAGWcPp2oUSlbSldCk= From 5797970809b91714d2e410f89fb14120fe9d8f7d Mon Sep 17 00:00:00 2001 From: mhadam Date: Wed, 9 Jan 2019 18:18:39 -0500 Subject: [PATCH 3/4] Add deployment to build process (close #183) --- .travis/deploy.sh | 14 +++ build.gradle | 153 ++++++++++++++++++----- gradle/wrapper/gradle-wrapper.properties | 3 +- 3 files changed, 139 insertions(+), 31 deletions(-) create mode 100644 .travis/deploy.sh diff --git a/.travis/deploy.sh b/.travis/deploy.sh new file mode 100644 index 00000000..036d5dc7 --- /dev/null +++ b/.travis/deploy.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +tag_version=$1 + +cd $TRAVIS_BUILD_DIR +pwd + +project_version=`cat VERSION` +if [ "${project_version}" == "${tag_version}" ]; then + ./gradlew bintrayUpload +else + echo "Tag version '${tag_version}' doesn't match version in project ('${project_version}'). Aborting!" + exit 1 +fi diff --git a/build.gradle b/build.gradle index 0b697f78..2d6ba739 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Snowplow Analytics Ltd. All rights reserved. + * Copyright (c) 2017 Snowplow Analytics Ltd. All rights reserved. * * This program is licensed to you under the Apache License Version 2.0, * and you may not use this file except in compliance with the Apache License Version 2.0. @@ -11,8 +11,6 @@ * See the Apache License Version 2.0 for the specific language governing permissions and limitations there under. */ -wrapper.gradleVersion = '5.0' - buildscript { repositories { maven { url 'http://repo.spring.io/plugins-release' } @@ -22,6 +20,10 @@ buildscript { } } +plugins { + id "com.jfrog.bintray" version "1.8.4" +} + apply plugin: 'java' apply plugin: 'maven-publish' apply plugin: 'idea' @@ -29,11 +31,15 @@ apply plugin: 'propdeps' apply plugin: 'propdeps-maven' apply plugin: 'propdeps-idea' -group = 'com.snowplowanalytics' +wrapper.gradleVersion = '5.0.0' + +archivesBaseName = 'snowplow-java-tracker' version = '0.8.3' sourceCompatibility = '1.8' targetCompatibility = '1.8' +def javaVersion = JavaVersion.VERSION_1_8 + repositories { // Use 'maven central' for resolving our dependencies mavenCentral() @@ -42,6 +48,8 @@ repositories { } configure([compileJava, compileTestJava]) { + sourceCompatibility = javaVersion + targetCompatibility = javaVersion options.encoding = 'UTF-8' } @@ -56,7 +64,6 @@ sourceSets { } dependencies { - // Apache Commons compile 'commons-codec:commons-codec:1.10' compile 'commons-net:commons-net:3.3' @@ -64,10 +71,10 @@ dependencies { // Apache HTTP optional 'org.apache.httpcomponents:httpclient:4.3.3' optional 'org.apache.httpcomponents:httpasyncclient:4.0.1' - + // Square OK HTTP optional 'com.squareup.okhttp:okhttp:2.2.0' - + // SLF4J logging API compile 'org.slf4j:slf4j-api:1.7.7' testRuntime 'org.slf4j:slf4j-simple:1.7.7' @@ -90,34 +97,15 @@ task sourceJar(type: Jar, dependsOn: 'generateSources') { from sourceSets.main.allJava } -// Publishing -publishing { - publications { - mavenJava(MavenPublication) { - artifactId 'snowplow-java-tracker' - from components.java - - artifact sourceJar { - classifier "sources" - } - } - } - repositories { - maven { - url "$buildDir/repo" // change to point to your repo, e.g. http://my.org/repo - } - } -} - task generateSources { project.ext.set("outputDir", "$projectDir/src/main/java/com/snowplowanalytics/snowplow/tracker") doFirst { println outputDir - def srcFile = new File((String)outputDir, "Version.java") + def srcFile = new File((String) outputDir, "Version.java") srcFile.parentFile.mkdirs() srcFile.write( """/* - * Copyright (c) 2014-2015 Snowplow Analytics Ltd. All rights reserved. + * Copyright (c) 2014-2018 Snowplow Analytics Ltd. All rights reserved. * * This program is licensed to you under the Apache License Version 2.0, * and you may not use this file except in compliance with the Apache License Version 2.0. @@ -128,9 +116,7 @@ task generateSources { * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Apache License Version 2.0 for the specific language governing permissions and limitations there under. */ - package com.snowplowanalytics.snowplow.tracker; - // DO NOT EDIT. AUTO-GENERATED. public class Version { static final String TRACKER = "java-$project.version"; @@ -142,3 +128,110 @@ public class Version { compileJava.dependsOn generateSources compileJava.source generateSources.outputs.files, sourceSets.main.java + + +task printVersion { + doLast { + print "$project.version" + } +} + +// custom tasks for creating source/javadoc jars +task sourcesJar(type: Jar, dependsOn: classes) { + classifier = 'sources' + from sourceSets.main.allSource +} + +task javadocJar(type: Jar, dependsOn: javadoc) { + classifier = 'javadoc' + from javadoc.destinationDir +} + +// add javadoc/source jar tasks as artifacts +artifacts { + archives sourcesJar, javadocJar +} + +publishing { + publications { + mavenJava(MavenPublication) { + from components.java + artifact sourcesJar + artifact javadocJar + } + } +} + +install { + repositories.mavenInstaller { + pom.artifactId = 'snowplow-java-tracker' + pom.version = "$project.version" + pom.project { + name = 'snowplow-java-tracker' + description = 'Snowplow event tracker for Java. Add analytics to your Java desktop and server apps, servlets and games.' + url = 'https://github.com/snowplow/snowplow-java-tracker/' + inceptionYear = '2014' + + packaging = 'jar' + groupId = 'com.snowplowanalytics' + + licenses { + license { + name = 'The Apache Software License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + distribution = 'repo' + } + } + scm { + connection = 'https://github.com/snowplow/snowplow-java-tracker.git' + url = 'https://github.com/snowplow/snowplow-java-tracker' + } + developers { + developer { + name = 'Snowplow Analytics Ltd' + email = 'support@snowplowanalytics.com' + organization = 'Snowplow Analytics Ltd' + organizationUrl = 'http://snowplowanalytics.com' + } + } + organization { + name = 'com.snowplowanalytics' + url = 'http://snowplowanalytics.com' + } + } + } +} + +bintray { + user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_SNOWPLOW_MAVEN_USER') + key = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_SNOWPLOW_MAVEN_API_KEY') + + configurations = ['archives'] + + publish = true + + pkg { + repo = 'snowplow-maven' + name = 'snowplow-java-tracker' + + group = 'com.snowplowanalytics' + userOrg = 'snowplow' + + websiteUrl = 'https://github.com/snowplow/snowplow-java-tracker' + vcsUrl = 'https://github.com/snowplow/snowplow-java-tracker' + issueTrackerUrl = 'https://github.com/snowplow/snowplow-java-tracker/issues' + + licenses = ['Apache-2.0'] + + version.name = "$project.version" + + version { + mavenCentralSync { + sync = true + user = project.hasProperty('SONA_USER') ? project.property('SONA_USER') : System.getenv('SONA_USER') + password = project.hasProperty('SONA_PASS') ? project.property('SONA_PASS') : System.getenv('SONA_PASS') + close = '1' + } + } + } +} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 75b8c7c8..203de01d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Wed Jan 09 17:33:41 EST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.zip From caec2ba2f13875e24e200c0313c0c11a6f7442d1 Mon Sep 17 00:00:00 2001 From: mhadam Date: Wed, 9 Jan 2019 18:23:46 -0500 Subject: [PATCH 4/4] Prepared for release --- CHANGELOG | 6 ++++++ build.gradle | 2 +- .../com/snowplowanalytics/snowplow/tracker/TrackerTest.java | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2c34933e..96575360 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,9 @@ +Java 0.8.4 (2019-01-09) +----------------------- +Add deployment to build process (close #183) +Add sonatype credentials to .travis.yml (closes #209) +Add Bintray credentials to .travis.yml (closes #208) + Java 0.8.3 (2019-01-02) ----------------------- Change some info statements to debug (#202) diff --git a/build.gradle b/build.gradle index 2d6ba739..3b110f4f 100644 --- a/build.gradle +++ b/build.gradle @@ -34,7 +34,7 @@ apply plugin: 'propdeps-idea' wrapper.gradleVersion = '5.0.0' archivesBaseName = 'snowplow-java-tracker' -version = '0.8.3' +version = '0.8.4' sourceCompatibility = '1.8' targetCompatibility = '1.8' diff --git a/src/test/java/com/snowplowanalytics/snowplow/tracker/TrackerTest.java b/src/test/java/com/snowplowanalytics/snowplow/tracker/TrackerTest.java index d1b7106e..75bda6d0 100644 --- a/src/test/java/com/snowplowanalytics/snowplow/tracker/TrackerTest.java +++ b/src/test/java/com/snowplowanalytics/snowplow/tracker/TrackerTest.java @@ -390,7 +390,7 @@ public void testTrackTimingWithSubject() { @Test public void testGetTrackerVersion() throws Exception { Tracker tracker = new Tracker.TrackerBuilder(emitter, "namespace", "an-app-id").build(); - assertEquals("java-0.8.3", tracker.getTrackerVersion()); + assertEquals("java-0.8.4", tracker.getTrackerVersion()); } @Test