Extending the SCM command line

Is it possible to extend the SCM command line?
I poked around in the SDK and I think I figured out the proper extension point & Java interface (ISubcommand) but when I created a "Hello World" subcommand & dropped it into the plugins directory it wasn't recognized.
Anything special I need to do here?
I poked around in the SDK and I think I figured out the proper extension point & Java interface (ISubcommand) but when I created a "Hello World" subcommand & dropped it into the plugins directory it wasn't recognized.
Anything special I need to do here?
Accepted answer

You could also try running with -clean, which forces Equinox (the Eclipse OSGi implementation) to recompute its picture of which plugins are installed. This is only needed the first time after adding/removing plugins/features.
5 other answers

Note that the instance data location (aka Eclipse workspace) is different from the directory used to load your source (i.e. the sandbox). As far as the SCM CLI goes, it's mainly used just to store preferences.
I suggest looking at the extensions for the existing SCM CLI commands (in /com.ibm.team.filesystem.cli.client/plugin.xml) and use the same initpolicy as another command that's most similar to yours as far preference usage goes.
For starters, maybe try initpolicy="scratch".
I suggest looking at the extensions for the existing SCM CLI commands (in /com.ibm.team.filesystem.cli.client/plugin.xml) and use the same initpolicy as another command that's most similar to yours as far preference usage goes.
For starters, maybe try initpolicy="scratch".

Welcome to the wonderful world of OSGi. =)
The CLI isn't intended for customer extension, but it's possible. It sounds like OSGi doesn't know that the plugin is there. Try putting it into the dropins/ folder.
Another alternative is to start the CLI with '-console' and '-consoleLog' in the commandline args. Stick a breakpoint on SubcommandLauncher#run() with Eclipse. When the breakpoint it hit, you should have access to an OSGi prompt, so you can query about your plugin to get the word directly from the horse's mouth.
The CLI isn't intended for customer extension, but it's possible. It sounds like OSGi doesn't know that the plugin is there. Try putting it into the dropins/ folder.
Another alternative is to start the CLI with '-console' and '-consoleLog' in the commandline args. Stick a breakpoint on SubcommandLauncher#run() with Eclipse. When the breakpoint it hit, you should have access to an OSGi prompt, so you can query about your plugin to get the word directly from the horse's mouth.

I got a little further using -clean to get my plugin recognized but now I've hit another problem (see full exception trace below).
I've tried everything I can think of: adding activators, adding org.eclipse.core.resources as a dependency, removing org.eclipse.core.resources as a dependency, minimizing dependencies, etc.
How do the standard subcommands avoid this? Am I missing a dependency?
I've tried everything I can think of: adding activators, adding org.eclipse.core.resources as a dependency, removing org.eclipse.core.resources as a dependency, minimizing dependencies, etc.
How do the standard subcommands avoid this? Am I missing a dependency?
!SESSION 2011-04-12 14:13:42.968 -----------------------------------------------
eclipse.buildId=unknown
java.fullversion=JRE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260sr8ifx-20100609_59383 (JIT enabled, AOT enabled)
J9VM - 20100609_059383
JIT - r9_20100401_15339ifx2
GC - 20100308_AA
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: mrb_mapsnapshot -r philly
Command-line arguments: -os win32 -ws win32 -arch x86 -data @noDefault mrb_mapsnapshot -r philly
!ENTRY org.eclipse.osgi 2 1 2011-04-12 14:13:43.968
!MESSAGE NLS unused message: DaemonStartCmd_NICE_NAME in: com.ibm.team.filesystem.cli.core.internal.messages
!ENTRY org.eclipse.osgi 4 0 2011-04-12 14:13:44.671
!MESSAGE An error occurred while automatically activating bundle org.eclipse.core.resources (197).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
at org.eclipse.emf.ecore.plugin.EcorePlugin$Implementation.start(EcorePlugin.java:520)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
at com.ibm.team.repository.common.UUID.generate(UUID.java:51)
at com.ibm.team.repository.transport.client.CertificateStore.computeAlias(CertificateStore.java:110)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificate(CertificateStore.java:166)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificates(CertificateStore.java:183)
at com.ibm.team.repository.transport.client.CertificateStore.loadCertificates(CertificateStore.java:215)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.addCertificatesFromStore(SharedTrustStoreProvider.java:119)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.loadSystemCertificates(SharedTrustStoreProvider.java:101)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.buildRuntimeTrustStore(SharedTrustStoreProvider.java:80)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.<init>(SharedTrustStoreProvider.java:133)
at com.ibm.team.repository.transport.client.ValidatingX509TrustManager.<init>(ValidatingX509TrustManager.java:79)
at com.ibm.team.repository.transport.client.SecureInterruptableSocketFactory.<init>(SecureInterruptableSocketFactory.java:117)
at com.ibm.team.repository.transport.client.RemoteTeamServer.buildHostConfiguration(RemoteTeamServer.java:234)
at com.ibm.team.repository.transport.client.RemoteTeamServer.ensureInitialized(RemoteTeamServer.java:208)
at com.ibm.team.repository.transport.client.RemoteTeamServer.setCredentials(RemoteTeamServer.java:462)
at com.ibm.team.repository.client.internal.TeamRepository.<init>(TeamRepository.java:383)
at com.ibm.team.repository.client.internal.TeamRepositoryService.createSharedTeamRepository(TeamRepositoryService.java:400)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:111)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:130)
at com.ibm.team.filesystem.cli.core.util.RepoUtil.login(RepoUtil.java:398)
at com.ibm.mrbuild.rtc.cli.MrBuildSubcommand.run(MrBuildSubcommand.java:53)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:622)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.doStart(SubcommandLauncher.java:365)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:148)
at com.ibm.team.filesystem.cli.core.internal.Application.start(Application.java:37)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: java.lang.IllegalStateException: The instance data location has not been specified yet.
at org.eclipse.core.internal.runtime.DataArea.assertLocationInitialized(DataArea.java:54)
at org.eclipse.core.internal.runtime.DataArea.getStateLocation(DataArea.java:120)
at org.eclipse.core.internal.runtime.InternalPlatform.getStateLocation(InternalPlatform.java:606)
at org.eclipse.core.runtime.Plugin.getStateLocation(Plugin.java:312)
at org.eclipse.core.internal.resources.LocalMetaArea.<init>(LocalMetaArea.java:53)
at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:371)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
... 68 more
Root exception:
java.lang.IllegalStateException: The instance data location has not been specified yet.
at org.eclipse.core.internal.runtime.DataArea.assertLocationInitialized(DataArea.java:54)
at org.eclipse.core.internal.runtime.DataArea.getStateLocation(DataArea.java:120)
at org.eclipse.core.internal.runtime.InternalPlatform.getStateLocation(InternalPlatform.java:606)
at org.eclipse.core.runtime.Plugin.getStateLocation(Plugin.java:312)
at org.eclipse.core.internal.resources.LocalMetaArea.<init>(LocalMetaArea.java:53)
at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:371)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
at org.eclipse.emf.ecore.plugin.EcorePlugin$Implementation.start(EcorePlugin.java:520)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
at com.ibm.team.repository.common.UUID.generate(UUID.java:51)
at com.ibm.team.repository.transport.client.CertificateStore.computeAlias(CertificateStore.java:110)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificate(CertificateStore.java:166)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificates(CertificateStore.java:183)
at com.ibm.team.repository.transport.client.CertificateStore.loadCertificates(CertificateStore.java:215)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.addCertificatesFromStore(SharedTrustStoreProvider.java:119)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.loadSystemCertificates(SharedTrustStoreProvider.java:101)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.buildRuntimeTrustStore(SharedTrustStoreProvider.java:80)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.<init>(SharedTrustStoreProvider.java:133)
at com.ibm.team.repository.transport.client.ValidatingX509TrustManager.<init>(ValidatingX509TrustManager.java:79)
at com.ibm.team.repository.transport.client.SecureInterruptableSocketFactory.<init>(SecureInterruptableSocketFactory.java:117)
at com.ibm.team.repository.transport.client.RemoteTeamServer.buildHostConfiguration(RemoteTeamServer.java:234)
at com.ibm.team.repository.transport.client.RemoteTeamServer.ensureInitialized(RemoteTeamServer.java:208)
at com.ibm.team.repository.transport.client.RemoteTeamServer.setCredentials(RemoteTeamServer.java:462)
at com.ibm.team.repository.client.internal.TeamRepository.<init>(TeamRepository.java:383)
at com.ibm.team.repository.client.internal.TeamRepositoryService.createSharedTeamRepository(TeamRepositoryService.java:400)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:111)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:130)
at com.ibm.team.filesystem.cli.core.util.RepoUtil.login(RepoUtil.java:398)
at com.ibm.mrbuild.rtc.cli.MrBuildSubcommand.run(MrBuildSubcommand.java:53)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:622)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.doStart(SubcommandLauncher.java:365)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:148)
at com.ibm.team.filesystem.cli.core.internal.Application.start(Application.java:37)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
!ENTRY org.eclipse.osgi 4 0 2011-04-12 14:13:44.671
!MESSAGE An error occurred while automatically activating bundle org.eclipse.emf.ecore (245).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.emf.ecore.plugin.EcorePlugin$Implementation.start() of bundle org.eclipse.emf.ecore.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
at com.ibm.team.repository.common.UUID.generate(UUID.java:51)
at com.ibm.team.repository.transport.client.CertificateStore.computeAlias(CertificateStore.java:110)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificate(CertificateStore.java:166)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificates(CertificateStore.java:183)
at com.ibm.team.repository.transport.client.CertificateStore.loadCertificates(CertificateStore.java:215)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.addCertificatesFromStore(SharedTrustStoreProvider.java:119)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.loadSystemCertificates(SharedTrustStoreProvider.java:101)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.buildRuntimeTrustStore(SharedTrustStoreProvider.java:80)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.<init>(SharedTrustStoreProvider.java:133)
at com.ibm.team.repository.transport.client.ValidatingX509TrustManager.<init>(ValidatingX509TrustManager.java:79)
at com.ibm.team.repository.transport.client.SecureInterruptableSocketFactory.<init>(SecureInterruptableSocketFactory.java:117)
at com.ibm.team.repository.transport.client.RemoteTeamServer.buildHostConfiguration(RemoteTeamServer.java:234)
at com.ibm.team.repository.transport.client.RemoteTeamServer.ensureInitialized(RemoteTeamServer.java:208)
at com.ibm.team.repository.transport.client.RemoteTeamServer.setCredentials(RemoteTeamServer.java:462)
at com.ibm.team.repository.client.internal.TeamRepository.<init>(TeamRepository.java:383)
at com.ibm.team.repository.client.internal.TeamRepositoryService.createSharedTeamRepository(TeamRepositoryService.java:400)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:111)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:130)
at com.ibm.team.filesystem.cli.core.util.RepoUtil.login(RepoUtil.java:398)
at com.ibm.mrbuild.rtc.cli.MrBuildSubcommand.run(MrBuildSubcommand.java:53)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:622)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.doStart(SubcommandLauncher.java:365)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:148)
at com.ibm.team.filesystem.cli.core.internal.Application.start(Application.java:37)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: java.lang.NoClassDefFoundError: org.eclipse.core.resources.ResourcesPlugin
at org.eclipse.emf.ecore.plugin.EcorePlugin$Implementation.start(EcorePlugin.java:520)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
... 50 more
Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.resources (197).
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:125)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
... 54 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
... 63 more
Caused by: java.lang.IllegalStateException: The instance data location has not been specified yet.
at org.eclipse.core.internal.runtime.DataArea.assertLocationInitialized(DataArea.java:54)
at org.eclipse.core.internal.runtime.DataArea.getStateLocation(DataArea.java:120)
at org.eclipse.core.internal.runtime.InternalPlatform.getStateLocation(InternalPlatform.java:606)
at org.eclipse.core.runtime.Plugin.getStateLocation(Plugin.java:312)
at org.eclipse.core.internal.resources.LocalMetaArea.<init>(LocalMetaArea.java:53)
at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:371)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
... 68 more
Root exception:
java.lang.NoClassDefFoundError: org.eclipse.core.resources.ResourcesPlugin
at org.eclipse.emf.ecore.plugin.EcorePlugin$Implementation.start(EcorePlugin.java:520)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
at com.ibm.team.repository.common.UUID.generate(UUID.java:51)
at com.ibm.team.repository.transport.client.CertificateStore.computeAlias(CertificateStore.java:110)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificate(CertificateStore.java:166)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificates(CertificateStore.java:183)
at com.ibm.team.repository.transport.client.CertificateStore.loadCertificates(CertificateStore.java:215)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.addCertificatesFromStore(SharedTrustStoreProvider.java:119)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.loadSystemCertificates(SharedTrustStoreProvider.java:101)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.buildRuntimeTrustStore(SharedTrustStoreProvider.java:80)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.<init>(SharedTrustStoreProvider.java:133)
at com.ibm.team.repository.transport.client.ValidatingX509TrustManager.<init>(ValidatingX509TrustManager.java:79)
at com.ibm.team.repository.transport.client.SecureInterruptableSocketFactory.<init>(SecureInterruptableSocketFactory.java:117)
at com.ibm.team.repository.transport.client.RemoteTeamServer.buildHostConfiguration(RemoteTeamServer.java:234)
at com.ibm.team.repository.transport.client.RemoteTeamServer.ensureInitialized(RemoteTeamServer.java:208)
at com.ibm.team.repository.transport.client.RemoteTeamServer.setCredentials(RemoteTeamServer.java:462)
at com.ibm.team.repository.client.internal.TeamRepository.<init>(TeamRepository.java:383)
at com.ibm.team.repository.client.internal.TeamRepositoryService.createSharedTeamRepository(TeamRepositoryService.java:400)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:111)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:130)
at com.ibm.team.filesystem.cli.core.util.RepoUtil.login(RepoUtil.java:398)
at com.ibm.mrbuild.rtc.cli.MrBuildSubcommand.run(MrBuildSubcommand.java:53)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:622)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.doStart(SubcommandLauncher.java:365)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:148)
at com.ibm.team.filesystem.cli.core.internal.Application.start(Application.java:37)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.resources (197).
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:125)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
... 54 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
... 63 more
Caused by: java.lang.IllegalStateException: The instance data location has not been specified yet.
at org.eclipse.core.internal.runtime.DataArea.assertLocationInitialized(DataArea.java:54)
at org.eclipse.core.internal.runtime.DataArea.getStateLocation(DataArea.java:120)
at org.eclipse.core.internal.runtime.InternalPlatform.getStateLocation(InternalPlatform.java:606)
at org.eclipse.core.runtime.Plugin.getStateLocation(Plugin.java:312)
at org.eclipse.core.internal.resources.LocalMetaArea.<init>(LocalMetaArea.java:53)
at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:371)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
... 68 more
!ENTRY org.eclipse.osgi 4 0 2011-04-12 14:13:44.765
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: java.lang.NoClassDefFoundError: org.eclipse.emf.ecore.util.EcoreUtil
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:165)
at com.ibm.team.filesystem.cli.core.internal.Application.start(Application.java:37)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: java.lang.NoClassDefFoundError: org.eclipse.emf.ecore.util.EcoreUtil
at com.ibm.team.repository.common.UUID.generate(UUID.java:51)
at com.ibm.team.repository.transport.client.CertificateStore.computeAlias(CertificateStore.java:110)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificate(CertificateStore.java:166)
at com.ibm.team.repository.transport.client.CertificateStore.enterCertificates(CertificateStore.java:183)
at com.ibm.team.repository.transport.client.CertificateStore.loadCertificates(CertificateStore.java:215)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.addCertificatesFromStore(SharedTrustStoreProvider.java:119)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.loadSystemCertificates(SharedTrustStoreProvider.java:101)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.buildRuntimeTrustStore(SharedTrustStoreProvider.java:80)
at com.ibm.team.repository.transport.client.SharedTrustStoreProvider.<init>(SharedTrustStoreProvider.java:133)
at com.ibm.team.repository.transport.client.ValidatingX509TrustManager.<init>(ValidatingX509TrustManager.java:79)
at com.ibm.team.repository.transport.client.SecureInterruptableSocketFactory.<init>(SecureInterruptableSocketFactory.java:117)
at com.ibm.team.repository.transport.client.RemoteTeamServer.buildHostConfiguration(RemoteTeamServer.java:234)
at com.ibm.team.repository.transport.client.RemoteTeamServer.ensureInitialized(RemoteTeamServer.java:208)
at com.ibm.team.repository.transport.client.RemoteTeamServer.setCredentials(RemoteTeamServer.java:462)
at com.ibm.team.repository.client.internal.TeamRepository.<init>(TeamRepository.java:383)
at com.ibm.team.repository.client.internal.TeamRepositoryService.createSharedTeamRepository(TeamRepositoryService.java:400)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:111)
at com.ibm.team.repository.client.internal.TeamRepositoryService.getTeamRepository(TeamRepositoryService.java:130)
at com.ibm.team.filesystem.cli.core.util.RepoUtil.login(RepoUtil.java:398)
at com.ibm.mrbuild.rtc.cli.MrBuildSubcommand.run(MrBuildSubcommand.java:53)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:622)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.doStart(SubcommandLauncher.java:365)
at com.ibm.team.filesystem.cli.core.internal.SubcommandLauncher.run(SubcommandLauncher.java:148)
... 13 more
Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.emf.ecore (245).
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:125)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
... 36 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.emf.ecore.plugin.EcorePlugin$Implementation.start() of bundle org.eclipse.emf.ecore.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
... 45 more
Caused by: java.lang.NoClassDefFoundError: org.eclipse.core.resources.ResourcesPlugin
at org.eclipse.emf.ecore.plugin.EcorePlugin$Implementation.start(EcorePlugin.java:520)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
... 50 more
Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.resources (197).
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:125)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
... 54 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
... 63 more
Caused by: java.lang.IllegalStateException: The instance data location has not been specified yet.
at org.eclipse.core.internal.runtime.DataArea.assertLocationInitialized(DataArea.java:54)
at org.eclipse.core.internal.runtime.DataArea.getStateLocation(DataArea.java:120)
at org.eclipse.core.internal.runtime.InternalPlatform.getStateLocation(InternalPlatform.java:606)
at org.eclipse.core.runtime.Plugin.getStateLocation(Plugin.java:312)
at org.eclipse.core.internal.resources.LocalMetaArea.<init>(LocalMetaArea.java:53)
at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:371)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
... 68 more
!ENTRY org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.aix.ppc64_1.0.0.200911201639 [166] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.aix.ppc_1.0.0.R35x_v20091203-1235 [167] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.linux.ppc_1.0.100.v20080604-1400 [168] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.linux.s390_1.1.0.v20101110_2353 [169] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.linux.x86.nl1_1.3.0.v201002231411 [170] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.linux.x86.nl2_1.3.0.v201002231411 [171] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235 [172] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.linux.x86_64_1.1.0.R35x_v20091203-1235 [173] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.macosx_1.2.0.R35x_v20091203-1235 [174] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.solaris.sparcv9_1.1.0.v20101110_2353 [177] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.solaris.sparc_1.1.0.R35x_v20091203-1235 [178] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.zos.s390x_1.1.0.v20101110_2353 [182] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.core.filesystem.zos.s390_1.1.0.v20101110_2353 [183] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.equinox.launcher.gtk.linux.x86_1.0.200.v20090520 [252] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.swt.gtk.linux.x86.nl1_3.5.2.v201002231411 [304] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.swt.gtk.linux.x86.nl2_3.5.2.v201002231411 [305] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2011-04-12 14:13:44.859
!MESSAGE Bundle org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f [306] was not resolved.

The failure:
occurs when Eclipse tries to access the instance data location, aka the Eclipse workspace location, when it has not been set. Normally this defaults to the 'workspace' directory under the current working directory, but the SCM CLI disables that with the "-data @noDefault" argument specified in the scm.sh script or the scm.ini file (used when running the scm executable).
The SCM CLI sets the location by calling:
Normally this is done in:
But whether it does so depends on the policy for the subcommand, as indicated by:
The policy is obtained from the extension for the subcommand. The code for gertInitPolicy() is:
Unfortunately, I'm not sure what those different policies actually mean. Evan or someone else from the CLI team would need to clarify.
java.lang.IllegalStateException: The instance data location has not been specified yet.
occurs when Eclipse tries to access the instance data location, aka the Eclipse workspace location, when it has not been set. Normally this defaults to the 'workspace' directory under the current working directory, but the SCM CLI disables that with the "-data @noDefault" argument specified in the scm.sh script or the scm.ini file (used when running the scm executable).
The SCM CLI sets the location by calling:
com.ibm.team.filesystem.cli.core.util.SubcommandUtil.initializeEclipseWorkspaceRoot(File)
Normally this is done in:
com.ibm.team.filesystem.cli.core.internal.SubcommandDefinition.initialize(IExecutionContext, UserConfigDir, ICommandLine, ICommandLine)
But whether it does so depends on the policy for the subcommand, as indicated by:
com.ibm.team.filesystem.cli.core.internal.SubcommandDefinition.getInitPolicy()
The policy is obtained from the extension for the subcommand. The code for gertInitPolicy() is:
protected Policy getInitPolicy() throws FileSystemException {
String policy = getAttr(Constants.PT_ATTR_INIT_POLICY);
if ("none".equals(policy)) { //$NON-NLS-1$
return Policy.NONE;
}
else if ("ancestor".equals(policy)) { //$NON-NLS-1$
return Policy.ANCESTOR;
}
else if ("argument".equals(policy)) { //$NON-NLS-1$
return Policy.ARGUMENT;
}
else if ("argument/ancestor".equals(policy)) { //$NON-NLS-1$
return Policy.ARG_ANC;
}
else if ("uri/argument/ancestor".equals(policy)) { //$NON-NLS-1$
return Policy.URI_ARG_ANC;
}
else if ("scratch".equals(policy)) { //$NON-NLS-1$
return Policy.SCRATCH;
}
else if ("argument-create".equals(policy)) { //$NON-NLS-1$
return Policy.ARGUMENT_CREATE;
}
else {
throw StatusHelper.internalError(NLS.bind(Messages.SubcommandDefinition_1, new Object[] {getFullSubcommandName(), ext.getContributor().getName(), policy}));
}
}
Unfortunately, I'm not sure what those different policies actually mean. Evan or someone else from the CLI team would need to clarify.

Great suggestion: list snapshots is close enough to what we're going (at least as far as logging in to the repo) & it uses "scratch".
I was using "none" initially (copied the plugin.xml stanza from version I think). I changed to scratch & it's all working now, thanks very much.
I was using "none" initially (copied the plugin.xml stanza from version I think). I changed to scratch & it's all working now, thanks very much.
Note that the instance data location (aka Eclipse workspace) is different from the directory used to load your source (i.e. the sandbox). As far as the SCM CLI goes, it's mainly used just to store preferences.
I suggest looking at the extensions for the existing SCM CLI commands (in /com.ibm.team.filesystem.cli.client/plugin.xml) and use the same initpolicy as another command that's most similar to yours as far preference usage goes.
For starters, maybe try initpolicy="scratch".