From 42a28308fd9aab8ff7b84a0ef0d262560da0fea5 Mon Sep 17 00:00:00 2001 From: Sergey Nazarov Date: Thu, 12 Oct 2023 14:19:56 +0400 Subject: [PATCH 1/4] wip --- .github/workflows/release.yaml | 7 +- build.gradle | 27 ++---- gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 4 +- java/build.gradle | 103 ++++++++--------------- tests/build.gradle | 8 +- 6 files changed, 55 insertions(+), 96 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 34bacf7..9557533 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -5,6 +5,7 @@ on: branches: [master] tags: - v[0-9].[0-9]+.[0-9]+ + pull_request: jobs: build-native: @@ -78,8 +79,7 @@ jobs: - name: Publish Snapshot if: ${{ !contains(github.ref, '/tags/') }} run: | - ./gradlew uploadArchives \ - -PsonatypeRepo=https://oss.sonatype.org/content/repositories/snapshots \ + ./gradlew publishToSonatype \ -PsonatypeUsername='${{ secrets.OSSRH_USERNAME }}' \ -PsonatypePassword='${{ secrets.OSSRH_PASSWORD }}' \ -PgpgKey='${{ secrets.OSSRH_GPG_KEY_ASCII }}' \ @@ -87,8 +87,7 @@ jobs: - name: Publish Release if: contains(github.ref, '/tags/') run: | - ./gradlew uploadArchives closeAndReleaseRepository \ - -PsonatypeRepo=https://oss.sonatype.org/service/local/staging/deploy/maven2 \ + ./gradlew publishToSonatype closeAndReleaseRepository \ -PsonatypeUsername='${{ secrets.OSSRH_USERNAME }}' \ -PsonatypePassword='${{ secrets.OSSRH_PASSWORD }}' \ -PgpgKey='${{ secrets.OSSRH_GPG_KEY_ASCII }}' \ diff --git a/build.gradle b/build.gradle index db2aac6..f808ac8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,23 +1,12 @@ -buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.21.2" - } +plugins { + id "io.github.gradle-nexus.publish-plugin" version "1.3.0" } -subprojects { - ext.version_number = "0.6.6" - ext.group_info = "com.wavesplatform" -} +group = "com.wavesplatform" +version = "0.6.6-SNAPSHOT" -apply plugin: 'io.codearte.nexus-staging' - -nexusStaging { - packageGroup = "com.wavesplatform" - username = sonatypeUsername - password = sonatypePassword - numberOfRetries = 100 - delayBetweenRetriesInMillis = 5000 +nexusPublishing { + repositories { + sonatype() + } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7c4388a..e411586 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-5.6.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 8e25e6c..83f2acf 100755 --- a/gradlew +++ b/gradlew @@ -125,8 +125,8 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` JAVACMD=`cygpath --unix "$JAVACMD"` diff --git a/java/build.gradle b/java/build.gradle index 42b2b2d..7b9e88f 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -1,12 +1,14 @@ -apply plugin: 'java' - -apply plugin: 'maven' -apply plugin: 'signing' +plugins { + id "java-library" + id "maven-publish" + id "signing" + id "me.champeau.jmh" version "0.7.1" +} -sourceCompatibility = 1.7 +sourceCompatibility = 1.8 +group = "com.wavesplatform" +version = "0.6.6-SNAPSHOT" archivesBaseName = "curve25519-java" -version = version_number -group = group_info repositories { mavenCentral() @@ -20,31 +22,15 @@ sourceSets { } } -buildscript { - repositories { - jcenter() - maven { - url "https://plugins.gradle.org/m2/" - } - } - dependencies { - classpath "me.champeau.gradle:jmh-gradle-plugin:0.5.0-rc-2" - } -} - -apply plugin: "me.champeau.gradle.jmh" - jmh { - dependencies { - compileClasspath 'org.openjdk.jmh:jmh-core:1.4.1' - } humanOutputFile = null - duplicateClassesStrategy = 'exclude' + duplicateClassesStrategy = DuplicatesStrategy.EXCLUDE } dependencies { - compile group: 'net.java.dev.jna', name: 'jna', version: '5.13.0' - testCompile project(':tests') + implementation 'net.java.dev.jna:jna:5.13.0' + testImplementation project(':tests') + jmh 'org.openjdk.jmh:jmh-core:1.4.1' } signing { @@ -52,64 +38,49 @@ signing { sign configurations.archives } -uploadArchives { - configuration = configurations.archives - repositories.mavenDeployer { - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } +publishing { + publications { + mavenJava(MavenPublication) { + artifactId = 'curve25519-java' - repository(url: sonatypeRepo) { - authentication(userName: sonatypeUsername, password: sonatypePassword) - } + from(components.java) - pom.project { - name 'curve25519-java' - packaging 'jar' - description 'Curve25519 library for Java' - url 'https://github.com/WhisperSystems/curve25519-java' + pom { + description = 'Curve25519 library for Java' + url = 'https://github.com/WhisperSystems/curve25519-java' - scm { - url 'scm:git@github.com:WhisperSystems/curve25519-java.git' - connection 'scm:git@github.com:WhisperSystems/curve25519-java.git' - developerConnection 'scm:git@github.com:WhisperSystems/curve25519-java.git' - } + scm { + url = 'scm:git@github.com:WhisperSystems/curve25519-java.git' + connection = 'scm:git@github.com:WhisperSystems/curve25519-java.git' + developerConnection = 'scm:git@github.com:WhisperSystems/curve25519-java.git' + } - licenses { - license { - name 'GPLv3' - url 'https://www.gnu.org/licenses/gpl-3.0.txt' - distribution 'repo' + licenses { + license { + name = 'GPLv3' + url = 'https://www.gnu.org/licenses/gpl-3.0.txt' + distribution = 'repo' + } } - } - developers { - developer { - name 'Trevor Perrin' - name 'Moxie Marlinspike' + developers { + developer { + name = 'Trevor Perrin' + name = 'Moxie Marlinspike' + } } } } } } -task installArchives(type: Upload) { - description "Installs the artifacts to the local Maven repository." - configuration = configurations['archives'] - repositories { - mavenDeployer { - repository url: "file://${System.properties['user.home']}/.m2/repository" - } - } -} - task packageJavadoc(type: Jar, dependsOn: 'javadoc') { from javadoc.destinationDir - classifier = 'javadoc' } task packageSources(type: Jar) { from sourceSets.main.allSource - classifier = 'sources' } artifacts { diff --git a/tests/build.gradle b/tests/build.gradle index a0eaae2..d6feac1 100644 --- a/tests/build.gradle +++ b/tests/build.gradle @@ -1,15 +1,15 @@ apply plugin: 'java' -sourceCompatibility = 1.7 +sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { - compile project(':java') - compile 'junit:junit:3.8.2' - compile 'org.easytesting:fest-assert:1.4' + implementation project(':java') + implementation 'junit:junit:3.8.2' + implementation 'org.easytesting:fest-assert:1.4' } test { From 470f2a39e8be87aeec9f2ff50ebec86132ff0002 Mon Sep 17 00:00:00 2001 From: Sergey Nazarov Date: Thu, 12 Oct 2023 15:22:55 +0400 Subject: [PATCH 2/4] wip --- java/build.gradle | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/java/build.gradle b/java/build.gradle index 7b9e88f..f2f38f8 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -7,8 +7,7 @@ plugins { sourceCompatibility = 1.8 group = "com.wavesplatform" -version = "0.6.6-SNAPSHOT" -archivesBaseName = "curve25519-java" +version = "0.0.0-DO-NOT-USE" repositories { mavenCentral() From 77a563a6e002bdaa9973aeb877beefd7880fc502 Mon Sep 17 00:00:00 2001 From: Sergey Nazarov Date: Thu, 12 Oct 2023 15:26:16 +0400 Subject: [PATCH 3/4] wip --- .github/workflows/release.yaml | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 9557533..a0f0ab3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -79,7 +79,7 @@ jobs: - name: Publish Snapshot if: ${{ !contains(github.ref, '/tags/') }} run: | - ./gradlew publishToSonatype \ + ./gradlew publishToSonatype closeAndReleaseRepository\ -PsonatypeUsername='${{ secrets.OSSRH_USERNAME }}' \ -PsonatypePassword='${{ secrets.OSSRH_PASSWORD }}' \ -PgpgKey='${{ secrets.OSSRH_GPG_KEY_ASCII }}' \ diff --git a/build.gradle b/build.gradle index f808ac8..60be3fa 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { } group = "com.wavesplatform" -version = "0.6.6-SNAPSHOT" +version = "0.0.0-DO-NOT-USE" nexusPublishing { repositories { From c5ec2729f81173b08427bcaa1bc09010028e72b2 Mon Sep 17 00:00:00 2001 From: Sergey Nazarov Date: Thu, 12 Oct 2023 15:32:30 +0400 Subject: [PATCH 4/4] wip --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a0f0ab3..9557533 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -79,7 +79,7 @@ jobs: - name: Publish Snapshot if: ${{ !contains(github.ref, '/tags/') }} run: | - ./gradlew publishToSonatype closeAndReleaseRepository\ + ./gradlew publishToSonatype \ -PsonatypeUsername='${{ secrets.OSSRH_USERNAME }}' \ -PsonatypePassword='${{ secrets.OSSRH_PASSWORD }}' \ -PgpgKey='${{ secrets.OSSRH_GPG_KEY_ASCII }}' \