diff --git a/build.gradle.kts b/build.gradle.kts index cfded6d..512228b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import java.io.BufferedReader + plugins { id("com.gradleup.shadow") version "8.3.5" // Import shadow API. java // Tell gradle this is a java project. @@ -5,13 +7,20 @@ plugins { kotlin("jvm") version "2.1.21" // Import kotlin jvm plugin for kotlin/java integration. } -java { - // Declare java version. - sourceCompatibility = JavaVersion.VERSION_17 -} +val commitHash = Runtime + .getRuntime() + .exec(arrayOf("git", "rev-parse", "--short=10", "HEAD")) + .let { process -> + process.waitFor() + val output = process.inputStream.use { + it.bufferedReader().use(BufferedReader::readText) + } + process.destroy() + output.trim() + } group = "nl.skbotnl.shopbridge-og" // Declare bundle identifier. -version = "1.1.5" // Declare plugin version (will be in .jar). +version = "1.1.6" // Declare plugin version (will be in .jar). val apiVersion = "1.19" // Declare minecraft server target version. tasks.named("processResources") { @@ -53,17 +62,9 @@ dependencies { implementation("com.ghostchu.quickshop.compatibility:common:5.2.0.7") } -tasks.withType().configureEach { // Ensure reproducible builds. - isPreserveFileTimestamps = false - isReproducibleFileOrder = true -} - -tasks.shadowJar { - archiveClassifier.set("") // Use empty string instead of null - from("LICENSE") { - into("/") - } - minimize() +val targetJavaVersion = 17 +kotlin { + jvmToolchain(targetJavaVersion) } tasks.build { @@ -74,20 +75,35 @@ tasks.jar { archiveClassifier.set("part") } -tasks.withType().configureEach { - options.compilerArgs.add("-parameters") - options.compilerArgs.add("-Xlint:deprecation") // Triggers deprecation warning messages. - options.encoding = "UTF-8" - options.isFork = true +tasks.shadowJar { + archiveClassifier.set("") + minimize() } -kotlin { - jvmToolchain(17) +tasks.processResources { + val props = mapOf( + "version" to version, + "apiVersion" to apiVersion + ) + inputs.properties(props) + filteringCharset = "UTF-8" + filesMatching("plugin.yml") { + expand(props) + } + + from("LICENSE") { + into("/") + } +} + +tasks.withType().configureEach { + isPreserveFileTimestamps = false + isReproducibleFileOrder = true } java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(targetJavaVersion) vendor = JvmVendorSpec.GRAAL_VM } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e644113..1b33c55 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradlew b/gradlew index b740cf1..23d15a9 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -112,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -203,7 +205,7 @@ fi DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # and any embedded shellness will be escaped. # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # treated as '${Hostname}' itself on the command line. @@ -211,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/gradlew.bat b/gradlew.bat index 7101f8e..5eed7ee 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## @@ -68,11 +70,11 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/settings.gradle.kts b/settings.gradle.kts index 6795491..d53d503 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" + id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" } rootProject.name = "ShopBridge-OG"