Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
896c8ab
Update dependency org.openjdk.nashorn:nashorn-core to v15.4 (#7)
renovate[bot] Mar 12, 2023
2c4d011
Update dependency gradle to v7.6.1 (#6)
renovate[bot] Mar 12, 2023
9df02df
Update actions/checkout action to v2.6.0 (#5)
renovate[bot] Mar 12, 2023
042bc8d
Update plugin com.github.johnrengelman.shadow to v6.1.0 (#9)
renovate[bot] Mar 12, 2023
75ffbf0
Update actions/setup-java action to v3 (#11)
renovate[bot] Mar 12, 2023
08a7095
Update actions/checkout action to v3 (#10)
renovate[bot] Mar 12, 2023
cf7f0b0
Update dependency gradle to v8 (#12)
renovate[bot] Mar 13, 2023
1cae7d1
Bump version
rainbowdashlabs Mar 13, 2023
30a7f81
Switch to lyna
rainbowdashlabs Mar 13, 2023
49d66e5
Update actions/checkout action to v3.4.0 (#14)
renovate[bot] Mar 16, 2023
960178a
Update plugin com.github.johnrengelman.shadow to v8.1.1 (#15)
renovate[bot] Mar 21, 2023
fb42781
Update actions/checkout action to v3.5.0 (#16)
renovate[bot] Mar 24, 2023
8eeb4bd
Update actions/checkout action to v3.5.1 (#17)
renovate[bot] Apr 12, 2023
841ad8a
Update dependency gradle to v8.1.1 (#18)
renovate[bot] Apr 24, 2023
bfe5e3c
Update actions/checkout action to v3.5.2 (#19)
renovate[bot] Apr 24, 2023
bf25c36
Update plugin net.minecrell.plugin-yml.bukkit to v0.6.0 (#20)
renovate[bot] Jun 19, 2023
1c85f7e
Update dependency gradle to v8.2.1
renovate[bot] Jul 10, 2023
36391da
Update plugin de.chojo.publishdata to v1.2.5
renovate[bot] Jul 24, 2023
d9adc1c
Update dependency gradle to v8.3
renovate[bot] Aug 17, 2023
c05356b
Update actions/checkout action to v4
renovate[bot] Sep 4, 2023
81f2059
Update actions/checkout digest to 8ade135
renovate[bot] Sep 22, 2023
6f92cfb
Update dependency gradle to v8.4
renovate[bot] Oct 4, 2023
6b6530f
Update actions/checkout digest to b4ffde6
renovate[bot] Oct 19, 2023
d80ad76
Update dependency gradle to v8.5
renovate[bot] Nov 29, 2023
3425608
Update actions/setup-java action to v4
renovate[bot] Dec 1, 2023
4e3175d
Update plugin de.chojo.publishdata to v1.3.0
renovate[bot] Jan 16, 2024
c24473d
Update plugin de.chojo.publishdata to v1.4.0
renovate[bot] Jan 18, 2024
17300ad
Update dependency gradle to v8.6
renovate[bot] Feb 2, 2024
2903390
Update actions/checkout digest to 9bb5618
renovate[bot] Mar 12, 2024
a1776fb
Update dependency gradle to v8.7
renovate[bot] Mar 22, 2024
e790659
Update actions/checkout digest to 1d96c77
renovate[bot] Apr 22, 2024
fb9bb0c
Update actions/checkout digest to 0ad4b8f
renovate[bot] Apr 25, 2024
ff470f9
Update actions/checkout digest to 44c2b7a
renovate[bot] May 8, 2024
4a2467e
Update actions/checkout digest to a5ac7e5
renovate[bot] May 20, 2024
254212d
Update dependency gradle to v8.8
renovate[bot] May 31, 2024
48a61fe
Update actions/checkout digest to 692973e
renovate[bot] Jun 13, 2024
ef4c85e
Update dependency gradle to v8.9
renovate[bot] Jul 11, 2024
eff6ac7
Update dependency gradle to v8.10
renovate[bot] Aug 14, 2024
4211683
Update dependency de.eldoria:eldo-util to v1.14.5 (#45)
renovate[bot] Aug 18, 2024
f43736e
Update dependency gradle to v8.10.1
renovate[bot] Sep 9, 2024
5138ed1
Update dependency gradle to v8.10.2
renovate[bot] Sep 23, 2024
9d73287
Update actions/checkout digest to eef6144
renovate[bot] Oct 7, 2024
99de61e
Update actions/checkout digest to 11bd719
renovate[bot] Oct 23, 2024
794fac0
Update dependency gradle to v8.11 (#50)
renovate[bot] Nov 11, 2024
ce446c0
Update dependency gradle to v8.11.1 (#51)
renovate[bot] Nov 20, 2024
a12c713
Update dependency gradle to v8.12 (#53)
renovate[bot] Dec 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/publish_to_nexus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2.3.4
- name: Set up JDK 11
uses: actions/setup-java@v2
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Set up JDK 15
uses: actions/setup-java@v4
with:
distribution: adopt
java-version: 11
java-version: 15
- name: Build with Gradle
run: ./gradlew --build-cache build
- name: Test with Gradle
Expand All @@ -28,4 +28,4 @@ jobs:
run: ./gradlew publishMavenPublicationToEldoNexusRepository
env:
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
10 changes: 5 additions & 5 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2.3.4
- name: Set up JDK 11
uses: actions/setup-java@v2
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Set up JDK 15
uses: actions/setup-java@v4
with:
distribution: adopt
java-version: 11
java-version: 15
- name: Build with Gradle
run: ./gradlew --build-cache build
- name: Test with Gradle
run: ./gradlew test
run: ./gradlew test
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/eldoriarpg/NashornJs/Verify%20state?style=for-the-badge&label=Building)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/eldoriarpg/NashornJs/Publish%20to%20Nexus?style=for-the-badge&label=Publishing)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/eldoriarpg/NashornJs/verify.yml?style=for-the-badge&label=Building)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/eldoriarpg/NashornJs/publish_to_nexus.yml?style=for-the-badge&label=Publishing)
![Sonatype Nexus (Releases)](https://img.shields.io/nexus/maven-releases/de.eldoria/nashornjs?label=Release&logo=Release&server=https%3A%2F%2Feldonexus.de&style=for-the-badge)
![Sonatype Nexus (Development)](https://img.shields.io/nexus/maven-dev/de.eldoria/nashornjs?label=DEV&logo=Release&server=https%3A%2F%2Feldonexus.de&style=for-the-badge)
![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/de.eldoria/nashornjs?color=orange&label=Snapshot&server=https%3A%2F%2Feldonexus.de&style=for-the-badge)
Expand Down Expand Up @@ -41,4 +41,4 @@ Write a `\` at the end to add another line.

Every player can have its own engine instance.

You will need the `nashorn.eval` permission to access the cli.
You will need the `nashorn.eval` permission to access the cli.
117 changes: 56 additions & 61 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,70 +1,74 @@
import net.minecrell.pluginyml.bukkit.BukkitPluginDescription.Permission.Default.OP
import net.minecrell.pluginyml.bukkit.BukkitPluginDescription.PluginLoadOrder.STARTUP

plugins {
java
`maven-publish`
id("com.github.johnrengelman.shadow") version "6.0.0"
id("com.github.johnrengelman.shadow") version "8.1.1"
id("de.chojo.publishdata") version "1.4.0"
id("net.minecrell.plugin-yml.bukkit") version "0.6.0"
}

repositories {
maven { url = uri("https://repo.maven.apache.org/maven2/") }
maven { url = uri("https://papermc.io/repo/repository/maven-public/") }
maven("https://repo.maven.apache.org/maven2/")
maven("https://papermc.io/repo/repository/maven-public/")
maven("https://eldonexus.de/repository/maven-public/")
}

dependencies {
implementation("org.openjdk.nashorn", "nashorn-core", "15.3")
implementation("de.eldoria", "eldo-util", "1.14.5")
implementation("org.openjdk.nashorn", "nashorn-core", "15.4")
compileOnly("com.destroystokyo.paper", "paper-api", "1.16.5-R0.1-SNAPSHOT")
testCompileOnly("com.destroystokyo.paper", "paper-api", "1.16.5-R0.1-SNAPSHOT")
}

group = "de.eldoria"
version = "1.1.3"
version = "1.1.4"
description = "NashornJs"
java.sourceCompatibility = JavaVersion.VERSION_11
val shadebade = project.group as String + "." + project.name.toLowerCase() + "."


java {
withSourcesJar()
withJavadocJar()
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}

val shadebade = "de.eldoria.nashornjs.libs."

publishData {
addBuildData()
useEldoNexusRepos()
publishComponent("java")
}

publishing {
val publishData = PublishData(project)

publications {
create<MavenPublication>("maven") {
from(components["java"])
groupId = project.group as String?
artifactId = project.name.toLowerCase()
version = publishData.getVersion()
}
publications.create<MavenPublication>("maven") {
publishData.configurePublication(this)
}

repositories {
maven {
name = "EldoNexus"
url = uri(publishData.getRepository())

authentication {
credentials(PasswordCredentials::class) {
username = System.getenv("NEXUS_USERNAME")
password = System.getenv("NEXUS_PASSWORD")
}
}
name = "EldoNexus"
url = uri(publishData.getRepository())

}
}
}

tasks {
processResources {
from(sourceSets.main.get().resources.srcDirs) {
filesMatching("plugin.yml") {
expand(
"version" to PublishData(project).getVersion(true)
)
}
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
}

shadowJar {
relocate("de.eldoria.eldoutilities", shadebade + "eldoutil")
relocate("org.openjdk.nashorn", shadebade + "js")
relocate("org.objectweb.asm", shadebade + "asm")
mergeServiceFiles()
archiveBaseName.set(project.name)
}

test {
Expand All @@ -73,42 +77,33 @@ tasks {
events("passed", "skipped", "failed")
}
}
compileJava{
compileJava {
options.encoding = "UTF-8"
}
}

class PublishData(private val project: Project) {
var type: Type = getReleaseType()
var hashLength: Int = 7

private fun getReleaseType(): Type {
val branch = getCheckedOutBranch()
return when {
branch.contentEquals("master") -> Type.RELEASE
branch.startsWith("dev") -> Type.DEV
else -> Type.SNAPSHOT
bukkit {
name = "NashornJs"
description = "Nashorn JavaScript Engine for Servers on Java 15 or higher."
main = "de.eldoria.nashornjs.Nashorn"
version = publishData.getVersion(true)
apiVersion = "1.13"
authors = listOf("OpenJDK", "Hadde")
load = STARTUP

commands {
register("js") {
aliases = listOf("nashorn", "eval")
permission = "nashorn.eval"
description = "Evaluate some JS."
}
}

private fun getCheckedOutGitCommitHash(): String = System.getenv("GITHUB_SHA")?.substring(0, hashLength) ?: "local"

private fun getCheckedOutBranch(): String = System.getenv("GITHUB_REF")?.replace("refs/heads/", "") ?: "local"

fun getVersion(): String = getVersion(false)

fun getVersion(appendCommit: Boolean): String =
type.append(getVersionString(), appendCommit, getCheckedOutGitCommitHash())

private fun getVersionString(): String = (project.version as String).replace("-SNAPSHOT", "").replace("-DEV", "")

fun getRepository(): String = type.repo

enum class Type(private val append: String, val repo: String, private val addCommit: Boolean) {
RELEASE("", "https://eldonexus.de/repository/maven-releases/", false),
DEV("-DEV", "https://eldonexus.de/repository/maven-dev/", true),
SNAPSHOT("-SNAPSHOT", "https://eldonexus.de/repository/maven-snapshots/", true);

fun append(name: String, appendCommit: Boolean, commitHash:String): String = name.plus(append).plus(if (appendCommit && addCommit) "-".plus(commitHash) else "")
permissions {
register("nashorn.eval") {
default = OP
}
}
}


Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading
Loading