Compare commits
2 commits
0484769372
...
27a93cdb46
| Author | SHA1 | Date | |
|---|---|---|---|
| 27a93cdb46 | |||
| 8272a98e9c |
2 changed files with 23 additions and 5 deletions
|
|
@ -103,12 +103,18 @@ val prepareServiceFiles = tasks.register("prepareServiceFiles") {
|
|||
doLast {
|
||||
val registrars = mutableSetOf<String>()
|
||||
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
|
||||
mergedFile.parentFile.mkdirs()
|
||||
mergedFile.writeText(registrars.joinToString("\n"))
|
||||
println("Merged service file content: \n${registrars.joinToString("\n")}")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -122,9 +128,10 @@ tasks.register<Jar>("bundleAll") {
|
|||
from(prepareServiceFiles) {
|
||||
into("META-INF/services")
|
||||
include("org.adrianvictor.lib.versioning.VersionedServiceRegistrar")
|
||||
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
||||
}
|
||||
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
||||
|
||||
archiveClassifier.set("all-implementations")
|
||||
archiveVersion.set(project.version.toString())
|
||||
|
|
@ -162,5 +169,6 @@ tasks.withType<JavaCompile> {
|
|||
|
||||
tasks.runServer {
|
||||
minecraftVersion("1.21.1")
|
||||
pluginJars.from(tasks.named("jarR1_21"))
|
||||
// Include ONLY the all-implementations jar as the plugin
|
||||
pluginJars.setFrom(tasks.named("bundleAll"))
|
||||
}
|
||||
|
|
@ -10,19 +10,29 @@ import java.util.ServiceLoader;
|
|||
|
||||
public class Main extends JavaPlugin {
|
||||
|
||||
static {
|
||||
System.out.println("Main class loaded!");
|
||||
}
|
||||
|
||||
private static VersionedServiceFactory versionedServiceFactory;
|
||||
private static VersionMatcher versionMatcher;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
versionMatcher = new 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;
|
||||
for (VersionedServiceRegistrar registrar : registrars) {
|
||||
registrar.register(versionedServiceFactory);
|
||||
getLogger().info("Registered registrar: " + registrar.getClass().getName());
|
||||
count++;
|
||||
}
|
||||
getLogger().info("Registered " + count + " version-specific registrars.");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue