This is an automated email from the ASF dual-hosted git repository. jsedding pushed a commit to branch SLING-13308-bad-path-handling-on-windows in repository https://gitbox.apache.org/repos/asf/sling-scriptingbundle-maven-plugin.git
commit dfde1e925ddf37b5c497f2b7875c84255b3b409a Author: Julian Sedding <[email protected]> AuthorDate: Wed Aug 12 12:57:28 2026 +0200 SLING-13308 - windows only: incorrect capabilities for escaped resource paths --- .../plugin/processor/ResourceTypeFolderAnalyser.java | 14 ++++++-------- .../sling/scriptingbundle/plugin/AbstractPluginTest.java | 16 +++++++--------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/apache/sling/scriptingbundle/plugin/processor/ResourceTypeFolderAnalyser.java b/src/main/java/org/apache/sling/scriptingbundle/plugin/processor/ResourceTypeFolderAnalyser.java index d1df4df..bbc49ee 100644 --- a/src/main/java/org/apache/sling/scriptingbundle/plugin/processor/ResourceTypeFolderAnalyser.java +++ b/src/main/java/org/apache/sling/scriptingbundle/plugin/processor/ResourceTypeFolderAnalyser.java @@ -60,14 +60,12 @@ public class ResourceTypeFolderAnalyser { if (resourceTypeDirectory.startsWith(scriptsDirectory) && resourceTypeFolderPredicate.test(resourceTypeDirectory)) { try (DirectoryStream<Path> resourceTypeDirectoryStream = Files.newDirectoryStream(resourceTypeDirectory)) { Path relativeResourceTypeDirectory = scriptsDirectory.relativize(resourceTypeDirectory); - final ResourceType resourceType = - ResourceType.parseResourceType( - FilenameUtils.normalize(inContentPackage ? - PlatformNameFormat.getRepositoryPath(relativeResourceTypeDirectory.toString()) : - relativeResourceTypeDirectory.toString(), - true - ) - ); + String resourceTypePath = FilenameUtils.normalize(relativeResourceTypeDirectory.toString(), true); + final ResourceType resourceType = ResourceType.parseResourceType( + inContentPackage + ? PlatformNameFormat.getRepositoryPath(resourceTypePath) + : resourceTypePath + ); resourceTypeDirectoryStream.forEach(entry -> { if (Files.isRegularFile(entry)) { Path file = entry.getFileName(); diff --git a/src/test/java/org/apache/sling/scriptingbundle/plugin/AbstractPluginTest.java b/src/test/java/org/apache/sling/scriptingbundle/plugin/AbstractPluginTest.java index ee5adb2..f609fb8 100644 --- a/src/test/java/org/apache/sling/scriptingbundle/plugin/AbstractPluginTest.java +++ b/src/test/java/org/apache/sling/scriptingbundle/plugin/AbstractPluginTest.java @@ -243,22 +243,20 @@ public abstract class AbstractPluginTest { private void verifyCapabilities(Capabilities capabilities, Set<ProvidedResourceTypeCapability> pExpected, Set<RequiredResourceTypeCapability> rExpected, Set<ProvidedScriptCapability> sExpected) { Set<ProvidedResourceTypeCapability> provided = new HashSet<>(capabilities.getProvidedResourceTypeCapabilities()); - StringBuilder missingProvided = new StringBuilder(); + StringBuilder differences = new StringBuilder(); for (ProvidedResourceTypeCapability capability : pExpected) { boolean removed = provided.remove(capability); if (!removed) { - missingProvided.append("Missing capability: ").append(capability.toString()).append(System.lineSeparator()); + differences.append("Missing capability: ").append(capability.toString()).append(System.lineSeparator()); } } - if (missingProvided.length() > 0) { - fail(missingProvided.toString()); - } - StringBuilder extraProvided = new StringBuilder(); + for (ProvidedResourceTypeCapability capability : provided) { - extraProvided.append("Extra provided capability: ").append(capability.toString()).append(System.lineSeparator()); + differences.append("Extra provided capability: ").append(capability.toString()).append(System.lineSeparator()); } - if (extraProvided.length() > 0) { - fail(extraProvided.toString()); + + if (differences.length() > 0) { + fail(differences.toString()); } Set<RequiredResourceTypeCapability> required = new HashSet<>(capabilities.getRequiredResourceTypeCapabilities());
