This commit is contained in:
creeper123123321 2021-01-03 17:21:58 -03:00
parent d90bb4640a
commit 98d9052aaf
6 changed files with 74 additions and 58 deletions

41
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,41 @@
# Automatically build the project and run any configured tests for every push
# and submitted pull request. This can help catch issues that only occur on
# certain platforms or Java versions, and provides a first line of defence
# against bad commits.
name: build
on: [pull_request, push]
jobs:
build:
strategy:
matrix:
# Use these Java versions
java: [
1.8, # Minimum supported by Minecraft
11, # Current Java LTS
15 # Latest version
]
# and run on both Linux and Windows
os: [ubuntu-20.04, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: checkout repository
uses: actions/checkout@v2
- name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: setup jdk ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: make gradle wrapper executable
if: ${{ runner.os != 'Windows' }}
run: chmod +x ./gradlew
- name: build
run: ./gradlew build
- name: capture build artifacts
if: ${{ runner.os == 'Linux' && matrix.java == '11' }} # Only upload artifacts built from LTS java on one OS
uses: actions/upload-artifact@v2
with:
name: Artifacts
path: build/libs/

View File

@ -28,13 +28,6 @@ version = "0.3.0-SNAPSHOT+" + try {
extra.set("archivesBaseName", "ViaFabric") extra.set("archivesBaseName", "ViaFabric")
description = "Client-side and server-side ViaVersion implementation for Fabric" description = "Client-side and server-side ViaVersion implementation for Fabric"
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
extra.set("sourceCompatibility", 1.8)
extra.set("targetCompatibility", 1.8)
repositories { repositories {
mavenLocal() mavenLocal()
mavenCentral() mavenCentral()
@ -95,29 +88,14 @@ curseforge {
addGameVersion("Java 10") addGameVersion("Java 10")
} }
when (branch) { when (branch) {
"mc-1.8" -> addGameVersion("1.8.9") "mc-1.8" -> listOf("1.8.9")
"mc-1.14" -> { "mc-1.14" -> listOf("1.14", "1.14.1", "1.14.2", "1.14.3", "1.14.4")
addGameVersion("1.14") "mc-1.15" -> listOf("1.15", "1.15.1", "1.15.2")
addGameVersion("1.14.1") "mc-1.16" -> listOf("1.16", "1.16.1", "1.16.2", "1.16.3", "1.16.4")
addGameVersion("1.14.2") "mc-1.17" -> listOf("1.17")
addGameVersion("1.14.3") else -> emptyList()
addGameVersion("1.14.4") }.forEach {
} addGameVersion(it)
"mc-1.15" -> {
addGameVersion("1.15")
addGameVersion("1.15.1")
addGameVersion("1.15.2")
}
"mc-1.16" -> {
addGameVersion("1.16")
addGameVersion("1.16.1")
addGameVersion("1.16.2")
addGameVersion("1.16.3")
addGameVersion("1.16.4")
}
"mc-1.17" -> {
addGameVersion("1.17")
}
} }
addGameVersion("Fabric") addGameVersion("Fabric")
mainArtifact(file("${project.buildDir}/libs/${project.base.archivesBaseName}-${project.version}.jar"), closureOf<com.matthewprenger.cursegradle.CurseArtifact> { mainArtifact(file("${project.buildDir}/libs/${project.base.archivesBaseName}-${project.version}.jar"), closureOf<com.matthewprenger.cursegradle.CurseArtifact> {
@ -127,7 +105,6 @@ curseforge {
} else { } else {
requiredDependency("fabric-api") requiredDependency("fabric-api")
embeddedLibrary("cotton-client-commands") embeddedLibrary("cotton-client-commands")
// embeddedLibrary("programmerartinjector")
} }
}) })
displayName = "[$branch] ViaFabric ${project.version}" displayName = "[$branch] ViaFabric ${project.version}"
@ -153,14 +130,27 @@ tasks.jar {
from("LICENSE") from("LICENSE")
} }
tasks.withType<JavaCompile> {
// ensure that the encoding is set to UTF-8, no matter what the system default is
// this fixes some edge cases with special characters not displaying correctly
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
// If Javadoc is generated, this must be specified in that task too.
options.encoding = "UTF-8"
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task // The Minecraft launcher currently installs Java 8 for users, so your mod probably wants to target Java 8 too
// if it is present. // JDK 9 introduced a new way of specifying this that will make sure no newer classes or methods are used.
// If you remove this task, sources will not be generated. // We'll use that if it's available, but otherwise we'll use the older option.
tasks.register("sourcesJar", type = Jar::class) { val targetVersion = 8
dependsOn(tasks.getByName("classes")) if (JavaVersion.current().isJava9Compatible) {
archiveClassifier.set("sources") options.release.set(targetVersion)
from(sourceSets.main.get().allSource) } else {
sourceCompatibility = JavaVersion.toVersion(targetVersion).toString()
targetCompatibility = JavaVersion.toVersion(targetVersion).toString()
}
}
java {
withSourcesJar()
} }
// configure the maven publication // configure the maven publication

Binary file not shown.

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

2
gradlew vendored
View File

@ -130,7 +130,7 @@ fi
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"` APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"` JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath # We build the pattern for arguments to be converted via cygpath

21
gradlew.bat vendored
View File

@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1 %JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init if "%ERRORLEVEL%" == "0" goto execute
echo. echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@ -54,7 +54,7 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=% set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init if exist "%JAVA_EXE%" goto execute
echo. echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@ -64,21 +64,6 @@ echo location of your Java installation.
goto fail goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute :execute
@rem Setup the command line @rem Setup the command line
@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle @rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end :end
@rem End local scope for the variables with windows NT shell @rem End local scope for the variables with windows NT shell