diff --git a/build.gradle b/build.gradle index ae07b74..7362d73 100644 --- a/build.gradle +++ b/build.gradle @@ -16,28 +16,28 @@ allprojects { } gradle.taskGraph.whenReady { taskGraph -> - if (taskGraph.allTasks.any { it.name.contains("uploadArchives") }) { - if (project.hasProperty('signing.keyId') && - project.hasProperty('signing.secretKeyRingFile') && - project.hasProperty('sonatypeUsername') && - project.hasProperty('sonatypePassword')) { - - println "Found signing properties and sonatype credentials" - ext."signing.password" = getPassword("Enter GPG secret key passphrase") - } else { - throw new GradleScriptException( - "Missing required signing configuration. Ensure that you have a " + - "gradle.properties file which defines the values 'signing.keyId', " + - "'signing.secretKeyRingFile', 'sonatypeUsername', and 'sonatypePassword'.", null); - } - } else { - println "No publish tasks; skipping all artifact signing" - taskGraph.allTasks.findAll { - it instanceof Sign - }.each { - it.enabled = false - } - } +// if (taskGraph.allTasks.any { it.name.contains("uploadArchives") }) { +// if (project.hasProperty('signing.keyId') && +// project.hasProperty('signing.secretKeyRingFile') && +// project.hasProperty('sonatypeUsername') && +// project.hasProperty('sonatypePassword')) { +// +// println "Found signing properties and sonatype credentials" +// ext."signing.password" = getPassword("Enter GPG secret key passphrase") +// } else { +// throw new GradleScriptException( +// "Missing required signing configuration. Ensure that you have a " + +// "gradle.properties file which defines the values 'signing.keyId', " + +// "'signing.secretKeyRingFile', 'sonatypeUsername', and 'sonatypePassword'.", null); +// } +// } else { +// println "No publish tasks; skipping all artifact signing" +// taskGraph.allTasks.findAll { +// it instanceof Sign +// }.each { +// it.enabled = false +// } +// } } import groovy.swing.SwingBuilder diff --git a/core/build.gradle b/core/build.gradle index 29e215a..05828c3 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -2,14 +2,21 @@ apply plugin: 'java' -sourceCompatibility = 1.7 +//sourceCompatibility = 1.8 +java.sourceCompatibility = JavaVersion.VERSION_1_8 +java.targetCompatibility = JavaVersion.VERSION_1_8 + +repositories { + mavenCentral() + google() +} dependencies { - testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.3.0' - testImplementation 'commons-io:commons-io:2.4' - testImplementation 'junit:junit:4.11' + testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.17.0' + testImplementation 'commons-io:commons-io:2.7' + testImplementation 'junit:junit:4.13.2' testImplementation 'org.hamcrest:hamcrest-library:1.3' - testImplementation 'org.mockito:mockito-core:1.9.5' + testImplementation 'org.mockito:mockito-core:5.3.1' } jar { diff --git a/core/src/test/java/io/keen/client/java/KeenClientTest.java b/core/src/test/java/io/keen/client/java/KeenClientTest.java index e905a70..51ac1bb 100755 --- a/core/src/test/java/io/keen/client/java/KeenClientTest.java +++ b/core/src/test/java/io/keen/client/java/KeenClientTest.java @@ -6,11 +6,9 @@ import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Test; import org.mockito.ArgumentCaptor; -import java.awt.*; import java.io.IOException; import java.util.ArrayList; import java.util.Calendar; @@ -34,7 +32,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; diff --git a/gradle.properties b/gradle.properties index fa9e85f..9182ed4 100755 --- a/gradle.properties +++ b/gradle.properties @@ -4,9 +4,9 @@ VERSION_NAME=3.0.0 VERSION_CODE=6 GROUP=com.treasuredata -POM_URL=www.keen.io -POM_ORG_NAME=Keen IO -POM_ORG_URL=http://www.keen.io +POM_URL=www.treasuredata.com/ +POM_ORG_NAME=Treasure Data +POM_ORG_URL=https://www.treasuredata.com/ POM_SCM_URL=https://github.com/treasure-data/KeenClient-java.git POM_SCM_CONNECTION=scm:git@github.com:treasure-data/KeenClient-java.git POM_SCM_DEV_CONNECTION=scm:git@github.com:treasure-data/KeenClient-java.git @@ -16,3 +16,6 @@ POM_LICENSE_DIST=repo POM_DEVELOPER_ID=keenlabs POM_DEVELOPER_NAME=Keen IO POM_DEVELOPER_EMAIL= +POM_DEVELOPER_ID_TD=treasuredata +POM_DEVELOPER_NAME_TD=Treasure Data +POM_DEVELOPER_EMAIL_TD= diff --git a/gradle/gradle-mvn-publish-java.gradle b/gradle/gradle-mvn-publish-java.gradle index 533f18a..57a9228 100644 --- a/gradle/gradle-mvn-publish-java.gradle +++ b/gradle/gradle-mvn-publish-java.gradle @@ -1,10 +1,10 @@ task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' + archiveClassifier = 'javadoc' from javadoc.destinationDir } task sourcesJar(type: Jar) { - classifier = 'sources' + archiveClassifier = 'sources' from sourceSets.main.allSource } diff --git a/gradle/gradle-mvn-publish.gradle b/gradle/gradle-mvn-publish.gradle index e76b474..76ac123 100644 --- a/gradle/gradle-mvn-publish.gradle +++ b/gradle/gradle-mvn-publish.gradle @@ -1,113 +1,76 @@ apply plugin: 'maven-publish' +apply plugin: 'signing' //simple settings project.afterEvaluate { publishing { publications { mavenJava(MavenPublication) { - //setGroupId groupId + setGroupId GROUP - //setArtifactId artifactId setArtifactId POM_ARTIFACT_ID version VERSION_NAME from components.java -// artifact bundleDebugAar + artifact javadocJar + artifact sourcesJar + + pom { + name = POM_NAME + packaging = POM_PACKAGING + description = POM_DESCRIPTION + url = POM_URL + + organization { + name = POM_ORG_NAME + url = POM_ORG_URL + } + + scm { + url = POM_SCM_URL + connection = POM_SCM_CONNECTION + developerConnection = POM_SCM_DEV_CONNECTION + } + + licenses { + license { + name = POM_LICENSE_NAME + url = POM_LICENSE_URL + distribution = POM_LICENSE_DIST + } + } + + developers { + developer { + id = POM_DEVELOPER_ID + name = POM_DEVELOPER_NAME + email = POM_DEVELOPER_EMAIL + } -/* add a dependency into generated .pom file - pom.withXml { - def dependenciesNode = asNode().appendNode('dependencies') - def dependencyNode = dependenciesNode.appendNode('dependency') - dependencyNode.appendNode('groupId', 'com.company') - dependencyNode.appendNode('artifactId', 'HelloWorld-core') - dependencyNode.appendNode('version', '1.1') + developer { + id = POM_DEVELOPER_ID_TD + name = POM_DEVELOPER_NAME_TD + email = POM_DEVELOPER_EMAIL_TD + } + } + } + repositories { + maven { + def releasesRepoUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/' + def snapshotsRepoUrl = 'https://oss.sonatype.org/content/repositories/snapshots' + url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl + credentials { + username findProperty('sonatypeUsername') + password findProperty('sonatypePassword') + } + } } -*/ } } } -// signing { -// sign publishing.publications.mavenJava -// } + signing { + sign publishing.publications.mavenJava + } } - - -//apply plugin: 'maven' -//apply plugin: 'signing' - -//def isReleaseBuild() { -// return !version.endsWith("SNAPSHOT") -//} -// -//def sonatypeRepositoryUrl -//if (isReleaseBuild()) { -// sonatypeRepositoryUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" -//} else { -// sonatypeRepositoryUrl = "https://oss.sonatype.org/content/repositories/snapshots/" -//} -// -//uploadArchives.repositories.mavenDeployer { -// beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } -// -// pom.artifactId = POM_ARTIFACT_ID -// pom.groupId = GROUP -// pom.version = VERSION_NAME -// -// if (project.hasProperty('sonatypeUsername') && project.hasProperty('sonatypePassword')) { -// repository(url: sonatypeRepositoryUrl) { -// authentication(userName: project.sonatypeUsername, password: project.sonatypePassword) -// } -// } -// -// pom.project { -// name POM_NAME -// packaging POM_PACKAGING -// description POM_DESCRIPTION -// url POM_URL -// -// organization { -// name POM_ORG_NAME -// url POM_ORG_URL -// } -// -// scm { -// url POM_SCM_URL -// connection POM_SCM_CONNECTION -// developerConnection POM_SCM_DEV_CONNECTION -// } -// -// licenses { -// license { -// name POM_LICENSE_NAME -// url POM_LICENSE_URL -// distribution POM_LICENSE_DIST -// } -// } -// -// developers { -// developer { -// id POM_DEVELOPER_ID -// name POM_DEVELOPER_NAME -// email POM_DEVELOPER_EMAIL -// } -// } -// } -// -// // The Java and Android projects depend on Core during build, but before packaging the Core -// // classes are automatically included into the JARs. To prevent duplication of those classes, -// // remove the dependency on Core from the POM files. -// pom.whenConfigured { p -> -// p.dependencies.removeAll { -// it.artifactId.equals("keen-client-java-core") -// } -// } -//} - -//signing { -// required { -// isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") -// } -// sign configurations.archives -//} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 442d913..17655d0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists