Merge remote-tracking branch 'origin/main'

This commit is contained in:
天クマ 2026-05-23 22:02:33 -03:00
commit 8272a98e9c
2 changed files with 23 additions and 5 deletions

View file

@ -103,12 +103,18 @@ val prepareServiceFiles = tasks.register("prepareServiceFiles") {
doLast { doLast {
val registrars = mutableSetOf<String>() val registrars = mutableSetOf<String>()
inputFiles.forEach { file -> inputFiles.forEach { file ->
registrars.addAll(file.readLines().filter { it.isNotBlank() }) println("Checking file: ${file.absolutePath}, exists: ${file.exists()}")
if (file.exists()) {
val lines = file.readLines().filter { it.isNotBlank() }
println("Found lines: $lines")
registrars.addAll(lines)
}
} }
val mergedFile = outputDir.get().file(serviceFile).asFile val mergedFile = outputDir.get().file(serviceFile).asFile
mergedFile.parentFile.mkdirs() mergedFile.parentFile.mkdirs()
mergedFile.writeText(registrars.joinToString("\n")) mergedFile.writeText(registrars.joinToString("\n"))
println("Merged service file content: \n${registrars.joinToString("\n")}")
} }
} }
@ -122,9 +128,10 @@ tasks.register<Jar>("bundleAll") {
from(prepareServiceFiles) { from(prepareServiceFiles) {
into("META-INF/services") into("META-INF/services")
include("org.adrianvictor.lib.versioning.VersionedServiceRegistrar") include("org.adrianvictor.lib.versioning.VersionedServiceRegistrar")
duplicatesStrategy = DuplicatesStrategy.INCLUDE
} }
duplicatesStrategy = DuplicatesStrategy.EXCLUDE duplicatesStrategy = DuplicatesStrategy.INCLUDE
archiveClassifier.set("all-implementations") archiveClassifier.set("all-implementations")
archiveVersion.set(project.version.toString()) archiveVersion.set(project.version.toString())
@ -162,5 +169,6 @@ tasks.withType<JavaCompile> {
tasks.runServer { tasks.runServer {
minecraftVersion("1.21.1") minecraftVersion("1.21.1")
pluginJars.from(tasks.named("jarR1_21")) // Include ONLY the all-implementations jar as the plugin
pluginJars.setFrom(tasks.named("bundleAll"))
} }

View file

@ -10,19 +10,29 @@ import java.util.ServiceLoader;
public class Main extends JavaPlugin { public class Main extends JavaPlugin {
static {
System.out.println("Main class loaded!");
}
private static VersionedServiceFactory versionedServiceFactory; private static VersionedServiceFactory versionedServiceFactory;
private static VersionMatcher versionMatcher; private static VersionMatcher versionMatcher;
@Override @Override
public void onEnable() { public void onEnable() {
versionMatcher = new VersionMatcher(); versionMatcher = new VersionMatcher();
versionedServiceFactory = new DefaultVersionedServiceFactory(versionMatcher); versionedServiceFactory = new DefaultVersionedServiceFactory(versionMatcher);
ServiceLoader<VersionedServiceRegistrar> registrars = ServiceLoader.load(VersionedServiceRegistrar.class, getClassLoader()); ClassLoader cl = getClassLoader();
getLogger().info("Plugin ClassLoader: " + cl.getClass().getName());
String serviceFile = "META-INF/services/org.adrianvictor.lib.versioning.VersionedServiceRegistrar";
java.net.URL res = cl.getResource(serviceFile);
getLogger().info("Service file resource: " + res);
ServiceLoader<VersionedServiceRegistrar> registrars = ServiceLoader.load(VersionedServiceRegistrar.class, cl);
int count = 0; int count = 0;
for (VersionedServiceRegistrar registrar : registrars) { for (VersionedServiceRegistrar registrar : registrars) {
registrar.register(versionedServiceFactory); registrar.register(versionedServiceFactory);
getLogger().info("Registered registrar: " + registrar.getClass().getName());
count++; count++;
} }
getLogger().info("Registered " + count + " version-specific registrars."); getLogger().info("Registered " + count + " version-specific registrars.");