You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2017/07/05 14:09:00 UTC

[jira] [Resolved] (KARAF-5235) Remove null values from AssemblyMojo configuration

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

Jean-Baptiste Onofré resolved KARAF-5235.
-----------------------------------------
    Resolution: Fixed

> 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)