SimplexCore/build.gradle

123 lines
3.6 KiB
Groovy
Raw Permalink Normal View History

2021-02-25 09:53:24 +00:00
plugins {
id "java"
id "com.github.johnrengelman.shadow" version "7.1.2"
id 'maven-publish'
id 'signing'
}
java {
withJavadocJar()
withSourcesJar()
2021-02-25 09:53:24 +00:00
}
version project.properties["pluginVersion"]
targetCompatibility = sourceCompatibility = JavaVersion.VERSION_17
2021-02-25 09:53:24 +00:00
2022-04-16 21:53:12 +00:00
2021-02-25 09:53:24 +00:00
repositories {
mavenCentral()
2022-04-16 21:53:12 +00:00
maven { url "https://jitpack.io" }
maven { url "https://papermc.io/repo/repository/maven-public/" }
maven { url "https://os1.oss.sonatype.org/content/groups/public/" }
2021-02-25 09:53:24 +00:00
}
dependencies {
//provided
2022-04-16 21:53:12 +00:00
compileOnly "io.papermc.paper:paper-api:1.18-R0.1-SNAPSHOT"
2021-02-25 09:53:24 +00:00
//compile
2022-04-16 21:53:12 +00:00
implementation "org.jetbrains:annotations:23.0.0"
implementation "org.reflections:reflections:0.10.2"
2021-02-25 09:53:24 +00:00
}
shadowJar {
classifier project.properties["pluginJarClassifier"].toString()
baseName project.properties["pluginName"].toString()
//shading and relocation
2022-04-16 21:53:12 +00:00
relocate "org.reflections", "${project.properties["pluginMainPackage"]}.shaded.reflections"
relocate "javassist", "${project.properties["pluginMainPackage"]}.shaded.jassist"
2021-02-25 09:53:24 +00:00
}
apply plugin: 'maven-publish'
apply plugin: 'signing'
signing {
sign configurations.archives
}
group = "io.github.simplexdevelopment"
archivesBaseName = "simplex-core"
version = "1.0.0"
2021-02-25 09:53:24 +00:00
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)
}
}