PrettyPipes/build.gradle
2022-06-27 14:21:26 +02:00

181 lines
5.3 KiB
Groovy

buildscript {
repositories {
// These repositories are only for Gradle plugins, put any other repositories in the repository block further below
maven { url = 'https://maven.minecraftforge.net' }
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
}
}
apply plugin: 'net.minecraftforge.gradle'
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
version = '1.13.0'
group = 'de.ellpeck.prettypipes' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'PrettyPipes'
if (System.getenv('BUILD_NUMBER') != null) {
version += "." + System.getenv('BUILD_NUMBER')
}
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
minecraft {
mappings channel: 'official', version: '1.19'
runs {
client {
workingDirectory project.file('run')
// Recommended logging data for a userdev environment
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
// Recommended logging level for the console
property 'forge.logging.console.level', 'info'
mods {
prettypipes {
source sourceSets.main
}
}
}
server {
workingDirectory project.file('run')
// Recommended logging data for a userdev environment
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
// Recommended logging level for the console
property 'forge.logging.console.level', 'info'
mods {
prettypipes {
source sourceSets.main
}
}
}
data {
workingDirectory project.file('run')
// Recommended logging data for a userdev environment
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
// Recommended logging level for the console
property 'forge.logging.console.level', 'info'
args '--mod', 'prettypipes', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/'), '--existing', file('src/generated/resources')
mods {
prettypipes {
source sourceSets.main
}
}
}
all {
lazyToken('minecraft_classpath') {
configurations.embed.copyRecursive().resolve().collect { it.absolutePath }.join(File.pathSeparator)
}
}
}
}
sourceSets.main.resources {
srcDir 'src/generated/resources'
}
repositories {
mavenCentral()
maven {
url = "https://dvs1.progwml6.com/files/maven"
}
maven {
url = "https://www.cursemaven.com"
}
}
configurations {
embed
implementation.extendsFrom(embed)
}
dependencies {
minecraft 'net.minecraftforge:forge:1.19-41.0.45'
embed 'org.jgrapht:jgrapht-core:1.5.1'
compileOnly fg.deobf("mezz.jei:jei-1.19-common-api:11.0.0.206")
runtimeOnly fg.deobf("mezz.jei:jei-1.19-forge:11.0.0.206")
// to test the rf requiring and crafting stuff
/* runtimeOnly fg.deobf("curse.maven:powah-352656:3057732")
runtimeOnly fg.deobf("curse.maven:lollipop-347954:3057731")
runtimeOnly fg.deobf("curse.maven:mcjtylib-233105:3131241")
runtimeOnly fg.deobf("curse.maven:rftools-base-326041:3140147")
runtimeOnly fg.deobf("curse.maven:rftools-utility-342466:3152948")*/
}
// Example for how to get properties into the manifest for reading by the runtime..
jar {
manifest {
attributes([
"Specification-Title" : "prettypipes",
"Specification-Vendor" : "Ellpeck",
"Specification-Version" : "1", // We are version 1 of ourselves
"Implementation-Title" : project.name,
"Implementation-Version" : "${version}",
"Implementation-Vendor" : "Ellpeck",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
from configurations.embed.collect { it.isDirectory() ? it : zipTree(it) }
}
task deobfJar(type: Jar) {
from(sourceSets.main.output)
archiveName = "${baseName}-${version}-deobf.${extension}"
}
task sourcesJar(type: Jar) {
from(sourceSets.main.allSource)
archiveName = "${baseName}-${version}-sources.${extension}"
}
artifacts {
archives deobfJar
archives sourcesJar
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId project.group
artifactId project.archivesBaseName
version project.version
from components.java
artifact deobfJar {
classifier 'deobf'
}
artifact sourcesJar {
classifier 'sources'
}
pom.withXml {
def node = asNode()
if (node.dependencies.size() > 0)
node.remove(node.dependencies)
}
}
}
repositories {
maven {
url "file://" + System.getenv("local_maven")
}
}
}