@@ -5,47 +5,30 @@ open a preview URL, and tear everything down from Java.
55
66## Your first sandbox
77
8- Version [ ` 0.1.0 ` ] ( https://github.com/NodeOps-app/createos-java-sdk/releases/tag/v0.1.0 )
9- is published on GitHub Packages. Add the repository and dependency to your
10- project's ` pom.xml ` :
8+ The first Maven Central release is being prepared. For now, install the public
9+ source checkout locally with Java 17+ and Maven 3.9+:
1110
12- ``` xml
13- < repositories >
14- < repository >
15- < id >github</ id >
16- < url >https://maven.pkg.github.com/NodeOps-app/createos-java-sdk</ url >
17- </ repository >
18- </ repositories >
11+ ``` sh
12+ git clone https://github.com/NodeOps-app/createos-java-sdk.git
13+ cd createos-java-sdk
14+ mvn install
15+ ```
16+
17+ Then add the locally installed SDK to your project's ` pom.xml ` :
1918
19+ ``` xml
2020<dependencies >
2121 <dependency >
2222 <groupId >network.nodeops</groupId >
2323 <artifactId >createos-java-sdk</artifactId >
24- <version >0.1.0 </version >
24+ <version >0.1.1-SNAPSHOT </version >
2525 </dependency >
2626</dependencies >
2727```
2828
29- GitHub Packages requires authentication to download Maven packages, including
30- public packages. Set ` GITHUB_USERNAME ` to your GitHub username and
31- ` GITHUB_TOKEN ` to a personal access token (classic) with ` read:packages ` in
32- your environment or secret manager. Do not commit either value. Configure Maven
33- to read them from ` ~/.m2/settings.xml ` :
34-
35- ``` xml
36- <settings >
37- <servers >
38- <server >
39- <id >github</id >
40- <username >${env.GITHUB_USERNAME}</username >
41- <password >${env.GITHUB_TOKEN}</password >
42- </server >
43- </servers >
44- </settings >
45- ```
46-
47- For local development from this checkout, run ` mvn install ` instead of
48- configuring GitHub Packages; it installs the current ` 0.1.1-SNAPSHOT ` build.
29+ No package-download token or extra Maven repository is needed. Once Maven
30+ Central publishes a release, you can use its version in the dependency above
31+ without building from source.
4932
5033The compile-checked [ hello-world example] ( examples/src/main/java/network/nodeops/createos/examples/helloworld/HelloWorld.java )
5134creates a sandbox, runs a command, prints its output, and always destroys the
@@ -101,8 +84,8 @@ CreateOsClient client =
10184 .build();
10285```
10386
104- In the next release, ` CreateOsClient.builder().build() ` will also read
105- ` CREATEOS_API_KEY ` automatically. ` CREATEOS_SANDBOX_BASE_URL ` overrides the
87+ ` CreateOsClient.builder().build() ` also reads ` CREATEOS_API_KEY ` automatically.
88+ ` CREATEOS_SANDBOX_BASE_URL ` overrides the
10689default control-plane URL. Explicit builder values take precedence.
10790
10891The SDK targets Java 17 and uses the JDK HTTP client. Public wire models are
@@ -388,32 +371,9 @@ warnings; and builds source and Javadoc JARs.
388371
389372## Releases
390373
391- An annotated ` vMAJOR.MINOR.PATCH ` tag on a commit in ` main ` triggers the
392- [ release workflow] ( .github/workflows/release.yml ) . It requires the tag to match
393- the version in ` pom.xml ` , verifies Java 17, 21, and 25, publishes signed SDK,
394- source, and Javadoc JARs to Maven Central, then publishes to GitHub Packages
395- and creates a GitHub Release. The workflow waits for Central to publish before
396- continuing.
397-
398- Before tagging, maintainers must verify the ` network.nodeops ` namespace in the
399- [ Central Publisher Portal] ( https://central.sonatype.org/register/namespace/ )
400- and configure four repository secrets: ` CENTRAL_USERNAME ` and
401- ` CENTRAL_PASSWORD ` (the two parts of a [ Central user token] ( https://central.sonatype.org/publish/generate-portal-token/ ) ),
402- plus ` MAVEN_GPG_PRIVATE_KEY ` (ASCII-armored private key) and
403- ` MAVEN_GPG_PASSPHRASE ` for [ artifact signing] ( https://central.sonatype.org/publish/requirements/gpg/ ) .
404- Do not put these values in the repository or this README. GitHub Packages still
405- uses the workflow's ` GITHUB_TOKEN ` .
406-
407- Update ` pom.xml ` and ` CHANGELOG.md ` , push the passing commit to ` main ` , then
408- push a new annotated version tag. Do not reuse the existing ` v0.1.0 ` tag:
409-
410- ``` sh
411- git tag -a v0.1.1 -m " Release 0.1.1"
412- git push origin v0.1.1
413- ```
414-
415- Version ` 0.1.0 ` was published before Maven Central was configured and is not
416- available there. Its GitHub Packages installation above still requires a token.
374+ Version [ ` 0.1.0 ` ] ( https://github.com/NodeOps-app/createos-java-sdk/releases/tag/v0.1.0 )
375+ remains available as a GitHub Release, but its GitHub Maven package was removed.
376+ No Maven Central version is available yet.
417377
418378## Package layout
419379
0 commit comments