diff --git a/.github/workflows/dispatch.javadoc.yml b/.github/workflows/dispatch.javadoc.yml new file mode 100644 index 00000000..54637485 --- /dev/null +++ b/.github/workflows/dispatch.javadoc.yml @@ -0,0 +1,54 @@ +name: 'Dispatch: Deploy Javadoc' + +on: + workflow_dispatch: + inputs: + target_tag: + description: 'Version to generate javadoc' + required: true + replace_latest: + description: 'Replace the latest folder' + type: boolean + +jobs: + javadocs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ inputs.target_tag }} + + - uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'adopt' + cache: gradle + + - name: build javadoc + uses: gradle/gradle-build-action@v2 + with: + arguments: javadoc + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_VERSION: ${{ inputs.target_tag }} + + - name: Copy javadoc to deploy folder + run: | + mkdir -p build/docs/javadoc-deploy/${{ inputs.target_tag }} + cp -r build/docs/javadoc/* build/docs/javadoc-deploy/${{ inputs.target_tag }} + + - name: Copy javadoc to latest folder + if: inputs.replace_latest + run: | + mkdir -p build/docs/javadoc-deploy/latest + cp -r build/docs/javadoc/* build/docs/javadoc-deploy/latest + + - name: Deploy javadoc to gh pages + uses: JamesIves/github-pages-deploy-action@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + folder: build/docs/javadoc-deploy + branch: javadoc + target-folder: javadoc + clean: false + commit-message: Deploy javadoc for ${{ inputs.target_tag }} diff --git a/.github/workflows/generic.github_release.yml b/.github/workflows/generic.github_release.yml index a2d2b358..ba5f817b 100644 --- a/.github/workflows/generic.github_release.yml +++ b/.github/workflows/generic.github_release.yml @@ -76,7 +76,10 @@ jobs: if: steps.release.outputs.release_created == 'true' uses: gradle/gradle-build-action@v2 with: - arguments: publish -x test + arguments: > + publish -x test + -PmultiverseUsername=${{ secrets.REPOSILITE_REPO_USERNAME }} + -PmultiversePassword=${{ secrets.REPOSILITE_REPO_PASSWORD }} env: GITHUB_VERSION: ${{ steps.release.outputs.publish_version }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -89,3 +92,32 @@ jobs: file: build/libs/${{ inputs.plugin_name }}-${{ steps.release.outputs.publish_version }}.jar asset_name: ${{ inputs.plugin_name }}-${{ steps.release.outputs.tag_name }}.jar tag: ${{ steps.release.outputs.tag_name }} + + - name: Generate javadoc + id: javadoc + if: steps.release.outputs.release_created == 'true' && steps.release.outputs.release_type == 'release' + uses: gradle/gradle-build-action@v2 + with: + arguments: javadoc + env: + GITHUB_VERSION: ${{ steps.release.outputs.publish_version }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Copy javadoc to version and latest folder + if: steps.javadoc.outcome == 'success' + run: | + mkdir -p build/docs/javadoc-deploy/latest + mkdir -p build/docs/javadoc-deploy/${{ steps.release.outputs.tag_name }} + cp -r build/docs/javadoc/* build/docs/javadoc-deploy/latest + cp -r build/docs/javadoc/* build/docs/javadoc-deploy${{ steps.release.outputs.tag_name }} + + - name: Deploy javadoc to gh pages + if: steps.javadoc.outcome == 'success' + uses: JamesIves/github-pages-deploy-action@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + folder: build/docs/javadoc-deploy + branch: javadoc + target-folder: javadoc + clean: false + commit-message: Deploy javadoc for ${{ steps.release.outputs.tag_name }} diff --git a/.github/workflows/generic.platform_uploads.yml b/.github/workflows/generic.platform_uploads.yml index ccd31a40..8c957b60 100644 --- a/.github/workflows/generic.platform_uploads.yml +++ b/.github/workflows/generic.platform_uploads.yml @@ -107,7 +107,7 @@ jobs: files: '["${{ github.workspace }}/${{ inputs.plugin_name }}-${{ steps.release-info.outputs.tag_name }}.jar"]' name: ${{ steps.release-info.outputs.tag_name }} changelog: ${{ steps.release-artifact.outputs.body }} - game_versions: 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2, 1.18.1, 1.18, 1.17.1, 1.17, 1.16.5, 1.16.4, 1.16.3, 1.16.2, 1.16.1, 1.16, 1.15.2, 1.15.1, 1.15, 1.14.4, 1.14.3, 1.14.2, 1.14.1, 1.14, 1.13.2, 1.13.1, 1.13 + game_versions: 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2, 1.18.1, 1.18, 1.17.1, 1.17, 1.16.5, 1.16.4, 1.16.3, 1.16.2, 1.16.1, 1.16, 1.15.2, 1.15.1, 1.15, 1.14.4, 1.14.3, 1.14.2, 1.14.1, 1.14, 1.13.2, 1.13.1, 1.13 version_type: ${{ steps.parse-release-type.outputs.release_type }} loaders: bukkit, spigot, paper dependencies: ${{ inputs.modrinth_dependencies }} @@ -121,7 +121,7 @@ jobs: changelog: ${{ steps.release-artifact.outputs.body }} changelog_type: markdown display_name: ${{ steps.release-info.outputs.tag_name }} - game_versions: 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2, 1.18.1, 1.18, 1.17, 1.16, 1.15, 1.14, 1.13 + game_versions: 1.21.1, 1.21, 1.20.6, 1.20.5, 1.20.4, 1.20.3, 1.20.2, 1.20.1, 1.20, 1.19.4, 1.19.3, 1.19.2, 1.19.1, 1.19, 1.18.2, 1.18.1, 1.18, 1.17, 1.16, 1.15, 1.14, 1.13 release_type: ${{ steps.parse-release-type.outputs.release_type }} project_relations: ${{ inputs.dbo_project_relations }} file_path: ${{ github.workspace }}/${{ inputs.plugin_name }}-${{ steps.release-info.outputs.tag_name }}.jar @@ -136,5 +136,5 @@ jobs: channel: ${{ steps.parse-release-type.outputs.release_type }} files: '[{"path": "${{ github.workspace }}/${{ inputs.plugin_name }}-${{ steps.release-info.outputs.tag_name }}.jar", "platforms": ["PAPER"]}]' description: ${{ steps.release-artifact.outputs.body }} - platform_dependencies: '{"PAPER": ["1.13-1.20.1"]}' + platform_dependencies: '{"PAPER": ["1.13-1.21.1"]}' plugin_dependencies: ${{ inputs.hangar_plugin_dependencies }} diff --git a/.github/workflows/generic.test.yml b/.github/workflows/generic.test.yml index 9aab8ad2..ce217510 100644 --- a/.github/workflows/generic.test.yml +++ b/.github/workflows/generic.test.yml @@ -9,7 +9,7 @@ on: type: string jobs: - test: + test-and-artifact: runs-on: ubuntu-latest permissions: contents: read @@ -34,7 +34,17 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Artifact output - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.plugin_name }}-pr${{ github.event.pull_request.number }} path: build/libs/${{ inputs.plugin_name }}-pr${{ github.event.pull_request.number }}.jar + + comment-artifact: + needs: test-and-artifact + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: benwoo1110/artifact-comment-action@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/build.gradle b/build.gradle index aa4b5740..c96b6f84 100644 --- a/build.gradle +++ b/build.gradle @@ -236,6 +236,13 @@ publishing { password = System.getenv("GITHUB_TOKEN") } } + maven { + name = "multiverse" + def releasesRepoUrl = "https://repo.dumptruckman.com/multiverse-releases" + def snapshotsRepoUrl = "https://repo.dumptruckman.com/multiverse-snapshots" + url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl + credentials(PasswordCredentials) + } } }