137 lines
4.1 KiB
Groovy
137 lines
4.1 KiB
Groovy
plugins {
|
|
id 'net.neoforged.gradle.userdev' version '7.0.+'
|
|
id 'com.matthewprenger.cursegradle' version "${cursegradle_version}"
|
|
id 'com.github.johnrengelman.shadow' version "${shadow_version}"
|
|
id 'maven-publish'
|
|
}
|
|
|
|
var mod_version = mcef_version
|
|
|
|
archivesBaseName = project.archives_base_name
|
|
version = mod_version
|
|
group = mod_packagename
|
|
|
|
java.toolchain.languageVersion = JavaLanguageVersion.of(java_version as int)
|
|
|
|
runs {
|
|
client {
|
|
workingDirectory project.file('run')
|
|
}
|
|
server {
|
|
workingDirectory project.file('run/server')
|
|
}
|
|
}
|
|
|
|
/*
|
|
Add the following to ~/.gradle/gradle.properties
|
|
systemProp.org.gradle.s3.endpoint=https://<the s3 endpoint>
|
|
MCEF_S3_PUBLISH_URL_SNAPSHOT=s3://<bucket>/repositories/snapshots
|
|
MCEF_S3_PUBLISH_URL_RELEASE=s3://<bucket>/repositories/releases
|
|
MCEF_S3_PUBLISH_ACCESS_KEY=<access key>
|
|
MCEF_S3_PUBLISH_SECRET_KEY=<secret key>
|
|
*/
|
|
publishing {
|
|
repositories {
|
|
maven {
|
|
url ((mcef_version.toString().endsWith("SNAPSHOT")) ? findProperty('MCEF_S3_PUBLISH_URL_SNAPSHOT') : findProperty('MCEF_S3_PUBLISH_URL_RELEASE'))
|
|
credentials(AwsCredentials) {
|
|
accessKey = findProperty('MCEF_S3_PUBLISH_ACCESS_KEY')
|
|
secretKey = findProperty('MCEF_S3_PUBLISH_SECRET_KEY')
|
|
}
|
|
}
|
|
}
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
from components.java
|
|
groupId = 'com.cinemamod'
|
|
artifactId = 'mcef-neoforge'
|
|
version = mcef_version
|
|
}
|
|
}
|
|
}
|
|
|
|
sourceSets.main.resources { srcDir 'src/generated/resources' }
|
|
|
|
configurations {
|
|
shadowMc.extendsFrom minecraftLibrary
|
|
}
|
|
|
|
tasks.register('prepareWorkspace') {
|
|
|
|
}
|
|
|
|
dependencies {
|
|
implementation "net.neoforged:neoforge:${neoforge_version}"
|
|
|
|
implementation(project(':common')) {
|
|
transitive false
|
|
}
|
|
}
|
|
|
|
tasks.register('generateJava', Copy) {
|
|
from project(':common').file('src/template/java')
|
|
into "${buildDir}/generated/java"
|
|
expand 'compatibility_version': mod_compatibility_version
|
|
}
|
|
sourceSets.main.java {
|
|
srcDir "${buildDir}/generated/java"
|
|
}
|
|
compileJava.dependsOn generateJava
|
|
|
|
processResources {
|
|
filesMatching('**/*.toml') {
|
|
expand 'mod_id': mod_id,
|
|
'mod_version': mod_version,
|
|
'mod_name': mod_name,
|
|
'neoforge_version': neoforge_version,
|
|
'loader_version': loader_version,
|
|
'neoforge_dependency': 'neoforge_dependency',
|
|
'minecraft_version': minecraft_version
|
|
}
|
|
from("${project(':common').projectDir}/src/main/resources")
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
source(project(':common').sourceSets.main.allSource)
|
|
source(project(':common').sourceSets.jcef.allSource)
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
options.encoding = 'UTF-8'
|
|
}
|
|
|
|
jar {
|
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
manifest {
|
|
attributes(['Specification-Title' : mod_name,
|
|
'Specification-Vendor' : mod_vendor,
|
|
'Specification-Version' : "1",
|
|
'Implementation-Title' : mod_name,
|
|
'Implementation-Version' : mod_version,
|
|
'Implementation-Vendor' : mod_vendor,
|
|
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
|
'java-cef-commit' : project.parent.getCheckedOutGitCommitHash(project.parent)
|
|
])
|
|
}
|
|
from configurations.shadow.collect { it.isDirectory() ? it : zipTree(it) }
|
|
}
|
|
|
|
curseforge {
|
|
apiKey = file("${rootDir}/curseforge_api_key.txt").exists() ? file("${rootDir}/curseforge_api_key.txt").text.trim() : ''
|
|
project {
|
|
id = curse_id
|
|
releaseType = release_type
|
|
addGameVersion minecraft_version
|
|
addGameVersion 'NeoForge'
|
|
addGameVersion "Java ${java_version}"
|
|
mainArtifact(jar) {
|
|
displayName = "[NEOFORGE][${minecraft_version}] ${mod_name} ${mod_version}"
|
|
}
|
|
}
|
|
}
|
|
|
|
shadowJar {
|
|
configurations = [project.configurations.shadowMc]
|
|
archiveClassifier = ''
|
|
}
|