Add a way to override config/system properties from the pom More complicated operations require the use of the propertyEdits.
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/3062a86c Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/3062a86c Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/3062a86c Branch: refs/heads/master Commit: 3062a86cf412cc6361555738c7d8828c89363130 Parents: 0f19997 Author: Guillaume Nodet <gno...@apache.org> Authored: Wed Sep 21 13:35:16 2016 +0200 Committer: Guillaume Nodet <gno...@apache.org> Committed: Wed Sep 21 13:35:16 2016 +0200 ---------------------------------------------------------------------- .../apache/karaf/profile/assembly/Builder.java | 19 +++++++++++++++++-- .../org/apache/karaf/tooling/AssemblyMojo.java | 14 ++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/3062a86c/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java ---------------------------------------------------------------------- diff --git a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java index 033714b..e3678d2 100644 --- a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java +++ b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java @@ -156,6 +156,8 @@ public class Builder { boolean offline; String localRepository; String mavenRepositories; + Map<String, String> config = new LinkedHashMap<>(); + Map<String, String> system = new LinkedHashMap<>(); private ScheduledExecutorService executor; private DownloadManager manager; @@ -378,6 +380,16 @@ public class Builder { return this; } + public Builder config(String key, String value) { + this.config.put(key, value); + return this; + } + + public Builder system(String key, String value) { + this.system.put(key, value); + return this; + } + public List<String> getBlacklistedProfiles() { return blacklistedProfiles; } @@ -516,8 +528,11 @@ public class Builder { // // Compute overall profile // - Profile overallProfile = ProfileBuilder.Factory.create(UUID.randomUUID().toString()) - .setParents(Arrays.asList(startupProfile.getId(), bootProfile.getId(), installedProfile.getId())) + ProfileBuilder builder = ProfileBuilder.Factory.create(UUID.randomUUID().toString()) + .setParents(Arrays.asList(startupProfile.getId(), bootProfile.getId(), installedProfile.getId())); + config.forEach((k ,v) -> builder.addConfiguration(Profile.INTERNAL_PID, Profile.CONFIG_PREFIX + k, v)); + system.forEach((k ,v) -> builder.addConfiguration(Profile.INTERNAL_PID, Profile.SYSTEM_PREFIX + k, v)); + Profile overallProfile = builder .getProfile(); Profile overallOverlay = Profiles.getOverlay(overallProfile, allProfiles, environment); Profile overallEffective = Profiles.getEffective(overallOverlay, false); http://git-wip-us.apache.org/repos/asf/karaf/blob/3062a86c/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java ---------------------------------------------------------------------- diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java index 8620c30..8880f98 100644 --- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java +++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java @@ -230,6 +230,12 @@ public class AssemblyMojo extends MojoSupport { @Parameter protected Map<String, String> translatedUrls; + @Parameter + protected Map<String, String> config; + + @Parameter + protected Map<String, String> system; + @Override public void execute() throws MojoExecutionException, MojoFailureException { try { @@ -295,6 +301,14 @@ public class AssemblyMojo extends MojoSupport { builder.mavenRepositories(remote.toString()); builder.javase(javase); + // Set up config and system props + if (config != null) { + config.forEach(builder::config); + } + if (system != null) { + system.forEach(builder::system); + } + // Set up blacklisted items builder.blacklistBundles(blacklistedBundles); builder.blacklistFeatures(blacklistedFeatures);