The login limbo now performs the onboarding inside Limbo: on join it checks the collision blacklist, mints a bind code, opens a book linking the player to console.<root_domain> (guiding them to the system browser), polls link-status, and transfers to the lobby via BungeeCord Connect — fail-closed on blacklist, mint/transport error, or window elapse. FelisApiClient gains linkStatus/isBlacklisted on the existing internal transport.
59 lines
2.1 KiB
Groovy
59 lines
2.1 KiB
Groovy
plugins {
|
|
id 'java'
|
|
}
|
|
|
|
group = 'best.lolicon.felis'
|
|
version = '0.1.0'
|
|
|
|
// Build with a JDK 21 toolchain but emit portable Java 17 bytecode (options.release
|
|
// below). Current LOOHP/Limbo releases ship Java 21 API classes (class-file major
|
|
// 65), so the compiler JDK must be >= 21 to *read* them — a JDK 17 fails with
|
|
// "wrong version 65.0, should be 61.0". Targeting release 17 keeps the plugin
|
|
// loadable on any Limbo running Java 17+. See deploy/limbo/Dockerfile (21-jdk).
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21)
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
// LOOHP publishes the Limbo API artifact to their own repository.
|
|
maven {
|
|
name = 'loohp'
|
|
url = 'https://repo.loohpjames.com/repository'
|
|
}
|
|
}
|
|
|
|
// Pull in the platform-neutral link core (best.lolicon.felis.link) the same way
|
|
// every other module does — a source include, not a jar dependency — so the
|
|
// account-link client (LinkClient), the internal read/drive client (FelisApiClient)
|
|
// and the env/properties config loader compile straight into this jar with nothing
|
|
// to shade. See plugins/README.md "Architecture".
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDir '../shared/src/main/java'
|
|
}
|
|
}
|
|
}
|
|
|
|
// The Limbo API version this plugin compiles against. It is CODE-ONLY in this Go
|
|
// repo (not built by CI); a deployer building the image passes the release that
|
|
// matches the Limbo.jar they bundle, e.g. -PlimboVersion=0.7.11-ALPHA. Kept a
|
|
// property so no specific build number is hardcoded into the tree.
|
|
def limboVersion = project.findProperty('limboVersion') ?: '+'
|
|
|
|
dependencies {
|
|
// Limbo provides its own API at runtime (the plugin is loaded into the Limbo
|
|
// JVM), so it is compile-only — nothing to shade.
|
|
compileOnly "com.loohp:Limbo:${limboVersion}"
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
options.encoding = 'UTF-8'
|
|
// Portable output: read the Java 21 Limbo API with the JDK 21 toolchain above,
|
|
// but emit Java 17 bytecode so the plugin loads on any Limbo running Java 17+.
|
|
options.release = 17
|
|
}
|