You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/maintainers_guide.md
+23-2Lines changed: 23 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Maintaining this project requires installing [OpenJDK](https://openjdk.java.net/
10
10
11
11
### Testing
12
12
13
-
This project has tests for individual packages inside of each's respective `src/test/java` directory. All the tests under `test_locally` package are executed in every single GitHub Actions CI build as below.
13
+
This project has tests for individual packages inside each's respective `src/test/java` directory. All the tests under `test_locally` package are executed in every single GitHub Actions CI build as below.
14
14
15
15
```bash
16
16
./scripts/run_no_prep_tests.sh
@@ -109,7 +109,28 @@ Place `$HOME/.m2/settings.xml` with your Sonatype account information.
109
109
</settings>
110
110
```
111
111
112
-
#### Operations
112
+
#### Snapshot Release
113
+
114
+
Snapshot releases are intended for developers to make pre-release versions of their projects available for testing.
115
+
To learn more about snapshot releases in maven central repository check out [publish-portal-snapshots](https://central.sonatype.org/publish/publish-portal-snapshots/)
116
+
117
+
* From the upstream repository
118
+
* Preparation
119
+
*`git switch main && git pull origin main`
120
+
* Make sure there are no build failures at https://github.com/slackapi/java-slack-sdk/actions
121
+
* Set a new version
122
+
* It is **critical** that the version ends with `-SNAPSHOT`. This is how [central-publishing-maven-plugin](https://central.sonatype.org/publish/publish-portal-snapshots/#publishing-with-the-central-publishing-maven-plugin) automatically recognizes snapshot releases and uploads them the right location.
123
+
* If you don't have `gnu-sed`, check out [Prerequisites](#prerequisites)
124
+
* Run `scripts/set_version.sh (the version)` (e.g., `scripts/set_version.sh 1.0.0-SNAPSHOT`)
125
+
* Ship the libraries
126
+
* Switch to **JDK 17** to publish all modules (on macOS, you can run `export JAVA_HOME=$(/usr/libexec/java_home -v 17)` for it)
127
+
* Run `scripts/release.sh` (it takes a bit long)
128
+
* (If you encounter an error, log in https://oss.sonatype.org/ to check detailed information)
129
+
* No need to create a GitHub Release, since this is intended for developers to make pre-release versions of their projects.
130
+
*`-SNAPSHOT` versions are intended to be overwritten.
131
+
* This enables developers to work with the latest version of a library without needing to update their dependencies repeatedly.
0 commit comments