mirror of
https://github.com/xerial/snappy-java.git
synced 2025-07-23 14:04:39 +02:00
Migrate to sonaRelease command for publishing
- Remove sbt-sonatype plugin dependency - Update to sbt 1.11.3 for built-in Sonatype support - Replace sonatypePublishToBundle with direct Sonatype URLs - Add release process documentation to CLAUDE.md - Simplify publishing workflow using built-in sbt functionality 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
520309cc6f
commit
fc0812b1dc
21
CLAUDE.md
21
CLAUDE.md
@ -107,6 +107,27 @@ The project uses Docker-based cross-compilation toolchains (see `docker/` direct
|
|||||||
- Run tests before creating PR: `./sbt test`
|
- Run tests before creating PR: `./sbt test`
|
||||||
- Format code: `./sbt scalafmtAll`
|
- Format code: `./sbt scalafmtAll`
|
||||||
|
|
||||||
|
### Release Process
|
||||||
|
The project uses sbt's built-in Sonatype integration for publishing:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Stage artifacts to Sonatype
|
||||||
|
./sbt publishSigned
|
||||||
|
|
||||||
|
# 2. Release to Maven Central
|
||||||
|
./sbt sonaRelease
|
||||||
|
```
|
||||||
|
|
||||||
|
**Prerequisites:**
|
||||||
|
- Set up Sonatype credentials in `~/.sbt/1.0/sonatype.sbt`:
|
||||||
|
```scala
|
||||||
|
credentials += Credentials("Sonatype Nexus Repository Manager",
|
||||||
|
"s01.oss.sonatype.org",
|
||||||
|
"<username>",
|
||||||
|
"<password>")
|
||||||
|
```
|
||||||
|
- Configure PGP signing for artifact signing
|
||||||
|
|
||||||
### Common Development Tasks
|
### Common Development Tasks
|
||||||
- When making changes to native code, rebuild with `make clean-native native`
|
- When making changes to native code, rebuild with `make clean-native native`
|
||||||
- For Java/Scala changes, use `./sbt ~test` for continuous testing
|
- For Java/Scala changes, use `./sbt ~test` for continuous testing
|
||||||
|
@ -5,8 +5,11 @@ organization := "org.xerial.snappy"
|
|||||||
organizationName := "xerial.org"
|
organizationName := "xerial.org"
|
||||||
description := "snappy-java: A fast compression/decompression library"
|
description := "snappy-java: A fast compression/decompression library"
|
||||||
|
|
||||||
sonatypeProfileName := "org.xerial"
|
ThisBuild / publishTo := {
|
||||||
ThisBuild / publishTo := sonatypePublishToBundle.value
|
val nexus = "https://s01.oss.sonatype.org/"
|
||||||
|
if (isSnapshot.value) Some("snapshots" at nexus + "content/repositories/snapshots")
|
||||||
|
else Some("releases" at nexus + "service/local/staging/deploy/maven2")
|
||||||
|
}
|
||||||
licenses := Seq("Apache-2.0" -> url("https://www.apache.org/licenses/LICENSE-2.0.html"))
|
licenses := Seq("Apache-2.0" -> url("https://www.apache.org/licenses/LICENSE-2.0.html"))
|
||||||
homepage := Some(url("https://github.com/xerial/snappy-java"))
|
homepage := Some(url("https://github.com/xerial/snappy-java"))
|
||||||
scmInfo := Some(
|
scmInfo := Some(
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
sbt.version=1.10.11
|
sbt.version=1.11.3
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.12.2")
|
|
||||||
addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.3.1")
|
addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.3.1")
|
||||||
addSbtPlugin("com.github.sbt" % "sbt-osgi" % "0.10.0")
|
addSbtPlugin("com.github.sbt" % "sbt-osgi" % "0.10.0")
|
||||||
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.5")
|
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.5")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user