From 3ce816f91a5a7536ce2034af469d68cd9ed7dd7f Mon Sep 17 00:00:00 2001 From: Matthew Strapp Date: Tue, 29 Oct 2024 08:50:02 -0500 Subject: feat: Add Java/JVM (#24) Signed-off-by: Matt Strapp --- build.gradle.kts | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 build.gradle.kts (limited to 'build.gradle.kts') diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..943d587 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,91 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * This generated file contains a sample Kotlin library project to get you started. + * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.10.2/userguide/building_java_projects.html in the Gradle documentation. + * This project uses @Incubating APIs which are subject to change. + */ + +plugins { + // Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin. + alias(libs.plugins.kotlin.jvm) + + // Apply the java-library plugin for API and implementation separation. + `java-library` + id("maven-publish") + id("net.researchgate.release") version "3.0.2" +} + +repositories { + // Use Maven Central for resolving dependencies. + mavenCentral() +} + +dependencies { +} + +testing { + suites { + // Configure the built-in test suite + val test by getting(JvmTestSuite::class) { + // Use Kotlin Test test framework + useKotlinTest("2.0.0") + } + } +} + +// Apply a specific Java toolchain to ease working on different environments. +java { + toolchain { + languageVersion = JavaLanguageVersion.of(11) + } +} + +publishing { + publications { + create("maven") { + from(components["java"]) + groupId = "io.github.locusts-r-us" + artifactId = "locusts" + version = "0.1.0" + pom { + name = "Locusts" + description = "A JVM library that introduces locusts into your codebase." + licenses { + license { + name = "Zero-Clause BSD" + url = "https://spdx.org/licenses/0BSD.html" + } + } + developers { + developer { + id = "rosstheross" + name = "Matt Strapp" + email = "matt@mattstrapp.net" + } + } + scm { + connection = "scm:git:https://github.com/locusts-r-us/locusts.git" + developerConnection = "scm:git:ssh://github.com/locusts-r-us/locusts.git" + url = "https://github.com/locusts-r-us/locusts" + } + } + } + } + repositories { + maven { + name = "GitHubPackages" + url = uri("https://maven.pkg.github.com/locusts-r-us/locusts") + credentials { + username = System.getenv("GITHUB_ACTOR") + password = System.getenv("GITHUB_TOKEN") + } + } + } +} + +release { + git { + requireBranch = "master" + } +} \ No newline at end of file -- cgit v1.2.3