Description
Can't remove builder plugins from Bamboo, if one or more plans are using the builder plugin, e.g: Nant
Steps to replicate -
- Configure a Nant plugin builder.
- Create a plan that uses the Nant builder.
- Remove the builder from classpath without, explicitly modifying the plan to not use the builder.
- Bamboo will now not start at all and will fail to initialize with the exception below
java.lang.IllegalArgumentException: Could not find builder with key 'com.atlassian.bamboo.plugin.builder.nant:nant' at com.atlassian.bamboo.builder.DefaultBuilderManager.getBuilder(DefaultBuilderManager.java:131) at com.atlassian.bamboo.fieldvalue.BuildDefinitionConverter.toObject(BuildDefinitionConverter.java:172) at com.atlassian.bamboo.build.DefaultBuildDefinitionManager.getBuildDefinitionFromBuild(DefaultBuildDefinitionManager.java:73) at com.atlassian.bamboo.build.DefaultBuildDefinitionManager.getBuildDefinition(DefaultBuildDefinitionManager.java:31) at com.atlassian.bamboo.build.DefaultBuild.getBuildDefinition(DefaultBuild.java:411) at com.atlassian.bamboo.container.BambooContainer.initialiseBuilds(BambooContainer.java:316) at com.atlassian.bamboo.container.BambooContainer.start(BambooContainer.java:228) at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:123) at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:37) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530) at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) at org.mortbay.jetty.Server.doStart(Server.java:217) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at com.atlassian.bamboo.server.Server.main(Server.java:60) 2008-04-18 11:49:16,621 FATAL [main] [UpgradeLauncher] Failed to initialise Bamboo container java.lang.IllegalArgumentException: Could not find builder with key 'com.atlassian.bamboo.plugin.builder.nant:nant' at com.atlassian.bamboo.builder.DefaultBuilderManager.getBuilder(DefaultBuilderManager.java:131) at com.atlassian.bamboo.fieldvalue.BuildDefinitionConverter.toObject(BuildDefinitionConverter.java:172) at com.atlassian.bamboo.build.DefaultBuildDefinitionManager.getBuildDefinitionFromBuild(DefaultBuildDefinitionManager.java:73) at com.atlassian.bamboo.build.DefaultBuildDefinitionManager.getBuildDefinition(DefaultBuildDefinitionManager.java:31) at com.atlassian.bamboo.build.DefaultBuild.getBuildDefinition(DefaultBuild.java:411) at com.atlassian.bamboo.container.BambooContainer.initialiseBuilds(BambooContainer.java:316) at com.atlassian.bamboo.container.BambooContainer.start(BambooContainer.java:228) at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:123) at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:37) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530) at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) at org.mortbay.jetty.Server.doStart(Server.java:217) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at com.atlassian.bamboo.server.Server.main(Server.java:60) 2008-04-18 11:49:16.047::WARN: Failed startup of context org.mortbay.jetty.webapp.WebAppContext@ac0ead{/,/Users/asridhar/Bamboo/code/atlassian-bamboo-2.0/bamboo-web-app/src/main/webapp} java.lang.RuntimeException: Failed to upgrade at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:138) at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:37) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530) at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) at org.mortbay.jetty.Server.doStart(Server.java:217) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at com.atlassian.bamboo.server.Server.main(Server.java:60) Caused by: java.lang.IllegalArgumentException: Could not find builder with key 'com.atlassian.bamboo.plugin.builder.nant:nant' at com.atlassian.bamboo.builder.DefaultBuilderManager.getBuilder(DefaultBuilderManager.java:131) at com.atlassian.bamboo.fieldvalue.BuildDefinitionConverter.toObject(BuildDefinitionConverter.java:172) at com.atlassian.bamboo.build.DefaultBuildDefinitionManager.getBuildDefinitionFromBuild(DefaultBuildDefinitionManager.java:73) at com.atlassian.bamboo.build.DefaultBuildDefinitionManager.getBuildDefinition(DefaultBuildDefinitionManager.java:31) at com.atlassian.bamboo.build.DefaultBuild.getBuildDefinition(DefaultBuild.java:411) at com.atlassian.bamboo.container.BambooContainer.initialiseBuilds(BambooContainer.java:316) at com.atlassian.bamboo.container.BambooContainer.start(BambooContainer.java:228) at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:123) ... 11 more