diff --git a/.github/maintainers_guide.md b/.github/maintainers_guide.md
index 10cd8d61d..82ba9dae0 100644
--- a/.github/maintainers_guide.md
+++ b/.github/maintainers_guide.md
@@ -76,9 +76,33 @@ By installing App(2) and App(3), you get the followings. Set them as env variabl
|SLACK_SDK_TEST_GRID_SHARED_CHANNEL_ID|A shared channel's ID `SLACK_SDK_TEST_GRID_WORKSPACE_ADMIN_USER_TOKEN` can manage.|
|SLACK_SDK_TEST_EMAIL_ADDRESS|An email address to invite.|
+### Installing JAR files locally for development
+
+To use the JAR files from each subproject in your local development environment, you can install them to your local Maven repository:
+
+1. Build and install all modules locally:
+ * Run `scripts/install_local.sh`
+ * Note: This command skips running unit tests for faster installation
+2. Use in your project:
+ Once installed locally, you can reference these artifacts in your project's `pom.xml`:
+
+ ```xml
+
+ com.slack.api
+ bolt
+ 1.0.1-SNAPSHOT
+
+
+
+ com.slack.api
+ slack-api-client
+ 1.0.1-SNAPSHOT
+
+ ```
+
### Generating Documentation
-Refer to the [README](https://github.com/slackapi/java-slack-sdk/blob/main/docs/README.md) for details on editing documentation.
+Refer to the [README](https://github.com/slackapi/java-slack-sdk/blob/main/docs/README.md) for details on editing documentation.
### Releasing
@@ -88,7 +112,7 @@ Refer to the [README](https://github.com/slackapi/java-slack-sdk/blob/main/docs/
* Make sure you've set up your key https://central.sonatype.org/publish/requirements/gpg/
* Make sure the account you are using has the permission to make releases [under com.slack groupId](https://central.sonatype.com/publishing/com.slack/users)
-Place `$HOME/.m2/settings.xml` with your Sonatype account information.
+Place `$HOME/.m2/settings.xml` with your Sonatype account information.
* Generate user token: https://central.sonatype.org/publish/generate-portal-token/
* Set the user token id/password: https://central.sonatype.org/publish/publish-portal-maven/#credentials
@@ -96,11 +120,16 @@ Place `$HOME/.m2/settings.xml` with your Sonatype account information.
/${your-home-dir}/.m2/repository
-
- ${your-username}
- ${your-password}
- central
-
+
+ central
+ ${your-username}
+ ${your-password}
+
+
+ central-snapshots
+ ${your-username}
+ ${your-password}
+
org.apache.maven.plugins
@@ -116,7 +145,7 @@ To learn more about snapshot releases in maven central repository check out [pub
* From the upstream repository
* Preparation
- * `git switch main && git pull origin main`
+ * `git switch main && git pull origin main` (or the branch you want to release from)
* Make sure there are no build failures at https://github.com/slackapi/java-slack-sdk/actions
* Set a new version
* 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.
diff --git a/pom.xml b/pom.xml
index 7c72402fe..41eb43047 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,6 +113,19 @@
+
+
+ central
+ Sonatype Central Releases
+ https://central.sonatype.com/repository/maven-releases/
+
+
+ central-snapshots
+ Sonatype Central Snapshots
+ https://central.sonatype.com/repository/maven-snapshots/
+
+
+
The Apache Software License, Version 2.0
diff --git a/scripts/install_local.sh b/scripts/install_local.sh
new file mode 100755
index 000000000..ee647312a
--- /dev/null
+++ b/scripts/install_local.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+is_jdk_8=`echo $JAVA_HOME | grep 8.`
+is_travis_jdk_8=`echo $TRAVIS_JDK | grep openjdk8`
+if [[ "${is_jdk_8}" != "" && "${is_travis_jdk_8}" != "" ]];
+then
+ echo "Please use OpenJDK 11."
+ exit 1
+fi
+
+./mvnw install -Dmaven.test.skip=true