diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml
index 0c291d7..561b4ca 100644
--- a/.github/workflows/gradle-publish.yml
+++ b/.github/workflows/gradle-publish.yml
@@ -38,9 +38,19 @@ jobs:
# The USERNAME and TOKEN need to correspond to the credentials environment variables used in
# the publishing section of your build.gradle
- - name: Publish to GitHub Packages and Maven Central
+ - name: Publish to GitHub Packages and Stage all artifacts to a local directory (for jreleaser)
run: ./gradlew :lib-core:publish
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
- MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
- MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
+
+ # For Jreleaser
+ - name: Publish to Maven Central
+ run: ./gradlew jreleaserFullRelease
+ env:
+ JRELEASER_PROJECT_JAVA_GROUP_ID: ${{ secrets.JRELEASER_PROJECT_JAVA_GROUP_ID }}
+ JRELEASER_MAVENCENTRAL_USERNAME: ${{ secrets.JRELEASER_MAVENCENTRAL_USERNAME }}
+ JRELEASER_MAVENCENTRAL_TOKEN: ${{ secrets.JRELEASER_MAVENCENTRAL_TOKEN }}
+ JRELEASER_GPG_PASSPHRASE: ${{ secrets.JRELEASER_GPG_PASSPHRASE }}
+ JRELEASER_GPG_SECRET_KEY: ${{ secrets.JRELEASER_GPG_SECRET_KEY }}
+ JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.JRELEASER_GPG_PUBLIC_KEY }}
+ JRELEASER_GITHUB_TOKEN: ${{ secrets.TOKEN }}
diff --git a/README.md b/README.md
index aaaf3b9..210a5a4 100644
--- a/README.md
+++ b/README.md
@@ -6,10 +6,10 @@ Developed a high-performance ring buffer leveraging `lock-free` and low-level `u
[Cafe RingBuffer Javadoc](https://gc-garcol.github.io/cafe-ringbuffer/index-all.html)
-| Benchmark | Results |
-|----------------------------------------------------------------------------------|--------------------------------------------------------------|
-| `Unicast`-`1P – 1C` throughput: 11,200 messages. Avg-latency: 89.4 ns |
|
-| `Three Step Pipeline`-`1P – 3C` throughput: 7,800 messages.Avg-latency: 132.2 ns |
|
+| Benchmark | Results |
+|-------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
+| `Unicast`-`1P – 1C`
throughput: 11,200,000 messages/s.
Avg-latency: 89.4 ns |
|
+| `Three Step Pipeline`-`1P – 3C`
throughput: 7,800,000 messages/s.
Avg-latency: 132.2 ns |
|
## Features
- [X] `OneToManyRingBuffer` (also configurable for `OneToOneRingBuffer` usage)
diff --git a/README.release.md b/README.release.md
deleted file mode 100644
index 34f0dd9..0000000
--- a/README.release.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Release
-
-```shell
-./gradlew :lib-core:publish
-```
-
-## References
-- https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-java-packages-with-gradle#publishing-packages-to-the-maven-central-repository-and-github-packages
diff --git a/build.gradle.kts b/build.gradle.kts
index 3b371f3..257f9d7 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,3 +1,26 @@
+import org.jreleaser.model.Active
+
plugins {
- java
+ `java-library`
+ `maven-publish`
+ id("org.jreleaser") version "1.15.0"
+}
+
+// set env for JRELEASER_PROJECT_JAVA_GROUP_ID
+jreleaser {
+ signing {
+ active = Active.ALWAYS
+ armored = true
+ }
+ deploy {
+ maven {
+ mavenCentral {
+ create("sonatype") {
+ active = Active.ALWAYS
+ url.set("https://central.sonatype.com/api/v1/publisher")
+ stagingRepositories.add("lib-core/build/staging-deploy")
+ }
+ }
+ }
+ }
}
diff --git a/lib-core/build.gradle.kts b/lib-core/build.gradle.kts
index 517cf68..97d3b1c 100644
--- a/lib-core/build.gradle.kts
+++ b/lib-core/build.gradle.kts
@@ -1,11 +1,10 @@
plugins {
`java-library`
`maven-publish`
- id("org.jreleaser") version "1.15.0"
}
group = "io.github.gc-garcol"
-version = "0.0.4"
+version = "0.0.5"
java {
toolchain {
@@ -62,28 +61,24 @@ publishing {
scm {
connection.set("scm:git:https://github.com/gc-garcol/cafe-ringbuffer.git")
developerConnection.set("scm:git:ssh://github.com/gc-garcol/cafe-ringbuffer.git")
- url.set("https://github.com/gc-garcol/cafe-ringbuffer")
+ url.set("https://github.com/gc-garcol/cafe-ringbuffer/tree/main")
}
}
}
}
repositories {
- maven {
- name = "GitHubPackages"
- url = uri("https://maven.pkg.github.com/gc-garcol/cafe-ringbuffer")
- credentials {
- username = System.getenv("GITHUB_ACTOR")
- password = System.getenv("GITHUB_TOKEN")
- }
- }
// maven {
-// name = "MavenCentral"
-// url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/")
+// name = "GitHubPackages"
+// url = uri("https://maven.pkg.github.com/gc-garcol/cafe-ringbuffer")
// credentials {
-// username = System.getenv("MAVEN_USERNAME")
-// password = System.getenv("MAVEN_PASSWORD")
+// username = System.getenv("GITHUB_ACTOR")
+// password = System.getenv("GITHUB_TOKEN")
// }
// }
+
+ maven {
+ url = layout.buildDirectory.dir("staging-deploy").get().asFile.toURI()
+ }
}
}