diff --git a/src/main/java/com/canonical/devpackspring/build/PluginDescriptorContainer.java b/src/main/java/com/canonical/devpackspring/build/PluginDescriptorContainer.java index 8163a2e..c1a2567 100644 --- a/src/main/java/com/canonical/devpackspring/build/PluginDescriptorContainer.java +++ b/src/main/java/com/canonical/devpackspring/build/PluginDescriptorContainer.java @@ -41,8 +41,9 @@ public PluginDescriptorContainer(Reader source) { try { for (String key : yamlData.keySet()) { Map root = yamlData.get(key); - addPlugin(key, root, BuildSystem.gradle); - addPlugin(key, root, BuildSystem.maven); + PluginResource[] resources = readResources((ArrayList>) root.get("resources")); + addPlugin(key, root, BuildSystem.gradle, resources); + addPlugin(key, root, BuildSystem.maven, resources); } } catch (Exception ex) { @@ -51,10 +52,10 @@ public PluginDescriptorContainer(Reader source) { } } - private void addPlugin(String key, Map root, BuildSystem buildSystem) { + private void addPlugin(String key, Map root, BuildSystem buildSystem, PluginResource[] resources) { Map description = (Map) root.get(buildSystem.name()); if (description != null) { - PluginConfiguration config = readPluginConfiguration( + PluginConfiguration config = readPluginConfiguration(resources, (Map) description.get("configuration")); PluginTasks pluginTasks = readTasks((Map) description.get("tasks")); pluginMap.put(getKey(key, buildSystem), @@ -85,12 +86,13 @@ else if (v instanceof List list) { return new PluginTasks(result); } - private @NonNull PluginConfiguration readPluginConfiguration(Map configuration) { + private @NonNull PluginConfiguration readPluginConfiguration(PluginResource[] resources, + Map configuration) { if (configuration == null) { return new PluginConfiguration(new PluginResource[0], new MavenConfiguration(null, null, null), null, null); } Map maven = (Map) configuration.get("maven"); - return new PluginConfiguration(readResources((ArrayList>) configuration.get("resources")), + return new PluginConfiguration(resources, new MavenConfiguration(maven.get("configuration"), maven.get("dependencies"), maven.get("executions")), (String) configuration.get("gradleKotlin"), (String) configuration.get("gradleGroovy")); } diff --git a/src/main/resources/com/canonical/devpackspring/plugin-configuration.yaml b/src/main/resources/com/canonical/devpackspring/plugin-configuration.yaml index 56656e5..ab2eb21 100644 --- a/src/main/resources/com/canonical/devpackspring/plugin-configuration.yaml +++ b/src/main/resources/com/canonical/devpackspring/plugin-configuration.yaml @@ -15,6 +15,10 @@ format: tasks: apply: :apply rockcraft: + resources: + - path: .config/config.xml + content: | + gradle: id: io.github.rockcrafters.rockcraft version: 1.2.3 @@ -31,10 +35,6 @@ rockcraft: push-rock: push-rock push-build-rock: push-build-rock configuration: - resources: - - path: .config/config.xml - content: | - maven: configuration: | diff --git a/src/test/resources/com/canonical/devpackspring/build/test-custom-plugin.yaml b/src/test/resources/com/canonical/devpackspring/build/test-custom-plugin.yaml index 5cd890a..81784f5 100644 --- a/src/test/resources/com/canonical/devpackspring/build/test-custom-plugin.yaml +++ b/src/test/resources/com/canonical/devpackspring/build/test-custom-plugin.yaml @@ -2,11 +2,9 @@ format-me: gradle: id: io.spring.javaformat version: 0.0.41 - class-name: io.spring.javaformat.gradle.SpringJavaFormatPlugin default-task: format description: Formats source code tasks: format: format repository: gradlePluginPortal() - classpath: "io.spring.javaformat:io.spring.javaformat.gradle.plugin:0.0.43" diff --git a/src/test/resources/com/canonical/devpackspring/build/test-plugin.yaml b/src/test/resources/com/canonical/devpackspring/build/test-plugin.yaml index 7742a24..7c1952f 100644 --- a/src/test/resources/com/canonical/devpackspring/build/test-plugin.yaml +++ b/src/test/resources/com/canonical/devpackspring/build/test-plugin.yaml @@ -1,4 +1,11 @@ checkStyle: + resources: + - path: checkstyle.xml + content: | + + + + gradle: id: checkstyle version: 1.0.0 @@ -16,13 +23,6 @@ checkStyle: - install - checkstyle:check configuration: - resources: - - path: checkstyle.xml - content: | - - - - maven: configuration: | @@ -47,6 +47,10 @@ checkStyle: rockcraft: + resources: + - path: .config/config.xml + content: | + gradle: id: io.github.rockcrafters.rockcraft version: 1.0.0 @@ -65,10 +69,6 @@ rockcraft: description: | This is a plugin description configuration: - resources: - - path: .config/config.xml - content: | - maven: configuration: |