Skip to content

构建CraftBukkit

构建CraftBukkit #32

Workflow file for this run

# 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