107 lines
4.1 KiB
Groovy
107 lines
4.1 KiB
Groovy
|
apply from: 'gradle/scripts/helpers.gradle'
|
||
|
|
||
|
setDefaultProperty('publish_to_maven', true, false)
|
||
|
setDefaultProperty('publish_to_curseforge', true, false)
|
||
|
setDefaultProperty('publish_to_modrinth', true, false)
|
||
|
|
||
|
if (propertyBool('publish_to_maven')) {
|
||
|
assertProperty('maven_name')
|
||
|
assertProperty('maven_url')
|
||
|
publishing {
|
||
|
repositories {
|
||
|
maven {
|
||
|
name propertyString('maven_name').replaceAll("\\s", "")
|
||
|
url propertyString('maven_url')
|
||
|
credentials(PasswordCredentials)
|
||
|
}
|
||
|
}
|
||
|
publications {
|
||
|
mavenJava(MavenPublication) {
|
||
|
from components.java // Publish with standard artifacts
|
||
|
setGroupId(propertyString('root_package'))// Publish with root package as maven group
|
||
|
setArtifactId(propertyString('mod_id')) // Publish artifacts with mod id as the artifact id
|
||
|
|
||
|
// Custom artifact:
|
||
|
// If you want to publish a different artifact to the one outputted when building normally
|
||
|
// Create a different gradle task (Jar task), in extra.gradle
|
||
|
// Remove the 'from components.java' line above
|
||
|
// Add this line (change the task name):
|
||
|
// artifacts task_name
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Documentation here: https://github.com/matthewprenger/CurseGradle/wiki/
|
||
|
if (propertyBool('publish_to_curseforge')) {
|
||
|
apply plugin: 'com.matthewprenger.cursegradle'
|
||
|
assertProperty('curseforge_project_id')
|
||
|
assertProperty('release_type')
|
||
|
setDefaultProperty('curseforge_debug', false, false)
|
||
|
curseforge {
|
||
|
apiKey = System.getenv('CURSEFORGE_TOKEN') == null ? "" : System.getenv('CURSEFORGE_TOKEN')
|
||
|
// noinspection GroovyAssignabilityCheck
|
||
|
project {
|
||
|
id = propertyString('curseforge_project_id')
|
||
|
addGameVersion 'Java 8'
|
||
|
addGameVersion 'Forge'
|
||
|
addGameVersion '1.12.2'
|
||
|
releaseType = propertyString('release_type')
|
||
|
if (!propertyBool('publish_with_changelog')) {
|
||
|
changelog = parserChangelog()
|
||
|
changelogType = 'markdown'
|
||
|
}
|
||
|
mainArtifact tasks.reobfJar, {
|
||
|
displayName = "${propertyString('mod_name')} ${propertyString('mod_version')}"
|
||
|
if (propertyBool('use_mixins')) {
|
||
|
relations {
|
||
|
requiredDependency 'mixin-booter'
|
||
|
}
|
||
|
}
|
||
|
if (propertyBool('use_asset_mover')) {
|
||
|
relations {
|
||
|
requiredDependency 'assetmover'
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
options {
|
||
|
debug = propertyBool('curseforge_debug')
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Documentation here: https://github.com/modrinth/minotaur
|
||
|
if (propertyBool('publish_to_modrinth')) {
|
||
|
apply plugin: 'com.modrinth.minotaur'
|
||
|
assertProperty('modrinth_project_id')
|
||
|
assertProperty('release_type')
|
||
|
setDefaultProperty('modrinth_debug', false, false)
|
||
|
modrinth {
|
||
|
token = System.getenv('MODRINTH_TOKEN') ? "" : System.getenv('MODRINTH_TOKEN')
|
||
|
projectId = propertyString('modrinth_project_id')
|
||
|
versionNumber = propertyString('mod_version')
|
||
|
versionType = propertyString('release_type')
|
||
|
uploadFile = tasks.reobfJar
|
||
|
gameVersions = ['1.12.2']
|
||
|
loaders = ['forge']
|
||
|
debugMode = propertyBool('modrinth_debug')
|
||
|
if (propertyBool('use_mixins') || propertyBool('use_asset_mover')) {
|
||
|
dependencies {
|
||
|
if (propertyBool('use_mixins')) {
|
||
|
required.project 'mixinbooter'
|
||
|
}
|
||
|
if (propertyBool('use_asset_mover')) {
|
||
|
required.project 'assetmover'
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (!propertyBool('publish_with_changelog')) {
|
||
|
changelog = parserChangelog()
|
||
|
}
|
||
|
if (propertyBool('modrinth_sync_readme')) {
|
||
|
syncBodyFrom = file('README.md').text
|
||
|
tasks.modrinth.dependsOn(tasks.modrinthSyncBody)
|
||
|
}
|
||
|
}
|
||
|
}
|