ci(plugins): run the plugin self-tests and build the shipped plugin jars
The three framework-free test mains under plugins/*/test were never run by anything — not CI, not the plugin builds — and the velocity/paper/limbo jars were only ever compiled by deploy/bootstrap.sh on a live host. CI gains a 'plugins' job (JDK 21 plus the Gradle 8.14 the plugin Dockerfiles pin) running plugins/test.sh: the three mains (InviteCardTest's jars fetched from Maven Central, pinned and digest-checked) and the three production builds. The first real run surfaced and fixed two untested assumptions: InviteCardTest's documented javac line omitted examination-api (adventure-api's Component signatures reference Examinable, so javac needs it too), and limbo's '+' version default cannot resolve — LOOHP's repository serves no maven-metadata — so the script resolves the current release off the Limbo CI artifact name (the same source bootstrap reads) and plugins/README.md stops advertising a bare 'gradle -p plugins/limbo build' that can never work. Verified in gradle:8.14-jdk21 on the VM: mains OK (32/36/48 checks); velocity/paper/limbo BUILD SUCCESSFUL.
This commit is contained in:
4 files changed
+131
-6
No files matched your search
@@ -15,13 +15,15 @@ import java.util.List;
|
||||
* — a proxy console cannot render either, and a screenshot is not a check.
|
||||
*
|
||||
* <p>Hermetic and framework-free like {@link InviteBookTest}: it lives outside
|
||||
* {@code src/main/java} so it never ships in the plugin jar, needs only adventure-api on
|
||||
* the classpath, and a failed assertion throws so the process exits non-zero.
|
||||
* {@code src/main/java} so it never ships in the plugin jar, needs only the Kyori jars
|
||||
* on the classpath, and a failed assertion throws so the process exits non-zero.
|
||||
*
|
||||
* <p>Run: {@code javac -cp <adventure-api.jar> -d <out>
|
||||
* <p>Run (all three jars on both classpaths — adventure-api's Component signatures
|
||||
* reference Examinable, so javac needs examination-api too, not just the runtime):
|
||||
* {@code javac -cp <adventure-api.jar>:<adventure-key.jar>:<examination-api.jar> -d <out>
|
||||
* velocity/src/main/java/best/lolicon/felis/velocity/InviteCard.java
|
||||
* velocity/test/best/lolicon/felis/velocity/InviteCardTest.java && java -cp
|
||||
* <out>;<adventure-api.jar>;<adventure-key.jar>;<examination-api.jar>
|
||||
* <out>:<adventure-api.jar>:<adventure-key.jar>:<examination-api.jar>
|
||||
* best.lolicon.felis.velocity.InviteCardTest}.
|
||||
*/
|
||||
public final class InviteCardTest {
|
||||
|
||||
Reference in new issue
Block a user