Added pkg module key factory and resource reader to project loading (#1547)

This change allows `PklProject` files, usually loaded via the `Project`
static methods, to have references to external packages via `package://`
URIs.

This is helpful for centralizing and sharing common package
configuration via packages.
This commit is contained in:
Vladimir Matveev
2026-04-29 16:45:14 -07:00
committed by GitHub
parent d3a3a14aaa
commit df063f17f3
@@ -89,8 +89,10 @@ public final class Project {
.setStackFrameTransformer(stackFrameTransformer) .setStackFrameTransformer(stackFrameTransformer)
.addModuleKeyFactory(ModuleKeyFactories.standardLibrary) .addModuleKeyFactory(ModuleKeyFactories.standardLibrary)
.addModuleKeyFactory(ModuleKeyFactories.file) .addModuleKeyFactory(ModuleKeyFactories.file)
.addModuleKeyFactory(ModuleKeyFactories.pkg)
.addResourceReader(ResourceReaders.environmentVariable()) .addResourceReader(ResourceReaders.environmentVariable())
.addResourceReader(ResourceReaders.file()) .addResourceReader(ResourceReaders.file())
.addResourceReader(ResourceReaders.pkg())
.addEnvironmentVariables(envVars) .addEnvironmentVariables(envVars)
.setTimeout(timeout) .setTimeout(timeout)
.setPowerAssertionsEnabled(powerAssertionsEnabled) .setPowerAssertionsEnabled(powerAssertionsEnabled)
@@ -238,9 +240,11 @@ public final class Project {
.setStackFrameTransformer(StackFrameTransformers.defaultTransformer) .setStackFrameTransformer(StackFrameTransformers.defaultTransformer)
.addModuleKeyFactory(ModuleKeyFactories.standardLibrary) .addModuleKeyFactory(ModuleKeyFactories.standardLibrary)
.addModuleKeyFactory(ModuleKeyFactories.file) .addModuleKeyFactory(ModuleKeyFactories.file)
.addModuleKeyFactory(ModuleKeyFactories.pkg)
.addModuleKeyFactory(ModuleKeyFactories.classPath(Project.class.getClassLoader())) .addModuleKeyFactory(ModuleKeyFactories.classPath(Project.class.getClassLoader()))
.addResourceReader(ResourceReaders.environmentVariable()) .addResourceReader(ResourceReaders.environmentVariable())
.addResourceReader(ResourceReaders.file()); .addResourceReader(ResourceReaders.file())
.addResourceReader(ResourceReaders.pkg());
} }
private static DeclaredDependencies parseDependencies( private static DeclaredDependencies parseDependencies(