ViaAprilFools/build.gradle

114 lines
3.0 KiB
Groovy

plugins {
id "java-library"
id "maven-publish"
id "idea"
id "net.raphimc.class-token-replacer" version "1.0.0"
}
base {
java.toolchain.languageVersion = JavaLanguageVersion.of(8)
compileJava.options.encoding = compileTestJava.options.encoding = javadoc.options.encoding = "UTF-8"
group = project.maven_group ?: rootProject.maven_group
archivesName = project.maven_name ?: rootProject.maven_name
version = project.maven_version ?: rootProject.maven_version
}
repositories {
mavenCentral()
maven {
name = "ViaVersion"
url "https://repo.viaversion.com"
}
}
dependencies {
compileOnly "com.viaversion:viaversion-common:4.10.1"
compileOnly "com.viaversion:viabackwards-common:4.10.1"
compileOnly "org.yaml:snakeyaml:2.2"
compileOnly "com.google.guava:guava:33.2.0-jre"
compileOnly "io.netty:netty-handler:4.1.109.Final"
}
sourceSets {
main {
classTokenReplacer {
property("\${version}", project.version)
property("\${impl_version}", "git-${project.name}-${project.version}:${project.latestCommitHash()}")
}
}
}
java {
withSourcesJar()
withJavadocJar()
}
jar {
from("LICENSE") {
rename { "${it}_${project.name ?: rootProject.name}" }
}
}
publishing {
repositories {
maven {
name = "Via"
url = "https://repo.viaversion.com/"
credentials(PasswordCredentials)
authentication {
basic(BasicAuthentication)
}
}
}
publications {
maven(MavenPublication) {
groupId = project.maven_group
artifactId = project.maven_name
version = project.maven_version
from components.java
pom {
name = "ViaAprilFools"
description = "ViaVersion addon to add support for some notable Minecraft snapshots"
url = "https://github.com/ViaVersion/ViaAprilFools"
licenses {
license {
name = "GPL-3.0 License"
url = "https://github.com/ViaVersion/ViaAprilFools/blob/main/LICENSE"
}
}
developers {
developer {
id = "RK_01"
}
}
scm {
connection = "scm:git:git://github.com/ViaVersion/ViaAprilFools.git"
developerConnection = "scm:git:ssh://github.com/ViaVersion/ViaAprilFools.git"
url = "https://github.com/ViaVersion/ViaAprilFools.git"
}
}
}
}
}
idea {
module {
["run"].each {
excludeDirs << file("$it")
}
}
}
String latestCommitHash() {
def stdout = new ByteArrayOutputStream()
exec {
commandLine "git", "rev-parse", "--short", "HEAD"
standardOutput = stdout
}
return stdout.toString().trim()
}