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")
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 {
mavenLocal()
mavenCentral()
@ -95,29 +88,14 @@ curseforge {
addGameVersion("Java 10")
}
when (branch) {
"mc-1.8" -> addGameVersion("1.8.9")
"mc-1.14" -> {
addGameVersion("1.14")
addGameVersion("1.14.1")
addGameVersion("1.14.2")
addGameVersion("1.14.3")
addGameVersion("1.14.4")
}
"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")
}
"mc-1.8" -> listOf("1.8.9")
"mc-1.14" -> listOf("1.14", "1.14.1", "1.14.2", "1.14.3", "1.14.4")
"mc-1.15" -> listOf("1.15", "1.15.1", "1.15.2")
"mc-1.16" -> listOf("1.16", "1.16.1", "1.16.2", "1.16.3", "1.16.4")
"mc-1.17" -> listOf("1.17")
else -> emptyList()
}.forEach {
addGameVersion(it)
}
addGameVersion("Fabric")
mainArtifact(file("${project.buildDir}/libs/${project.base.archivesBaseName}-${project.version}.jar"), closureOf<com.matthewprenger.cursegradle.CurseArtifact> {
@ -127,7 +105,6 @@ curseforge {
} else {
requiredDependency("fabric-api")
embeddedLibrary("cotton-client-commands")
// embeddedLibrary("programmerartinjector")
}
})
displayName = "[$branch] ViaFabric ${project.version}"
@ -153,14 +130,27 @@ tasks.jar {
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
// if it is present.
// If you remove this task, sources will not be generated.
tasks.register("sourcesJar", type = Jar::class) {
dependsOn(tasks.getByName("classes"))
archiveClassifier.set("sources")
from(sourceSets.main.get().allSource)
// The Minecraft launcher currently installs Java 8 for users, so your mod probably wants to target Java 8 too
// JDK 9 introduced a new way of specifying this that will make sure no newer classes or methods are used.
// We'll use that if it's available, but otherwise we'll use the older option.
val targetVersion = 8
if (JavaVersion.current().isJava9Compatible) {
options.release.set(targetVersion)
} else {
sourceCompatibility = JavaVersion.toVersion(targetVersion).toString()
targetCompatibility = JavaVersion.toVersion(targetVersion).toString()
}
}
java {
withSourcesJar()
}
// configure the maven publication

Binary file not shown.

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
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
zipStorePath=wrapper/dists

21
gradlew.bat vendored
View File

@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
if "%ERRORLEVEL%" == "0" goto execute
echo.
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_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@ -64,21 +64,6 @@ echo location of your Java installation.
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
@rem Setup the command line
@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@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
@rem End local scope for the variables with windows NT shell