[Esbox-commits] r834 - in branches/sdkPlugins/maemosdk: . org.maemo.esbox.maemosdk.core org.maemo.esbox.maemosdk.core/META-INF org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/providers org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/scratchbox org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/sdk org.maemo.esbox.maemosdk.sdk1 org.maemo.esbox.maemosdk.sdk1/.settings org.maemo.esbox.maemosdk.sdk1/META-INF org.maemo.esbox.maemosdk.sdk1/conf org.maemo.esbox.maemosdk.sdk1/src org.maemo.esbox.maemosdk.sdk1/src/org org.maemo.esbox.maemosdk.sdk1/src/org/maemo org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1 org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/provider org.maemo.esbox.maemosdk.sdk2 org.maemo.esbox.maemosdk.sdk2/.settings org.maemo.esbox.maemosdk.sdk2/META-INF org.maemo.esbox.maemosdk.sdk2/src org.maemo.esbox.maemosdk.sdk2/src/org org.maemo.esbox.maemosdk.sdk2/src/org/maemo org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2 org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/provider org.maemo.esbox.maemosdk.tests/META-INF org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands

baranov at garage.maemo.org baranov at garage.maemo.org
Mon Oct 6 17:28:09 EEST 2008


Author: baranov
Date: 2008-10-06 17:28:07 +0300 (Mon, 06 Oct 2008)
New Revision: 834

Added:
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.classpath
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.project
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.settings/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.settings/org.eclipse.jdt.core.prefs
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/META-INF/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/META-INF/MANIFEST.MF
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/build.properties
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/conf/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/conf/sb1_prefs.xml
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/plugin.xml
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/Activator.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/IScratchboxSDK1.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/ScratchboxSDK1.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/ScratchboxSDK1Target.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/provider/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/provider/ScratchboxSDK1Provider.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.classpath
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.project
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.settings/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.settings/org.eclipse.jdt.core.prefs
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/META-INF/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/META-INF/MANIFEST.MF
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/build.properties
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/plugin.xml
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/Activator.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command/GetMaemoRootstrapLocationCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command/MaemoRootstrapSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/IScratchboxSDK2.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/Scratchbox2FileSystemMapping.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/ScratchboxSDK2.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/ScratchboxSDK2Target.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/provider/
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/provider/ScratchboxSDK2Provider.java
Modified:
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/plugin.xml
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateMaemoRootstrapSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateTargetCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateTargetSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetCurrentTargetCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetCurrentTargetSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetGdbQemuCommandPatternCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetMaemoRootstrapLocationCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetVersionScratchboxCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/KillallCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListAvailableMaemoRootstrapsSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCompilersCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCompilersSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCputranspCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCputranspSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListDevkitsCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListInstalledMaemoRootstrapsSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListSessionsCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListTargetsCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/MaemoCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/MaemoRootstrapSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveMaemoRootstrapSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveTargetCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveTargetSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ResetTargetCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RootstrapCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/SelectTargetCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ShowPathMappingSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ShowTargetCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/SimpleCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/AddSbrshCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/ConfigureSbrshCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/MountTargetSbrshCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/UnmountTargetSbrshCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/Scratchbox1SDK.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/Scratchbox2SDK.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/ScratchboxSDK.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/providers/Scratchbox2SDKProvider.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/scratchbox/ScratchboxFacade.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/sdk/IScratchboxSDK.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/META-INF/MANIFEST.MF
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB1ProcessLauncher.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB1SDKProvider.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB2ProcessLauncher.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB2SDKProvider.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/BaseTest.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/MockCommandAbstractor.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestCreateTargetCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestCreateTargetSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestListCommands.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestListSb2Commands.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestRemoveCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestRemoveSb2Command.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestScratchboxCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestSelectTargetCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestShowTargetCommand.java
   branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestSimpleCommand.java
Log:
moving ScratchboxSDK1 and ScratchboxSDK2 to separate plugins, extending IScratchboxSDK interface in order to remove ScratchboxFacade


Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF	2008-10-06 14:28:07 UTC (rev 834)
@@ -6,7 +6,7 @@
 Bundle-Activator: org.maemo.esbox.internal.maemosdk.core.Activator
 Bundle-Vendor: INdT / Nokia
 Require-Bundle: org.eclipse.core.runtime,
- org.maemo.esbox.core;bundle-version="1.5.0",
+ org.maemo.esbox.core;bundle-version="1.5.0";visibility:=reexport,
  org.eclipse.core.expressions;bundle-version="3.4.0",
  org.maemo.esbox.project.core;bundle-version="1.5.0",
  org.maemo.esbox.launch;bundle-version="1.5.0",
@@ -14,13 +14,15 @@
  org.maemo.esbox.linux.packages.core;bundle-version="1.5.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
-Export-Package: org.maemo.esbox.maemosdk.core,
+Export-Package: org.maemo.esbox.internal.maemosdk.core,
+ org.maemo.esbox.internal.maemosdk.core.command,
+ org.maemo.esbox.internal.maemosdk.core.command.scratchbox;x-friends:="org.maemo.esbox.maemosdk.tests",
+ org.maemo.esbox.internal.maemosdk.core.command.scratchbox.sbrsh;x-friends:="org.maemo.esbox.maemosdk.tests",
+ org.maemo.esbox.internal.maemosdk.core.sdk;x-friends:="org.maemo.esbox.maemosdk.tests",
+ org.maemo.esbox.internal.maemosdk.core.sdk.providers;x-friends:="org.maemo.esbox.maemosdk.tests",
+ org.maemo.esbox.maemosdk.core,
+ org.maemo.esbox.maemosdk.core.command,
  org.maemo.esbox.maemosdk.core.execEnv,
  org.maemo.esbox.maemosdk.core.platform,
  org.maemo.esbox.maemosdk.core.scratchbox,
- org.maemo.esbox.maemosdk.core.sdk,
- org.maemo.esbox.internal.maemosdk.core.command;x-friends:="org.maemo.esbox.maemosdk.tests",
- org.maemo.esbox.internal.maemosdk.core.command.scratchbox;x-friends:="org.maemo.esbox.maemosdk.tests",
- org.maemo.esbox.internal.maemosdk.core.command.scratchbox.sbrsh;x-friends:="org.maemo.esbox.maemosdk.tests",
- org.maemo.esbox.internal.maemosdk.core.sdk;x-friends:="org.maemo.esbox.maemosdk.tests",
- org.maemo.esbox.internal.maemosdk.core.sdk.providers;x-friends:="org.maemo.esbox.maemosdk.tests"
+ org.maemo.esbox.maemosdk.core.sdk

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/plugin.xml
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/plugin.xml	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/plugin.xml	2008-10-06 14:28:07 UTC (rev 834)
@@ -14,15 +14,6 @@
 			
    </extension>
    
-   <extension
-         point="org.maemo.esbox.core.sdk_provider">
-      <sdk_provider
-            class="org.maemo.esbox.internal.maemosdk.core.sdk.providers.Scratchbox1SDKProvider">
-      </sdk_provider>
-      <sdk_provider
-            class="org.maemo.esbox.internal.maemosdk.core.sdk.providers.Scratchbox2SDKProvider">
-      </sdk_provider>
-   </extension>
    
    <extension
          id="org.maemo.esbox.core.execution_environments"

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateMaemoRootstrapSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateMaemoRootstrapSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateMaemoRootstrapSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -15,8 +15,8 @@
 
 import org.maemo.esbox.core.process.ProcessLauncherUtils;
 import org.maemo.esbox.core.sdk.ISDK;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.*;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateTargetCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateTargetCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateTargetCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -13,8 +13,9 @@
 
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.core.sdk.ISDK;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 
 import java.util.List;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateTargetSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateTargetSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/CreateTargetSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -14,8 +14,9 @@
 import org.maemo.esbox.core.process.*;
 import org.maemo.esbox.core.sdk.ISDK;
 import org.maemo.esbox.internal.maemosdk.core.Activator;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 
 import java.util.List;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetCurrentTargetCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetCurrentTargetCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetCurrentTargetCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDK;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetCurrentTargetSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetCurrentTargetSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetCurrentTargetSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -16,7 +16,8 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.Path;
 import org.maemo.esbox.core.*;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.io.*;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetGdbQemuCommandPatternCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetGdbQemuCommandPatternCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetGdbQemuCommandPatternCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -14,8 +14,9 @@
 import org.maemo.esbox.core.*;
 import org.maemo.esbox.core.sdk.ISDKTarget;
 import org.maemo.esbox.internal.maemosdk.core.Activator;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.*;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 import org.maemo.esbox.maemosdk.core.sdk.*;
 import org.osgi.framework.Version;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetMaemoRootstrapLocationCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetMaemoRootstrapLocationCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetMaemoRootstrapLocationCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -15,8 +15,8 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 import org.maemo.esbox.maemosdk.core.sdk.IScratchbox2SDKTarget;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetVersionScratchboxCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetVersionScratchboxCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/GetVersionScratchboxCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,9 +12,10 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.*;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/KillallCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/KillallCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/KillallCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListAvailableMaemoRootstrapsSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListAvailableMaemoRootstrapsSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListAvailableMaemoRootstrapsSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,8 @@
 
 import org.maemo.esbox.core.*;
 import org.maemo.esbox.core.process.ProcessLauncherUtils;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.scratchbox.MaemoRootstrap;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCompilersCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCompilersCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCompilersCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCompilersSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCompilersSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCompilersSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -16,7 +16,8 @@
 import org.eclipse.core.runtime.Path;
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.internal.maemosdk.core.Activator;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.ArrayList;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCputranspCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCputranspCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCputranspCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCputranspSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCputranspSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListCputranspSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -13,7 +13,8 @@
 import org.eclipse.core.filesystem.IFileStore;
 import org.eclipse.core.runtime.Path;
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.*;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListDevkitsCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListDevkitsCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListDevkitsCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListInstalledMaemoRootstrapsSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListInstalledMaemoRootstrapsSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListInstalledMaemoRootstrapsSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -11,8 +11,8 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.Collections;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListSessionsCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListSessionsCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListSessionsCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.ArrayList;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListTargetsCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListTargetsCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ListTargetsCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,9 +12,10 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.*;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/MaemoCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/MaemoCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/MaemoCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -17,8 +17,9 @@
 import org.maemo.esbox.core.process.*;
 import org.maemo.esbox.core.sdk.ISDKTarget;
 import org.maemo.esbox.internal.maemosdk.core.Activator;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.MaemoPreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.io.*;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/MaemoRootstrapSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/MaemoRootstrapSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/MaemoRootstrapSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -13,8 +13,9 @@
 import org.maemo.esbox.core.*;
 import org.maemo.esbox.core.process.CommandLineArguments;
 import org.maemo.esbox.core.process.ShellTemplateSubstitutor;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.*;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveMaemoRootstrapSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveMaemoRootstrapSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveMaemoRootstrapSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -14,8 +14,8 @@
 import org.maemo.esbox.core.*;
 
 import org.maemo.esbox.core.process.ProcessLauncherUtils;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.*;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveTargetCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveTargetCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveTargetCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -13,8 +13,9 @@
 
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.core.sdk.ISDK;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.ArrayList;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveTargetSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveTargetSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RemoveTargetSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -15,7 +15,8 @@
 import org.eclipse.core.runtime.CoreException;
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.core.sdk.ISDK;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 import org.maemo.esbox.maemosdk.core.sdk.IScratchbox2SDK;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ResetTargetCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ResetTargetCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ResetTargetCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RootstrapCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RootstrapCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/RootstrapCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/SelectTargetCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/SelectTargetCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/SelectTargetCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDK;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ShowPathMappingSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ShowPathMappingSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ShowPathMappingSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -15,8 +15,9 @@
 import org.eclipse.core.runtime.Path;
 import org.maemo.esbox.core.*;
 import org.maemo.esbox.core.process.*;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.io.ByteArrayOutputStream;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ShowTargetCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ShowTargetCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/ShowTargetCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,8 +12,9 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxTarget;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/SimpleCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/SimpleCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/SimpleCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -14,7 +14,8 @@
 import org.maemo.esbox.core.*;
 import org.maemo.esbox.core.process.IProcessLauncher;
 import org.maemo.esbox.core.process.ProcessLauncherCreator;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/AddSbrshCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/AddSbrshCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/AddSbrshCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,10 +12,10 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox.sbrsh;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
-import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxCommand;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxInvalidParameterException;
 import org.maemo.esbox.maemosdk.core.MaemoPreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/ConfigureSbrshCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/ConfigureSbrshCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/ConfigureSbrshCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,10 +12,10 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox.sbrsh;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
-import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxCommand;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxInvalidParameterException;
 import org.maemo.esbox.maemosdk.core.MaemoPreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/MountTargetSbrshCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/MountTargetSbrshCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/MountTargetSbrshCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,10 +12,10 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox.sbrsh;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
-import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxCommand;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxInvalidParameterException;
 import org.maemo.esbox.maemosdk.core.MaemoPreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/UnmountTargetSbrshCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/UnmountTargetSbrshCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/command/scratchbox/sbrsh/UnmountTargetSbrshCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,10 +12,10 @@
 package org.maemo.esbox.internal.maemosdk.core.command.scratchbox.sbrsh;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
-import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxCommand;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxInvalidParameterException;
 import org.maemo.esbox.maemosdk.core.MaemoPreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/Scratchbox1SDK.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/Scratchbox1SDK.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/Scratchbox1SDK.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -54,7 +54,7 @@
 		// populate targets
 		super.refresh();
 		try {
-			List<String> targetNames = getTargets();
+			List<String> targetNames = getPrivateTargets();
 			List<ISDKTarget> newTargets = new ArrayList<ISDKTarget>();
 			for (String target : targetNames) {
 				IPath sb1TargetRoot = getSDKRoot().append("targets").append(target); //$NON-NLS-1$
@@ -99,7 +99,9 @@
 	 * @throws ESboxException
 	 *             if some problem related to Scratchbox communication occurs.
 	 */
-	private List<String> getTargets() throws ESboxException {
+	private List<String> getPrivateTargets() throws ESboxException {
 		return ScratchboxFacade.getInstance().getTargets(this); 
 	}
+	
+	
 }

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/Scratchbox2SDK.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/Scratchbox2SDK.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/Scratchbox2SDK.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -95,7 +95,7 @@
 	 * @throws ScratchboxException
 	 *             if some problem related to Scratchbox communication occurs.
 	 */
-	private List<String> getTargets() throws ESboxException {
+	private List<String> getPrivateTargets() throws ESboxException {
 		return ScratchboxFacade.getInstance().getTargets(this); 
 	}
 	

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/ScratchboxSDK.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/ScratchboxSDK.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/ScratchboxSDK.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -10,12 +10,18 @@
  *******************************************************************************/
 package org.maemo.esbox.internal.maemosdk.core.sdk;
 
+import java.util.List;
+
 import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IPath;
+import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.core.machine.ILocalMachine;
 import org.maemo.esbox.core.machine.IMachine;
 import org.maemo.esbox.core.sdk.IPreferenceProvider;
 import org.maemo.esbox.internal.api.core.sdk.BaseSDK;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDK;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDKTarget;
 
 /**
  * SDK for a Scratchbox environment
@@ -58,7 +64,81 @@
 	}
 
 	public String getPreferenceValue(String key) {
-		Assert.isNotNull(prefProvider);
 		return prefProvider.getPreferenceValue(key);
 	}
+
+	public boolean addSbrshAccessList(String targetDeviceAddr, String username,
+			String ipAddr) throws ESboxException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public boolean configureSbrsh(String targetName, String targetDeviceAddr,
+			String nfsServerAddr) throws ESboxException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public boolean createTarget(String targetName, String compiler,
+			String devkits, String cputransp) throws ESboxException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public ICommandAbstractor getCommandAbstractor() throws ESboxException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public List<String> getCompilers() throws ESboxException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public List<String> getCputransp() throws ESboxException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public String getCurrentSboxVersion(IMachine machine) throws ESboxException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public IScratchboxSDKTarget getCurrentSDKTarget() throws ESboxException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public String getCurrentTarget() throws ESboxException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public List<String> getTargets() throws ESboxException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public boolean mountTarget(String targetName) throws ESboxException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public boolean removeTarget(String targetName) throws ESboxException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public boolean unmountTarget(String targetName) throws ESboxException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public IPath getSDKRoot() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
+	
 }

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/providers/Scratchbox2SDKProvider.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/providers/Scratchbox2SDKProvider.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/sdk/providers/Scratchbox2SDKProvider.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -10,12 +10,23 @@
  *******************************************************************************/
 package org.maemo.esbox.internal.maemosdk.core.sdk.providers;
 
-import org.eclipse.core.runtime.*;
-import org.maemo.esbox.core.*;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.maemo.esbox.core.CorePreferenceManager;
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.ErrorLogger;
 import org.maemo.esbox.core.machine.IMachine;
 import org.maemo.esbox.core.machine.MachineRegistry;
-
-import org.maemo.esbox.core.sdk.*;
+import org.maemo.esbox.core.sdk.IPreferenceProvider;
+import org.maemo.esbox.core.sdk.ISDK;
+import org.maemo.esbox.core.sdk.ISDKPlatform;
+import org.maemo.esbox.core.sdk.ISDKProvider;
 import org.maemo.esbox.internal.api.core.sdk.BaseSDKPlatform;
 import org.maemo.esbox.internal.api.core.sdk.UserAwarePreferenceProviderWrapper;
 import org.maemo.esbox.internal.maemosdk.core.Activator;
@@ -23,15 +34,8 @@
 import org.maemo.esbox.internal.maemosdk.core.sdk.Scratchbox2SDK;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxFacade;
-import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDK;
 import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDKTarget;
 
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
 /**
  * This implementation of the SDK provider searches for SB2
  * targets using the 'sb2-config -l' command.

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/scratchbox/ScratchboxFacade.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/scratchbox/ScratchboxFacade.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/scratchbox/ScratchboxFacade.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -20,9 +20,9 @@
 import org.maemo.esbox.internal.api.core.sdk.UserAwarePreferenceProviderWrapper;
 import org.maemo.esbox.internal.maemosdk.core.Activator;
 import org.maemo.esbox.internal.maemosdk.core.command.ICommand;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.*;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.sbrsh.*;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.sdk.*;
 
 import java.util.*;
@@ -45,7 +45,7 @@
 
 	private static ScratchboxFacade singleton = null;
 
-	private List<String> emptyArguments = new ArrayList<String>();
+	private final List<String> emptyArguments = new ArrayList<String>();
 
 	private boolean useCaching;
 
@@ -909,7 +909,7 @@
 	 * @return map of resolved host paths to target paths
 	 * @throws ESboxException 
 	 */
-	public synchronized Map<IPath, IPath> getSb2PathMapping(IScratchbox2SDKTarget sdkTarget, List<IPath> hostPaths) throws ESboxException {
+	public synchronized Map<IPath, IPath> getSb2PathMapping(IScratchboxSDKTarget sdkTarget, List<IPath> hostPaths) throws ESboxException {
 		// find cached value
 		ensureCurrentMachine(SB2_MACHINE, sdkTarget.getSDK().getMachine());
 		Map<String, Map<String, String>> targetToPathMappingsMap = null;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/sdk/IScratchboxSDK.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/sdk/IScratchboxSDK.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/sdk/IScratchboxSDK.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -10,7 +10,13 @@
  *******************************************************************************/
 package org.maemo.esbox.maemosdk.core.sdk;
 
+import java.util.List;
+
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.machine.IMachine;
 import org.maemo.esbox.core.sdk.ISDK;
+import org.maemo.esbox.core.sdk.ISDKTarget;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 
 /**
  * This interface provides scratchbox-specific functionality to an ISDK
@@ -30,4 +36,46 @@
 	 * @param currentTarget
 	 */
 	void setCachedCurrentTarget(String currentTarget);
+	
+	/** Get a command abstractor for an SDK.  Scratchbox commands can
+	 * run outside scratchbox, so launch these as native processes. */
+	public ICommandAbstractor getCommandAbstractor() throws ESboxException;
+	
+	/**
+	 * Return the current version of Scratchbox.
+	 * @param machine 
+	 * @return the current version of Scratchbox.
+	 * @throws ESboxException
+	 *             if any problem related to Scratchbox communication occurs,
+	 *             including no scratchbox detected
+	 */
+
+	public List<String> getCompilers() throws ESboxException;
+
+	public List<String> getCputransp() throws ESboxException;
+
+	public List<String> getTargets() throws ESboxException; 
+	
+	public String getCurrentTarget() throws ESboxException;
+
+	public IScratchboxSDKTarget getCurrentSDKTarget() throws ESboxException;
+	
+	public boolean createTarget(String targetName,
+			String compiler, String devkits, String cputransp)
+			throws ESboxException;
+
+	public boolean removeTarget(String targetName) throws ESboxException;
+
+	public boolean configureSbrsh(String targetName,
+			String targetDeviceAddr, String nfsServerAddr)
+			throws ESboxException;
+	
+	public boolean addSbrshAccessList(String targetDeviceAddr,
+			String username, String ipAddr) throws ESboxException;
+	
+	public boolean mountTarget(String targetName)
+		throws ESboxException;
+	
+	public boolean unmountTarget(String targetName)
+		throws ESboxException;
 }

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.classpath
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.classpath	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.classpath	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.project
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.project	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.project	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.maemo.esbox.maemosdk.sdk1</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/.settings/org.eclipse.jdt.core.prefs	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,7 @@
+#Mon Oct 06 11:10:24 EEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/META-INF/MANIFEST.MF
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/META-INF/MANIFEST.MF	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/META-INF/MANIFEST.MF	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Sdk1 Plug-in
+Bundle-SymbolicName: org.maemo.esbox.maemosdk.sdk1;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: org.maemo.esbox.maemosdk.sdk1.Activator
+Require-Bundle: org.eclipse.core.runtime,
+ org.maemo.esbox.maemosdk.core;bundle-version="1.5.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: INdT / Nokia
+Export-Package: org.maemo.esbox.maemosdk.sdk1.core,
+ org.maemo.esbox.maemosdk.sdk1.provider

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/build.properties
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/build.properties	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/build.properties	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/conf/sb1_prefs.xml
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/conf/sb1_prefs.xml	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/conf/sb1_prefs.xml	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+
+<properties>
+	<comment>This file contains the default settings for Scratchbox 1 preferences; 
+	see the org.maemo.esbox.core.preference_set_provider extension</comment>
+
+	<!-- WHEN ANY DEFAULTS CHANGED warranting rewriting prefs, 
+		bump pref version in esbox_common.xml and adjust ESboxPreferenceInitializer#RPEFS_VERSION_MAJOR ;
+		WHEN ANYTHING ELSE CHANGED which can be merged into existing prefs, 
+		adjust ESboxPreferenceInitializer#RPEFS_VERSION_MINOR -->
+		
+	<entry key="SB1_LOGIN_COMMAND">/scratchbox/login -d ${RUN_SCRIPT_DIRECTORY} "./run.sh ${{DIRECTORY}} \\\"${{{EXPORTS}}}\\\" \\\"${{{COMMAND}}} ${{{ARGS}}}\\\""</entry>
+	<entry key="SB1_SBOX_COMMAND">sb-conf ${ACTIONS} ${OPTIONS}</entry>	
+
+	<entry key="RUN_SCRIPT_LOC">/scratchbox/users/${USER}/home/${USER}/.esbox/</entry>
+
+	<!-- this uses ${QEMU} because the default qemu-arm is an often misconfigured softlink: see GetGdbQemuCommandPatternCommand -->
+	<entry key="SB1_GDB_REMOTE_QEMU">${QEMU} -g ${PORT}</entry>
+	
+	<!-- actions of command sb-conf  -->	
+	
+	<entry key="SB1_VERSION_ACT">version</entry>
+	<entry key="SB1_SETUP_ACT">setup</entry>
+	<entry key="SB1_INSTALL_ACT">install</entry>	
+	<entry key="SB1_ROOTSTRAP_ACT">rootstrap</entry>
+	<entry key="SB1_SELECT_ACT">select</entry>
+	<entry key="SB1_RESET_ACT">reset</entry>
+	<entry key="SB1_KILLALL_ACT">killall</entry>
+	<entry key="SB1_REMOVE_ACT">remove</entry>
+	<entry key="SB1_SHOW_ACT">show</entry>
+	<entry key="SB1_LIST_ACT">list</entry>
+	<entry key="SB1_CURRENT_ACT">current</entry>
+	
+	<!-- options for action rootstrap -->
+	<entry key="SB1_ROOTSTRAP_OPT_FORCE">--force</entry>
+	<entry key="SB1_SETUP_ACT">setup</entry>
+	
+	<!-- options for action remove -->
+	<entry key="SB1_REMOVE_OPT_FORCE">--force</entry>
+	
+	<!-- options for action setup -->
+	<entry key="SB1_SETUP_OPT_COMPILER">--compiler=${COMPILER}</entry>
+	<entry key="SB1_SETUP_OPT_DEVKITS">--devkits=${LIST}</entry>
+	<entry key="SB1_SETUP_OPT_CPUTRANSP">--cputransp=${METHOD}</entry>
+	<entry key="SB1_SETUP_OPT_FORCE">--force</entry>
+	
+	<!-- options for action killall -->
+	<entry key="SB1_KILLALL_OPT_SIGNAL">signal=${SIGNAL}</entry>	
+	
+	<!-- options for action install -->
+	<entry key="SB1_INSTALL_OPT_CLIB">--clibrary</entry>
+	<entry key="SB1_INSTALL_OPT_ETC">--etc</entry>
+	<entry key="SB1_INSTALL_OPT_DEVKITS">--devkits</entry>
+	<entry key="SB1_INSTALL_OPT_FAKE">--fakeroot</entry>
+	<entry key="SB1_INSTALL_OPT_GDB">--gdb</entry>
+	<entry key="SB1_INSTALL_OPT_STRACE">--strace</entry>	
+	
+	<!-- options for action show -->
+	<entry key="SB1_SHOW_OPT_COMPILERS">--compilers</entry>
+	<entry key="SB1_SHOW_OPT_DEVKITS">--devkits</entry>
+	<entry key="SB1_SHOW_OPT_CPU">--cputransp</entry>
+	<entry key="SB1_SHOW_OPT_COMP_ARCH">--compiler-arch</entry>
+	<entry key="SB1_SHOW_OPT_COMP_SUBARCH">--compiler-subarch</entry>
+	<entry key="SB1_SHOW_OPT_COMP_CLIB">--compiler-clib</entry>
+	
+	<!-- options for action list -->
+	<entry key="SB1_LIST_OPT_COMPILERS">--compilers</entry>
+	<entry key="SB1_LIST_OPT_DEVKITS">--devkits</entry>
+	<entry key="SB1_LIST_OPT_CPU">--cputransps</entry>
+	<entry key="SB1_LIST_OPT_TARGETS">--targets</entry>
+	<entry key="SB1_LIST_OPT_SESSIONS">--sessions</entry>
+	
+	<!-- setting such as Scratchbox location and user name -->
+	<entry key="SB1_SBOX_SANDBOX">/scratchbox/users/${USER}</entry>
+	
+</properties>

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/plugin.xml
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/plugin.xml	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/plugin.xml	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+   <extension
+         point="org.maemo.esbox.core.sdk_provider">
+      <sdk_provider
+            class="org.maemo.esbox.maemosdk.sdk1.provider.ScratchboxSDK1Provider">
+      </sdk_provider>
+   </extension>
+
+</plugin>

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/Activator.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/Activator.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/Activator.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,79 @@
+package org.maemo.esbox.maemosdk.sdk1;
+
+import org.eclipse.core.runtime.Plugin;
+import org.maemo.esbox.core.ErrorLogger;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends Plugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.maemo.esbox.maemosdk.sdk1";
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Return the error logger instance of this plug-in.
+	 * 
+	 * @return the error logger instance of this plug-in.
+	 */
+	public static ErrorLogger getErrorLogger() {
+		class CoreErrorLogger extends ErrorLogger {
+
+			@Override
+			public String getPluginID() {
+				return PLUGIN_ID;
+			}
+			@Override
+			public Plugin getPlugin() {
+				return Activator.getDefault();
+			}
+
+		}
+
+		return new CoreErrorLogger();
+	}
+	
+	/**
+	 * Return the error logger instance of this plug-in.
+	 * 
+	 * @return the error logger instance of this plug-in.
+	 */
+	
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/IScratchboxSDK1.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/IScratchboxSDK1.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/IScratchboxSDK1.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,26 @@
+package org.maemo.esbox.maemosdk.sdk1.core;
+
+import java.util.List;
+
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchbox1SDK;
+
+public interface IScratchboxSDK1 {
+	public static final String NAME = "Scratchbox 1"; //$NON-NLS-1$
+	/** String for URI of machine where we detected scratchbox 1 */
+	static final String SB1_MACHINE = "sb1_machine";
+	/** String for scratchbox 1 version or <code>null</code> */
+	static final String SB1_VERSION = "sb1_version";
+	/** String[] scratchbox 1 target name array */
+	static final String SB1_TARGETS = "sb1_targets";
+	
+	public List<String> getDevkits() throws ESboxException;
+
+	public List<String> getSessions() throws ESboxException;
+
+	public boolean selectTarget(String targetName) throws ESboxException;
+
+	public boolean killProcess() throws ESboxException;
+	
+	public boolean killProcess(String signal)throws ESboxException;
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/ScratchboxSDK1.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/ScratchboxSDK1.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/ScratchboxSDK1.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,335 @@
+package org.maemo.esbox.maemosdk.sdk1.core;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.machine.IFileSystemAccess;
+import org.maemo.esbox.core.machine.IMachine;
+import org.maemo.esbox.core.process.IProcessLauncher;
+import org.maemo.esbox.core.process.IProcessLauncherFactory;
+import org.maemo.esbox.core.sdk.IPreferenceProvider;
+import org.maemo.esbox.core.sdk.ISDKPlatform;
+import org.maemo.esbox.core.sdk.ISDKTarget;
+import org.maemo.esbox.internal.api.core.sdk.BaseSDKPlatform;
+import org.maemo.esbox.internal.maemosdk.core.command.ICommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.CreateTargetCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.GetCurrentTargetCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.GetVersionScratchboxCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.KillallCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListCompilersCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListCputranspCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListDevkitsCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListSessionsCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListTargetsCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.RemoveTargetCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.SelectTargetCommand;
+import org.maemo.esbox.maemosdk.core.MaemoSDKEngine;
+import org.maemo.esbox.maemosdk.core.MaemoSDKInfo;
+import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.sdk.AbstractScratchboxSDK;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDKTarget;
+import org.maemo.esbox.maemosdk.sdk1.Activator;
+
+public class ScratchboxSDK1 extends AbstractScratchboxSDK implements
+		IScratchboxSDK1 {
+
+	private IPath sdkRoot;
+	private static final int SB_VERSION=1;
+	
+//	private final IScratchboxSDKPlatformArchitectureProvider platformArchitectureProvider;
+	
+	public ScratchboxSDK1(
+			IMachine machine,
+//			IScratchboxSDKPlatformArchitectureProvider platformArchitectureProvider,
+			String version, 
+			IPreferenceProvider prefProvider) {
+		super(machine, version, NAME);
+		this.sdkRoot=null;
+		this.prefProvider=prefProvider;
+//		this.platformArchitectureProvider = platformArchitectureProvider;
+	}
+	
+	
+
+	@Override
+	public void refresh() {
+		super.refresh();
+		try {
+			List<String> targetNames = getTargets();
+			List<ISDKTarget> newTargets = new ArrayList<ISDKTarget>();
+			for (String target : targetNames) {
+				IPath sb1TargetRoot = getSDKRoot().append("targets").append(target); //$NON-NLS-1$
+				ISDKTarget sdkTarget = new ScratchboxSDK1Target(
+						this, 
+						getPlatform(target),
+						getArchitecture(target),
+						target,
+						sb1TargetRoot);
+				newTargets.add(sdkTarget);
+			}
+			this.targets = newTargets;
+		} catch (ESboxException e) {
+			Activator.getErrorLogger().logError("Could not refresh targets", e);
+		}
+	}
+
+	
+
+	@Override
+	public ICommandAbstractor getCommandAbstractor() throws ESboxException {
+		return getSb1WrappedCommandAbstractor(super.getCommandAbstractor());
+	}
+
+	@Override
+	public boolean createTarget(String targetName, String compiler,
+			String devkits, String cputransp) throws ESboxException {
+		List<String> params = new ArrayList<String>();
+		params.add(targetName);
+		params.add(compiler);
+		params.add(devkits);
+		params.add(cputransp);
+
+		CreateTargetCommand createTargetCommand = new CreateTargetCommand(this, getCommandAbstractor());
+
+		setCachedValue(SB1_TARGETS, null);
+		
+		return (Boolean) createTargetCommand.performCommand(params);
+	}
+
+	@Override
+	public List<String> getCompilers() throws ESboxException {
+		ListCompilersCommand listCompilersCommand = new ListCompilersCommand(getCommandAbstractor());
+		return listCompilersCommand.performCommand(EMPTY_ARGS);
+	}
+
+	@Override
+	public List<String> getCputransp() throws ESboxException {
+		ListCputranspCommand listCputranspCommand = new ListCputranspCommand(getCommandAbstractor());
+		return listCputranspCommand.performCommand(EMPTY_ARGS);
+	}
+
+	
+	public static String getCurrentSboxVersion(IMachine machine) throws ESboxException {
+		// find cached value
+		ensureCurrentMachine(SB1_MACHINE, machine);
+		String version = (String) getCachedValue(SB1_VERSION);
+		if (version != null)
+			return version;
+		
+		// do the hard work
+		acquireMachine(machine);
+		ICommandAbstractor commandAbstractor = getHostCommandAbstractor(machine);
+		commandAbstractor = getSb1WrappedCommandAbstractor(commandAbstractor);
+		GetVersionScratchboxCommand getVersionCommand = new GetVersionScratchboxCommand(
+				commandAbstractor, SB_VERSION);
+	
+		String currentVersion = getVersionCommand.performCommand(new ArrayList<String>());
+		
+		// remember cached value
+		setCachedValue(SB1_VERSION, currentVersion);
+		
+		return currentVersion;
+	}
+
+	@Override
+	public String getCurrentTarget() throws ESboxException {
+		ICommand getCurrentTargetCommand = new GetCurrentTargetCommand(getCommandAbstractor(), this);
+		return (String) getCurrentTargetCommand.performCommand(new ArrayList<String>());
+	}
+
+	@Override
+	public IPath getSDKRoot() {
+		if (sdkRoot == null) {
+			String userPath = prefProvider.getPreferenceValue(SB1PreferenceConstants.SB1_SBOX_SANDBOX);
+			sdkRoot = new Path(userPath);
+
+			/*
+			// ensure this is canonical
+			try {
+				sdkRoot = new Path(sdkRoot.toFile().getCanonicalPath());
+			} catch (IOException e) {
+				Activator.getErrorLogger().logError("Cannot canonicalize scratchbox installation path", e);
+			}
+			*/
+		}
+		return sdkRoot;
+	}
+
+	@Override
+	public List<String> getTargets() throws ESboxException {
+		String machineKey, targetsKey;
+		machineKey = SB1_MACHINE;
+		targetsKey = SB1_TARGETS;
+		
+		ensureCurrentMachine(machineKey, this.getMachine());
+		
+		String[] targetsArray = (String[]) getCachedValue(targetsKey);
+		if (targetsArray != null)
+			return Arrays.asList(targetsArray);
+		
+		ListTargetsCommand listTargetsCommand = new ListTargetsCommand(
+				getCommandAbstractor(), SB_VERSION);
+		List<String> targets = listTargetsCommand.performCommand(new ArrayList<String>());
+		
+		setCachedValue(targetsKey, (String[]) targets.toArray(new String[targets.size()]));
+			
+		return targets;
+	}
+
+	@Override
+	public boolean removeTarget(String targetName) throws ESboxException {
+		List<String> params = new ArrayList<String>();
+		params.add(targetName);
+
+		ICommand removeTargetCommand;
+		
+		removeTargetCommand = new RemoveTargetCommand(this, getCommandAbstractor());
+		setCachedValue(SB1_TARGETS, null);
+		
+		
+		return (Boolean) removeTargetCommand.performCommand(params);
+	}
+
+	@Override
+	public List<String> getDevkits() throws ESboxException {
+		ListDevkitsCommand listDevkitsCommand = new ListDevkitsCommand(getCommandAbstractor());
+		return listDevkitsCommand.performCommand(new ArrayList<String>());
+	}
+
+	@Override
+	public List<String> getSessions() throws ESboxException {
+		ListSessionsCommand listSessionsCommand = new ListSessionsCommand(getCommandAbstractor());
+		return listSessionsCommand.performCommand(new ArrayList<String>());
+	}
+
+	@Override
+	public boolean killProcess() throws ESboxException {
+		List<String> params = new ArrayList<String>();
+		KillallCommand killallCommand = new KillallCommand(getCommandAbstractor());
+		return (Boolean) killallCommand.performCommand(params);
+	}
+
+	@Override
+	public boolean killProcess(String signal) throws ESboxException {
+		List<String> params = new ArrayList<String>();
+		params.add(signal);
+		KillallCommand killallCommand = new KillallCommand(getCommandAbstractor());
+		return (Boolean) killallCommand.performCommand(params);
+	}
+
+	@Override
+	public boolean selectTarget(String targetName) throws ESboxException {
+		List<String> params = new ArrayList<String>();
+		params.add(targetName);
+
+		SelectTargetCommand selectTargetCommand = new SelectTargetCommand(getCommandAbstractor(), this);
+
+		return (Boolean) selectTargetCommand.performCommand(params);
+	}
+
+	
+	
+	@Override
+	public String getArchitecture( String target) {
+		// convention says this is the part of the target after the underscore
+		int idx = target.lastIndexOf('_');
+		if (idx > 0)
+			return target.substring(idx + 1).toUpperCase();
+		else
+			return IScratchboxSDKTarget.ARCHITECTURE_UNKNOWN;
+	}
+
+
+
+	@Override
+	public ISDKPlatform getPlatform(String target) {
+		// convention says this is the part of the target before the underscore,
+		// usually the name of the platform directly, except for aberrant 'SDK' cases
+		int idx = target.lastIndexOf('_');
+		String platformName = ISDKPlatform.NAME_UNKNOWN;
+		String version = ISDKPlatform.VERSION_UNKNOWN;
+		if (idx >= 1) {
+			String platform = target.substring(0, idx);
+			// the 'SDK' one is a hard nut to crack
+			if (!platform.equalsIgnoreCase("SDK")) {
+				platformName = platform.substring(0, 1).toUpperCase() 
+					+ platform.substring(1).toLowerCase();
+				
+				List<MaemoSDKInfo> maemoSDKS = MaemoSDKEngine.getInstance().getMaemoSDKS();
+				for (MaemoSDKInfo info : maemoSDKS) {
+					if (info.getName().equalsIgnoreCase(platformName)) {
+						version = info.getVersion();
+						break;
+					}
+				}
+			} else {
+				// TODO: look at key files or versions to determine the
+				// platform from the SDK target contents
+			}
+		} 
+		return new BaseSDKPlatform(platformName, version);
+	}
+
+
+
+	//private
+	/** SB1 is usually installed to contain softlinks into /usr/bin, but the .tar.gz
+	 * installation method doesn't do this.  So be sure to handle sb1 commands which might not be on /usr/bin. */
+	private static ICommandAbstractor getSb1WrappedCommandAbstractor(final ICommandAbstractor commandAbstractor) {
+		return new ICommandAbstractor() {
+
+			public String getPreferenceValue(String key) {
+				return commandAbstractor.getPreferenceValue(key);
+			}
+
+			public IProcessLauncherFactory getProcessLauncherFactory() {
+				final IProcessLauncherFactory launcherFactory = commandAbstractor.getProcessLauncherFactory();
+				IProcessLauncherFactory wrappedLauncherFactory = new IProcessLauncherFactory() {
+
+					public IProcessLauncher createProcessLaunchHandler(
+							IPath workingDirectory,
+							List<String> commandLine,
+							Properties environment) {
+						if (environment == null) {
+							environment = getStandardEnvironment();
+						}
+						
+						// fallback for cases where sbox is installed via .tar.gz with no softlinks into /usr/bin
+						String path = environment.getProperty("PATH");
+						if (path == null)
+							path = ":/usr/bin:/bin";
+						else if (!path.startsWith(":"))
+							path = ":" + path;
+						path = "/scratchbox/tools/bin" + path;
+						environment.put("PATH", path);
+						
+						return launcherFactory.createProcessLaunchHandler(workingDirectory, commandLine, environment);
+					}
+
+					public Properties getStandardEnvironment() {
+						return launcherFactory.getStandardEnvironment();
+					}
+					
+				};
+				return wrappedLauncherFactory;
+			}
+			
+			/* (non-Javadoc)
+			 * @see org.maemo.esbox.internal.core.command.ICommandAbstractor#getFileSystemAccess()
+			 */
+			public IFileSystemAccess getFileSystemAccess() {
+				return commandAbstractor.getFileSystemAccess();
+			}
+			
+		};
+	}
+	
+	
+	
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/ScratchboxSDK1Target.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/ScratchboxSDK1Target.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/core/ScratchboxSDK1Target.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,47 @@
+package org.maemo.esbox.maemosdk.sdk1.core;
+
+import org.eclipse.core.runtime.IPath;
+import org.maemo.esbox.core.CorePreferenceConstants;
+import org.maemo.esbox.core.process.IProcessLauncherFactory;
+import org.maemo.esbox.core.sdk.ISDK;
+import org.maemo.esbox.core.sdk.ISDKPlatform;
+import org.maemo.esbox.internal.maemosdk.core.sdk.Scratchbox1FileSystemMapping;
+import org.maemo.esbox.internal.maemosdk.core.sdk.Scratchbox1ProcessLauncherFactory;
+import org.maemo.esbox.internal.maemosdk.core.sdk.Scratchbox1SDK;
+import org.maemo.esbox.maemosdk.core.sdk.AbstractScratchboxSDKTarget;
+
+public class ScratchboxSDK1Target extends AbstractScratchboxSDKTarget {
+
+	private IPath targetRoot;
+	
+	public ScratchboxSDK1Target(ScratchboxSDK1 sdk,
+			ISDKPlatform platform,
+			String architecture, String target,
+			IPath targetRoot) {
+		super(sdk, platform, architecture, target);
+		this.targetRoot = targetRoot;
+		init(new Scratchbox1FileSystemMapping(sdk.getSDKRoot(), target,
+						sdk.getPreferenceValue(CorePreferenceConstants.USER)));
+	}
+
+	@Override
+	public IProcessLauncherFactory getProcessLauncherFactoryForInstall() {
+		return new Scratchbox1ProcessLauncherFactory(this, true); 
+	}
+
+	@Override
+	public IPath getRootstrapPath() {
+		return  getSDKTargetRoot();
+	}
+
+	@Override
+	public IProcessLauncherFactory getProcessLauncherFactory() {
+		return new Scratchbox1ProcessLauncherFactory(this, false); 
+	}
+
+	@Override
+	public IPath getSDKTargetRoot() {
+		return targetRoot;
+	}
+
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/provider/ScratchboxSDK1Provider.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/provider/ScratchboxSDK1Provider.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk1/src/org/maemo/esbox/maemosdk/sdk1/provider/ScratchboxSDK1Provider.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,114 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Nokia Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ed Swartz (Nokia) - initial API and implementation
+ *******************************************************************************/
+package org.maemo.esbox.maemosdk.sdk1.provider;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.maemo.esbox.core.CorePreferenceManager;
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.ErrorLogger;
+import org.maemo.esbox.core.machine.IMachine;
+import org.maemo.esbox.core.machine.MachineRegistry;
+import org.maemo.esbox.core.sdk.IPreferenceProvider;
+import org.maemo.esbox.core.sdk.ISDK;
+import org.maemo.esbox.core.sdk.ISDKProvider;
+import org.maemo.esbox.internal.api.core.sdk.UserAwarePreferenceProviderWrapper;
+import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
+import org.maemo.esbox.maemosdk.core.sdk.AbstractScratchboxSDK;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDK;
+import org.maemo.esbox.maemosdk.sdk1.Activator;
+import org.maemo.esbox.maemosdk.sdk1.core.ScratchboxSDK1;
+
+/**
+ * This implementation of the SDK provider searches for SB1
+ * targets using the 'sb-conf list --targets' command.
+ * If any aspect of SB1 communication fails, we assume SB1
+ * is not installed.
+ * @author eswartz
+ *
+ */
+public class ScratchboxSDK1Provider implements ISDKProvider{
+
+	// only 1.0.x+ supported right now
+	private static final String SCRATCHBOX_VERSION_PATTERN = "1\\.\\d+\\..*"; //$NON-NLS-1$
+
+	/**
+	 * 
+	 */
+	public ScratchboxSDK1Provider() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.esbox.core.sdk.ISDKProvider#createSDKs()
+	 */
+	public List<ISDK> createSDKs() throws ESboxException {
+		ErrorLogger logger = Activator.getErrorLogger();
+		
+		List<ISDK> sdks = new ArrayList<ISDK>();
+		for (IMachine machine : MachineRegistry.getInstance().getBuildMachines()) {
+			try {
+				IPreferenceProvider prefProvider = new UserAwarePreferenceProviderWrapper(
+						CorePreferenceManager.getInstance().getPreferenceProvider(), machine);
+				IScratchboxSDK sdk = getMachineSDKs(prefProvider, machine);
+				if (sdk != null) {
+					sdks.add(sdk);
+					sdk.refresh();
+				}
+			} catch (ScratchboxException e) {
+				logger.log(IStatus.INFO, "Problem scanning Scratchbox 1 installation", e);
+			}
+		}
+		AbstractScratchboxSDK.saveCachedData();
+		return sdks;
+	}
+
+	/**
+	 * @param prefProvider
+	 * @return
+	 * @throws ScratchboxException
+	 */
+	private IScratchboxSDK getMachineSDKs(IPreferenceProvider prefProvider, 
+			IMachine machine)
+			throws ESboxException {
+		ErrorLogger logger = Activator.getErrorLogger();
+		
+		// only support one Scratchbox 1.x installation
+		String version = ScratchboxSDK1.getCurrentSboxVersion(machine);
+		if (version == null) {
+			// no scratchbox?
+			return null;
+		}
+		
+		if (!version.matches(SCRATCHBOX_VERSION_PATTERN)) {
+			logger.logError(
+					MessageFormat.format(
+							"Only Scratchbox 1.x is supported (detected {0}); disabling Scratchbox 1 support", 
+							version),
+							null);
+			return null;
+		}
+		
+		IScratchboxSDK sdk = new ScratchboxSDK1(
+				machine,
+				version, 
+				prefProvider);
+		
+		return sdk;
+	}
+	
+	
+	
+	
+
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.classpath
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.classpath	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.classpath	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.project
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.project	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.project	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.maemo.esbox.maemosdk.sdk2</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/.settings/org.eclipse.jdt.core.prefs	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,7 @@
+#Mon Oct 06 11:35:56 EEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/META-INF/MANIFEST.MF
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/META-INF/MANIFEST.MF	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/META-INF/MANIFEST.MF	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Sdk2 Plug-in
+Bundle-SymbolicName: org.maemo.esbox.maemosdk.sdk2;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: org.maemo.esbox.maemosdk.sdk2.Activator
+Require-Bundle: org.eclipse.core.runtime,
+ org.maemo.esbox.maemosdk.core;bundle-version="1.5.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.maemo.esbox.maemosdk.sdk2.command,
+ org.maemo.esbox.maemosdk.sdk2.core,
+ org.maemo.esbox.maemosdk.sdk2.provider

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/build.properties
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/build.properties	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/build.properties	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/plugin.xml
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/plugin.xml	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/plugin.xml	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+   <extension
+         point="org.maemo.esbox.core.sdk_provider">
+      <sdk_provider
+            class="org.maemo.esbox.maemosdk.sdk2.provider.ScratchboxSDK2Provider">
+      </sdk_provider>
+   </extension>
+
+</plugin>

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/Activator.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/Activator.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/Activator.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,72 @@
+package org.maemo.esbox.maemosdk.sdk2;
+
+import org.eclipse.core.runtime.Plugin;
+import org.maemo.esbox.core.ErrorLogger;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends Plugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.maemo.esbox.maemosdk.sdk2";
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * Return the error logger instance of this plug-in.
+	 * 
+	 * @return the error logger instance of this plug-in.
+	 */
+	public static ErrorLogger getErrorLogger() {
+		class CoreErrorLogger extends ErrorLogger {
+
+			@Override
+			public String getPluginID() {
+				return PLUGIN_ID;
+			}
+			@Override
+			public Plugin getPlugin() {
+				return Activator.getDefault();
+			}
+
+		}
+
+		return new CoreErrorLogger();
+	}
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command/GetMaemoRootstrapLocationCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command/GetMaemoRootstrapLocationCommand.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command/GetMaemoRootstrapLocationCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Nokia Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ed Swartz (Nokia) - initial API and implementation
+ *******************************************************************************/
+
+package org.maemo.esbox.maemosdk.sdk2.command;
+
+import org.eclipse.core.filesystem.IFileStore;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxInvalidParameterException;
+import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchbox2SDKTarget;
+import org.maemo.esbox.maemosdk.sdk2.core.ScratchboxSDK2Target;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author eswartz
+ *
+ */
+public class GetMaemoRootstrapLocationCommand extends MaemoRootstrapSb2Command {
+
+	private ScratchboxSDK2Target sdkTarget;
+
+	public GetMaemoRootstrapLocationCommand(
+			ICommandAbstractor commandAbstractor, ScratchboxSDK2Target sdkTarget) {
+		super(commandAbstractor);
+		this.sdkTarget = sdkTarget;
+	}
+
+	@Override
+	public int getParametersSize() {
+		return 0;
+	}
+	
+	@Override
+	protected boolean checkParameters(List<String> param) {
+		return param.size() == 0;
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.esbox.internal.core.command.ICommand#performCommand(java.util.List)
+	 */
+	public Object performCommand(List<String> params)
+			throws ScratchboxException, ESboxException {
+		if (!this.checkParameters(params))
+			throw new ScratchboxInvalidParameterException(
+					"Invalid number of parameters");
+		
+		List<String> rsCommands = new ArrayList<String>(2);
+		
+		String pathAction = commandAbstractor.getPreferenceValue(
+				SB2PreferenceConstants.SB2_MAEMO_ROOTSTRAP_PATH_ACT);
+
+		rsCommands.add(pathAction);
+		rsCommands.add(sdkTarget.getName());
+		
+		List<String> results = doPerformCommand(rsCommands, null, 0);
+		if (results.size() == 0)
+			throw new ScratchboxException("Could not detect rootstrap location for " + sdkTarget + "\ngot:\n" 
+					+ catenateLines(results));
+		
+		// ignore bogus report of deleted rootstrap
+		IPath root = new Path(results.get(0).trim());
+		IFileStore store = sdkTarget.getMachineFileSystemAccess().getFileStore(root);
+		if (store.fetchInfo().exists())
+			return root;
+		else
+			throw new ScratchboxException("Rootstrap location for " + sdkTarget + " does not exist: " + store);
+	}
+
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command/MaemoRootstrapSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command/MaemoRootstrapSb2Command.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/command/MaemoRootstrapSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Nokia Corporation
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ed Swartz (Nokia) - initial API and implementation
+ *******************************************************************************/
+package org.maemo.esbox.maemosdk.sdk2.command;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.process.CommandLineArguments;
+import org.maemo.esbox.core.process.ShellTemplateSubstitutor;
+import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
+import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
+
+/**
+ * Base class for maemo rootstrap command.  
+ */
+public abstract class MaemoRootstrapSb2Command extends ScratchboxCommand {
+
+	public MaemoRootstrapSb2Command(ICommandAbstractor commandAbstractor) {
+		super(commandAbstractor, 2);
+	}
+
+	@Override
+	protected boolean checkParameters(List<String> param) {
+		return true;
+	}
+	
+	/** 
+	 * Override if stderr output is allowed.
+	 * @return false
+	 */
+	protected boolean allowErrors() {
+		return false;
+		
+	}
+	
+	/**
+	 * Perform the command with the given params as command line arguments,
+	 * with an optional timeout (triggering ScratchboxException if reached)
+	 * @param params command line parameters to maemo-rootstrap
+	 * @param env any environment needed or <code>null</code>
+	 * @param timeout if not 0, timeout in milliseconds
+	 * @return lines from stdout
+	 * @throws ScratchboxException if command execution fails or if timeout reached
+	 */
+	@SuppressWarnings("unchecked")
+	protected List<String> doPerformCommand(List<String> params, Properties env, long timeout)
+			throws ESboxException {
+		String rootstrapCommand = commandAbstractor.getPreferenceValue(
+					SB2PreferenceConstants.SB2_MAEMO_ROOTSTRAP_COMMAND);
+
+		String options = CommandLineArguments.toCommandLine(params);
+			
+		ShellTemplateSubstitutor substitutor = new ShellTemplateSubstitutor();
+		substitutor.define("OPTIONS", options);
+		
+		rootstrapCommand = substitutor.substitute(rootstrapCommand);
+		
+		if (console == null) {
+			Process process = createProcess(rootstrapCommand, env);
+			List<String> results = getLineInputFromProcessAndWait(process, allowErrors(), timeout);
+			return results;
+		} else {
+			runAndWaitForProcess("Running " + rootstrapCommand, rootstrapCommand, env, timeout);
+			return Collections.EMPTY_LIST;
+		}
+	}
+
+	@Override
+	public int getParametersSize() {
+		return 0;
+	}
+
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/IScratchboxSDK2.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/IScratchboxSDK2.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/IScratchboxSDK2.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,28 @@
+package org.maemo.esbox.maemosdk.sdk2.core;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.maemo.esbox.core.ESboxException;
+
+public interface IScratchboxSDK2 {
+
+	
+	/** String for URI of machine where we detected scratchbox 2 */
+	static final String SB2_MACHINE = "sb2_machine";
+	/** String for scratchbox 2 version or <code>null</code> */
+	static final String SB2_VERSION = "sb2_version";
+	/** String[] scratchbox 2 target name array */
+	static final String SB2_TARGETS = "sb2_targets";
+	/** Map<String,Map<String, String>> of sb2 target names to a map of the target directory to host directory path mappings */
+	static final String SB2_TARGET_TO_PATH_MAPPINGS_MAP = "sb2_target_to_path_mappings_map";
+	/** Map<String,String> of sb2 target names to rootstrap paths */
+	static final String SB2_TARGET_TO_ROOTSTRAP_MAP = "sb2_target_to_rootstrap_map";
+	
+	public static final String NAME = "Scratchbox 2";
+	
+	public IPath getScratchbox2ConfigDirectory();
+	
+	public boolean createRootstrapTarget(String targetName, boolean useHostTools, boolean force, IProgressMonitor monitor) throws ESboxException;
+	
+	public boolean removeRootstrap(String targetName, boolean force, IProgressMonitor monitor)throws ESboxException;
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/Scratchbox2FileSystemMapping.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/Scratchbox2FileSystemMapping.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/Scratchbox2FileSystemMapping.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,80 @@
+/**
+ * (c) 2008 Nokia
+ */
+package org.maemo.esbox.maemosdk.sdk2.core;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.internal.api.core.machine.FileSystemMapping;
+import org.maemo.esbox.internal.api.core.machine.IFileSystemMappingImpl;
+import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxFacade;
+import org.maemo.esbox.maemosdk.sdk2.Activator;
+
+import com.nokia.cpp.internal.api.utils.core.Pair;
+
+/**
+ * Represent the mappings from the machine to a Scratchbox 2 target running on the machine.
+ * This represents the direct mappings with all softlinks resolved.
+ * @author eswartz
+ *
+ */
+public class Scratchbox2FileSystemMapping extends FileSystemMapping implements
+		IFileSystemMappingImpl {
+	/**
+	 * Construct with default path canonicalizers and add mappings for paths
+	 * known to be mapped.
+	 * @param targetRoot 
+	 * @param target
+	 */
+	public Scratchbox2FileSystemMapping(ScratchboxSDK2Target sdkTarget, IPath scratchboxBase, String target, String user) {
+		
+		super(FileSystemMapping.getMachineCanonicalizer(true), FileSystemMapping.getMachineCanonicalizer(true));
+		
+		List<Pair<IPath, IPath>> mappings = getHostToTargetRootMappings();
+		mappings.clear();
+		
+		// directories we're interested in
+		String[] topLevelDirs = {	
+				"/dev", "/home", "/proc",  "/sys", "/targets",
+				"/bin", "/boot", "/cdrom", "/etc", "/floppy", "/initrd",
+				"/lib", "/media", "/mnt", "/opt", "/root", "/sbin", "/srv", "/usr", "/var",
+				
+				// things get messier, so be more specific
+				"/var/cache/apt", "/usr/include", "/usr/lib", "/usr/local/include", "/usr/local/lib",
+				"/usr/X11R6", "/usr/local", "/home/user",
+		};
+		
+		List<IPath> topLevelPaths = new ArrayList<IPath>();
+		topLevelPaths.add(new Path("/"));
+		for (String topLevelDir : topLevelDirs) {
+			topLevelPaths.add(new Path(topLevelDir));
+		}
+		
+		Map<IPath, IPath> pathMapping = null;
+		try {
+			pathMapping = ScratchboxSDK2.getSb2PathMapping(
+					sdkTarget, topLevelPaths);
+//			pathMapping = ScratchboxFacade.getInstance().getSb2PathMapping(
+//					sdkTarget, topLevelPaths);
+		} catch (ESboxException e) {
+			Activator.getErrorLogger().logError("Unable to map Scratchbox 2 paths", e);
+			return;
+		}
+		
+		for (Map.Entry<IPath, IPath> entry : pathMapping.entrySet()) {
+			map(mappings, entry.getValue(), entry.getKey());
+		}
+		
+		setHostToTargetRootMappings(mappings);
+	}
+
+	private void map(List<Pair<IPath, IPath>> mappings, IPath from, IPath to) {
+		mappings.add(new Pair<IPath, IPath>(from, to));
+	}
+
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/ScratchboxSDK2.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/ScratchboxSDK2.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/ScratchboxSDK2.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,358 @@
+package org.maemo.esbox.maemosdk.sdk2.core;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.maemo.esbox.core.CorePreferenceConstants;
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.machine.IMachine;
+import org.maemo.esbox.core.sdk.IPreferenceProvider;
+import org.maemo.esbox.core.sdk.ISDKPlatform;
+import org.maemo.esbox.core.sdk.ISDKTarget;
+import org.maemo.esbox.internal.api.core.sdk.BaseSDKPlatform;
+import org.maemo.esbox.internal.maemosdk.core.command.ICommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.CreateMaemoRootstrapSb2Command;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.CreateTargetSb2Command;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.GetCurrentTargetSb2Command;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.GetVersionScratchboxCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListCompilersSb2Command;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListCputranspSb2Command;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListTargetsCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.RemoveMaemoRootstrapSb2Command;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.RemoveTargetSb2Command;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ShowPathMappingSb2Command;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.sdk.AbstractScratchboxSDK;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDK;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDKTarget;
+import org.maemo.esbox.maemosdk.sdk2.Activator;
+import org.maemo.esbox.maemosdk.sdk2.command.GetMaemoRootstrapLocationCommand;
+
+public class ScratchboxSDK2 extends AbstractScratchboxSDK implements
+		IScratchboxSDK2 {
+	
+	private static final int SB_VERSION = 2;
+	private static final IPath ROOT_PATH = new Path("/");
+	private static Pattern TARGET_PLATFORM_VERSION_ARCHITECTURE_PATTERN = 
+		Pattern.compile("([a-zA-Z_]+)(\\d+)_([a-zA-Z]+)");
+	
+	public ScratchboxSDK2(
+			IMachine machine,
+			String version, 
+			IPreferenceProvider prefProvider) {
+		super(machine, version, NAME);
+		this.prefProvider = prefProvider;
+	}
+
+	
+	
+	@Override
+	public void refresh() {
+		super.refresh();
+		List<String> targetNames;
+		try {
+			targetNames = getTargets();
+		} catch (ESboxException e) {
+			Activator.getErrorLogger().logError("Could not refresh targets", e);
+			return;
+		}
+		List<ISDKTarget> newTargets = new ArrayList<ISDKTarget>();
+		for (String target : targetNames) {
+			// ignore this one, left behind by errant rootstrap installations
+			if (target.equals("libtool_build"))
+				continue;
+			IPath config = getScratchbox2ConfigDirectory();
+			IPath sb2BasePath = config.append(target);
+			ScratchboxSDK2Target sdkTarget = new ScratchboxSDK2Target(this,
+					getPlatform(target),
+					getArchitecture(target),
+					target,
+					sb2BasePath);
+			newTargets.add(sdkTarget);
+			
+			try {
+				IPath sb2RootstrapPath = getMaemoRootstrapPath(sdkTarget);
+				sdkTarget.setRootstrapPath(sb2RootstrapPath);
+			} catch (ESboxException e) {
+				Activator.getErrorLogger().logError(null, e);
+			}
+
+		}
+		this.targets = newTargets;
+	}
+
+
+
+	@Override
+	public IPath getScratchbox2ConfigDirectory() {
+		String userName = prefProvider.getPreferenceValue(CorePreferenceConstants.USER);
+		if (userName.length() == 0) 
+			userName = "ubuntu";
+		return new Path("home").append(userName).append(".scratchbox2").makeAbsolute();
+	}
+
+	@Override
+	public boolean createTarget(String targetName, String compiler,
+			String devkits, String cputransp) throws ESboxException {
+		List<String> params = new ArrayList<String>();
+		params.add(targetName);
+		params.add(compiler);
+		params.add(cputransp);
+
+		CreateTargetSb2Command createTargetCommand = new CreateTargetSb2Command(this, getCommandAbstractor());
+
+		setCachedValue(SB2_TARGETS, null);
+
+		return (Boolean) createTargetCommand.performCommand(params);
+	}
+
+	@Override
+	public List<String> getCompilers() throws ESboxException {
+		ListCompilersSb2Command listCompilersCommand = new ListCompilersSb2Command(getCommandAbstractor());
+		return listCompilersCommand.performCommand(EMPTY_ARGS);
+	}
+
+	@Override
+	public List<String> getCputransp() throws ESboxException {
+		ListCputranspSb2Command listCputranspCommand = new ListCputranspSb2Command(getCommandAbstractor());
+		return listCputranspCommand.performCommand(EMPTY_ARGS);
+	}
+
+	@Override
+	public String getCurrentTarget() throws ESboxException {
+		ICommand getCurrentTargetCommand = new GetCurrentTargetSb2Command(getCommandAbstractor());
+		return (String) getCurrentTargetCommand.performCommand(new ArrayList<String>());
+	}
+
+	@Override
+	public List<String> getTargets() throws ESboxException {
+		String machineKey, targetsKey;
+			machineKey = SB2_MACHINE;
+			targetsKey = SB2_TARGETS;
+		
+		ensureCurrentMachine(machineKey, this.getMachine());
+		
+		String[] targetsArray = (String[]) getCachedValue(targetsKey);
+		if (targetsArray != null)
+			return Arrays.asList(targetsArray);
+		
+		ListTargetsCommand listTargetsCommand = new ListTargetsCommand(
+				getCommandAbstractor(), SB_VERSION);
+		List<String> targets = listTargetsCommand.performCommand(new ArrayList<String>());
+		
+		setCachedValue(targetsKey, (String[]) targets.toArray(new String[targets.size()]));
+			
+		return targets;
+	}
+
+	@Override
+	public boolean removeTarget(String targetName) throws ESboxException {
+		List<String> params = new ArrayList<String>();
+		params.add(targetName);
+
+		ICommand removeTargetCommand;
+		removeTargetCommand = new RemoveTargetSb2Command(this, getCommandAbstractor());
+		setCachedValue(SB2_TARGETS, null);
+		setCachedValue(SB2_TARGET_TO_PATH_MAPPINGS_MAP, null);
+		setCachedValue(SB2_TARGET_TO_ROOTSTRAP_MAP, null);
+		return (Boolean) removeTargetCommand.performCommand(params);
+	}
+
+	@Override
+	public IPath getSDKRoot() {
+		return ROOT_PATH;
+	}
+
+	@Override
+	public String getArchitecture(String target) {
+		// convention says this is the part of the target after the underscore
+		Matcher matcher = TARGET_PLATFORM_VERSION_ARCHITECTURE_PATTERN.matcher(target);
+		if (matcher.matches()) {
+			return matcher.group(3).toUpperCase();
+		} else {
+			return IScratchboxSDKTarget.ARCHITECTURE_UNKNOWN;
+		}
+	}
+
+	@Override
+	public ISDKPlatform getPlatform(String target) {
+		// convention says this is the part of the target before the underscore,
+		// minus a version.
+		Matcher matcher = TARGET_PLATFORM_VERSION_ARCHITECTURE_PATTERN.matcher(target);
+		if (matcher.matches()) {
+			String name = matcher.group(1);
+			String platformName = name.substring(0, 1).toUpperCase() + name.substring(1).toLowerCase();
+			String versionInfo = matcher.group(2);
+			String version = ISDKPlatform.VERSION_UNKNOWN;
+			if (versionInfo.length() == 2)
+				version = versionInfo.substring(0, 1) + "." + versionInfo.substring(1, 2);
+			return new BaseSDKPlatform(platformName, version);
+		} else {
+			return new BaseSDKPlatform(ISDKPlatform.NAME_UNKNOWN, ISDKPlatform.VERSION_UNKNOWN);
+		}
+	}
+
+	@Override
+	public boolean createRootstrapTarget(String targetName,
+			boolean useHostTools, boolean force, IProgressMonitor monitor)
+			throws ESboxException {
+		List<String> params = new ArrayList<String>();
+		params.add(targetName);
+		params.add(Boolean.toString(useHostTools));
+		params.add(Boolean.toString(force));
+
+		CreateMaemoRootstrapSb2Command createTargetCommand = 
+			new CreateMaemoRootstrapSb2Command(this, getCommandAbstractor(), monitor);
+
+		setCachedValue(SB2_TARGETS, null);
+
+		return createTargetCommand.performCommand(params);
+	}
+
+	@Override
+	public boolean removeRootstrap(String targetName, boolean force,
+			IProgressMonitor monitor) throws ESboxException {
+		List<String> params = new ArrayList<String>();
+		params.add(targetName);
+		params.add(Boolean.toString(force));
+
+		RemoveMaemoRootstrapSb2Command removeTargetCommand = 
+			new RemoveMaemoRootstrapSb2Command(getCommandAbstractor(), monitor);
+
+		setCachedValue(SB2_TARGETS, null);
+		setCachedValue(SB2_TARGET_TO_ROOTSTRAP_MAP, null);
+		setCachedValue(SB2_TARGET_TO_PATH_MAPPINGS_MAP, null);
+
+		return removeTargetCommand.performCommand(params);
+	}
+
+	//public static
+	public static synchronized Map<IPath, IPath> getSb2PathMapping(IScratchboxSDKTarget sdkTarget, List<IPath> hostPaths) throws ESboxException {
+		// find cached value
+		ensureCurrentMachine(SB2_MACHINE, sdkTarget.getSDK().getMachine());
+		Map<String, Map<String, String>> targetToPathMappingsMap = null;
+		Map<String, String> storedPathMappings = null;
+		targetToPathMappingsMap = (Map<String, Map<String, String>>) getCachedValue(SB2_TARGET_TO_PATH_MAPPINGS_MAP);
+		if (targetToPathMappingsMap != null) {
+			storedPathMappings = targetToPathMappingsMap.get(sdkTarget.getName());
+		}
+
+		Map<IPath, IPath> returnedPathMappings = new HashMap<IPath, IPath>();
+
+		// locate entries known to the cache
+		List<IPath> needToLookupHostPaths;
+		if (storedPathMappings != null) {
+			needToLookupHostPaths = new ArrayList<IPath>();
+			for (IPath hostPath : hostPaths) {
+				String targetPath = storedPathMappings.get(hostPath.toPortableString());
+				if (targetPath != null) {
+					returnedPathMappings.put(hostPath, new Path(targetPath));
+				} else {
+					needToLookupHostPaths.add(hostPath);
+				}
+			}
+		} else {
+			needToLookupHostPaths = hostPaths;
+		}
+		
+		if (needToLookupHostPaths.size() == 0) {
+			return returnedPathMappings;
+		}
+		
+		// do the hard work for the paths not covered by the cache
+		ShowPathMappingSb2Command command = new ShowPathMappingSb2Command(getCommandAbstractor(sdkTarget));
+		List<String> paths = new ArrayList<String>(needToLookupHostPaths.size());
+		for (IPath path : needToLookupHostPaths) {
+			paths.add(path.toPortableString());
+		}
+		
+		Map<IPath, IPath> newPathMappings = (Map<IPath, IPath>) command.performCommand(paths);
+		returnedPathMappings.putAll(newPathMappings);
+		
+		// update cache
+		if (storedPathMappings == null) {
+			storedPathMappings = new HashMap<String, String>();
+		}
+		for (Map.Entry<IPath, IPath> entry : newPathMappings.entrySet()) {
+			storedPathMappings.put(entry.getKey().toPortableString(), entry.getValue().toPortableString());
+		}
+		if (targetToPathMappingsMap == null) {
+			targetToPathMappingsMap = new HashMap<String, Map<String,String>>();
+		}
+		targetToPathMappingsMap.put(sdkTarget.getName(), storedPathMappings);
+		
+		setCachedValue(SB2_TARGET_TO_PATH_MAPPINGS_MAP, targetToPathMappingsMap);
+		
+		return returnedPathMappings;
+	}
+	
+	public static synchronized String getCurrentSbox2Version(IMachine machine)
+		throws ESboxException {
+		// find cached value
+		ensureCurrentMachine(SB2_MACHINE, machine);
+		String version = (String) getCachedValue(SB2_VERSION);
+		if (version != null)
+			return version;
+			
+		// do the hard work
+		acquireMachine(machine);
+		ICommandAbstractor commandAbstractor = getHostCommandAbstractor(machine); 
+		GetVersionScratchboxCommand getVersionCommand = new GetVersionScratchboxCommand(
+				commandAbstractor, 2);
+		
+		String currentVersion = getVersionCommand.performCommand(new ArrayList<String>());
+		// remember cached value
+		setCachedValue(SB2_VERSION, currentVersion);
+			
+		return currentVersion;
+	}
+	
+	//private
+	private synchronized IPath getMaemoRootstrapPath(ScratchboxSDK2Target sdkTarget) throws ESboxException {
+		// find cached value
+		ensureCurrentMachine(SB2_MACHINE, sdkTarget.getSDK().getMachine());
+		Map<String, String> targetToRootstrapMap = null;
+		targetToRootstrapMap = (Map<String, String>) getCachedValue(SB2_TARGET_TO_ROOTSTRAP_MAP);
+		if (targetToRootstrapMap != null) {
+			String rootstrap = targetToRootstrapMap.get(sdkTarget.getName());
+			if (rootstrap != null) {
+				return new Path(rootstrap);
+			}
+		}
+
+		// do the hard work
+		GetMaemoRootstrapLocationCommand command = new GetMaemoRootstrapLocationCommand(
+				getCommandAbstractor(), sdkTarget);
+		IPath rootstrapPath;
+		
+		// be sure to record something in the cache for broken targets so
+		// we don't keep asking all the time
+		ESboxException caughtException = null;
+		try {
+			rootstrapPath = (IPath) command.performCommand(EMPTY_ARGS);
+		} catch (ESboxException e) {
+			rootstrapPath = Path.EMPTY;
+			caughtException = e;
+		}
+		
+		// store cached value
+		if (targetToRootstrapMap == null)
+			targetToRootstrapMap = new HashMap<String, String>();
+		targetToRootstrapMap.put(sdkTarget.getName(), rootstrapPath.toPortableString());
+		setCachedValue(SB2_TARGET_TO_ROOTSTRAP_MAP, targetToRootstrapMap);
+		
+		if (caughtException != null)
+			throw caughtException;
+			
+		return rootstrapPath;
+	}
+	
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/ScratchboxSDK2Target.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/ScratchboxSDK2Target.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/core/ScratchboxSDK2Target.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,55 @@
+package org.maemo.esbox.maemosdk.sdk2.core;
+
+import org.eclipse.core.runtime.IPath;
+import org.maemo.esbox.core.CorePreferenceConstants;
+import org.maemo.esbox.core.process.IProcessLauncherFactory;
+import org.maemo.esbox.core.sdk.ISDKPlatform;
+import org.maemo.esbox.internal.maemosdk.core.sdk.Scratchbox2ProcessLauncherFactory;
+import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.sdk.AbstractScratchboxSDKTarget;
+
+public class ScratchboxSDK2Target extends AbstractScratchboxSDKTarget {
+	private IPath targetRoot;
+	private IPath rootstrapRoot;
+	
+	public ScratchboxSDK2Target(ScratchboxSDK2 sdk,
+			ISDKPlatform platform,
+			String architecture, String target,
+			IPath targetRoot){
+		super(sdk, platform, architecture, target);
+		if (targetRoot == null)
+			throw new IllegalArgumentException();
+		this.targetRoot = targetRoot;
+		init(new Scratchbox2FileSystemMapping(this, targetRoot, target,
+						sdk.getPreferenceValue(CorePreferenceConstants.USER))
+		//,new AptPackageManager(this)
+		);
+	}
+
+	@Override
+	public IProcessLauncherFactory getProcessLauncherFactoryForInstall() {
+		// install mode needs to be a different mapping and also run as root
+		return new Scratchbox2ProcessLauncherFactory(this, SB2PreferenceConstants.SB2_INSTALL_MAPPING_MODE, true);
+	}
+
+	@Override
+	public IPath getRootstrapPath() {
+		return rootstrapRoot;
+	}
+
+	@Override
+	public IProcessLauncherFactory getProcessLauncherFactory() {
+		// default is build mode
+		return new Scratchbox2ProcessLauncherFactory(this, SB2PreferenceConstants.SB2_MAPPING_MODE, false);
+	}
+
+	@Override
+	public IPath getSDKTargetRoot() {
+		return targetRoot;
+	}
+
+	/** Not API!  The targets should be refreshed from ISDK#refresh() */
+	void setRootstrapPath(IPath rootstrapPath) {
+		this.rootstrapRoot = rootstrapPath;
+	}
+}

Added: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/provider/ScratchboxSDK2Provider.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/provider/ScratchboxSDK2Provider.java	                        (rev 0)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.sdk2/src/org/maemo/esbox/maemosdk/sdk2/provider/ScratchboxSDK2Provider.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Nokia Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Ed Swartz (Nokia) - initial API and implementation
+ *******************************************************************************/
+package org.maemo.esbox.maemosdk.sdk2.provider;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.maemo.esbox.core.CorePreferenceManager;
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.ErrorLogger;
+import org.maemo.esbox.core.machine.IMachine;
+import org.maemo.esbox.core.machine.MachineRegistry;
+import org.maemo.esbox.core.sdk.IPreferenceProvider;
+import org.maemo.esbox.core.sdk.ISDK;
+import org.maemo.esbox.core.sdk.ISDKProvider;
+import org.maemo.esbox.internal.api.core.sdk.UserAwarePreferenceProviderWrapper;
+import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxException;
+import org.maemo.esbox.maemosdk.sdk2.Activator;
+import org.maemo.esbox.maemosdk.sdk2.core.ScratchboxSDK2;
+
+/**
+ * This implementation of the SDK provider searches for SB2
+ * targets using the 'sb2-config -l' command.
+ * If any aspect of SB2 communication fails, we assume SB2
+ * is not installed.
+ * @author eswartz
+ *
+ */
+public class ScratchboxSDK2Provider implements ISDKProvider {
+
+	// this may need to be bumped once an official release is made
+	private static final String SCRATCHBOX_VERSION_PATTERN = "1\\.99\\..*"; //$NON-NLS-1$
+
+	/**
+	 * 
+	 */
+	public ScratchboxSDK2Provider() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.esbox.core.sdk.ISDKProvider#createSDKs()
+	 */
+	public List<ISDK> createSDKs() throws ESboxException {
+		ErrorLogger logger = Activator.getErrorLogger();
+
+		
+		List<ISDK> sdks = new ArrayList<ISDK>();
+		for (IMachine machine : MachineRegistry.getInstance().getBuildMachines()) {
+			// will never find sbox on host (right?!)
+			if (machine.getOS().equals(Platform.OS_WIN32))
+				continue;
+			
+			try {
+				IPreferenceProvider prefProvider = new UserAwarePreferenceProviderWrapper(
+						CorePreferenceManager.getInstance().getPreferenceProvider(), machine);
+				ScratchboxSDK2 sdk = getMachineSDK(prefProvider, machine);
+				if (sdk != null) {
+					sdks.add(sdk);
+					sdk.refresh();
+				}
+			} catch (ScratchboxException e) {
+				logger.log(IStatus.INFO, "Problem scanning Scratchbox 2 installation", e);
+			}
+		}
+
+		ScratchboxSDK2.saveCachedData();
+
+		return sdks;
+	}
+
+	/**
+	 * @param logger
+	 * @param prefProvider
+	 * @param sdks
+	 * @return
+	 * @throws ScratchboxException
+	 */
+	private ScratchboxSDK2 getMachineSDK(
+			IPreferenceProvider prefProvider,
+			IMachine machine)
+			throws ESboxException {
+		ErrorLogger logger = Activator.getErrorLogger();
+
+		// only support one Scratchbox 2 installation
+		String version = ScratchboxSDK2.getCurrentSbox2Version(machine);
+		if (version == null) {
+			// no scratchbox?
+			return null;
+		}
+		
+		if (!version.matches(SCRATCHBOX_VERSION_PATTERN)) {
+			logger.logError(
+					MessageFormat.format(
+							"Only Scratchbox 2 version 1.99.x is supported (detected {0}); disabling Scratchbox 2 support",
+							version),
+					null);
+			return null;
+		}
+
+		ScratchboxSDK2 sdk = new ScratchboxSDK2(
+				machine,
+				version, 
+				prefProvider);
+		
+		return sdk;
+	}
+	
+	
+	
+}

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/META-INF/MANIFEST.MF
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/META-INF/MANIFEST.MF	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/META-INF/MANIFEST.MF	2008-10-06 14:28:07 UTC (rev 834)
@@ -24,6 +24,8 @@
  org.maemo.esbox.cpp.tests;bundle-version="1.5.0",
  org.maemo.esbox.device.tests;bundle-version="1.5.0",
  org.maemo.esbox.python.tests;bundle-version="1.5.0",
- org.maemo.esbox.linux.tests;bundle-version="1.5.0"
+ org.maemo.esbox.linux.tests;bundle-version="1.5.0",
+ org.maemo.esbox.maemosdk.sdk1;bundle-version="1.0.0",
+ org.maemo.esbox.maemosdk.sdk2;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB1ProcessLauncher.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB1ProcessLauncher.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB1ProcessLauncher.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -10,16 +10,26 @@
  *******************************************************************************/
 package org.maemo.esbox.maemosdk.tests;
 
-import org.eclipse.core.runtime.*;
+import java.io.ByteArrayOutputStream;
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
 import org.junit.Test;
-import org.maemo.esbox.core.*;
-import org.maemo.esbox.core.process.*;
-import org.maemo.esbox.core.sdk.*;
-import org.maemo.esbox.internal.maemosdk.core.sdk.providers.Scratchbox1SDKProvider;
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.process.CommandLineArguments;
+import org.maemo.esbox.core.process.IProcessLauncher;
+import org.maemo.esbox.core.process.IProcessLauncherFactory;
+import org.maemo.esbox.core.process.ProcessLauncherCreator;
+import org.maemo.esbox.core.sdk.ISDK;
+import org.maemo.esbox.core.sdk.ISDKProvider;
+import org.maemo.esbox.core.sdk.ISDKTarget;
+import org.maemo.esbox.core.sdk.SDKFactory;
+import org.maemo.esbox.maemosdk.sdk1.provider.ScratchboxSDK1Provider;
 
-import java.io.ByteArrayOutputStream;
-import java.util.*;
-
 /**
  * If SB1 is installed, make sure its SDKs and targets are properly detected,
  * and that it launches processes in the expected way
@@ -42,7 +52,7 @@
 		// don't worry if we don't find an SB1 installation
 		// on this host (this is mostly a manual test)
 		for (ISDKProvider provider : providers) {
-			if (provider instanceof Scratchbox1SDKProvider) {
+			if (provider instanceof ScratchboxSDK1Provider) {
 				sb1Provider = provider;
 				break;
 			}
@@ -50,7 +60,7 @@
 
 		if (sb1Provider == null && !Platform.isRunning()) {
 			// in case of standalone test
-			sb1Provider = new Scratchbox1SDKProvider();
+			sb1Provider = new ScratchboxSDK1Provider();
 		}
 
 	}

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB1SDKProvider.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB1SDKProvider.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB1SDKProvider.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -10,18 +10,23 @@
  *******************************************************************************/
 package org.maemo.esbox.maemosdk.tests;
 
+import java.util.List;
+
 import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
 import org.junit.Test;
-import org.maemo.esbox.core.*;
+import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.core.machine.ILocalMachine;
-import org.maemo.esbox.core.sdk.*;
+import org.maemo.esbox.core.sdk.ISDK;
+import org.maemo.esbox.core.sdk.ISDKProvider;
+import org.maemo.esbox.core.sdk.ISDKTarget;
+import org.maemo.esbox.core.sdk.SDKFactory;
 import org.maemo.esbox.core.tests.core.BaseTest;
-import org.maemo.esbox.internal.maemosdk.core.sdk.providers.Scratchbox1SDKProvider;
 import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDKTarget;
+import org.maemo.esbox.maemosdk.sdk1.provider.ScratchboxSDK1Provider;
 
-import java.util.List;
-
 /**
  * If SB1 is installed, make sure its SDKs and targets
  * are properly detected, and that it launches processes
@@ -43,7 +48,7 @@
 		// don't worry if we don't find an SB1 installation
 		// on this host (this is mostly a manual test)
 		for (ISDKProvider provider : providers) {
-			if (provider instanceof Scratchbox1SDKProvider) {
+			if (provider instanceof ScratchboxSDK1Provider) {
 				sb1Provider = provider;
 				break;
 			}
@@ -51,7 +56,7 @@
 		
 		if (sb1Provider == null && !Platform.isRunning()) {
 			// in case of standalone test
-			sb1Provider = new Scratchbox1SDKProvider();
+			sb1Provider = new ScratchboxSDK1Provider();
 		}
 	}
 	

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB2ProcessLauncher.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB2ProcessLauncher.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB2ProcessLauncher.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -10,18 +10,25 @@
  *******************************************************************************/
 package org.maemo.esbox.maemosdk.tests;
 
+import java.util.Collections;
+import java.util.List;
+
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.junit.Test;
-import org.maemo.esbox.core.*;
+import org.maemo.esbox.core.CorePreferenceConstants;
+import org.maemo.esbox.core.CorePreferenceManager;
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.process.CommandLineArguments;
+import org.maemo.esbox.core.process.IProcessLauncher;
+import org.maemo.esbox.core.process.IProcessLauncherFactory;
+import org.maemo.esbox.core.process.ProcessLauncherCreator;
+import org.maemo.esbox.core.sdk.ISDK;
+import org.maemo.esbox.core.sdk.ISDKProvider;
+import org.maemo.esbox.core.sdk.ISDKTarget;
+import org.maemo.esbox.core.sdk.SDKFactory;
+import org.maemo.esbox.maemosdk.sdk2.provider.ScratchboxSDK2Provider;
 
-import org.maemo.esbox.core.process.*;
-import org.maemo.esbox.core.sdk.*;
-import org.maemo.esbox.internal.maemosdk.core.sdk.providers.Scratchbox2SDKProvider;
-
-import java.util.Collections;
-import java.util.List;
-
 /**
  * If SB1 is installed, make sure its SDKs and targets are properly detected,
  * and that it launches processes in the expected way
@@ -49,7 +56,7 @@
 		// don't worry if we don't find an SB1 installation
 		// on this host (this is mostly a manual test)
 		for (ISDKProvider provider : providers) {
-			if (provider instanceof Scratchbox2SDKProvider) {
+			if (provider instanceof ScratchboxSDK2Provider) {
 				sb2Provider = provider;
 				break;
 			}
@@ -57,7 +64,7 @@
 
 		if (sb2Provider == null && !Platform.isRunning()) {
 			// in case of standalone test
-			sb2Provider = new Scratchbox2SDKProvider();
+			sb2Provider = new ScratchboxSDK2Provider();
 		}
 
 	}

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB2SDKProvider.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB2SDKProvider.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/TestSB2SDKProvider.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -16,8 +16,8 @@
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.core.machine.ILocalMachine;
 import org.maemo.esbox.core.sdk.*;
-import org.maemo.esbox.internal.maemosdk.core.sdk.providers.Scratchbox2SDKProvider;
 import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDKTarget;
+import org.maemo.esbox.maemosdk.sdk2.provider.ScratchboxSDK2Provider;
 
 import java.util.List;
 
@@ -44,7 +44,7 @@
 		// don't worry if we don't find an SB1 installation
 		// on this host (this is mostly a manual test)
 		for (ISDKProvider provider : providers) {
-			if (provider instanceof Scratchbox2SDKProvider) {
+			if (provider instanceof ScratchboxSDK2Provider) {
 				sb2Provider = provider;
 				break;
 			}
@@ -52,7 +52,7 @@
 		
 		if (sb2Provider == null && !Platform.isRunning()) {
 			// in case of standalone test
-			sb2Provider = new Scratchbox2SDKProvider();
+			sb2Provider = new ScratchboxSDK2Provider();
 		}
 
 	}

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/BaseTest.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/BaseTest.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/BaseTest.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -10,14 +10,17 @@
  *******************************************************************************/
 package org.maemo.esbox.maemosdk.tests.commands;
 
+import junit.framework.TestCase;
+
 import org.junit.Before;
 import org.maemo.esbox.core.sdk.ISDKTarget;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
-import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxFacade;
-import org.maemo.esbox.maemosdk.core.sdk.*;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.sdk.AbstractScratchboxSDK;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchbox2SDK;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDK;
+import org.maemo.esbox.maemosdk.core.sdk.IScratchboxSDKTarget;
+import org.maemo.esbox.maemosdk.core.sdk.ScratchboxSDKFacade;
 
-import junit.framework.TestCase;
-
 /**
  * Base test for the ICommand tests
  * @author eswartz
@@ -25,9 +28,9 @@
  */
 public abstract class BaseTest extends TestCase {
 
-	protected IScratchbox1SDK sb1Sdk;
+	protected IScratchboxSDK sb1Sdk;
 	protected ICommandAbstractor sb1Command;
-	protected IScratchbox2SDK sb2Sdk;
+	protected IScratchboxSDK sb2Sdk;
 	protected ICommandAbstractor sb2Command;
 	protected ICommandAbstractor sb2ArmelTargetCommand;
 
@@ -37,14 +40,14 @@
 	@Before
 	public void setUp() throws Exception {
 		this.sb1Sdk = ScratchboxSDKFacade.getInstance().getScratchbox1SDK();
-		this.sb1Command = ScratchboxFacade.getInstance().getCommandAbstractor(sb1Sdk);
+		this.sb1Command = sb1Sdk.getCommandAbstractor(); //ScratchboxFacade.getInstance().getCommandAbstractor(sb1Sdk);
 		this.sb2Sdk = ScratchboxSDKFacade.getInstance().getScratchbox2SDK();
-		this.sb2Command = ScratchboxFacade.getInstance().getCommandAbstractor(sb2Sdk);
+		this.sb2Command = sb2Sdk.getCommandAbstractor();//ScratchboxFacade.getInstance().getCommandAbstractor(sb2Sdk);
 		if (sb2Sdk != null) {
 			for (ISDKTarget target : sb2Sdk.getSDKTargets()) {
 				if (target.getArchitecture().equals(IScratchboxSDKTarget.ARCHITECTURE_ARMEL) && 
 						!target.getName().contains("minimal")) {
-					this.sb2ArmelTargetCommand = ScratchboxFacade.getInstance().getCommandAbstractor(target);
+					this.sb2ArmelTargetCommand = AbstractScratchboxSDK.getCommandAbstractor(target);//ScratchboxFacade.getInstance().getCommandAbstractor(target);
 					break;
 				}
 			}

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/MockCommandAbstractor.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/MockCommandAbstractor.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/MockCommandAbstractor.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -15,9 +15,9 @@
 import org.maemo.esbox.core.process.HostProcessLauncherFactory;
 import org.maemo.esbox.core.process.IProcessLauncherFactory;
 import org.maemo.esbox.core.sdk.ISDKTarget;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.internal.maemosdk.core.sdk.Scratchbox2ProcessLauncherFactory;
 import org.maemo.esbox.maemosdk.core.SB2PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 
 import java.util.List;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestCreateTargetCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestCreateTargetCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestCreateTargetCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -13,9 +13,10 @@
 
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.core.sdk.ISDK;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.*;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 
 import java.util.ArrayList;
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestCreateTargetSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestCreateTargetSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestCreateTargetSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -2,7 +2,7 @@
 
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.CreateTargetSb2Command;
-import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxCommand;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 
 import java.util.ArrayList;
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestListCommands.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestListCommands.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestListCommands.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -11,16 +11,22 @@
  *******************************************************************************/
 package org.maemo.esbox.maemosdk.tests.commands;
 
-import org.maemo.esbox.core.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.maemo.esbox.core.ESboxException;
+import org.maemo.esbox.core.HostUtils;
 import org.maemo.esbox.core.process.IProcessLauncher;
 import org.maemo.esbox.core.process.ProcessLauncherCreator;
 import org.maemo.esbox.core.sdk.ISDKTarget;
-import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.*;
-import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxFacade;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListCompilersCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListCputranspCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListDevkitsCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListSessionsCommand;
+import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ListTargetsCommand;
 import org.maemo.esbox.maemosdk.core.sdk.ScratchboxSDKFacade;
 
-import java.util.*;
-
 /**
  * Please, read file TESTS.txt for more instructions about test.
  */
@@ -232,7 +238,8 @@
 		numberOfSessions = sessions.size();
 		
 		// launch a new session (without switching targets!)
-		ISDKTarget target = ScratchboxFacade.getInstance().getCurrentSDKTarget(ScratchboxSDKFacade.getInstance().getScratchbox1SDK());
+//		ISDKTarget target = ScratchboxFacade.getInstance().getCurrentSDKTarget(ScratchboxSDKFacade.getInstance().getScratchbox1SDK());
+		ISDKTarget target = ScratchboxSDKFacade.getInstance().getScratchbox1SDK().getCurrentSDKTarget();
 		
 		Process process = null;
 		try {

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestListSb2Commands.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestListSb2Commands.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestListSb2Commands.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -18,8 +18,8 @@
 
 import org.maemo.esbox.core.process.IProcessLauncher;
 import org.maemo.esbox.core.process.IProcessLauncherFactory;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.*;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
 import org.maemo.esbox.maemosdk.core.scratchbox.MaemoRootstrap;
 
 import java.util.*;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestRemoveCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestRemoveCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestRemoveCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -13,6 +13,7 @@
 
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.*;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 
 import java.util.ArrayList;
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestRemoveSb2Command.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestRemoveSb2Command.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestRemoveSb2Command.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -10,13 +10,15 @@
  *******************************************************************************/
 package org.maemo.esbox.maemosdk.tests.commands;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.RemoveTargetSb2Command;
-import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxCommand;
-import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxFacade;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
+import org.maemo.esbox.maemosdk.core.sdk.AbstractScratchboxSDK;
 
-import java.util.*;
-
 /**
  */
 public class TestRemoveSb2Command extends BaseTest {
@@ -49,8 +51,9 @@
 		final String TARGET = "REMOVEME_armel";
 		
 		try {
-			ScratchboxFacade.getInstance().createTarget(sb2Sdk, TARGET, 
-					ScratchboxFacade.getInstance().getCompilers(sb2Sdk).get(0), null);
+//			ScratchboxFacade.getInstance().createTarget(sb2Sdk, TARGET, 
+//					ScratchboxFacade.getInstance().getCompilers(sb2Sdk).get(0), null);
+			sb2Sdk.createTarget(TARGET,sb2Sdk.getCompilers().get(0), null,null);
 		} catch (ESboxException e) {
 			// don't worry if it fails, as it might, since installing a 
 			// bogus target in sb2 often fails to initialize properly
@@ -58,7 +61,8 @@
 		
 		List<String> targets = new ArrayList<String>();
 		try {
-			targets = ScratchboxFacade.getInstance().getTargets(sb2Sdk);
+//			targets = ScratchboxFacade.getInstance().getTargets(sb2Sdk);
+			targets = sb2Sdk.getTargets();
 		} catch (ESboxException e) {
 			// again, ignore error
 		}
@@ -68,11 +72,14 @@
 
 			List<String> param = Collections.singletonList(TARGET);
 			try {
-				ScratchboxFacade.getInstance().clearCachedData();
+//				ScratchboxFacade.getInstance().clearCachedData();
+				AbstractScratchboxSDK.clearCachedData();
 				removeCommand.performCommand(param);
 				
-				ScratchboxFacade.getInstance().clearCachedData();
-				targets = ScratchboxFacade.getInstance().getTargets(sb2Sdk);
+//				ScratchboxFacade.getInstance().clearCachedData();
+				AbstractScratchboxSDK.clearCachedData();
+//				targets = ScratchboxFacade.getInstance().getTargets(sb2Sdk);
+				targets = sb2Sdk.getTargets();
 				assertFalse(targets.contains(TARGET));
 			} catch (ESboxException e) {
 				fail(e.getMessage());

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestScratchboxCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestScratchboxCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestScratchboxCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -12,9 +12,9 @@
 package org.maemo.esbox.maemosdk.tests.commands;
 
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.ICommandAbstractor;
-import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.SB1PreferenceConstants;
+import org.maemo.esbox.maemosdk.core.command.ICommandAbstractor;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 
 import java.util.List;
 

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestSelectTargetCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestSelectTargetCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestSelectTargetCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -13,6 +13,7 @@
 
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.*;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 
 import java.util.ArrayList;
 import java.util.List;

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestShowTargetCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestShowTargetCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestShowTargetCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -11,15 +11,15 @@
  *******************************************************************************/
 package org.maemo.esbox.maemosdk.tests.commands;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.maemo.esbox.core.ESboxException;
-import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ScratchboxCommand;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.ShowTargetCommand;
-import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxFacade;
+import org.maemo.esbox.maemosdk.core.command.ScratchboxCommand;
 import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxTarget;
+import org.maemo.esbox.maemosdk.sdk1.core.ScratchboxSDK1;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * Please, read file TESTS.txt for more instructions about test.
  */
@@ -43,13 +43,19 @@
 		target = (ScratchboxTarget) showTargetCommand.performCommand(param);
 
 		assertEquals(theTarget, target.getName());
-		assertTrue(ScratchboxFacade.getInstance().getCompilers(sb1Sdk).contains(
+//		assertTrue(ScratchboxFacade.getInstance().getCompilers(sb1Sdk).contains(
+//				target.getCompiler()));
+		assertTrue(sb1Sdk.getCompilers().contains(
 				target.getCompiler()));
-		assertTrue(ScratchboxFacade.getInstance().getCputransp(sb1Sdk).contains(
+//		assertTrue(ScratchboxFacade.getInstance().getCputransp(sb1Sdk).contains(
+//				target.getCputransp()));
+		assertTrue(sb1Sdk.getCputransp().contains(
 				target.getCputransp()));
+		
+//		List<String> devkitsInstalled = ScratchboxFacade.getInstance().getDevkits(sb1Sdk);
 
-		List<String> devkitsInstalled = ScratchboxFacade.getInstance().getDevkits(sb1Sdk);
-
+		List<String> devkitsInstalled = ((ScratchboxSDK1)sb1Sdk).getDevkits();
+		
 		List<String> devkitsActual = target.getDevkits();
 		for (String devkit : devkitsActual) {
 			assertTrue(devkitsInstalled.contains(devkit));

Modified: branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestSimpleCommand.java
===================================================================
--- branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestSimpleCommand.java	2008-10-06 07:58:39 UTC (rev 833)
+++ branches/sdkPlugins/maemosdk/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/maemosdk/tests/commands/TestSimpleCommand.java	2008-10-06 14:28:07 UTC (rev 834)
@@ -11,14 +11,13 @@
  *******************************************************************************/
 package org.maemo.esbox.maemosdk.tests.commands;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.junit.Test;
 import org.maemo.esbox.core.ESboxException;
 import org.maemo.esbox.internal.maemosdk.core.command.scratchbox.SimpleCommand;
-import org.maemo.esbox.maemosdk.core.scratchbox.ScratchboxFacade;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * 
  */
@@ -30,7 +29,8 @@
 	 */
 	@Test
 	public void testPerformCommand() throws ESboxException {
-		String currentTarget = ScratchboxFacade.getInstance().getCurrentTarget(sb1Sdk);
+//		String currentTarget = ScratchboxFacade.getInstance().getCurrentTarget(sb1Sdk);
+		String currentTarget = sb1Sdk.getCurrentTarget();
 		
 		SimpleCommand simpleCommand = new SimpleCommand(sb1Command);
 		List<String> params = new ArrayList<String>();



More information about the Esbox-commits mailing list