diff --git a/.github/scripts/buildtools.sh b/.github/scripts/buildtools.sh deleted file mode 100644 index 8e89577..0000000 --- a/.github/scripts/buildtools.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -buildtools_dir=~/buildtools -buildtools=$buildtools_dir/BuildTools.jar -spigot_regex='version\("spigot", "([0-9.]*)' - -while read line -do - if [[ $line =~ $spigot_regex ]] - then - spigot_version=${BASH_REMATCH[1]} - fi -done < ./settings.gradle.kts - -set -e -echo "Installing Spigot: $spigot_version" - -if ! [[ -d $buildtools_dir && -f $buildtools ]]; then - mkdir $buildtools_dir - wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar -O $buildtools -fi - -java -jar $buildtools --rev "$spigot_version" --remapped \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 156e655..00d3b85 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,22 +12,30 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set Up JDK 17 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: java-version: 17 distribution: adopt - - name: Run BuildTools - run: . .github/scripts/buildtools.sh - - name: Setup Gradle uses: gradle/gradle-build-action@v2 + with: + cache-disabled: true - name: Build Spigot-Mapped - run: ./gradlew clean addonJar "-DoutDir=artifacts/" + uses: gradle/gradle-build-action@v2 + with: + arguments: | + addonJar + -PoutDir=artifacts + -PxenondevsNms + --scan + env: + ORG_GRADLE_PROJECT_xenondevsNmsUsername: ${{ secrets.XENONDEVS_NMS_USERNAME }} + ORG_GRADLE_PROJECT_xenondevsNmsPassword: ${{ secrets.XENONDEVS_NMS_PASSWORD }} - name: Upload Artifacts id: upload @@ -36,10 +44,10 @@ jobs: name: Artifacts path: ./artifacts/*.jar - - name: Publish Artifacts + - name: Attach Artifacts to Release if: github.event_name == 'release' uses: skx/github-action-publish-binaries@release-2.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - args: ./artifacts/*.jar + args: ./artifacts/*.jar \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 5cb5dfe..832492e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,28 +1,36 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile group = "xyz.xenondevs" -version = "1.0" +version = "1.1-RC.1" -val mojangMapped = project.hasProperty("mojang-mapped") || System.getProperty("mojang-mapped") != null +val mojangMapped = project.hasProperty("mojang-mapped") -@Suppress("DSL_SCOPE_VIOLATION") plugins { - kotlin("jvm") version "1.8.20" - id("xyz.xenondevs.specialsource-gradle-plugin") version "1.0.0" - id("xyz.xenondevs.string-remapper-gradle-plugin") version "1.0" - id("xyz.xenondevs.nova.nova-gradle-plugin") version libs.versions.nova + alias(libs.plugins.kotlin) + alias(libs.plugins.nova) + alias(libs.plugins.stringremapper) + alias(libs.plugins.specialsource) `maven-publish` } repositories { + mavenLocal() mavenCentral() maven("https://repo.xenondevs.xyz/releases") - mavenLocal { content { includeGroup("org.spigotmc") } } + + // include xenondevs-nms repository if requested + if (project.hasProperty("xenondevsNms")) { + maven("https://repo.papermc.io/repository/maven-public/") // authlib, brigadier, etc. + maven { + name = "xenondevsNms" + url = uri("https://repo.xenondevs.xyz/nms/") + credentials(PasswordCredentials::class) + } + } } dependencies { implementation(libs.nova) - implementation(variantOf(libs.spigot) { classifier("remapped-mojang") }) } addon { @@ -32,21 +40,16 @@ addon { novaVersion.set(libs.versions.nova) main.set("xyz.xenondevs.simpleupgrades.SimpleUpgrades") authors.add("StudioCode") - // spigotResourceId.set(12345) TODO: Set your spigot resource id } spigotRemap { spigotVersion.set(libs.versions.spigot.get().substringBefore('-')) sourceJarTask.set(tasks.jar) - spigotJarClassifier.set("") } remapStrings { remapGoal.set(if (mojangMapped) "mojang" else "spigot") spigotVersion.set(libs.versions.spigot.get()) - classes.set(listOf( - // Put your classes to string-remap here - )) } tasks { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 943f0cb..ccebba7 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index bdc9a83..37aef8d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 65dcd68..79a61d4 100755 --- a/gradlew +++ b/gradlew @@ -144,7 +144,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +152,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac diff --git a/settings.gradle.kts b/settings.gradle.kts index f72353f..3ca0a68 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,19 +3,37 @@ rootProject.name = "simple-upgrades" dependencyResolutionManagement { versionCatalogs { create("libs") { - version("nova", "0.13") - version("spigot", "1.19.4-R0.1-SNAPSHOT") + version("nova", "0.14-alpha.1") + version("spigot", "1.20-R0.1-SNAPSHOT") + version("kotlin", "1.8.20") + + plugin("kotlin", "org.jetbrains.kotlin.jvm").versionRef("kotlin") + plugin("nova", "xyz.xenondevs.nova.nova-gradle-plugin").versionRef("nova") + plugin("stringremapper", "xyz.xenondevs.string-remapper-gradle-plugin").version("1.3") + plugin("specialsource", "xyz.xenondevs.specialsource-gradle-plugin").version("1.1") library("nova", "xyz.xenondevs.nova", "nova").versionRef("nova") - library("spigot", "org.spigotmc", "spigot").versionRef("spigot") } } } pluginManagement { repositories { + mavenLocal() mavenCentral() + gradlePluginPortal() maven("https://repo.xenondevs.xyz/releases") - mavenLocal { content { includeGroup("org.spigotmc") } } + maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") // for nova-gradle-plugin + } +} + +plugins { + id("com.gradle.enterprise") version "3.13" +} + +gradleEnterprise { + buildScan { + termsOfServiceUrl = "https://gradle.com/terms-of-service" + termsOfServiceAgree = "yes" } } \ No newline at end of file diff --git a/src/main/kotlin/xyz/xenondevs/simpleupgrades/SimpleUpgrades.kt b/src/main/kotlin/xyz/xenondevs/simpleupgrades/SimpleUpgrades.kt index eabab51..ecfa87c 100644 --- a/src/main/kotlin/xyz/xenondevs/simpleupgrades/SimpleUpgrades.kt +++ b/src/main/kotlin/xyz/xenondevs/simpleupgrades/SimpleUpgrades.kt @@ -1,5 +1,10 @@ package xyz.xenondevs.simpleupgrades import xyz.xenondevs.nova.addon.Addon +import xyz.xenondevs.nova.update.ProjectDistributor -object SimpleUpgrades : Addon() \ No newline at end of file +object SimpleUpgrades : Addon() { + + override val projectDistributors = listOf(ProjectDistributor.hangar("xenondevs/Simple-Upgrades")) + +} \ No newline at end of file