[ 
https://issues.apache.org/jira/browse/KARAF-5235?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean-Baptiste Onofré updated KARAF-5235:
----------------------------------------
    Fix Version/s:     (was: 4.1.2)

> Remove null values from AssemblyMojo configuration
> --------------------------------------------------
>
>                 Key: KARAF-5235
>                 URL: https://issues.apache.org/jira/browse/KARAF-5235
>             Project: Karaf
>          Issue Type: Improvement
>          Components: karaf-tooling
>            Reporter: John Poth
>            Assignee: Jean-Baptiste Onofré
>             Fix For: 4.2.0
>
>
> When building Karaf distributions, it would be nice to be able to tweak the 
> distribution using Maven profiles to add a feature or a bundle (etc..). 
> However if the Maven profile which adds these bundles/features is not active 
> we currently get an NPE:
> {code}
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
>       at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
>       at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
>       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to build 
> assembly
>       at org.apache.karaf.tooling.AssemblyMojo.execute(AssemblyMojo.java:268)
>       at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
>       ... 20 more
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.felix.utils.properties.ConfigurationHandler.writeValue(ConfigurationHandler.java:724)
>       at 
> org.apache.felix.utils.properties.ConfigurationHandler.write(ConfigurationHandler.java:228)
>       at 
> org.apache.felix.utils.properties.TypedProperties.convertToString(TypedProperties.java:345)
>       at 
> org.apache.felix.utils.properties.TypedProperties.put(TypedProperties.java:172)
>       at 
> org.apache.felix.utils.properties.TypedProperties.put(TypedProperties.java:52)
>       at 
> org.apache.karaf.profile.impl.ProfileBuilderImpl.addAgentConfiguration(ProfileBuilderImpl.java:279)
>       at 
> org.apache.karaf.profile.impl.ProfileBuilderImpl.setBundles(ProfileBuilderImpl.java:198)
>       at 
> org.apache.karaf.profile.assembly.Builder.generateProfile(Builder.java:1392)
>       at 
> org.apache.karaf.profile.assembly.Builder.doGenerateAssembly(Builder.java:556)
>       at 
> org.apache.karaf.profile.assembly.Builder.generateAssembly(Builder.java:446)
>       at 
> org.apache.karaf.tooling.AssemblyMojo.doExecute(AssemblyMojo.java:506)
>       at org.apache.karaf.tooling.AssemblyMojo.execute(AssemblyMojo.java:262)
> {code}
> I've updated a 
> [test|https://github.com/apache/karaf/pull/326/commits/46a7e81b0d6cc2d9b6b3587e33d843572bb3b25b#diff-856de06d8db7e7a4f3e6edc7ce673166R82]
>  to better illustrate the enhancement.
> The affected properties are:
> *        startupRepositories 
> *       bootRepositories
> *       installedRepositories 
> *       startupBundles
> *       bootBundles
> *       installedBundles 
> *       blacklistedBundles 
> *       startupFeatures
> *       bootFeatures
> *       installedFeatures
> *       blacklistedFeatures 
> *       startupProfiles
> *       bootProfiles 
> *       installedProfiles
> *       blacklistedProfiles
> *       blacklistedRepositories
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to