diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml new file mode 100644 index 00000000..7a46a2bd --- /dev/null +++ b/.github/workflows/java.yml @@ -0,0 +1,24 @@ +name: java + +on: + pull_request: + +jobs: + integration: + name: integration + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: corretto + java-version: 8 + - uses: gradle/actions/setup-gradle@v4 + - run: ./gradlew build + - run: rustup update stable && rustup default stable + - run: | + cd rgen + cargo build -p rgen-jni-impl -p rgen-jni --release + - run: ./setup-server.sh + - run: ./start-server.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/rust.yml similarity index 92% rename from .github/workflows/ci.yml rename to .github/workflows/rust.yml index 98afbbbb..5ba500d4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/rust.yml @@ -1,9 +1,9 @@ -name: rust build +name: rust on: pull_request: -env: +env: CARGO_TERM_COLOR: always jobs: @@ -19,8 +19,8 @@ jobs: # Only check libs to avoid building `rgen-viewer`. cargo clippy --lib -- -D warnings - test: - name: test + unit: + name: unit runs-on: ubuntu-latest steps: diff --git a/.gitignore b/.gitignore index 3626ba4f..de169dc5 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ forge*changelog.txt /.keys .DS_Store + +/server diff --git a/setup-server.sh b/setup-server.sh new file mode 100755 index 00000000..92e58e48 --- /dev/null +++ b/setup-server.sh @@ -0,0 +1,23 @@ +set -e + +rm -rf server +mkdir -p server +cd server + +mkdir mods +ln -s ../../build/libs/rgen-1.0.jar mods + +mkdir natives +ln -s ../../rgen/target/release/librgen_jni.so natives + +FORGE_VERSION=1.12.2-14.23.5.2860 + +curl -o forge-installer.jar https://maven.minecraftforge.net/net/minecraftforge/forge/$FORGE_VERSION/forge-$FORGE_VERSION-installer.jar +java -jar forge-installer.jar --installServer . +echo "eula=true" > eula.txt + +cat > server.properties < /dev/null || ret=$? +if [[ $ret -eq 1 ]]; then + echo "Mod not found, compile it first" + exit 1 +fi +readlink natives/librgen_jni.so > /dev/null || ret=$? +if [[ $ret -eq 1 ]]; then + echo "Native library not found, compile it first" + exit 1 +fi + +FORGE_VERSION=1.12.2-14.23.5.2860 + +java \ + -Dfml.queryResult=confirm \ + -Djava.library.path=natives \ + -jar forge-$FORGE_VERSION.jar \ + nogui