Skip to content

Commit b6c851c

Browse files
committed
Update release scripts and docs
1 parent dc6e9ba commit b6c851c

17 files changed

+42
-349
lines changed

HOWTORELEASE.txt

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,28 @@ Release Process
2323
"<your password>")
2424

2525
The description of the Sonatype publishment process (everything described below is in a java dir: cd PDAL/java):
26+
- GitHub Actions is responisble for the release process:
27+
- To make a new snapshot release - push commits into the main branch.
28+
- To publish a release - publish the github release through UI or push a tag.
2629
- Publishing snaphots:
30+
Versioning:
31+
- Release versions are derived from the latest (not lightweight) tag version. Each tag should start with v,
32+
i.e. v2.3.0. The snapshot tag happens on commits that follow the tag, and contain git commit hash.
2733
Snapshot can be published without PGP sign, it is published to a snapshot repo and allows immediate snaphot updates.
2834
To publish everything in a local repo use command:
29-
- ./scripts/publish-local.sh (publishes scala 2.13 version)
30-
- ./scripts/publish-local-212.sh (publishes scala 2.12 version)
31-
- ./scripts/publish-local-211.sh (publishes scala 2.11 version)
32-
- ./scripts/publish-local-native.sh (publishes native dependencies)
35+
- ./scripts/publish-local.sh
36+
- ./scripts/publish-local-native.sh (publishes native dependencies only)
3337
To publish everything into sonatype snapshot repo use:
3438
- ./scripts/publish-all.sh
3539
Summary:
3640
- Run ./scripts/publish-all.sh and everything is available in a snaphost repository
3741
- Publishing releases:
42+
Versioning:
43+
- Release versions are derived from the latest (not lightweight) tag version. Each tag should start with v,
44+
i.e. v2.3.0.
3845
To publish everything into sonatype snapshot repo (staging repo) use:
39-
- ./scripts/publish-all.sh --suffix="" --signed
40-
`suffix` defines version suffix (for example `--suffix="-RC1"`)
41-
`signed` means that jar would be uploaded into a staging sonatype repo with a PGP sign
46+
- ./scripts/publish-all.sh --signed
47+
Snapshot version is derived from the latest tag version. Releases can be published on tags (not lightweight) only.
4248
Staging means a special repository in a pre released condition.
4349
- Go into staging repos panel: https://oss.sonatype.org/#stagingRepositories (log in using sonatype user / pwd)
4450
- Filter by package name (pdal in our case) and select staging repo
@@ -50,8 +56,8 @@ Release Process
5056
Full official guide: http://central.sonatype.org/pages/ossrh-guide.html
5157
Deploying to sonatype using sbt official doc: http://www.scala-sbt.org/release/docs/Using-Sonatype.html
5258
Official sonatype guide with pics of (https://oss.sonatype.org/#stagingRepositories) and answers the question what
53-
to do after jars were published into a staging repo (in our case after ./scripts/publish-all.sh --suffix="" --signed step)
59+
to do after jars were published into a staging repo (in our case after ./scripts/publish-all.sh step)
5460
Summary:
55-
- Run ./scripts/publish-all.sh --suffix="" --signed to publish everything into staging repo
61+
- Run ./scripts/publish-all.sh to publish everything into staging repo
5662
- Go to sonatype panel https://oss.sonatype.org/#stagingRepositories and release the jar
5763
- Await ~10 minutes to have jars published to maven central

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ resolvers ++= Seq(
1919
Resolver.sonatypeRepo("snapshots") // for snaphots
2020
)
2121

22+
// `<latest version>` refers to the version indicated by the badge above
2223
libraryDependencies ++= Seq(
23-
"io.pdal" %% "pdal" % "x.x.x", // core library
24-
"io.pdal" % "pdal-native" % "x.x.x" // jni bindings
24+
"io.pdal" %% "pdal" % "<latest version>", // core library
25+
"io.pdal" % "pdal-native" % "<latest version>" // jni bindings
2526
)
2627
```
2728

@@ -37,14 +38,15 @@ javaOptions += "-Djava.library.path=/usr/local/lib"
3738
You can use `pdal-native` dep in case you don't have installed JNI bindings and to avoid steps described above.
3839
Dependency contains bindings for `x86_64-darwin` and `x86_64-linux`, other versions are not supported yet.
3940

40-
## PDAL-Scala
41+
## PDAL-Scala (Scala 2.x)
4142

4243
Scala API allows to build pipeline expressions instead of writing a raw JSON.
4344

4445
```scala
46+
// `<latest version>` refers to the version indicated by the badge above
4547
libraryDependencies ++= Seq(
46-
"io.pdal" %% "pdal-scala" % "x.x.x", // scala core library
47-
"io.pdal" % "pdal-native" % "x.x.x" // jni bindings
48+
"io.pdal" %% "pdal-scala" % "<latest version>", // scala core library
49+
"io.pdal" % "pdal-native" % "<latest version>" // jni bindings
4850
)
4951
```
5052

@@ -132,15 +134,13 @@ PDAL_DEPEND_ON_NATIVE=false ./sbt -Djava.library.path=<path>
132134
set(CMAKE_CXX_FLAGS "-L<path to dynamic libs> -std=c++11")
133135
```
134136

135-
## How to release
137+
## How to release (outdated)
136138

137139
All the instructions related to the local / maven release process are documented in the [HOWTORELEASE.txt](./HOWTORELEASE.txt) file.
138140

139141
For the local publish it is possible to use the following commands:
140142

141-
* `scripts/publish-local.sh` - to publish Scala 2.13 artifacts
142-
* `scripts/publish-local-212.sh` - to publish Scala 2.12 artifacts
143-
* `scripts/publish-local-211.sh` - to publish Scala 2.11 artifacts
143+
* `scripts/publish-local.sh` - to publish Scala artifacts
144144
* `scripts/publish-local-native.sh` - to compile and publish artifact with native binaries
145145

146146
For the additional information checkout the [HOWTORELEASE.txt](./HOWTORELEASE.txt) file and the [scripts](./scripts) directory.

scripts/crosscompile-linux.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
3+
# Linux
4+
docker run -it --rm \
5+
-v $PWD:/pdal-java \
6+
-v $HOME/.ivy2:/root/.ivy2 \
7+
-v $HOME/.sbt:/root/.sbt \
8+
-v $HOME/.coursier/cache:/root/.cache/coursier \
9+
daunnc/pdal-ubuntu:2.3.0 bash -c "cd ./pdal-java; ./sbt native/compile"

scripts/crosscompile-mac.sh

Lines changed: 0 additions & 25 deletions
This file was deleted.

scripts/crosscompile.sh

Lines changed: 0 additions & 38 deletions
This file was deleted.

scripts/merge-native.sh

Lines changed: 0 additions & 29 deletions
This file was deleted.

scripts/pack-native.sh

Lines changed: 0 additions & 21 deletions
This file was deleted.

scripts/publish-212.sh

Lines changed: 0 additions & 33 deletions
This file was deleted.

scripts/publish-213.sh

Lines changed: 0 additions & 33 deletions
This file was deleted.

scripts/publish-all.sh

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
11
#!/usr/bin/env bash
22

3-
./scripts/publish.sh "$@"
4-
./scripts/publish-212.sh "$@"
5-
./scripts/publish-211.sh "$@"
6-
./scripts/publish-native.sh "$@"
3+
./scripts/publish.sh && ./scripts/publish-native.sh

0 commit comments

Comments
 (0)