- 13
- 2
- 4
Надеюсь кто-то уже настраивал себе среду под ShadowGraddle.
У меня есть настроенная среда под плагины, и там shadowgradle работает почти идеально. Решил перенести свой build.gradle оттуда в среду с Forge, но не тут то было.
Билдиться с нужными либами оно конечно стало, вот только мод работать перестал:
С сборкой без shadowgradle все было ок. Билдил все через gradlew build. Build.gradle прикрепил
P.s. не кидайтесь яблоками, возможно когда-то я предпочту GSON вместо Jackson, но это не единственная либа на очереди, потому легче мне не станет)
P.s.2 с обычной конфигурацией он пихает весь Forge в мой джарник. С
P.s.3 ну и если посмотреть готовый джарник, то в shadow майновские методы никак не обфуцированы
У меня есть настроенная среда под плагины, и там shadowgradle работает почти идеально. Решил перенести свой build.gradle оттуда в среду с Forge, но не тут то было.
Билдиться с нужными либами оно конечно стало, вот только мод работать перестал:
- На клиенте
java.lang.NoSuchMethodError: net.minecraft.client.Minecraft.getMinecraft()
- На серверной стороне
java.lang.NoSuchMethodError: net.minecraft.item.Item.getItemById(I)
С сборкой без shadowgradle все было ок. Билдил все через gradlew build. Build.gradle прикрепил
P.s. не кидайтесь яблоками, возможно когда-то я предпочту GSON вместо Jackson, но это не единственная либа на очереди, потому легче мне не станет)
P.s.2 с обычной конфигурацией он пихает весь Forge в мой джарник. С
configurations = [project.configurations.shadow]
все тоже самое.P.s.3 ну и если посмотреть готовый джарник, то в shadow майновские методы никак не обфуцированы
build.gradle:
buildscript {
repositories {
mavenCentral()
maven {
url = uri("https://plugins.gradle.org/m2/")
}
maven {
name = "github"
url = "https://github.com/juanmuscaria/maven/raw/master"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:[1.2-1.4.6-SNAPSHOT,)'
classpath("com.github.jengelman.gradle.plugins:shadow:4.0.0")
}
}
repositories {
flatDir {
dirs 'deps'
}
maven {
name = "Snapshot repo"
url = "https://oss.sonatype.org/service/local/repositories/iogitlabhohserg-1069/content/"
}
}
apply plugin: 'java'
apply plugin: 'forge'
apply plugin : 'com.github.johnrengelman.shadow'
[compileJava, compileTestJava][I].options[/I].encoding = 'UTF-8'
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'
version = mod_version
group = mod_group
archivesBaseName = mod_archives_name
minecraft {
version = "1.7.10-10.13.4.1614-1.7.10"
runDir = "eclipse"
replace "@VERSION@", project.version
}
configurations {
shade
implementation.extendsFrom shade
}
dependencies {
implementation "io.gitlab.hohserg.elegant.networking:elegant-networking-1.7.10:3.14"
compileOnly "io.gitlab.hohserg.elegant.networking:annotation-processor:3.14"
annotationProcessor "io.gitlab.hohserg.elegant.networking:annotation-processor:3.14"
shade 'com.fasterxml.jackson.core:jackson-databind:2.14.2'
}
processResources {
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
expand 'version': project.version,
'mod_id': mod_id,
'mod_name': mod_name,
'mod_author': mod_author,
'mod_description': mod_description,
'mc_version': mc_version,
'mod_version': mod_version,
'mod_icon': mod_icon
}
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
task devJar(type: Jar) {
classifier = 'dev'
from sourceSets.main.output
}
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives devJar
archives sourcesJar
}
shadowJar {
relocate 'com.fasterxml.jackson', 'exlnmoddeps.com.fasterxml.jackson'
archiveBaseName.set('shadowMod')
archiveClassifier.set('')
archiveVersion.set('')
configurations = [project.configurations.shade]
}
reobf {
shadowJar {
}
}
assemble.dependsOn shadowJar
idea.module.inheritOutputDirs = true