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 {
|
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"))
|
||||||
}
|
}
|
||||||
|
|
@ -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.");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue