mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-04-02 13:37:45 -05:00
This reverts commit 3f9c6978.
While this could work in theory, I'd also have to reimplement and run
the ForgeGradle jar stripping function myself. Delegating the work to
ForgeGradle is simple enough for now, though it limits Loom to Gradle 5.
187 lines
4.5 KiB
Groovy
187 lines
4.5 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'maven-publish'
|
|
id 'java-gradle-plugin'
|
|
id 'idea'
|
|
id 'eclipse'
|
|
id 'groovy'
|
|
id 'checkstyle'
|
|
}
|
|
|
|
sourceCompatibility = 1.8
|
|
targetCompatibility = 1.8
|
|
|
|
group = 'net.fabricmc'
|
|
archivesBaseName = project.name
|
|
def baseVersion = '0.5'
|
|
|
|
def build = 'local'
|
|
def ENV = System.getenv()
|
|
if (ENV.BUILD_NUMBER) {
|
|
build = 'jenkins #${ENV.BUILD_NUMBER}'
|
|
version = baseVersion + '.' + ENV.BUILD_NUMBER
|
|
} else {
|
|
version = baseVersion + '-forge.28'
|
|
}
|
|
|
|
repositories {
|
|
maven {
|
|
name = 'Fabric'
|
|
url = 'https://maven.fabricmc.net/'
|
|
}
|
|
maven {
|
|
name = 'Forge'
|
|
url = 'https://files.minecraftforge.net/maven/'
|
|
}
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation gradleApi()
|
|
|
|
// libraries
|
|
implementation ('commons-io:commons-io:2.6')
|
|
implementation ('org.zeroturnaround:zt-zip:1.13')
|
|
implementation ('com.google.code.gson:gson:2.8.5')
|
|
implementation ('com.google.guava:guava:28.0-jre')
|
|
|
|
// game handling utils
|
|
implementation ('net.fabricmc:stitch:0.4.6+build.74') {
|
|
exclude module: 'enigma'
|
|
}
|
|
|
|
// tinyfile management
|
|
implementation ('net.fabricmc:tiny-remapper:0.3.0.70')
|
|
implementation ('net.fabricmc:tiny-mappings-parser:0.2.2.14')
|
|
|
|
implementation ('net.fabricmc:lorenz-tiny:2.0.0+build.2') {
|
|
transitive = false
|
|
}
|
|
|
|
// decompilers
|
|
implementation ('net.fabricmc:procyon-fabric-compilertools:0.5.35.13')
|
|
implementation ('org.jetbrains:intellij-fernflower:1.2.1.16')
|
|
implementation ('org.benf:cfr:0.150')
|
|
|
|
// source code remapping
|
|
implementation ('org.cadixdev:mercury:0.1.0.fabric-SNAPSHOT')
|
|
|
|
// Kapt integration
|
|
compileOnly('org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72')
|
|
|
|
// Forge patches
|
|
implementation ('net.minecraftforge:binarypatcher:1.1.1')
|
|
implementation ('org.cadixdev:lorenz:0.5.3')
|
|
implementation ('org.cadixdev:lorenz-asm:0.5.3')
|
|
implementation ('org.cadixdev:atlas:0.2.0')
|
|
implementation ('net.minecraftforge.gradle:ForgeGradle:3.0.179')
|
|
|
|
// Testing
|
|
testImplementation(gradleTestKit())
|
|
testImplementation('org.spockframework:spock-core:1.3-groovy-2.4') {
|
|
exclude module: 'groovy-all'
|
|
}
|
|
}
|
|
|
|
jar {
|
|
manifest {
|
|
attributes 'Implementation-Version': version + ' Build(' + build + ')'
|
|
}
|
|
}
|
|
|
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
|
classifier = 'sources'
|
|
from sourceSets.main.allSource
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
classifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
apply from: 'https://github.com/FabricMC/fabric-docs/raw/master/gradle/license.gradle'
|
|
|
|
license {
|
|
exclude '**/loom/util/DownloadUtil.java'
|
|
}
|
|
|
|
checkstyle {
|
|
configFile = file('checkstyle.xml')
|
|
toolVersion = '8.25'
|
|
}
|
|
|
|
checkstyleMain {
|
|
logging.setLevel(LogLevel.LIFECYCLE)
|
|
}
|
|
|
|
gradlePlugin {
|
|
plugins {
|
|
fabricLoom {
|
|
id = 'fabric-loom'
|
|
implementationClass = 'net.fabricmc.loom.LoomGradlePlugin'
|
|
}
|
|
}
|
|
}
|
|
|
|
import org.w3c.dom.Document
|
|
import org.w3c.dom.Element
|
|
import org.w3c.dom.Node
|
|
|
|
publishing {
|
|
publications {
|
|
plugin(MavenPublication) { publication ->
|
|
groupId project.group
|
|
artifactId project.archivesBaseName
|
|
version project.version
|
|
|
|
from components['java']
|
|
|
|
artifact sourcesJar
|
|
artifact javadocJar
|
|
}
|
|
|
|
// Also publish a snapshot so people can use the latest version if they wish
|
|
snapshot(MavenPublication) { publication ->
|
|
groupId project.group
|
|
artifactId project.archivesBaseName
|
|
version baseVersion + '-SNAPSHOT'
|
|
|
|
from components['java']
|
|
|
|
artifact sourcesJar
|
|
artifact javadocJar
|
|
}
|
|
|
|
// Manually crate the plugin marker for snapshot versions
|
|
snapshotPlugin(MavenPublication) { publication ->
|
|
groupId 'fabric-loom'
|
|
artifactId 'fabric-loom.gradle.plugin'
|
|
version baseVersion + '-SNAPSHOT'
|
|
|
|
pom.withXml({
|
|
// Based off org.gradle.plugin.devel.plugins.MavenPluginPublishPlugin
|
|
Element root = asElement()
|
|
Document document = root.getOwnerDocument()
|
|
Node dependencies = root.appendChild(document.createElement('dependencies'))
|
|
Node dependency = dependencies.appendChild(document.createElement('dependency'))
|
|
Node groupId = dependency.appendChild(document.createElement('groupId'))
|
|
groupId.setTextContent('net.fabricmc')
|
|
Node artifactId = dependency.appendChild(document.createElement('artifactId'))
|
|
artifactId.setTextContent('fabric-loom')
|
|
Node version = dependency.appendChild(document.createElement('version'))
|
|
version.setTextContent(baseVersion + '-SNAPSHOT')
|
|
})
|
|
}
|
|
}
|
|
repositories {
|
|
maven {
|
|
url 'http://mavenupload.modmuss50.me/'
|
|
if (project.hasProperty('mavenPass')) {
|
|
credentials {
|
|
username 'buildslave'
|
|
password project.getProperty('mavenPass')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |