SimplexCore/build.gradle
Paldiu 1d17d36177 Minor Update
Can't figure out shading but otherwise just a minor update to how things are handled.
2022-01-30 09:07:27 -06:00

141 lines
3.8 KiB
Groovy

plugins {
id "java"
id "com.github.johnrengelman.shadow" version "7.1.2"
id 'maven-publish'
id 'signing'
}
java {
withJavadocJar()
withSourcesJar()
}
version project.properties["pluginVersion"]
targetCompatibility = sourceCompatibility = JavaVersion.VERSION_17
repositories {
mavenCentral()
//maven artifact repo urls
[
"https://jitpack.io",
"https://papermc.io/repo/repository/maven-public/",
"https://os1.oss.sonatype.org/content/groups/public/"
].each { s ->
maven {
url s
}
}
}
dependencies {
//provided
[
"io.papermc.paper:paper-api:1.18-R0.1-SNAPSHOT",
].each {s ->
compileOnly s
}
//compile
[
"org.jetbrains:annotations:23.0.0",
"org.reflections:reflections:0.10.2"
].each {s ->
implementation s
}
}
shadowJar {
classifier project.properties["pluginJarClassifier"].toString()
baseName project.properties["pluginName"].toString()
//shading and relocation
[
"org.reflections",
"javassist"
].each {s ->
relocate s, "${project.properties["pluginMainPackage"]}.shaded.$s"
}
}
apply plugin: 'maven-publish'
apply plugin: 'signing'
signing {
sign configurations.archives
}
group = "io.github.simplexdevelopment"
archivesBaseName = "simplex-core"
version = "1.0.0"
processResources {
//update resources when building
doFirst {
file("$buildDir/resources/main").listFiles().each {
it.delete()
}
}
//define variables
expand(
"pluginVersion": project.version,
"pluginName": project.properties["pluginName"],
"pluginMain": "${project.properties["pluginMainPackage"]}.${project.properties["pluginMain"]}"
)
}
publishing {
publications {
mavenJava(MavenPublication) {
artifactId = 'simplexcore'
from components.java
versionMapping {
usage('java-api') {
fromResolutionOf('runtimeClasspath')
}
usage('java-runtime') {
fromResolutionResult()
}
}
pom {
name = 'SimplexCore'
description = 'An API and Library designed for development of Paper plugins.'
url = 'https://simplexdev.app'
licenses {
license {
name = 'GNU General Public License v2.0'
url = 'https://opensource.org/licenses/gpl-2.0.php'
}
}
developers {
developer {
id = 'simplexdevelopment'
name = 'Simplex Development Group'
}
}
scm {
connection = 'scm:git:git://github.com/simplexdevelopment/simplexcore.git'
developerConnection = 'scm:git:ssh://github.com/simplexdevelopment/simplexcore.git'
url = 'https://github.com/SimplexDevelopment/SimplexCore'
}
}
}
}
repositories {
maven {
// change URLs to point to your repos, e.g. http://my.org/repo
def releasesRepoUrl = layout.buildDirectory.dir('https://s01.oss.sonatype.org/content/repository/releases')
def snapshotsRepoUrl = layout.buildDirectory.dir('https://s01.oss.sonatype.org/content/repository/snapshots')
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
}
}
}
signing {
sign publishing.publications.mavenJava
}
javadoc {
if(JavaVersion.current().isJava9Compatible()) {
options.addBooleanOption('html5', true)
}
}