Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

PluginParseException: Unable to scan for host components in plugin classes

Abhishek Kumar September 30, 2014

com.atlassian.plugin.PluginParseException: Unable to scan for host components in plugin classes
at com.atlassian.plugin.osgi.factory.transform.stage.HostComponentSpringStage.execute(HostComponentSpringStage.java:62)
at com.atlassian.plugin.osgi.factory.transform.DefaultPluginTransformer.transform(DefaultPluginTransformer.java:146)
at com.atlassian.plugin.osgi.factory.OsgiPluginFactory.createOsgiPluginJar(OsgiPluginFactory.java:301)
at com.atlassian.plugin.osgi.factory.OsgiPluginFactory.create(OsgiPluginFactory.java:224)
at com.atlassian.plugin.loaders.ScanningPluginLoader.deployPluginFromUnit(ScanningPluginLoader.java:155)
at com.atlassian.plugin.loaders.ScanningPluginLoader.loadAllPlugins(ScanningPluginLoader.java:89)
at com.atlassian.plugin.loaders.PermissionCheckingPluginLoader.loadAllPlugins(PermissionCheckingPluginLoader.java:24)
at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:250)
at com.atlassian.bamboo.container.BambooContainer.init(BambooContainer.java:177)
at com.atlassian.bamboo.container.BambooContainer.initialise(BambooContainer.java:160)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.initialiseBambooContainer(UpgradeLauncher.java:188)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:93)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:39)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.io.IOException: Error parsing class file
at com.atlassian.plugin.osgi.util.ClassBinaryScanner.scanClassBinary(ClassBinaryScanner.java:66)
at com.atlassian.plugin.osgi.factory.transform.stage.HostComponentSpringStage.findUsedHostComponents(HostComponentSpringStage.java:194)
at com.atlassian.plugin.osgi.factory.transform.stage.HostComponentSpringStage.execute(HostComponentSpringStage.java:58)
... 36 more
Caused by: java.lang.IllegalArgumentException
at java.nio.Buffer.position(Buffer.java:236)
at aQute.lib.osgi.Clazz.crawl(Clazz.java:1033)
at aQute.lib.osgi.Clazz.doCode(Clazz.java:958)
at aQute.lib.osgi.Clazz.doAttribute(Clazz.java:783)
at aQute.lib.osgi.Clazz.doAttributes(Clazz.java:751)
at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:560)
at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:369)
at aQute.lib.osgi.Clazz.parseClassFileWithCollector(Clazz.java:359)
at com.atlassian.plugin.osgi.util.ClassBinaryScanner.scanClassBinary(ClassBinaryScanner.java:38)
... 38 more
2014-10-01 14:56:34,402 WARN [ThreadPoolAsyncTaskExecutor::Thread 2] [TypeConverterDelegate] PropertyEditor [com.sun.beans.editors.EnumEditor] found through deprecated global PropertyEditorManager fallback - con
2014-10-01 14:56:34,592 INFO [ThreadPoolAsyncTaskExecutor::Thread 7] [TargetScanner] Found plugin reload target directory 'C:\atlastutorial\gainplugin\src\main'
2014-10-01 14:56:34,771 INFO [ThreadPoolAsyncTaskExecutor::Thread 7] [TargetScanner] Found plugin reload target directory 'C:\atlastutorial\gainplugin\src\test'
2014-10-01 14:56:34,884 ERROR [main] [OsgiPlugin] Detected an error (BundleException) enabling the plugin 'com.iii.abhishek.gainplugin-tests' : Unresolved constraint in bundle com.iii.abhishek.gainplugin-tests [
2014-10-01 14:56:34,885 WARN [main] [OsgiPlugin] Unable to enable plugin 'com.iii.abhishek.gainplugin-tests'
2014-10-01 14:56:34,885 WARN [main] [OsgiPlugin] Because of this exception
com.atlassian.plugin.osgi.container.OsgiContainerException: Cannot start plugin: com.iii.abhishek.gainplugin-tests
at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:483)
at com.atlassian.plugin.impl.AbstractPlugin.enable(AbstractPlugin.java:273)
at com.atlassian.plugin.manager.PluginEnabler.actualEnable(PluginEnabler.java:116)
at com.atlassian.plugin.manager.PluginEnabler.enable(PluginEnabler.java:101)
at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:900)
at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:291)
at com.atlassian.bamboo.container.BambooContainer.init(BambooContainer.java:177)
at com.atlassian.bamboo.container.BambooContainer.initialise(BambooContainer.java:160)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.initialiseBambooContainer(UpgradeLauncher.java:188)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:93)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:39)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle com.iii.abhishek.gainplugin-tests [83]: Unable to resolve 83.0: missing requirement [83.0] package; (package=com.iii.abhishek.gain)
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1709)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)
at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:459)
... 34 more
2014-10-01 14:56:34,885 ERROR [main] [PluginEnabler] Unable to enable plugin com.iii.abhishek.gainplugin-tests
com.atlassian.plugin.osgi.container.OsgiContainerException: Cannot start plugin: com.iii.abhishek.gainplugin-tests
at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:483)
at com.atlassian.plugin.impl.AbstractPlugin.enable(AbstractPlugin.java:273)
at com.atlassian.plugin.manager.PluginEnabler.actualEnable(PluginEnabler.java:116)
at com.atlassian.plugin.manager.PluginEnabler.enable(PluginEnabler.java:101)
at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:900)
at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:291)
at com.atlassian.bamboo.container.BambooContainer.init(BambooContainer.java:177)
at com.atlassian.bamboo.container.BambooContainer.initialise(BambooContainer.java:160)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.initialiseBambooContainer(UpgradeLauncher.java:188)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:93)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:39)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle com.iii.abhishek.gainplugin-tests [83]: Unable to resolve 83.0: missing requirement [83.0] package; (package=com.iii.abhishek.gain)
at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3409)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1709)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)
at com.atlassian.plugin.osgi.factory.OsgiPlugin.enableInternal(OsgiPlugin.java:459)
... 34 more

9 answers

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

0 votes
Abhishek Kumar October 12, 2014

Hi Krystian,

Just an update.

I just got what i was missing, now code is working smoothly.

Thank you so much..smile

-Abhishek

Maksim Antanovich December 11, 2014

Hi, Abhishek. How you solve this problem? I have the same.

Krzysztof Skoropada [Deviniti]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 24, 2015

HI, Can you share the solution?

0 votes
Abhishek Kumar October 9, 2014

Hi Krystian,

Here is the link to the repository:

https://github.com/AbhishekKumar4/FirstRepo

Please guide me now, what i am missing. This plugin parse exception is really killing me now.

Thanks in Advance,

Abhishek

0 votes
Krystian Brazulewicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 7, 2014

As I said earlier

I can help you further if you prepare a sample project that reproduces the same problem and share it with me via bitbicket/github. 

0 votes
Abhishek Kumar October 7, 2014

Hi Krystian,

Thank you so much for help.This issue is because of the selenium dependencies not getting resolved.

I will really appreciate if you can help me on this.

I have a java class: 

Which has code like this:

import java.io.File;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.URL;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.android.AndroidDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.ie.InternetExplorerDriverService;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.service.DriverService;
import org.openqa.selenium.safari.SafariDriver;
import org.openqa.selenium.support.ui.Select;
import com.atlassian.bamboo.build.logger.BuildLogger;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.iii.automation.duointerfaces.WebStepsParent;
import com.iii.automation.i18n.Convert;
import com.iii.automation.interfaces.InterfaceC;
import com.iii.automation.keyword.domainobjects.websteps.StepData;
import com.iii.automation.result.ConditionHandler;
import com.iii.automation.result.ExecutionResults;
import com.iii.automation.testcase.TestCaseHandler;
import com.iii.automation.testsuite.TestSuiteHandler;
import com.iii.automation.tool.ToolVariables;
import com.thoughtworks.selenium.Selenium;
import static com.iii.gain.plugin.MyFirstTask.tContext;
public class WebSession extends InterfaceC 
{
	BuildLogger buildLogger=tContext.getBuildLogger();
	private Selenium selenium = null;
	private WebDriver driver = null;
	private WebStepsParent unMarshelledActionFile=null;
	private String pathOfActionFile=null;
	private String actionName;
	private TestCaseHandler tcHandler;
	private DriverService service=null;
	public String stepType=null;
	public static LinkedHashMap<TestCaseHandler, Integer> handlerAndCurrentCountMap=new LinkedHashMap<TestCaseHandler, Integer>();
	public static int pageObject_result=ExecutionResults.PASS;
	
	
	public String getPathOfActionFile() {
		return pathOfActionFile;
	}
	public void setPathOfActionFile(String pathOfActionFile) {
		this.pathOfActionFile = pathOfActionFile;
	}
	
	public int launchApplication()
	{
		buildLogger.addBuildLogEntry("Executing step - -> Launching Application");
		try {
			selenium = new WebDriverBackedSelenium(driver,ToolVariables.applicationUrl);
			driver.get(ToolVariables.applicationUrl);
			Thread.currentThread().sleep(ToolVariables.executionSpeed);
		} 
		catch(Exception e) 
		{
			buildLogger.addBuildLogEntry("Launching Application Failed");
			return ExecutionResults.FAIL;
		}
		return ExecutionResults.PASS;
		
	}
	public void unMarshel() 
	{
		try {
			ObjectMapper objectMapper=new ObjectMapper();
			objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
			com.iii.automation.keyword.domainobjects.websteps.WebStepWrapper webStepWrapper=objectMapper.readValue(new File(getPathOfActionFile()), com.iii.automation.keyword.domainobjects.websteps.WebStepWrapper.class);
			unMarshelledActionFile = webStepWrapper.getWebstep();
		} 
		catch(Exception e) {
			e.printStackTrace();
			unMarshelledActionFile=null;
		} 
	}
	@Override
	public int setUp() 
	{
		try {
			//String browserName=tcHandler.isTcForParallel?tcHandler.browserName:ToolVariables.browserName;
			String browserName=ToolVariables.browserName;
			if (browserName.equalsIgnoreCase("firefox")) {
				if(tcHandler.isTcForParallel) 
				{
					//threadDriver = new ThreadLocal<RemoteWebDriver>();
					DesiredCapabilities capabilities = new DesiredCapabilities();
					capabilities.setCapability(FirefoxDriver.PROFILE, new FirefoxProfile());
					capabilities.setBrowserName(DesiredCapabilities.firefox().getBrowserName());
					//driver=new RemoteWebDriver(new URL("http://localhost:8888/wd/hub"), capabilities);
					//driver=new RemoteWebDriver(new URL("http://"+tcHandler.getAddress()+":"+tcHandler.getPort()+"/wd/hub"), capabilities);
					driver.manage().timeouts().implicitlyWait(6000,TimeUnit.MILLISECONDS);
				} else {
					driver = new FirefoxDriver();
					driver.manage().timeouts().implicitlyWait(6000,TimeUnit.MILLISECONDS);
				}
			} else if (browserName.equalsIgnoreCase("google_chrome")) 
				{
				if(tcHandler.isTcForParallel) 
				{
					/*DesiredCapabilities capabilities = new DesiredCapabilities();
					capabilities.setBrowserName("chrome");*/
					DesiredCapabilities capability = DesiredCapabilities.chrome();
					System.setProperty("webdriver.chrome.driver", ToolVariables.chrome_driverPath);
					//driver = new RemoteWebDriver(new URL("http://172.16.77.142:5555/wd/hub"), capabilities);
					//driver = new RemoteWebDriver(new URL("http://"+tcHandler.getAddress()+":"+tcHandler.getPort()+"/wd/hub"), capability);
					driver.manage().timeouts().implicitlyWait(6000,TimeUnit.MILLISECONDS);
				} else {
					//service = new ChromeDriverService.Builder().usingDriverExecutable(new File(ToolVariables.chrome_driverPath)).usingAnyFreePort().build();
					//try {
						//service.start();
					//} catch (IOException e) {
						//what to do????
				//		}
					System.setProperty("webdriver.chrome.driver", ToolVariables.chrome_driverPath);
					//driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome());
					driver=new ChromeDriver( DesiredCapabilities.chrome());
				}
			} else if (browserName.equalsIgnoreCase("internet_explorer")) {
				if(tcHandler.isTcForParallel) {
					DesiredCapabilities capabilities = new DesiredCapabilities();
					capabilities.setBrowserName(DesiredCapabilities.internetExplorer().getBrowserName());
					//capabilities.setVersion("10");
					String iePath=ToolVariables.iEExecutable;
					System.out.println("iePath: "+iePath);
					//System.setProperty("webdriver.ie.driver","D:\\IEDriverServer.exe");
					//driver = new RemoteWebDriver(new URL("http://"+tcHandler.getAddress()+":"+tcHandler.getPort()+"/wd/hub"), capabilities);
				} else {
					service = new InternetExplorerDriverService.Builder().usingDriverExecutable(new File(ToolVariables.iEExecutable)).usingAnyFreePort().build();
						try {
						service.start();
					} catch (IOException e) {
						//	TODO ????
					}
					System.setProperty("WebDriver.ie.driver",ToolVariables.iEExecutable);
					driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.internetExplorer());
				} 
			}else if (browserName.equalsIgnoreCase("Safari")) {
				if(tcHandler.isTcForParallel) {
					DesiredCapabilities capabilities = new DesiredCapabilities();
					capabilities.setBrowserName("safari");
					driver = new RemoteWebDriver(new URL(tcHandler.parallelURL), capabilities);
				} else {
					driver = new SafariDriver();
					driver.manage().timeouts().implicitlyWait(6000,TimeUnit.MILLISECONDS);
				}
			}else if (browserName.equalsIgnoreCase("opera")) {
				if(tcHandler.isTcForParallel) {
					DesiredCapabilities capabilities = new DesiredCapabilities();
					capabilities.setBrowserName("opera");
					driver = new RemoteWebDriver(new URL(tcHandler.parallelURL), capabilities);
				} else {
					//driver = new OperaDriver();
					//driver.manage().timeouts().implicitlyWait(6000,TimeUnit.MILLISECONDS);
				}
			}else if (browserName.equalsIgnoreCase("android_browser")) {
				
				try {
					System.out.println("cmd /c start "+System.getProperty("user.dir")+"\\resources\\AndroidBrowserCommands.bat");
				 Runtime.getRuntime().exec("cmd /c start "+System.getProperty("user.dir")+"\\resources\\AndroidBrowserCommands.bat");
				} catch (IOException e) { 
				  e.printStackTrace();
				}
				Thread.sleep(7000);
				driver = new AndroidDriver();
				
			}else if (browserName.equalsIgnoreCase("iOS_browser")){
				     System.out.println("In IOS browser session");
					  DesiredCapabilities capabilities = new DesiredCapabilities();
					  capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
					  capabilities.setCapability(CapabilityType.VERSION, "6.1");
					  capabilities.setCapability("device", "iPhone Simulator");
					  capabilities.setCapability(CapabilityType.PLATFORM, "Mac");
					  capabilities.setCapability("app", "safari");
					  driver = new RemoteWebDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
			}
				
			if(TestSuiteHandler.stop==true)
			{
					return ExecutionResults.FAIL;
			}
			return ExecutionResults.PASS;
		} catch (Exception e) {
			buildLogger.addBuildLogEntry("Error while launching the browser instance");
			e.printStackTrace();
			return ExecutionResults.FAIL;
		}
	}

my pom looks like this: 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.iii.gain</groupId>
    <artifactId>GainPlugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    <organization>
        <name>Example Company</name>
        <url>http://www.example.com/</url>
    </organization>
    
    <name>GainPlugin</name>
    <description>This is the com.iii.gain:GainPlugin plugin for Atlassian Bamboo.</description>
    <packaging>atlassian-plugin</packaging>
    <properties>
        <bamboo.version>5.6.2</bamboo.version>
        <bamboo.data.version>5.6.0</bamboo.data.version>
        <amps.version>5.0.4</amps.version>
        <plugin.testrunner.version>1.2.0</plugin.testrunner.version>
    </properties>
    
    <repositories>
     <repository>
 		<id>openqa</id>
 			<name>OpenQA Repository</name>
 			<url>http://nexus.openqa.org/content/repositories/releases/</url>
 			<snapshots>
  			<enabled>false</enabled>
 			</snapshots>
 			<releases>
  			<enabled>true</enabled>
 			</releases>
	</repository>
	
	<repository>
    <id>opencast-public</id>
    <url>http://repository.opencastproject.org/nexus/content/repositories/public/</url>
  </repository>
    </repositories>
   
    <dependencies>
        <dependency>
            <groupId>com.atlassian.bamboo</groupId>
            <artifactId>atlassian-bamboo-web</artifactId>
            <version>${bamboo.version}</version>
            <scope>provided</scope>
        </dependency>
        
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
        </dependency>
        <!-- WIRED TEST RUNNER DEPENDENCIES -->
        <dependency>
            <groupId>com.atlassian.plugins</groupId>
            <artifactId>atlassian-plugins-osgi-testrunner</artifactId>
            <version>${plugin.testrunner.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>jsr311-api</artifactId>
            <version>1.1.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.2.2-atlassian-1</version>
        </dependency>
        
        <dependency>
    		<groupId>com.fasterxml.jackson.core</groupId>
    		<artifactId>jackson-core</artifactId>
    		<version>2.1.1</version>
		</dependency>
           
     	<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>2.1.1</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.1.1</version>
		</dependency>
		
		<dependency>
    		<groupId>com.atlassian.selenium</groupId>
    		<artifactId>atlassian-selenium</artifactId>
    		<version>1.3</version>
		</dependency> 
		<dependency>
			<groupId>org.seleniumhq.selenium.client-drivers</groupId>
			<artifactId>selenium-java-client-driver</artifactId>
			<version>1.0.2</version>
		</dependency>
		
		<dependency>
  <groupId>com.atlassian.selenium</groupId>
  <artifactId>atlassian-webdriver-core</artifactId>
  <version>2.3-PHANTOM_JS_SPIKE</version>
</dependency>
    
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>maven-bamboo-plugin</artifactId>
                <version>${amps.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <productVersion>${bamboo.version}</productVersion>
                    <productDataVersion>${bamboo.data.version}</productDataVersion>
                </configuration>
            </plugin>
          
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

I am not getting why my selenium packages are not getting resolved, why maven is not able to download the artifacts.

even if i add these in my POM: 

<dependency>
        	<groupId>org.seleniumhq.selenium</groupId>
        	<artifactId>selenium-java</artifactId>
        	<version>2.33.0</version>
        	<scope>compile</scope>
    	</dependency> 
    	
    	<dependency>
        	<groupId>org.seleniumhq.selenium</groupId>
        	<artifactId>selenium-server</artifactId>
        	<version>2.33.0</version>
        	<scope>compile</scope>
    	</dependency> 
    	
    	<dependency>
  			<groupId>org.seleniumhq.selenium</groupId>
  			<artifactId>selenium-server-standalone</artifactId>
  			<version>2.33.0</version>
  			<scope>compile</scope>
		</dependency>

Its not working..sad

Thanks in Advance.

0 votes
Krystian Brazulewicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 7, 2014

Abhishek

I can help you further if you prepare a sample project that reproduces the same problem and share it with me via bitbicket/github. 

Basically if you you're saying that your plugin should import com.iii.abhishek.gain.*; then some other plugin should export this package. IMO your plugin should also export this package, also please make up your mind and use one place for your bundle instructions (either pom.xml or atlassian-plugin.xml)

0 votes
Abhishek Kumar October 6, 2014

Hi Krystian,

Yes this package is in my plugin. I want to know is it mandatory to give all the packages of my project in <Import-Package> and <Export-Package>? Because previously my plugin was up without using any import or export instructions.

Thanks in advance,

Abhishek

0 votes
Krystian Brazulewicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 5, 2014

In your POM you have:

<instructions>
                        <Import-Package>com.iii.abhishek.gain.*;</Import-Package>
                    </instructions>
This means that your plugin expects that some other plugin will have a corresponding Export-Package. I'm not sure if you're using this correctly. Is this package in your plugin? If then it should be in your Export-Package instructions. 
0 votes
Abhishek Kumar October 5, 2014

Hi,

POM looks like this :

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;groupId&gt;com.iii.abhishek&lt;/groupId&gt;
    &lt;artifactId&gt;gainplugin&lt;/artifactId&gt;
    &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
    &lt;organization&gt;
        &lt;name&gt;Example Company&lt;/name&gt;
        &lt;url&gt;http://www.example.com/&lt;/url&gt;
    &lt;/organization&gt;
    &lt;name&gt;gainplugin&lt;/name&gt;
    &lt;description&gt;This is the com.iii.abhishek:gainplugin plugin for Atlassian Bamboo.&lt;/description&gt;
    &lt;packaging&gt;atlassian-plugin&lt;/packaging&gt;
    &lt;properties&gt;
        &lt;bamboo.version&gt;5.6.2&lt;/bamboo.version&gt;
        &lt;bamboo.data.version&gt;5.6.0&lt;/bamboo.data.version&gt;
        &lt;amps.version&gt;5.0.4&lt;/amps.version&gt;
        &lt;plugin.testrunner.version&gt;1.2.0&lt;/plugin.testrunner.version&gt;
    &lt;/properties&gt;
    &lt;dependencies&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;com.atlassian.bamboo&lt;/groupId&gt;
            &lt;artifactId&gt;atlassian-bamboo-web&lt;/artifactId&gt;
            &lt;version&gt;${bamboo.version}&lt;/version&gt;
            &lt;scope&gt;provided&lt;/scope&gt;
        &lt;/dependency&gt;
        
        &lt;dependency&gt;
            &lt;groupId&gt;junit&lt;/groupId&gt;
            &lt;artifactId&gt;junit&lt;/artifactId&gt;
            &lt;version&gt;4.10&lt;/version&gt;
            &lt;scope&gt;test&lt;/scope&gt;
        &lt;/dependency&gt;
        
		
        &lt;!-- WIRED TEST RUNNER DEPENDENCIES --&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;com.atlassian.plugins&lt;/groupId&gt;
            &lt;artifactId&gt;atlassian-plugins-osgi-testrunner&lt;/artifactId&gt;
            &lt;version&gt;${plugin.testrunner.version}&lt;/version&gt;
            &lt;scope&gt;test&lt;/scope&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;javax.ws.rs&lt;/groupId&gt;
            &lt;artifactId&gt;jsr311-api&lt;/artifactId&gt;
            &lt;version&gt;1.1.1&lt;/version&gt;
            &lt;scope&gt;provided&lt;/scope&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;com.google.code.gson&lt;/groupId&gt;
            &lt;artifactId&gt;gson&lt;/artifactId&gt;
            &lt;version&gt;2.2.2-atlassian-1&lt;/version&gt;
            &lt;scope&gt;compile&lt;/scope&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
    		&lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt;
    		&lt;artifactId&gt;jackson-core&lt;/artifactId&gt;
    		&lt;version&gt;2.1.1&lt;/version&gt;
    		&lt;scope&gt;compile&lt;/scope&gt;
		&lt;/dependency&gt;
           
     	&lt;dependency&gt;
			&lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt;
			&lt;artifactId&gt;jackson-annotations&lt;/artifactId&gt;
			&lt;version&gt;2.1.1&lt;/version&gt;
			&lt;scope&gt;compile&lt;/scope&gt;
		&lt;/dependency&gt;
		
		&lt;dependency&gt;
			&lt;groupId&gt;com.googlecode.json-simple&lt;/groupId&gt;
			&lt;artifactId&gt;json-simple&lt;/artifactId&gt;
			&lt;version&gt;1.1&lt;/version&gt;
			&lt;scope&gt;compile&lt;/scope&gt;
		&lt;/dependency&gt;
		&lt;dependency&gt;
			&lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt;
			&lt;artifactId&gt;jackson-databind&lt;/artifactId&gt;
			&lt;version&gt;2.1.1&lt;/version&gt;
			&lt;scope&gt;compile&lt;/scope&gt;
		&lt;/dependency&gt; 
		
        &lt;dependency&gt;
        	&lt;groupId&gt;org.seleniumhq.selenium&lt;/groupId&gt;
        	&lt;artifactId&gt;selenium-java&lt;/artifactId&gt;
        	&lt;version&gt;2.33.0&lt;/version&gt;
        	&lt;scope&gt;compile&lt;/scope&gt;
    	&lt;/dependency&gt; 
    	
    	&lt;dependency&gt;
        	&lt;groupId&gt;org.seleniumhq.selenium&lt;/groupId&gt;
        	&lt;artifactId&gt;selenium-server&lt;/artifactId&gt;
        	&lt;version&gt;2.33.0&lt;/version&gt;
        	&lt;scope&gt;compile&lt;/scope&gt;
    	&lt;/dependency&gt; 
    	
    	&lt;dependency&gt;
  			&lt;groupId&gt;org.seleniumhq.selenium&lt;/groupId&gt;
  			&lt;artifactId&gt;selenium-server-standalone&lt;/artifactId&gt;
  			&lt;version&gt;2.33.0&lt;/version&gt;
  			&lt;scope&gt;compile&lt;/scope&gt;
		&lt;/dependency&gt;
		
    	
    	&lt;dependency&gt;
			&lt;groupId&gt;com.google.collections&lt;/groupId&gt;
			&lt;artifactId&gt;google-collections&lt;/artifactId&gt;
			&lt;version&gt;1.0&lt;/version&gt;
			&lt;scope&gt;compile&lt;/scope&gt;
		&lt;/dependency&gt;
		
    &lt;/dependencies&gt;
    &lt;build&gt;
        &lt;plugins&gt;
            &lt;plugin&gt;
                &lt;groupId&gt;com.atlassian.maven.plugins&lt;/groupId&gt;
                &lt;artifactId&gt;maven-bamboo-plugin&lt;/artifactId&gt;
                &lt;version&gt;${amps.version}&lt;/version&gt;
                &lt;extensions&gt;true&lt;/extensions&gt;
                &lt;configuration&gt;
                    &lt;productVersion&gt;${bamboo.version}&lt;/productVersion&gt;
                    &lt;productDataVersion&gt;${bamboo.data.version}&lt;/productDataVersion&gt;      
                    &lt;instructions&gt;
                        &lt;Import-Package&gt;com.iii.abhishek.gain.*;&lt;/Import-Package&gt;
                    &lt;/instructions&gt;
                &lt;/configuration&gt;
            &lt;/plugin&gt;
          
            &lt;plugin&gt;
                &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                &lt;configuration&gt;
                    &lt;source&gt;1.6&lt;/source&gt;
                    &lt;target&gt;1.6&lt;/target&gt;
                &lt;/configuration&gt;
            &lt;/plugin&gt;
        &lt;/plugins&gt;
    &lt;/build&gt;
&lt;/project&gt;

and this is my atlassian-plugin.xml

 

&lt;atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2"&gt;
    &lt;plugin-info&gt;
        &lt;description&gt;${project.description}&lt;/description&gt;
        &lt;version&gt;${project.version}&lt;/version&gt;
        &lt;vendor name="${project.organization.name}" url="${project.organization.url}" /&gt;
        &lt;param name="plugin-icon"&gt;images/pluginIcon.png&lt;/param&gt;
        &lt;param name="plugin-logo"&gt;images/pluginLogo.png&lt;/param&gt;
        &lt;bundle-instructions&gt;
        &lt;Import-Package&gt;
		org.openqa.selenium.*;version="[1.0,2.33)",
		com.fasterxml.jackson.databind.*;version="[1.0,2.2)",
		com.opera.core.systems.*;version="[1.0,2.33)",
		com.thoughtworks.selenium.*;version="[1.0,2.33)",
		com.atlassian.bamboo.*;version="[1.0,5.7)",
		com.iii.abhishek.gain.*;version="[1.0,2.0)"
		&lt;/Import-Package&gt;
		&lt;/bundle-instructions&gt;
    &lt;/plugin-info&gt;
    &lt;!-- add our i18n resource --&gt;
    &lt;resource type="i18n" name="i18n" location="gainplugin"/&gt;
    
    &lt;!-- add our web resources --&gt;
    &lt;web-resource key="gainplugin-resources" name="gainplugin Web Resources"&gt;
        &lt;dependency&gt;com.atlassian.auiplugin:ajs&lt;/dependency&gt;
        
        &lt;resource type="download" name="gainplugin.css" location="/css/gainplugin.css"/&gt;
        &lt;resource type="download" name="gainplugin.js" location="/js/gainplugin.js"/&gt;
        &lt;resource type="download" name="images/" location="/images"/&gt;
        &lt;context&gt;gainplugin&lt;/context&gt;
    &lt;/web-resource&gt;
    
    &lt;!-- publish our component --&gt;
    &lt;component key="myPluginComponent" class="com.iii.abhishek.gain.MyPluginComponentImpl" public="true"&gt;
        &lt;interface&gt;com.iii.abhishek.gain.MyPluginComponent&lt;/interface&gt;
    &lt;/component&gt;
    
    &lt;!-- import from the product container --&gt;
    &lt;component-import key="applicationProperties" interface="com.atlassian.sal.api.ApplicationProperties" /&gt;
    
    &lt;taskType key="myFirstTask" name="My First Task" class="com.iii.abhishek.gain.MyFirstTask"&gt;
  &lt;description&gt;A task that prints 'Hello, World!'&lt;/description&gt;
&lt;/taskType&gt;
    
&lt;/atlassian-plugin&gt;
0 votes
Krystian Brazulewicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 30, 2014

Abhishek

I understand that this a problem with your plugin. I can take a look if you'll make your sourcecode available or create a simplified version of a project that reproduces this faulty behavior. 

Most important message is here:

Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle com.iii.abhishek.gainplugin-tests [83]: Unable to resolve 83.0: missing requirement [83.0] package; (package=com.iii.abhishek.gain)

this kind of error is usually related to missing/wrong Export-Packages instructions in your bundle 

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

TAGS
AUG Leaders

Atlassian Community Events