Hi Achim,

the current karaf build fails at the demo of the static profile and at the archetype assembly.
In both places the property replacement seems to be the cause.

See the error below.

Can you please check what is going on there?

Christian

[INFO] [ERROR] Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.1.0-SNAPSHOT:assembly (default-assembly) on project assembly: Unable to build assembly: Error downloading configuration files -> [Help 1] [INFO] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.1.0-SNAPSHOT:assembly (default-assembly) on project assembly: Unable to build assembly [INFO] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) [INFO] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) [INFO] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) [INFO] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) [INFO] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) [INFO] at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) [INFO] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
[INFO]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
[INFO]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
[INFO]     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
[INFO]     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
[INFO]     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
[INFO]     at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
[INFO]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [INFO] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO]     at java.lang.reflect.Method.invoke(Method.java:498)
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) [INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) [INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) [INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) [INFO] Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to build assembly [INFO] at org.apache.karaf.tooling.AssemblyMojo.execute(AssemblyMojo.java:268) [INFO] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) [INFO] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
[INFO]     ... 20 more
[INFO] Caused by: java.io.IOException: Error downloading configuration files
[INFO] at org.apache.karaf.profile.assembly.AssemblyDeployCallback.installFeature(AssemblyDeployCallback.java:180) [INFO] at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:823) [INFO] at org.apache.karaf.profile.assembly.Builder.resolve(Builder.java:1392) [INFO] at org.apache.karaf.profile.assembly.Builder.startupStage(Builder.java:1182) [INFO] at org.apache.karaf.profile.assembly.Builder.doGenerateAssembly(Builder.java:658) [INFO] at org.apache.karaf.profile.assembly.Builder.generateAssembly(Builder.java:440) [INFO] at org.apache.karaf.tooling.AssemblyMojo.doExecute(AssemblyMojo.java:506) [INFO] at org.apache.karaf.tooling.AssemblyMojo.execute(AssemblyMojo.java:262)
[INFO]     ... 22 more
[INFO] Caused by: org.apache.karaf.features.internal.util.MultiException: Error [INFO] at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.<init>(MavenDownloadManager.java:84) [INFO] at org.apache.karaf.profile.assembly.CustomDownloadManager$CustomMavenDownloader.<init>(CustomDownloadManager.java:58) [INFO] at org.apache.karaf.profile.assembly.CustomDownloadManager.createDownloader(CustomDownloadManager.java:55) [INFO] at org.apache.karaf.profile.assembly.AssemblyDeployCallback.installFeature(AssemblyDeployCallback.java:148)
[INFO]     ... 29 more
[INFO] Suppressed: java.nio.file.NoSuchFileException: /home/cschneider/checkout/karaf/archetypes/assembly/target/test-classes/projects/assembly/project/assembly/target/assembly/${karaf.etc}/jetty.xml


On 12.01.2017 19:52, [email protected] wrote:
Repository: karaf
Updated Branches:
   refs/heads/master 715d236f5 -> e6e0928b9


[KARAF-4931] - Static profile generation fails if configfile element
contains a placeholder

Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e6e0928b
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e6e0928b
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e6e0928b

Branch: refs/heads/master
Commit: e6e0928b99675a2735a9c3b8927e93520ff32eac
Parents: 715d236
Author: anierbeck <[email protected]>
Authored: Thu Jan 12 18:51:28 2017 +0000
Committer: anierbeck <[email protected]>
Committed: Thu Jan 12 18:51:28 2017 +0000

----------------------------------------------------------------------
  .../assembly/AssemblyDeployCallback.java        | 21 +++++++++++++++++++-
  1 file changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/e6e0928b/profile/src/main/java/org/apache/karaf/profile/assembly/AssemblyDeployCallback.java
----------------------------------------------------------------------
diff --git 
a/profile/src/main/java/org/apache/karaf/profile/assembly/AssemblyDeployCallback.java
 
b/profile/src/main/java/org/apache/karaf/profile/assembly/AssemblyDeployCallback.java
index 2c4a09b..f86b682 100644
--- 
a/profile/src/main/java/org/apache/karaf/profile/assembly/AssemblyDeployCallback.java
+++ 
b/profile/src/main/java/org/apache/karaf/profile/assembly/AssemblyDeployCallback.java
@@ -151,7 +151,7 @@ public class AssemblyDeployCallback implements 
Deployer.DeployCallback {
                  @Override
                  public void downloaded(StreamProvider provider) throws 
Exception {
                      Path input = provider.getFile().toPath();
-                    String path = configFile.getFinalname();
+                    String path = substFinalName(configFile.getFinalname());
                      if (path.startsWith("/")) {
                          path = path.substring(1);
                      }
@@ -266,4 +266,23 @@ public class AssemblyDeployCallback implements 
Deployer.DeployCallback {
      @Override
      public void replaceDigraph(Map<String, Map<String, Map<String, Set<String>>>> 
policies, Map<String, Set<Long>> bundles) throws BundleException, InvalidSyntaxException {
      }
+
+    private String substFinalName(String finalname) {
+        final String markerVarBeg = "${";
+        final String markerVarEnd = "}";
+
+        boolean startsWithVariable = finalname.startsWith(markerVarBeg) && 
finalname.contains(markerVarEnd);
+        if (startsWithVariable) {
+            String marker = finalname.substring(markerVarBeg.length(), 
finalname.indexOf(markerVarEnd) - 1);
+            switch (marker) {
+            case "karaf.base":
+                return this.homeDirectory + "/" + 
finalname.substring(finalname.indexOf(markerVarEnd)+markerVarEnd.length());
+            case "karaf.etc":
+                return this.etcDirectory + "/" + 
finalname.substring(finalname.indexOf(markerVarEnd)+markerVarEnd.length());
+            default:
+                break;
+            }
+        }
+        return finalname;
+    }
  }



--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com

Reply via email to