configurations {
shade
compile.extendsFrom(shade)
}
jar {
configurations.shade.each { dep ->
from project.zipTree(dep)
}
}
Наверно мне стоило упомянуть, что я в граблях как в жабе... года так 4 назад, т.е. тёмный лес...Берёшь shade
processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
expand 'version':project.version, 'mcversion':project.minecraft.version
}
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
jar {
manifest {
attributes 'FMLAT': 'forge_at.cfg'
}
}
}
buildscript {
repositories {
jcenter()
maven { url = "http://files.minecraftforge.net/maven" }
// flatDir { dirs 'shade' }
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
version = "x.x.x"
group = "y.y.y"
archivesBaseName = "modId"
sourceCompatibility = targetCompatibility = '1.8'
compileJava {
sourceCompatibility = targetCompatibility = '1.8'
}
minecraft {
version = "1.12.2-14.23.5.2775"
runDir = "run"
mappings = "snapshot_20180814"
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'shade')
}
processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
expand 'version':project.version, 'mcversion':project.minecraft.version
}
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } // FatJar
}
jar {
manifest {
attributes 'FMLAT': 'forge_at.cfg'
}
}
}
Я выше скинул полностью рабочий код.shade собирает все файлы в один jar. (Мб какие-то доп методы можно юзать, но я хз)
Если тебе нужно хранить зависимости - в моем понимании выглядит так.
Делаешь билд, в jar пихаешь .class файлы из либы.
Как автоматизировать - я хз.
Это не плагин, выше код смотри. И я его использовал на 3.5 версии граблей.так это плагин?... я пробовал какой-то ставить, но он ругался на старую версию граблей(2.4... требуется 3.0+)
apply plugin: 'com.github.johnrengelman.shadow'
buildscript {
....
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
...
}
}
...
shadowJar {
classifier = ''
dependencies {
include(dependency(group: 'com.kek.lol', name: 'Cheburek', version: '1.1'))
}
}
я и хотел(да вот только не мог.)... пока недавно не допёр обновить грабли...shadow
compile project(":projectName")