A RuneTek3 client (377) that is deobfuscated, converted to Kotlin, and includes QoL improvements.
1stages:
2 - build
3 - publish
4
5variables:
6 GRADLE_OPTS: "-Dorg.gradle.daemon=false"
7 PACKAGE_NAME: "rs377-client"
8 JAR_NAME: "377.jar"
9 ZIP_NAME: "rs377-client.zip"
10
11build:
12 stage: build
13 image: eclipse-temurin:21-jdk-alpine
14 before_script:
15 - chmod +x gradlew
16 script:
17 - ./gradlew clean jar
18 - mkdir -p dist/config
19 - cp build/libs/${JAR_NAME} dist/
20 - cp config/EXAMPLE-client-config.yaml dist/config/client-config.yaml
21 - cd dist && jar -cfM ../${ZIP_NAME} ${JAR_NAME} config/
22 artifacts:
23 paths:
24 - ${ZIP_NAME}
25 expire_in: 90 days
26 cache:
27 key:
28 files:
29 - build.gradle
30 paths:
31 - .gradle/
32
33publish:
34 stage: publish
35 image: curlimages/curl:latest
36 needs:
37 - job: build
38 artifacts: true
39 rules:
40 - if: $CI_COMMIT_BRANCH == "master"
41 script:
42 - echo "Publishing ${PACKAGE_NAME} @ ${CI_COMMIT_SHORT_SHA}"
43 - |
44 curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
45 --upload-file "${ZIP_NAME}" \
46 "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PACKAGE_NAME}/latest/${ZIP_NAME}"