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