@@ -15,7 +15,6 @@ permissions:
1515env :
1616 STUBGEN_BUILD_NUM : 15
1717 MINECRAFT_VERSION : 1.21.5
18- OPENJDK_REPO : https://github.com/openjdk/jdk21u-dev
1918 ADDITIONAL_DEFINITION_URLS : |
2019 https://raw.githubusercontent.com/LuaLink/LuaLinkV2/master/src/main/resources/lua/script.lua
2120 https://raw.githubusercontent.com/LuaLink/LuaLinkV2/master/src/main/resources/lua/scheduler.lua
@@ -39,27 +38,37 @@ jobs:
3938 java-version : 21
4039 distribution : ' adopt'
4140
42- - name : Install xmllint
43- run : sudo apt-get update && sudo apt-get install -y libxml2-utils zip
44-
4541 - name : Download LuaLink/LuaStubGen JAR
4642 run : |
4743 mkdir -p $RUNNER_TEMP/stubgen
4844 curl -L -o $RUNNER_TEMP/stubgen/LuaStubGen.jar https://github.com/LuaLink/LuaStubGen/releases/download/$STUBGEN_BUILD_NUM/LuaStubGen-1.0-SNAPSHOT-all.jar
45+
46+ - name : Install xmllint
47+ run : sudo apt-get update && sudo apt-get install -y libxml2-utils
4948
5049 - name : Resolve Paper API Snapshot Sources JAR
5150 id : resolve-paper
5251 run : |
5352 METADATA_URL="https://repo.papermc.io/repository/maven-public/io/papermc/paper/paper-api/${MINECRAFT_VERSION}-R0.1-SNAPSHOT/maven-metadata.xml"
53+ echo "Fetching metadata from $METADATA_URL"
5454 curl -s "$METADATA_URL" -o metadata.xml
55+
5556 VERSION=$(xmllint --xpath "string(//snapshotVersion[classifier='sources']/value)" metadata.xml)
57+ echo "Resolved version: $VERSION"
58+
5659 JAR_URL="https://repo.papermc.io/repository/maven-public/io/papermc/paper/paper-api/${MINECRAFT_VERSION}-R0.1-SNAPSHOT/paper-api-${VERSION}-sources.jar"
60+ echo "Resolved JAR URL: $JAR_URL"
61+
5762 echo "PAPER_API_SOURCES_URL=$JAR_URL" >> $GITHUB_ENV
5863
5964 - name : Download Source JARs
6065 run : |
6166 mkdir -p $RUNNER_TEMP/sources
67+
68+ # Download Paper API sources
6269 curl -L -o $RUNNER_TEMP/sources/paper-api-sources.jar "$PAPER_API_SOURCES_URL"
70+
71+ # Download other JARs
6372 IFS=$'\n'
6473 for url in $SOURCES_JAR_URLS; do
6574 filename=$(basename "$url")
6978 - name : Clean previous Paper definitions
7079 run : rm -rf library/paper
7180
72- - name : Generate Lua definitions for Paper
81+ - name : Generate Lua definitions
7382 run : |
7483 mkdir -p library/paper
7584 jar_files=$(ls $RUNNER_TEMP/sources/*.jar | tr '\n' ' ')
@@ -84,69 +93,11 @@ jobs:
8493 curl -L -o library/lualink/"$filename" "$url"
8594 done
8695
87- - name : Clone OpenJDK sources and generate Java stubs
88- run : |
89- git clone --depth 1 $OPENJDK_REPO $RUNNER_TEMP/openjdk
90- mkdir -p $RUNNER_TEMP/java-jar
91- cd $RUNNER_TEMP/openjdk
92- zip -r $RUNNER_TEMP/java-jar/openjdk-src.jar ./src
93-
94- mkdir -p library/java
95- java -jar $RUNNER_TEMP/stubgen/LuaStubGen.jar --output-dir=library/java $RUNNER_TEMP/java-jar/openjdk-src.jar
96-
97- - name : Clean Java stubs to keep only allowed classes
98- run : |
99- ALLOWED_CLASSES=(
100- java.util.Map
101- java.util.HashMap
102- java.util.Collection
103- java.util.List
104- java.util.ArrayList
105- java.util.Set
106- java.util.HashSet
107- java.util.Collections
108- java.util.stream.Stream
109- java.lang.Character
110- java.util.Arrays
111- java.util.UUID
112- java.util.concurrent.CompletableFuture
113- java.util.function.Function
114- java.util.function.BiFunction
115- java.util.function.Consumer
116- java.util.function.BiConsumer
117- java.util.function.Predicate
118- java.lang.Object
119- java.util.Objects
120- java.net.URI
121- java.net.URL
122- java.io.File
123- java.nio.file.Path
124- java.util.regex.Pattern
125- java.util.regex.Matcher
126- java.text.SimpleDateFormat
127- java.util.Locale
128- java.util.Iterator
129- java.util.ListIterator
130- java.text.DecimalFormat
131- java.util.function.Supplier
132- java.util.Optional
133- java.util.logging.Logger
134- )
135-
136- cd library/java || exit 1
137- for file in *.lua; do
138- base="${file%.lua}"
139- if [[ ! " ${ALLOWED_CLASSES[@]} " =~ " ${base} " ]]; then
140- rm -v "$file"
141- fi
142- done
143-
14496 - name : Commit and push changes
14597 run : |
14698 git config --local user.name "GitHub Action"
14799 git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
148100 git add library/paper
149101 git add library/lualink
150- git add library/java
151102 git commit -m "Update Lua definitions" || echo "No changes to commit"
152103 git push origin HEAD:testing
0 commit comments