构建CraftBukkit #32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time | |
| # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven | |
| name: 构建CraftBukkit | |
| env: | |
| latest: '1.21.10' | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| # * is a special character in YAML so you have to quote this string | |
| - cron: "30 8 8,18,28 * *" | |
| jobs: | |
| build_on_java21: | |
| # for minecraft 1.21+ | |
| runs-on: ubuntu-latest | |
| name: 构建适用于Java21的MC版本 | |
| strategy: | |
| matrix: | |
| ver: | |
| - '1.21.10' | |
| - '1.21.9' | |
| - '1.21.8' | |
| - '1.21.7' | |
| - '1.21.6' | |
| - '1.21.5' | |
| - '1.21.4' | |
| - '1.21.3' | |
| - '1.21.2' | |
| - '1.21.1' | |
| - '1.21' | |
| - '1.20.6' | |
| - '1.20.5' | |
| env: | |
| ver: ${{ matrix.ver }} | |
| steps: | |
| - name: 设置Java环境 | |
| uses: actions/setup-java@v2 | |
| with: | |
| distribution: "adopt" | |
| java-version: "21" | |
| - name: 下载构建工具 | |
| run: wget https://drive.dnxshare.cn/f/me2I6/BuildTools.jar | |
| - name: 创建输出目录 | |
| run: mkdir ./outputs | |
| - name: 构建服务端核心 | |
| # if: ${{ matrix.ver != env.latest }} | |
| continue-on-error: true | |
| run: java -jar BuildTools.jar --rev $ver --output-dir ./outputs --compile craftbukkit | |
| - name: 删除Spigot核心 | |
| run: rm -f outputs/spigot* | |
| - name: 上传构建结果 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: outputs-${{ matrix.ver }} | |
| path: outputs | |
| build_on_java17: | |
| # for minecraft 1.17+ | |
| runs-on: ubuntu-latest | |
| name: 构建适用于Java17的MC版本 | |
| strategy: | |
| matrix: | |
| ver: | |
| - '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' | |
| env: | |
| ver: ${{ matrix.ver }} | |
| steps: | |
| - name: 设置Java环境 | |
| uses: actions/setup-java@v2 | |
| with: | |
| distribution: "adopt" | |
| java-version: "17" | |
| - name: 下载构建工具 | |
| run: wget https://drive.dnxshare.cn/f/me2I6/BuildTools.jar | |
| - name: 创建输出目录 | |
| run: mkdir ./outputs | |
| - name: 构建服务端核心 | |
| # if: ${{ matrix.ver != env.latest }} | |
| continue-on-error: true | |
| run: java -jar BuildTools.jar --rev $ver --output-dir ./outputs --compile craftbukkit | |
| - name: 删除Spigot核心 | |
| run: rm -f outputs/spigot* | |
| - name: 上传构建结果 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: outputs-${{ matrix.ver }} | |
| path: outputs | |
| build_on_java16: | |
| # for minecraft 1.17+ | |
| runs-on: ubuntu-latest | |
| name: 构建适用于Java16的MC版本 | |
| strategy: | |
| matrix: | |
| ver: | |
| - '1.17.1' | |
| - '1.17' | |
| env: | |
| ver: ${{ matrix.ver }} | |
| steps: | |
| - name: 设置Java环境 | |
| uses: actions/setup-java@v2 | |
| with: | |
| distribution: "adopt" | |
| java-version: "16" | |
| - name: 下载构建工具 | |
| run: wget https://drive.dnxshare.cn/f/me2I6/BuildTools.jar | |
| - name: 创建输出目录 | |
| run: mkdir ./outputs | |
| - name: 构建服务端核心 | |
| # if: ${{ matrix.ver != env.latest }} | |
| continue-on-error: true | |
| run: java -jar BuildTools.jar --rev $ver --output-dir ./outputs --compile craftbukkit | |
| - name: 删除Spigot核心 | |
| run: rm -f outputs/spigot* | |
| - name: 上传构建结果 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: outputs-${{ matrix.ver }} | |
| path: outputs | |
| build_on_java8: | |
| # for minecraft 1.17+ | |
| runs-on: ubuntu-latest | |
| name: 构建适用于Java8的MC版本 | |
| strategy: | |
| matrix: | |
| ver: | |
| - '1.16.5' | |
| - '1.16.4' | |
| - '1.16.3' | |
| - '1.16.2' | |
| - '1.16.1' | |
| - '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' | |
| - '1.12.2' | |
| - '1.12.1' | |
| - '1.12' | |
| - '1.11.2' | |
| - '1.11.1' | |
| - '1.11' | |
| - '1.10.2' | |
| - '1.9.4' | |
| - '1.9.2' | |
| - '1.9' | |
| - '1.8.8' | |
| - '1.8.3' | |
| - '1.8' | |
| env: | |
| ver: ${{ matrix.ver }} | |
| steps: | |
| - name: 设置Java环境 | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: "adopt" | |
| java-version: "8" | |
| - name: 下载构建工具 | |
| run: wget https://drive.dnxshare.cn/f/me2I6/BuildTools.jar | |
| - name: 创建输出目录 | |
| run: mkdir ./outputs | |
| - name: 构建服务端核心 | |
| continue-on-error: true | |
| run: java -jar BuildTools.jar --rev $ver --output-dir ./outputs --compile craftbukkit | |
| - name: 删除Spigot核心 | |
| run: rm -f outputs/spigot* | |
| - name: 上传构建结果 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: outputs-${{ matrix.ver }} | |
| path: outputs | |
| upload_and_dist: | |
| needs: | |
| - build_on_java16 | |
| - build_on_java8 | |
| - build_on_java17 | |
| - build_on_java21 | |
| runs-on: ubuntu-latest | |
| name: 上传所有构建结果 | |
| steps: | |
| - name: 创建目录 | |
| run: mkdir spigot | |
| - name: 下载构建文件 | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: spigot_temp # 临时下载目录 | |
| pattern: outputs-* | |
| merge-multiple: false | |
| - name: 合并并覆盖文件 | |
| run: | | |
| mkdir -p spigot | |
| find spigot_temp -type f -exec cp -f {} spigot \; | |
| rm -rf spigot_temp | |
| - name: 列出文件树 | |
| run: "tree" | |
| - name: 发布构建结果 | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: spigot/* | |
| draft: false | |
| prerelease: false | |
| update: true | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| name: Builds | |
| tag_name: Release | |