115 lines
3.4 KiB
Groovy
115 lines
3.4 KiB
Groovy
plugins {
|
|
id 'java-library'
|
|
id 'maven-publish'
|
|
}
|
|
|
|
base {
|
|
archivesName = "${mod_id}-${project.name}-${minecraft_version}"
|
|
}
|
|
|
|
java {
|
|
toolchain.languageVersion = JavaLanguageVersion.of(java_version)
|
|
withSourcesJar()
|
|
withJavadocJar()
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
// https://docs.gradle.org/current/userguide/declaring_repositories.html#declaring_content_exclusively_found_in_one_repository
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
name = 'Sponge'
|
|
url = 'https://repo.spongepowered.org/repository/maven-public'
|
|
}
|
|
}
|
|
filter { includeGroupAndSubgroups("org.spongepowered") }
|
|
}
|
|
maven {
|
|
name = 'BlameJared'
|
|
url = 'https://maven.blamejared.com'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'org.jetbrains:annotations:24.1.0'
|
|
}
|
|
|
|
// Declare capabilities on the outgoing configurations.
|
|
// Read more about capabilities here: https://docs.gradle.org/current/userguide/component_capabilities.html#sec:declaring-additional-capabilities-for-a-local-component
|
|
['apiElements', 'runtimeElements', 'sourcesElements', 'javadocElements'].each { variant ->
|
|
configurations."$variant".outgoing {
|
|
capability("$group:$mod_id-${project.name}-${minecraft_version}:$version")
|
|
capability("$group:$mod_id:$version")
|
|
}
|
|
publishing.publications.configureEach {
|
|
suppressPomMetadataWarningsFor(variant)
|
|
}
|
|
}
|
|
|
|
sourcesJar {
|
|
from(rootProject.file("LICENSE")) {
|
|
rename { "${it}_${mod_name}" }
|
|
}
|
|
}
|
|
|
|
jar {
|
|
from(rootProject.file("LICENSE")) {
|
|
rename { "${it}_${mod_name}" }
|
|
}
|
|
|
|
manifest {
|
|
attributes([
|
|
'Specification-Title' : mod_name,
|
|
'Specification-Vendor' : mod_author,
|
|
'Specification-Version' : project.jar.archiveVersion,
|
|
'Implementation-Title' : project.name,
|
|
'Implementation-Version': project.jar.archiveVersion,
|
|
'Implementation-Vendor' : mod_author,
|
|
'Built-On-Minecraft' : minecraft_version
|
|
])
|
|
}
|
|
}
|
|
|
|
processResources {
|
|
def expandProps = [
|
|
"version": version,
|
|
"group": project.group, //Else we target the task's group.
|
|
"minecraft_version": minecraft_version,
|
|
"forge_version": forge_version,
|
|
"forge_loader_version_range": forge_loader_version_range,
|
|
"forge_version_range": forge_version_range,
|
|
"minecraft_version_range": minecraft_version_range,
|
|
"fabric_version": fabric_version,
|
|
"fabric_loader_version": fabric_loader_version,
|
|
"mod_name": mod_name,
|
|
"mod_author": mod_author,
|
|
"mod_id": mod_id,
|
|
"license": license,
|
|
"description": project.description,
|
|
"neoforge_version": neoforge_version,
|
|
"neoforge_loader_version_range": neoforge_loader_version_range,
|
|
"credits": credits,
|
|
"java_version": java_version
|
|
]
|
|
|
|
filesMatching(['pack.mcmeta', 'fabric.mod.json', 'META-INF/mods.toml', 'META-INF/neoforge.mods.toml', '*.mixins.json']) {
|
|
expand expandProps
|
|
}
|
|
inputs.properties(expandProps)
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
register('mavenJava', MavenPublication) {
|
|
artifactId base.archivesName.get()
|
|
from components.java
|
|
}
|
|
}
|
|
repositories {
|
|
maven {
|
|
url System.getenv("local_maven_url")
|
|
}
|
|
}
|
|
}
|