mirror of
https://github.com/SimplexDevelopment/SimplexCore.git
synced 2024-12-22 08:37:37 +00:00
123 lines
3.6 KiB
Groovy
123 lines
3.6 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 { url "https://jitpack.io" }
|
|
maven { url "https://papermc.io/repo/repository/maven-public/" }
|
|
maven { url "https://os1.oss.sonatype.org/content/groups/public/" }
|
|
}
|
|
dependencies {
|
|
//provided
|
|
compileOnly "io.papermc.paper:paper-api:1.18-R0.1-SNAPSHOT"
|
|
|
|
//compile
|
|
implementation "org.jetbrains:annotations:23.0.0"
|
|
implementation "org.reflections:reflections:0.10.2"
|
|
}
|
|
|
|
shadowJar {
|
|
classifier project.properties["pluginJarClassifier"].toString()
|
|
baseName project.properties["pluginName"].toString()
|
|
|
|
//shading and relocation
|
|
relocate "org.reflections", "${project.properties["pluginMainPackage"]}.shaded.reflections"
|
|
relocate "javassist", "${project.properties["pluginMainPackage"]}.shaded.jassist"
|
|
}
|
|
|
|
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)
|
|
}
|
|
}
|