95 lines
3.7 KiB
Groovy
95 lines
3.7 KiB
Groovy
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
|
|
|
plugins {
|
|
id 'java'
|
|
id 'application'
|
|
}
|
|
|
|
group = 'minecraft'
|
|
version = '1.12.2'
|
|
OperatingSystem os = DefaultNativePlatform.currentOperatingSystem
|
|
|
|
compileJava {
|
|
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
|
|
options.encoding = 'UTF-8'
|
|
}
|
|
|
|
application {
|
|
mainClassName = 'net.minecraft.client.main.Main'
|
|
}
|
|
|
|
run {
|
|
workingDir = new File(buildDir, 'run')
|
|
if (!workingDir.exists()) {
|
|
workingDir.mkdir()
|
|
}
|
|
|
|
systemProperty 'java.library.path', file("$buildDir/natives")
|
|
args '--version', '1.12.2', '--accessToken', '0', '--assetsDir', 'assets', '--assetIndex', "1.12.2", '--userProperties', '{}'
|
|
}
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
flatDir { dirs '../libs' }
|
|
}
|
|
|
|
dependencies {
|
|
implementation name: 'com/mojang/authlib/1.5.25/authlib-1.5.25'
|
|
implementation name: 'com/mojang/text2speech/1.10.3/text2speech-1.10.3'
|
|
implementation name: 'com/mojang/realms/1.10.21/realms-1.10.21'
|
|
implementation name: 'com/paulscode/codecjorbis/20101023/codecjorbis-20101023'
|
|
implementation name: 'com/paulscode/codecwav/20101023/codecwav-20101023'
|
|
implementation name: 'com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123'
|
|
implementation name: 'com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824'
|
|
implementation name: 'com/paulscode/soundsystem/20120107/soundsystem-20120107'
|
|
implementation name: 'oshi-project/oshi-core/1.1/oshi-core-1.1'
|
|
implementation name: 'org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/lwjgl-2.9.4-nightly-20150209'
|
|
implementation name: 'org/lwjgl/lwjgl/lwjgl_util/2.9.4-nightly-20150209/lwjgl_util-2.9.4-nightly-20150209'
|
|
implementation name: 'com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2'
|
|
|
|
if (os.isWindows()) {
|
|
implementation name: 'com/mojang/text2speech/1.10.3/text2speech-1.10.3-natives-windows'
|
|
implementation name: 'org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-windows'
|
|
} else {
|
|
implementation name: 'com/mojang/text2speech/1.10.3/text2speech-1.10.3-natives-linux'
|
|
implementation name: 'org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-linux'
|
|
}
|
|
|
|
implementation 'net.java.dev.jna:jna:4.4.0'
|
|
implementation 'net.java.jinput:jinput:2.0.5'
|
|
implementation 'net.java.jinput:jinput-platform:2.0.5'
|
|
implementation 'net.java.jutils:jutils:1.0.0'
|
|
implementation 'net.sf.jopt-simple:jopt-simple:5.0.3'
|
|
implementation 'org.apache.commons:commons-lang3:3.5'
|
|
implementation 'com.google.guava:guava:21.0'
|
|
implementation 'org.apache.logging.log4j:log4j-core:2.8.1'
|
|
implementation 'io.netty:netty-all:4.1.9.Final'
|
|
implementation 'com.google.code.gson:gson:2.8.0'
|
|
implementation 'commons-io:commons-io:2.5'
|
|
implementation 'com.google.code.findbugs:jsr305:3.0.1'
|
|
implementation 'it.unimi.dsi:fastutil:7.1.0'
|
|
implementation 'commons-codec:commons-codec:1.10'
|
|
}
|
|
|
|
tasks.register('copyNatives').configure {
|
|
doLast {
|
|
def classifier
|
|
def suffix
|
|
if (os.isWindows()) {
|
|
classifier = 'natives-windows'
|
|
suffix = '-natives-windows'
|
|
} else {
|
|
classifier = 'natives-linux'
|
|
suffix = '-natives-linux'
|
|
}
|
|
|
|
copy {
|
|
def resolvedArtifacts = configurations.runtimeClasspath.resolvedConfiguration.resolvedArtifacts
|
|
def matches = resolvedArtifacts.findAll {it.classifier == classifier || it.name.endsWith(suffix)}
|
|
from matches.collect { it.file }.collect { zipTree(it).matching { exclude 'META-INF/**' } }
|
|
into "$buildDir/natives"
|
|
}
|
|
}
|
|
}
|