Marvelution sonar tasks plugin fails to load due to missing requirement com.atlassian.plugins.rest.common
Asked by H?kon Lorentzen:

This happens on Bamboo 4.0. The plugin seemed to install cleanly, but the remote agents produce this stack trace when they start up. What's going on? Isn't com.atlassian.plugins.rest.common part of Bamboo itself?

INFO \| jvm 1 \| 2012/06/01 13:09:51 \| 2012-06-01 13:09:51,206 ERROR \[Thread-1\] \[OsgiPlugin\] Detected an error (BundleException) enabling the plugin 'com.marvelution.bamboo.plugins.sonar.tasks' : Unresolved constraint in bundle com.marvelution.bamboo.plugins.sonar.tasks \[13\]: Unable to resolve 13.0: missing requirement \[13.0\] package; (\&(package=com.atlassian.plugins.rest.common)(version\>=0.0.0)). This error usually occurs when your plugin imports a package from another bundle with a specific version constraint and either the bundle providing that package doesn't meet those version constraints, or there is no bundle available that provides the specified package. For more details on how to fix this, see [http://confluence.atlassian.com/x/1xy6D
INFO](http://confluence.atlassian.com/x/1xy6D%3Cbr%3EINFO%C2%A0%C2%A0) \| jvm 1 \| 2012/06/01 13:09:51 \| 2012-06-01 13:09:51,207 WARN \[Thread-1\] \[OsgiPlugin\] Unable to enable plugin 'com.marvelution.bamboo.plugins.sonar.tasks'  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| com.atlassian.plugin.osgi.container.OsgiContainerException: Cannot start plugin: com.marvelution.bamboo.plugins.sonar.tasks

INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:445)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.impl.AbstractPlugin.enable(AbstractPlugin.java:237)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.manager.PluginEnabler.actualEnable(PluginEnabler.java:114)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.manager.PluginEnabler.enable(PluginEnabler.java:99)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:713)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:166)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at java.lang.reflect.Method.invoke(Method.java:597)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1237)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1167)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1095)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.context.support.ClassPathXmlApplicationContext.\<init\>(ClassPathXmlApplicationContext.java:122)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.context.support.ClassPathXmlApplicationContext.\<init\>(ClassPathXmlApplicationContext.java:88)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.bamboo.v2.build.agent.remote.RemoteAgent.initApplicationContext(RemoteAgent.java:160)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.bamboo.v2.build.agent.remote.RemoteAgent.start(RemoteAgent.java:53)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at java.lang.reflect.Method.invoke(Method.java:597)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.bamboo.agent.bootstrap.AgentRunner.run(AgentRunner.java:41)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at java.lang.Thread.run(Thread.java:662)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle com.marvelution.bamboo.plugins.sonar.tasks \[13\]: Unable to resolve 13.0: missing requirement \[13.0\] package; (\&(package=com.atlassian.plugins.rest.common)(version\>=0.0.0))  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.apache.felix.framework.Felix.startBundle(Felix.java:1709)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:417)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| ... 38 more  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| 2012-06-01 13:09:51,209 ERROR \[Thread-1\] \[PluginEnabler\] Unable to enable plugin com.marvelution.bamboo.plugins.sonar.tasks  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| com.atlassian.plugin.osgi.container.OsgiContainerException: Cannot start plugin: com.marvelution.bamboo.plugins.sonar.tasks  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:445)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.impl.AbstractPlugin.enable(AbstractPlugin.java:237)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.manager.PluginEnabler.actualEnable(PluginEnabler.java:114)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.manager.PluginEnabler.enable(PluginEnabler.java:99)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:713)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:166)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at java.lang.reflect.Method.invoke(Method.java:597)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1237)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1167)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)

INFO \| jvm 1 \| 2012/06/01 13:09:51 \| atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1095)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.context.support.ClassPathXmlApplicationContext.\<init\>(ClassPathXmlApplicationContext.java:122)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.springframework.context.support.ClassPathXmlApplicationContext.\<init\>(ClassPathXmlApplicationContext.java:88)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.bamboo.v2.build.agent.remote.RemoteAgent.initApplicationContext(RemoteAgent.java:160)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.bamboo.v2.build.agent.remote.RemoteAgent.start(RemoteAgent.java:53)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at java.lang.reflect.Method.invoke(Method.java:597)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at com.atlassian.bamboo.agent.bootstrap.AgentRunner.run(AgentRunner.java:41)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at java.lang.Thread.run(Thread.java:662)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle com.marvelution.bamboo.plugins.sonar.tasks \[13\]: Unable to resolve 13.0: missing requirement \[13.0\] package; (\&(package=com.atlassian.plugins.rest.common)(version\>=0.0.0))  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.apache.felix.framework.Felix.startBundle(Felix.java:1709)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)  
INFO \| jvm 1 \| 2012/06/01 13:09:51 \| at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)  


Answers:
author: James Dumay
body: Hi Hakon,

This plugin is supported by Marvelution and you can raise bug reports for it [here](http://issues.marvelution.com/browse/BAMSON).

Thanks  
James