[Esbox-commits] r1204 - in branches/work_Petr: . org.maemo.esbox-feature org.maemo.esbox.analysis org.maemo.esbox.help org.maemo.esbox.help/html org.maemo.esbox.help/html/concepts org.maemo.esbox.help/html/context_help org.maemo.esbox.help/html/images org.maemo.esbox.help/html/reference org.maemo.esbox.help/html/tasks org.maemo.esbox.maemosdk.core org.maemo.esbox.maemosdk.core/META-INF org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/tools org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core org.maemo.esbox.maemosdk.tests org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands org.maemo.esbox.maemosdk.ui org.maemo.esbox.maemosdk.ui/META-INF org.maemo.esbox.maemosdk.ui/icons/full/obj16 org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/actions org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards org.maemo.esbox.product org.maemo.esbox.product-feature org.maemo.esbox.product.supplement-feature org.maemo.esbox.project.cpp org.maemo.esbox.project.cpp/META-INF org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards org.maemo.esbox.project.python org.maemo.esbox.project.python/src org.maemo.esbox.project.python/src/org org.maemo.esbox.project.python/src/org/maemo org.maemo.esbox.project.python/src/org/maemo/esbox org.maemo.esbox.project.python/src/org/maemo/esbox/internal org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards org.maemo.esbox.scratchbox-feature org.maemo.esbox.scratchbox.core org.maemo.esbox.scratchbox.core/META-INF org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/sdk org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/core org.maemo.esbox.scratchbox.sb1/conf org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/core org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/scratchbox/sb1/sdk org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2 org.maemo.esbox.tests-feature org.maemo.esbox.vm/META-INF org.maemo.esbox.vm/src/org/maemo/esbox/internal/api/vm/core org.maemo.esbox.vm/src/org/maemo/esbox/vm/ui

baranov at garage.maemo.org baranov at garage.maemo.org
Fri Feb 6 15:41:27 EET 2009


Author: baranov
Date: 2009-02-06 15:41:25 +0200 (Fri, 06 Feb 2009)
New Revision: 1204

Added:
   branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageConfig.png
   branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageConfig2.png
   branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageConfig3.png
   branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageConvert.png
   branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageFetch0.png
   branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageFetch1.png
   branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageProject.png
   branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageSelect.png
   branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageWizard.png
   branches/work_Petr/org.maemo.esbox.help/html/tasks/ImportDebianPackage.html
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/BuildMachineHostedTargetFilter.java
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/MaemoEnvironmentUtils.java
   branches/work_Petr/org.maemo.esbox.maemosdk.tests/test.xml
   branches/work_Petr/org.maemo.esbox.maemosdk.ui/icons/full/obj16/maemo_convert.png
   branches/work_Petr/org.maemo.esbox.maemosdk.ui/icons/full/obj16/package_install.png
   branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/
   branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/ESboxImportDebianSourcePackageProjectWizard.java
   branches/work_Petr/org.maemo.esbox.product/cleanup-merged-product-build.py
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectImportConfigurationComposite.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectSupport.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectDebianSupportAdapterFactory.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectImportConfigurationComposite.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties/ESboxCppBuildConfigurationsPage.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToESboxCppProjectWizard.java
   branches/work_Petr/org.maemo.esbox.project.python/src/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/IHelpID.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/UIActivator.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/MaemoPythonProjectPackageGatherer.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectImportConfigurationComposite.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectSupport.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonProjectDebianSupportAdapterFactory.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxPythonBuildConfigurationsPage.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/ESboxPythonProjectWizard.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleProjectProperties.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleWorkspaceProjectPropertiesProvider.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/GTKExecutionEnvironmentHandler.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/MaemoExecutionEnvironmentHandler.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/X11ExecutionEnvironmentHandler.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapter.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapterFactory.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapter.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapterFactory.java
   branches/work_Petr/org.maemo.esbox.tests-feature/
   branches/work_Petr/org.maemo.esbox.tests-feature/.project
   branches/work_Petr/org.maemo.esbox.tests-feature/build.properties
   branches/work_Petr/org.maemo.esbox.tests-feature/feature.xml
Removed:
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/MaemoEnvironmentUtils.java
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/execEnv/
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/OldStyleProjectProperties.java
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/OldStyleWorkspaceProjectPropertiesProvider.java
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoTargetEnvironmentModifierAdapter.java
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoTargetEnvironmentModifierAdapterFactory.java
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/ESboxBuildTargetFilter.java
   branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/ESboxImportDebianSourcePackageProjectWizard.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToMicaCppBuildConfigWizard.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToMicaCppBuildConfigWizardPage.java
   branches/work_Petr/org.maemo.esbox.project.python/bin/
   branches/work_Petr/org.maemo.esbox.project.python/src/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/IHelpID.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/UIActivator.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/MaemoPythonProjectPackageGatherer.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectImportConfigurationComposite.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectSupport.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonProjectDebianSupportAdapterFactory.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxPythonBuildConfigurationsPage.java
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/
   branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/ESboxPythonProjectWizard.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/GTKExecutionEnvironmentHandler.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/MaemoExecutionEnvironmentHandler.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/X11ExecutionEnvironmentHandler.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/core/PersistentCache.java
   branches/work_Petr/org.maemo.esbox.tests-feature/.project
   branches/work_Petr/org.maemo.esbox.tests-feature/build.properties
   branches/work_Petr/org.maemo.esbox.tests-feature/feature.xml
Modified:
   branches/work_Petr/org.maemo.esbox-feature/feature.xml
   branches/work_Petr/org.maemo.esbox.analysis/plugin.xml
   branches/work_Petr/org.maemo.esbox.help/html/concepts/DebianPackage.html
   branches/work_Petr/org.maemo.esbox.help/html/context_help/esbox_dialogs_help.xml
   branches/work_Petr/org.maemo.esbox.help/html/reference/FAQ.html
   branches/work_Petr/org.maemo.esbox.help/html/tasks/validatepackages.html
   branches/work_Petr/org.maemo.esbox.help/html/toc.html
   branches/work_Petr/org.maemo.esbox.help/toctasks.xml
   branches/work_Petr/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF
   branches/work_Petr/org.maemo.esbox.maemosdk.core/plugin.xml
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/tools/MaemoLauncher.java
   branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoDefaultExecutionEnvironmentAdapter.java
   branches/work_Petr/org.maemo.esbox.maemosdk.tests/build.properties
   branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestProcessLauncher.java
   branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSB1ProcessLauncher.java
   branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSB2ProcessLauncher.java
   branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSb1SDKTarget.java
   branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/MockProcessLauncher.java
   branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/TestScratchbox2SDK.java
   branches/work_Petr/org.maemo.esbox.maemosdk.ui/META-INF/MANIFEST.MF
   branches/work_Petr/org.maemo.esbox.maemosdk.ui/plugin.xml
   branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/actions/MaemoDropdownMenuAction.java
   branches/work_Petr/org.maemo.esbox.product-feature/feature.xml
   branches/work_Petr/org.maemo.esbox.product.supplement-feature/feature.xml
   branches/work_Petr/org.maemo.esbox.product/ESbox.product
   branches/work_Petr/org.maemo.esbox.product/plugin.properties
   branches/work_Petr/org.maemo.esbox.project.cpp/META-INF/MANIFEST.MF
   branches/work_Petr/org.maemo.esbox.project.cpp/plugin.xml
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/ConvertCppProjectMarkerResolutionGenerator.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/MaemoCppProjectPackageGatherer.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties/ESBoxOldCppTargetPropertyPage.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ESboxCCProjectWizard.java
   branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ESboxCProjectWizard.java
   branches/work_Petr/org.maemo.esbox.project.python/plugin.xml
   branches/work_Petr/org.maemo.esbox.scratchbox-feature/feature.xml
   branches/work_Petr/org.maemo.esbox.scratchbox.core/META-INF/MANIFEST.MF
   branches/work_Petr/org.maemo.esbox.scratchbox.core/plugin.xml
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/ScratchboxPackageManagerProvider.java
   branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/sdk/CacheUtils.java
   branches/work_Petr/org.maemo.esbox.scratchbox.sb1/conf/run.sh
   branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/core/Scratchbox1SDKTarget.java
   branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Scratchbox1ProcessLauncher.java
   branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/scratchbox/sb1/sdk/IScratchbox1SDKTarget.java
   branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/Activator.java
   branches/work_Petr/org.maemo.esbox.vm/META-INF/MANIFEST.MF
   branches/work_Petr/org.maemo.esbox.vm/src/org/maemo/esbox/internal/api/vm/core/BaseLaunchableVirtualMachineController.java
   branches/work_Petr/org.maemo.esbox.vm/src/org/maemo/esbox/vm/ui/SelectVirtualMachineDialog.java
Log:
Merged rev 1173:1203 from trunk.

Modified: branches/work_Petr/org.maemo.esbox-feature/feature.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox-feature/feature.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox-feature/feature.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,97 +1,89 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.maemo.esbox"
-      label="ESbox Feature"
-      version="2.0.0.qualifier"
-      provider-name="INdT / NOKIA">
-
-   <description>
-      ESbox feature, containing all the ESbox-specific plugins.
-   </description>
-
-   <copyright>
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.maemo.esbox"
+      label="ESbox Feature"
+      version="2.0.0.qualifier"
+      provider-name="INdT / NOKIA">
+
+   <description>
+      ESbox feature, containing all the ESbox-specific plugins.
+   </description>
+
+   <copyright>
       Copyright (c) 2007-2008 INdT, (c) 2007-2008 Nokia. All rights
-reserved.
-   </copyright>
-
-   <license url="http://www.eclipse.org/legal/epl-v10.html">
-      For legal terms, see the Eclipse Public License.
-   </license>
-
-   <url>
-      <update label="Update site for ESbox project" url="http://esbox.garage.maemo.org/update"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.maemo.mica.common.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.maemosdk.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.common.analysis" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.esbox.scratchbox.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="com.nokia.carbide.templatewizard" version="2.1.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-   <plugin
-         id="org.maemo.esbox.analysis"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.help"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.maemo.esbox.maemosdk.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.maemosdk.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.vm.qemu"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.vm"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.vm.vmware"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.project.cpp"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.project.python"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
+reserved.
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      For legal terms, see the Eclipse Public License.
+   </license>
+
+   <url>
+      <update label="Update site for ESbox project" url="http://esbox.garage.maemo.org/update"/>
+   </url>
+
+   <requires>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.maemo.mica.common.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.maemosdk.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.common.analysis" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="com.nokia.carbide.templatewizard" version="2.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.ui"/>
+   </requires>
+
+   <plugin
+         id="org.maemo.esbox.help"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.maemo.esbox.maemosdk.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.maemosdk.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.vm.qemu"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.vm"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.vm.vmware"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.project.cpp"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.project.python"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>

Modified: branches/work_Petr/org.maemo.esbox.analysis/plugin.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.analysis/plugin.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.analysis/plugin.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -4,7 +4,7 @@
    <extension
          point="org.eclipse.core.runtime.adapters">
       <factory
-            adaptableType="org.maemo.mica.common.core.sdk.ISDKTarget"
+            adaptableType="org.maemo.mica.maemosdk.core.IMaemoSDKTarget"
             class="org.maemo.esbox.internal.analysis.adapters.AnalysisAdapterFactory">
          <adapter
                type="org.maemo.mica.common.analysis.adapters.IValgrindSupportAdapter">

Modified: branches/work_Petr/org.maemo.esbox.help/html/concepts/DebianPackage.html
===================================================================
--- branches/work_Petr/org.maemo.esbox.help/html/concepts/DebianPackage.html	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.help/html/concepts/DebianPackage.html	2009-02-06 13:41:25 UTC (rev 1204)
@@ -35,6 +35,7 @@
         <h3>Related Topic</h3>
 <ul>
           <li><a href="../tasks/DebianPackage.html">Creating Debian Package</a></li>
+          <li><a href="../tasks/validatepackages.html">Validating and Installing Packages</a></li>
         </ul>
 </body>
 </html>
\ No newline at end of file

Modified: branches/work_Petr/org.maemo.esbox.help/html/context_help/esbox_dialogs_help.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.help/html/context_help/esbox_dialogs_help.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.help/html/context_help/esbox_dialogs_help.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -94,9 +94,13 @@
 <!-- PLUGIN: org.maemo.mica.linux.packages.ui -->
 <!-- Project > Validate Installed Packages => wizard -->
     <context id="wizard_validate_packages" >
-		<description>Select projects to validate installed packages</description>
+		<description>Validate installed packages for projects</description>
 		<topic label="Validate Installed Packages"	  href="html/tasks/validatepackages.html" />
     </context>
+ <context id="wizard_import_project_packages" title="About Importing Packages">
+    <description>Import projects from &quot;apt&quot; packages from a Debian repository</description>
+		<topic label="Import Projects from Debian Repository"	  href="html/tasks/ImportDebianPackage.html" />
+ </context>
 
     <!-- PLUGIN: org.maemo.mica.common.ui -->
     <!--  Global preference => Maemo -->
@@ -132,4 +136,4 @@
 <!-- <context id="download_method_selection_dialog" > -->
 
 
-</contexts>
\ No newline at end of file
+</contexts>

Copied: branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageConfig.png (from rev 1203, trunk/org.maemo.esbox.help/html/images/ImportPackageConfig.png)
===================================================================
(Binary files differ)

Copied: branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageConfig2.png (from rev 1203, trunk/org.maemo.esbox.help/html/images/ImportPackageConfig2.png)
===================================================================
(Binary files differ)

Copied: branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageConfig3.png (from rev 1203, trunk/org.maemo.esbox.help/html/images/ImportPackageConfig3.png)
===================================================================
(Binary files differ)

Copied: branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageConvert.png (from rev 1203, trunk/org.maemo.esbox.help/html/images/ImportPackageConvert.png)
===================================================================
(Binary files differ)

Copied: branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageFetch0.png (from rev 1203, trunk/org.maemo.esbox.help/html/images/ImportPackageFetch0.png)
===================================================================
(Binary files differ)

Copied: branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageFetch1.png (from rev 1203, trunk/org.maemo.esbox.help/html/images/ImportPackageFetch1.png)
===================================================================
(Binary files differ)

Copied: branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageProject.png (from rev 1203, trunk/org.maemo.esbox.help/html/images/ImportPackageProject.png)
===================================================================
(Binary files differ)

Copied: branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageSelect.png (from rev 1203, trunk/org.maemo.esbox.help/html/images/ImportPackageSelect.png)
===================================================================
(Binary files differ)

Copied: branches/work_Petr/org.maemo.esbox.help/html/images/ImportPackageWizard.png (from rev 1203, trunk/org.maemo.esbox.help/html/images/ImportPackageWizard.png)
===================================================================
(Binary files differ)

Modified: branches/work_Petr/org.maemo.esbox.help/html/reference/FAQ.html
===================================================================
--- branches/work_Petr/org.maemo.esbox.help/html/reference/FAQ.html	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.help/html/reference/FAQ.html	2009-02-06 13:41:25 UTC (rev 1204)
@@ -19,11 +19,11 @@
 <h4>General questions:</h4>
 <p></p>
 <ul>
-    <li><a href="#what">What is the ESbox?</a></li>
-    <li><a href="#licensed">How is the ESbox licensed?</a></li>
+    <li><a href="#what">What is ESbox?</a></li>
+    <li><a href="#licensed">How is ESbox licensed?</a></li>
     <li><a href="#organized">How is the ESbox Project organized?</a></li>
     <li><a href="#releases">How do I find out about future releases of the ESbox?</a></li>
-    <li><a href="#support">Which operating systems does the ESbox support?</a></li>
+    <li><a href="#support">Which operating systems does ESbox support?</a></li>
     <li><a href="#ask">How do I ask questions?</li>
     <li><a href="#bug">How do I report a bug or request a feature?</a></li>
 </ul>
@@ -48,23 +48,29 @@
 <h2>General questions:</h2>
 
 <div class="h3" id="what" title="what">
-<h3>What is the ESbox?</h3>
+<h3>What is ESbox?</h3>
 
 <p>                                                                
-ESbox is an extension of the CDT plug-in, strongly integrated with Scratchbox, 
-reducing time and effort for configuration, and increasing the productivity for
+ESbox is an Eclipse product for developing applications and libraries
+on the Maemo software platform.
+</p>
+<p>
+ESbox is strongly integrated with Scratchbox, 
+reducing time and effort for configuration and increasing the productivity for
 Linux-based embedded systems development. It supports C/C++ and Python programming 
-languages. Maemo 4.x SDKs will be supported. 
-
-<p>ESbox offers a middle layer between Scratchbox and the programmer, which eliminates the  use of command line and archaic text editors.</p>
-
+languages. Maemo 4.x and future SDKs will be supported. 
+</p>
+<p>
+ESbox also supports deploying, running, and debugging applications and
+libraries on the Nokia Internet Tablet.
+</p>
 </div>
 
 <![CDATA[-----------------------------------------------------------]]>
 
 
 <div class="h3" id="licensed" title="licensed">
-<h3>How is the ESbox licensed?</h3>
+<h3>How is ESbox licensed?</h3>
 
 <p>
 This software is produced by the ESbox team combined with third party 
@@ -81,14 +87,37 @@
 <h3>How is the ESbox Project organized?</h3>
 
 <p>
-Both Eclipse and Scratchbox run over
-Linux. ESbox has two modules: the framework, which calls Scratchbox services and
-manipulate the streams of the processes properly; and the plug-in, which changes data 
-with framework, requests Scratchbox services, displays information from Scratchbox 
-to the programmer and implements features for helping editing, launching and 
-debugging. Tools which use Scratchbox, like Maemo, can also be plugged into ESbox.
-</p>
-<p></p> 
+ESbox consists of three major layers:  
+
+<ul>
+<li>Eclipse platform </li>
+
+<blockquote>
+A popular and extensible framework for developing IDEs.  See <a href="http://www.eclipse.org">the eclipse.org website</a>.
+</blockquote>
+
+<li>Maemo IDE Common Architecture</li>
+<blockquote>
+A plugin framework supporting both the ESbox and PluThon products, which provides
+an extensible platform for Maemo development:
+<ul>
+<li>Unified project model, with C/C++ and Python implementations</li>
+<li>Linux development (e.g. Debian packaging)</li>
+<li>SSH, SBRSH, and RSE support for connecting with Maemo devices</li>
+<li>and more!  See <a href="https://garage.maemo.org/projects/mica/">the Mica project website</a> 
+for more information.</li>
+</ul>
+</blockquote>
+
+<li>ESbox product</li>
+<blockquote>
+A targeted set of product plugins, providing the top-level project and import
+wizards, this help, graphics, and user interface modifications giving ESbox its 
+unique feel as a product.
+</blockquote>
+
+</ul>
+
 </div>
 
 <![CDATA[-----------------------------------------------------------]]>
@@ -99,7 +128,7 @@
 
 <p> 
 To find out about futures releases see: 
-<a href="https://garage.maemo.org/forum/forum.php?forum_id=2291">Futures releases</a>
+<a href="https://garage.maemo.org/news/?group_id=192">ESbox News</a>
 </p>
 
 </div>
@@ -111,11 +140,20 @@
 <h3>Which operating systems does ESbox support?</h3>
 
 <p> 
-The ESbox plug-in runs on the Linux open source operating system. Linux is open source 
-software, which is freely available; however, the full distribution of Linux 
-along with technical support and training are available for a fee from vendors 
-such as Red Hat Software and Caldera. Due to its stability, Linux has gained 
-popularity with ISPs as the OS for hosting Web servers.</p>
+The ESbox product runs on Linux (32 or 64 bit), Windows XP/Vista, and Mac OS X.
+</p>
+<p>
+The underlying Scratchbox, on the other hand, only runs on Linux/i386.  To support
+non-Linux hosts, ESbox can communicate with a virtual machine hosting the Maemo SDK.
+(Currently these are available through links on the 
+<a href="https://garage.maemo.org/plugins/wiki/index.php?ESboxOutsideLinuxWithVirtualMachine&id=192&type=g">
+Preleases wiki page</a>.)
+</p>
+<p>ESbox, though Mica, operates essentially the same way regardless of which host you're 
+running on.  A limitation, though, is that your projects or workspace must be visible
+to both Scratchbox and the host.  When Scratchbox is running on a virtual machine,
+we support this via Samba sharing from the host to the VM.
+</p>
 
 </div>
 
@@ -125,7 +163,7 @@
 <h3>How do I ask questions?</h3>
 
 <p> 
-The <a href="https://garage.maemo.org/">garage.maemo</a> website provides some mailing 
+The <a href="https://garage.maemo.org/">garage.maemo.org</a> website provides some mailing 
 <a href="https://garage.maemo.org/mail/?group_id=192">lists</a>. Choose a list 
 to browse, search, and post messages. Keep in mind that these newsgroups are public, 
 so do not include any confidential information in your questions. You should
@@ -143,12 +181,16 @@
 <h3>How do I report a bug or request a feature?</h3>
 
 <p>
+The bug and feature trackers are stored at the 
+<a href="https://garage.maemo.org/tracker/?group_id=192">ESbox project page</a>.
+</p>
+<p>
 Before entering a bug report, you should search to see if someone else 
 has already entered a bug report similar to yours. If you find a bug report 
 that outlines the problem you are seeing, you can simply annotate it with your 
 comments to let the developers know that you have also hit the bug. Also you 
-can add yourself to the <a href="https://garage.maemo.org/tracker/?func=browse&group_id=192&atid=1420">ESbox list</a> 
-of the bug so that you will be notified when the status of the bug changes or 
+can add yourself to the "Monitor" list of the bug so that you will be notified 
+when the status of the bug changes or 
 someone adds comments.</p>
 
 
@@ -162,29 +204,38 @@
 <![CDATA[-----------------------------------------------------------]]>
 
 <div class="h3" id="howtos" title="howtos">
-<h3>Are there complete HowTos for setting up the ESbox?</h3>
+<h3>Are there complete HowTos for setting up ESbox?</h3>
 
+<p>
+ESbox itself is fully packaged and ready to run.  You only need to unzip it somewhere
+and run the "ESbox" executable inside.
+</p>
 <p> 
-Yes. Integration information is supplied here <a href="http://maemo.org/development/documentation/ide_integration/">http://maemo.org/development/documentation/ide_integration/</a>.</p>
+Setting up the Scratchbox and Maemo SDKs is still a bit of a manual effort, though,
+if you do not use a virtual machine.  
+See <a href="http://maemovmware.garage.maemo.org/">the Maemo VMware Appliance</a>
+site for a convenient image with everything (Linux, Scratchbox, Maemo SDKs, and ESbox) installed .
+</p>
+<p> 
+Full integration information is supplied here <a href="http://maemo.org/development/documentation/ide_integration/">http://maemo.org/development/documentation/ide_integration/</a>.
+</p>
 
 <h3>Which ESbox build should I download? </h3>
 
+<p>Download one of the 2.0.0 product builds for your operating system from
+<a href="https://garage.maemo.org/frs/?group_id=192">the ESbox Files section</a>.
+
+This will provide a full Eclipse environment with Eclipse, Mica, and ESbox.
+</p>
+ 
+<b>Manual installation</b>
+
 <p>
-First of all to use the ESbox plugin, you need:
-<ul>
-    <li>Linux with SSH Client</li>
-    <li>Maemo SDK</li>
-    <li>Sun version of Java</li>          
-    <li>Eclipse SDK 3.3.1.1</li>
-	<li>Eclipse CDT 4.0.2</li>
-	<li>PyDev >= 1.3.7</li>
-    <li>Python interpreter configured</li>
-    <li>Sbrsh (Scratchbox Remote Shell)</li>
-</ul> 
+If you want to add ESbox features to your existing Ganymede installation, see the
+<a href="http://esbox.garage.maemo.org/esbox_installation.html">
+instructions</a> for installing from the ESbox update site.
 </p>
 
-<p>With everything set up, you are able to get the latest version of the ESbox plugin.</p>
-
 <div class="h3" id="uninstall" title="uninstall">
 <h3>How do I uninstall ESbox?</h3>
 

Copied: branches/work_Petr/org.maemo.esbox.help/html/tasks/ImportDebianPackage.html (from rev 1203, trunk/org.maemo.esbox.help/html/tasks/ImportDebianPackage.html)
===================================================================
--- branches/work_Petr/org.maemo.esbox.help/html/tasks/ImportDebianPackage.html	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.help/html/tasks/ImportDebianPackage.html	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+	<TITLE>Validate Installed Packages</TITLE>
+	<META NAME="GENERATOR" CONTENT="OpenOffice.org 2.3  (Win32)">
+	<META NAME="CREATED" CONTENT="0;0">
+	<META NAME="CHANGEDBY" CONTENT="Ed Swartz">
+	<META NAME="CHANGED" CONTENT="20090203;15073630">
+	<META NAME="copyright" CONTENT="Copyright (c) INdT 2007-2008. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.">
+	<META NAME="CHANGEDBY" CONTENT="Ed Swartz">
+	<META NAME="CHANGEDBY" CONTENT="Ed Swartz">
+	<META NAME="CHANGEDBY" CONTENT="Ed Swartz">
+	<STYLE TYPE="text/css">
+	<!--
+		@page { size: 8.5in 11in }
+		P { color: #000000; font-family: "Arial", sans-serif; font-size: 10pt }
+		H2 { color: #000000; font-family: "Arial", sans-serif; font-size: 14pt }
+		H3 { color: #000000; font-family: "Arial", sans-serif; font-size: 11pt }
+		H2.style1 { font-family: "Arial", sans-serif; font-size: 14pt }
+		A:link { color: #006699 }
+	-->
+	</STYLE>
+</HEAD>
+<BODY LANG="en-US" TEXT="#000000" LINK="#006699" BGCOLOR="#ffffff" DIR="LTR">
+<H2 CLASS="style1">Importing Projects from Debian Repositories</H2>
+<P>With ESbox you can choose a <FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US"><SPAN STYLE="font-weight: medium">package
+from a scratchbox rootstraps and import its sources as an ESbox
+project. The project can be built using standard Debian build
+commands and repackaged.</SPAN></SPAN></FONT></FONT></P>
+<H3>Background 
+</H3>
+<P>This feature assumes you know a little bit about the workings of
+Debian packages. If not, the full details are here, in the &ldquo;The
+Debian GNU/Linux FAQ; Chapter 7 - Basics of the Debian package
+management system&ldquo;: 
+</P>
+<P>&lt;<A HREF="http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html">http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html</A>&gt;</P>
+<P>And a more concise explanation follows.</P>
+<H3 STYLE="font-weight: medium">Repositories and package types</H3>
+<P>In the Debian package manager &ldquo;apt&rdquo; (used in
+scratchbox and Maemo devices), the <B>sources.list </B><SPAN STYLE="font-weight: medium">repository
+configuration files contain two kinds of entries: &ldquo;deb&rdquo;
+and &ldquo;deb-src&rdquo; repositories. Both point to external or
+local repositories of packages (called </SPAN><I><SPAN STYLE="font-weight: medium">system
+packages </SPAN></I><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">here).
+&ldquo;deb&rdquo; repositories point to binary packages while
+&ldquo;deb-src&rdquo; repositories point to the (usually in sync)
+source packages for those binary packages.</SPAN></SPAN></P>
+<P STYLE="font-style: normal; font-weight: medium">One source package
+may generate several binary packages; for instance, one for programs
+and primary data, one for auxiliary data, one for libraries, and one
+for development. 
+</P>
+<P><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">In
+&ldquo;apt&rdquo;, when fetching the sources for a binary package,
+you start with an interesting binary package and find its
+corresponding source package (e.g. &ldquo;</SPAN></SPAN><FONT FACE="Courier New, monospace"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">apt-get
+source &lt;package&gt;</SPAN></SPAN></FONT>&rdquo;<SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">).
+</SPAN></SPAN>
+</P>
+<H3 STYLE="font-style: normal; font-weight: medium">Source package
+structure</H3>
+<P><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">The
+sources for a package come usually in three files: a </SPAN></SPAN><SPAN STYLE="font-style: normal"><B>control
+file </B></SPAN><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">(*.dsc),
+an </SPAN></SPAN><SPAN STYLE="font-style: normal"><B>archive
+</B></SPAN><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">(*.tar.gz
+or *.tar.bz2), and </SPAN></SPAN><SPAN STYLE="font-style: normal"><B>a
+patch </B></SPAN><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">(*.diff.gz).
+&ldquo;apt-get source&rdquo; will invoke &ldquo;dpkg-source&rdquo; to
+expand the archive and apply the patch. The control file is used when
+rebuilding the binary package.</SPAN></SPAN></P>
+<P STYLE="font-style: normal; font-weight: medium">Once extracted,
+the contents of the original patched sources vary wildly. The
+contents may contain a bare-bones Makefile project, an
+autotools-based project, a nest of programs and libraries and test
+code, or even another archive. 
+</P>
+<P><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">There
+is one guarantee, though: the package will expand to contain a </SPAN></SPAN><SPAN STYLE="font-style: normal"><B>debian
+</B></SPAN><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">directory
+and its various control files (see the &ldquo;Source packages&rdquo;
+chapter of the &ldquo;Debian Policy Manual&rdquo; at
+<A HREF="http://www.debian.org/doc/debian-policy/ch-source.html">http://www.debian.org/doc/debian-policy/ch-source.html</A>
+for more details).</SPAN></SPAN></P>
+<P><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">The
+</SPAN></SPAN><SPAN STYLE="font-style: normal"><B>debian/rules </B></SPAN><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">file
+is an executable Makefile which is the primary means of interaction
+with the source from the perspective of a Debian package. In other
+words, even if the extracted sources contain autoconf files or
+Makefiles, you should use </SPAN></SPAN><SPAN STYLE="font-style: normal"><B>debian/rules</B></SPAN>
+<SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">to
+configure, build, clean, install, and re-package the package.</SPAN></SPAN></P>
+<P STYLE="font-style: normal; font-weight: medium">For example,
+&ldquo;debian/rules configure&rdquo;, &ldquo;debian/rules build&rdquo;,
+&ldquo;debian/rules install&rdquo; are typical ways to use a source
+package.</P>
+<P><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">It
+should be mentioned that even </SPAN></SPAN><SPAN STYLE="font-style: normal"><B>debian/rules
+</B></SPAN><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">can
+have varying degrees of fluctuation in the targets it provides. Most
+packages not developed in the Debian project itself come from a large
+community of people who think differently, and the targets will vary
+accordingly. While the utility &ldquo;dh_make&rdquo; tries to promote
+a standard set of guidelines, some projects may, for instance, lack a
+&ldquo;configure&rdquo; target (or have several), lack a &ldquo;build&rdquo;
+target (or have several), etc.</SPAN></SPAN></P>
+<P STYLE="font-style: normal; font-weight: medium">ESbox attempts to
+corral this kind of diversity in its import wizard.</P>
+<H3>Using the Wizard</H3>
+<OL>
+	<LI><P>Find the wizard under <B>File &gt; Import &gt; ESbox &gt;
+	Project from Debian Repository.</B></P>
+	<P><IMG SRC="../images/ImportPackageWizard.png" NAME="graphics8" ALIGN=LEFT BORDER=0>
+	<br clear=left>Select
+	the package to import.</P>
+		<P><IMG SRC="../images/ImportPackageSelect.png" NAME="graphics9" ALIGN=LEFT BORDER=0><BR CLEAR=LEFT>The
+		target providing packages will be one of the Scratchbox targets on
+		the build machine. 
+		</P>
+	<UL>
+		<LI><P><B>NOTE: </B>This page assumes the target has the necessary
+		&ldquo;deb-src&rdquo; entries in <B>sources.list</B><SPAN STYLE="font-weight: medium">.
+		Standard Maemo SDKs have such entries.</SPAN></P>
+		<LI><P>The package selector shows a tree of packages organized by
+		category. You can search by typing in the filter (for words in the
+		name or description) or typing in the tree (for the name alone).</P>
+		<LI><P>The &ldquo;Fetch build dependencies&rdquo; option ensures
+		that, in addition to fetching the source for the selected package,
+		any packages needed to build the source will be installed as well.</P>
+		<LI><P>The &ldquo;Always re-fetch source components&rdquo; option
+		will ask the wizard to always go to the network and find the source
+		components (the .dsc file, archives, and patches) for the package.
+		This may be necessary if you've modified the package locally.</P>
+		<LI><P>The &ldquo;D<FONT FACE="Arial, sans-serif"><FONT SIZE=2><SPAN LANG="en-US">elete
+		source components&rdquo; option deletes the .dsc file, source
+		archives, and patches after extraction.</SPAN></FONT></FONT></P>
+	</UL>
+	<LI><P>The next page prepares for the source fetch. 
+	</P>
+	<P><IMG SRC="../images/ImportPackageFetch0.png" NAME="graphics10" ALIGN=LEFT BORDER=0><BR CLEAR=LEFT>Visit
+	the link to ensure your proxy is configured, or else the download
+	will not work.</P>
+	<P>Hit Next to start the process.</P>
+	<P><IMG SRC="../images/ImportPackageFetch1.png" NAME="graphics11" ALIGN=LEFT BORDER=0><BR CLEAR=LEFT><B>HINT</B><SPAN STYLE="font-weight: medium">:
+	if the fetch fails &ndash; usually indicated by a long pause after
+	&ldquo;Building dependency tree&rdquo;, hit Cancel to abort the
+	process. You can select &ldquo;View Log&rdquo; from the dialog, hit
+	Back, then hit Next again to retry.</SPAN></P>
+	<LI><P STYLE="font-weight: medium">The next page lets you deal with
+	packages that do not have the expected source layout (the archived
+	packages mentioned above). This page allows you to preconfigure the
+	project so you can (hopefully) extract the sources and decide
+	whether the project is really the one you're looking for. 
+	</P>
+	<P STYLE="font-weight: medium">This is a normal case:</P>
+	<P STYLE="font-weight: medium"><IMG SRC="../images/ImportPackageConfig.png" NAME="graphics12" ALIGN=LEFT BORDER=0><BR CLEAR=LEFT>Here,
+	the project (<B>sysstat </B>from earlier pages) expands into a
+	project with a Makefile. Also (off-screen) there are C sources and
+	headers. Thus, the wizard is able to guess the project type. This
+	page, then, is merely informative and you can hit Next.</P>
+	<P STYLE="font-weight: medium">The following screenshot shows the
+	inimitable bash shell, however, which is packaged as an archive.</P>
+	<P STYLE="font-weight: medium"><IMG SRC="../images/ImportPackageConfig2.png" NAME="graphics13" ALIGN=LEFT BORDER=0><BR CLEAR=LEFT>To
+	handle this case, select a build rule which appears to be a
+	configuration rule and select &ldquo;Setup project...&rdquo; to
+	build it. Build results go to the Console under the wizard. 
+	</P>
+	<P STYLE="font-weight: medium"><B>NOTE: </B>For bash, this
+	&ldquo;configure&rdquo; step actually proceeds to build the entire
+	program and run its tests &ndash; you may Cancel after the archive
+	has been extracted and the patches have been applied, then proceed
+	with the wizard.</P>
+	<P STYLE="font-weight: medium">This shows the results after running
+	(and canceling) the &ldquo;bash-configure&rdquo; build:</P>
+	<IMG SRC="../images/ImportPackageConfig3.png" NAME="graphics14" ALIGN=LEFT BORDER=0><BR CLEAR=LEFT>
+	<li><p>The
+	last page lets you convert the project from a generic one into one
+	that ESbox can build:</P>
+	<P><IMG SRC="../images/ImportPackageConvert.png" NAME="graphics15" ALIGN=LEFT BORDER=0><BR CLEAR=LEFT>In
+	this page, select the targets from <B>debian/rules </B><SPAN STYLE="font-weight: medium">which
+	will handle the various kinds of build steps. This page shows the
+	same settings available under </SPAN><B>Project &gt; Properties &gt;
+	C/C++ Build Settings</B><SPAN STYLE="font-weight: medium">. Any of
+	them may be left blank to fall back to the behavior for normal ESbox
+	projects.</SPAN></P>
+	<UL>
+		<LI><P>&ldquo;<SPAN STYLE="font-weight: medium">Configure build
+		rule&rdquo; is used when switching targets and/or running </SPAN><B>Project
+		&gt; Build Application &gt; Generate Configure</B><SPAN STYLE="font-weight: medium">.
+		It resets the project to a state where it can be rebuilt from
+		scratch for a new target or with a new configuration. In a Debian
+		package, this is done through </SPAN><B>debian/rules </B><SPAN STYLE="font-weight: medium">instead
+		of through </SPAN><B>autoconf </B><SPAN STYLE="font-weight: medium">or
+		the like. </SPAN>
+		</P>
+		<P><SPAN STYLE="font-weight: medium">You </SPAN><I><SPAN STYLE="font-weight: medium">may
+		</SPAN></I><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">leave
+		this blank if the rules provide no useful default, or if you want
+		to take control of the configuration yourself, but ESbox will fall
+		back to launching </SPAN></SPAN><SPAN STYLE="font-style: normal"><B>autogen.sh
+		</B></SPAN><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">or
+		</SPAN></SPAN><SPAN STYLE="font-style: normal"><B>autoconf </B></SPAN><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">(if
+		available). But the wizard will warn you that this isn't the intent
+		of the package maintainers. (In fact, in some projects, like &ldquo;apt&rdquo;
+		itself, directly running </SPAN></SPAN><SPAN STYLE="font-style: normal"><B>configure</B></SPAN>
+		<SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">will
+		lead to an infinitely recursing Makefile!)</SPAN></SPAN></P>
+		<LI><P>&ldquo;Incremental/full build rule&rdquo; is used in the
+		case where you build a project with <B>Project &gt; Build Project</B><SPAN STYLE="font-weight: medium">,
+		or on a build-before-launch.</SPAN></P>
+		<LI><P>&ldquo;<SPAN STYLE="font-weight: medium">Auto build rule&rdquo;
+		is used when </SPAN><B>Project &gt; Build Automatically </B><SPAN STYLE="font-weight: medium">is
+		enabled and you save a resource in the project. The C/C++ Build
+		Settings must be configured to allows automatic builds, though. </SPAN>
+		</P>
+		<LI><P>&ldquo;<SPAN STYLE="font-weight: medium">Clean build rule&rdquo;
+		is used when cleaning projects with </SPAN><B>Project &gt; Clean.</B></P>
+	</UL>
+</OL>
+<H3>Using Debian source projects</H3>
+<P>Projects imported from Debian packages can be edited, navigated,
+build, and launched like normal ESbox projects.  You can, of course,
+recreate Debian packages from them too.</P>
+<P>The only difference is, build and configure commands will use
+<B>debian/rules </B><SPAN STYLE="font-weight: medium">to do their
+work instead of directly invoking autoconf or make.  If you wish to
+&ldquo;de-Debianize&rdquo; a project, edit </SPAN><B>Project &gt;
+Properties &gt; C/C++ Build Settings </B><SPAN STYLE="font-weight: medium">and
+check &ldquo;Use default&rdquo; for the &ldquo;Build Command&rdquo;. 
+</SPAN>
+</P>
+<P><BR><BR>
+</P>
+</BODY>
+</HTML>
\ No newline at end of file

Modified: branches/work_Petr/org.maemo.esbox.help/html/tasks/validatepackages.html
===================================================================
--- branches/work_Petr/org.maemo.esbox.help/html/tasks/validatepackages.html	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.help/html/tasks/validatepackages.html	2009-02-06 13:41:25 UTC (rev 1204)
@@ -17,7 +17,13 @@
 <h2 class="style1">Validate Installed Packages</h2>
 
 
-<p>The Validate Installed Packages wizard allows you to configure multiple projects at once and select which targets to update (including devices behind RSE connections). Repositories can also be added. To set up new repositories on a tablet, it will need root access. Root access is not needed for scratchbox.</p>
+<p>The Validate Installed Packages wizard is a useful tool for ensuring your rootstraps and Maemo devices
+have all the necessary software to support building, debugging, and launching your application. 
+</p>
+<p>You may configure multiple projects at once and select which targets to update.  
+Repositories like Maemo Extras will be automatically added as needed.</p>
+<p><b>NOTE:</b> to install software to a Nokia Internet Tablet, you will need root access.  
+Root access is not needed for Scratchbox targets.</p>
 <p>To validate installed packages:</p>
   <ol>
 	<li>Select a project in Project Explorer and select <strong>Project &gt; Validate Installed Packages</strong> to start the wizard.</li>

Modified: branches/work_Petr/org.maemo.esbox.help/html/toc.html
===================================================================
--- branches/work_Petr/org.maemo.esbox.help/html/toc.html	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.help/html/toc.html	2009-02-06 13:41:25 UTC (rev 1204)
@@ -53,9 +53,11 @@
 <h3>Tasks</h3>
 <ul>
   <li><a href="tasks/CreateMakeTarget.html">Creating a Make Target</a></li>
+  <li><a href="tasks/validatepackages.html">Validating Build and Runtime Environment</a></li>
+  <li><a href="tasks/ImportDebianPackage.html">Importing Projects from a Debian Repository</a></li>
+  <li><a href="tasks/DebianPackage.html">Debian Package Management</a></li>
   <li><a href="tasks/CreateNewTarget.html">Creating a New Target</a></li>
   <li><a href="tasks/CreateOprofileconfig.html">Creating a OProfile Launch Configuration</a></li>
-  <li><a href="tasks/DebianPackage.html">Debian Package Management</a></li>
 </ul>
 <p></p>
 </body>

Modified: branches/work_Petr/org.maemo.esbox.help/toctasks.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.help/toctasks.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.help/toctasks.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -2,24 +2,26 @@
 <?NLS TYPE="org.eclipse.help.toc"?>
 
 <toc label="Tasks" link_to="toc.xml#tasks">
-	<topic label="Create a new Scratchbox target"  href="html/gettingstarted/SettingPreferences.html#int">
-	</topic>	
-	<topic label="Create Make Target" href="html/tasks/CreateMakeTarget.html">
+	<topic label="Validating Installed Packages" href="html/tasks/validatepackages.html">
 	</topic>
-	<topic label="Creating a New Target" href="html/tasks/CreateNewTarget.html">
-	</topic>
-	<topic label="Creating a OProfile Launch Configuration"  href="html/tasks/CreateOprofileconfig.html">
-	</topic>
 	<topic label="Local Launching"  href="html/concepts/LocalLaunching.html">
 	</topic> 
 	<topic label="Remote Launching"  href="html/concepts/RemoteLaunching.html">
     </topic>     
+	<topic label="Importing Projects from Debian Repositories" href="html/tasks/ImportDebianPackage.html">
+	</topic>
 	<topic label="Debian Package Management" href="html/tasks/DebianPackage.html">	
 	</topic>
-    <topic label="Profiling Maemo Applications" href="html/tasks/ProfilingMaemoApplications.html">
+	<topic label="Create Make Target" href="html/tasks/CreateMakeTarget.html">
 	</topic>
     <topic label="Extracting Strings" href="html/tasks/ExternalizeString.html">
 	</topic>
-	<topic label="Validating Installed Packages" href="html/tasks/validatepackages.html">
+	<topic label="Create a new Scratchbox target"  href="html/gettingstarted/SettingPreferences.html#int">
+	</topic>	
+	<topic label="Creating a New Target" href="html/tasks/CreateNewTarget.html">
 	</topic>
+    <topic label="Profiling Maemo Applications" href="html/tasks/ProfilingMaemoApplications.html">
+	</topic>
+	<topic label="Creating a OProfile Launch Configuration"  href="html/tasks/CreateOprofileconfig.html">
+	</topic>
 </toc>

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/META-INF/MANIFEST.MF	2009-02-06 13:41:25 UTC (rev 1204)
@@ -9,12 +9,9 @@
  org.eclipse.core.runtime,
  org.maemo.mica.common.project.core;bundle-version="2.0.0",
  org.maemo.mica.common.launch;bundle-version="2.0.0",
- org.maemo.esbox.scratchbox.core;bundle-version="2.0.0",
  org.maemo.mica.maemosdk.core;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
 Export-Package: org.maemo.esbox.internal.api.maemosdk.core,
- org.maemo.esbox.internal.api.maemosdk.core.execEnv,
  org.maemo.esbox.internal.api.maemosdk.core.tools,
- org.maemo.esbox.internal.maemosdk.core.adapters,
  org.maemo.esbox.maemosdk.core

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.core/plugin.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/plugin.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/plugin.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,46 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.2"?>
 <plugin>
+ 
    <extension
          point="org.eclipse.core.runtime.adapters">
-         <!-- scratchbox-specific -->
-       <factory
-            adaptableType="org.maemo.esbox.internal.api.scratchbox.core.sdk.AbstractScratchboxSDKTarget"
-            class="org.maemo.esbox.internal.maemosdk.core.adapters.MaemoTargetEnvironmentModifierAdapterFactory">
-         <adapter
-               type="org.maemo.mica.common.launch.adapters.ITargetEnvironmentModifierAdapter">
-         </adapter>
-      </factory>
-      <!-- scratchbox-specific -->
-       <factory
-            adaptableType="org.maemo.esbox.internal.api.scratchbox.core.sdk.AbstractScratchboxSDKTarget"
-            class="org.maemo.esbox.internal.api.maemosdk.core.execEnv.MaemoEmulatorExecutionEnvironmentProviderAdapterFactory">
-         <adapter
-               type="org.maemo.mica.common.core.execEnv.IExecutionEnvironmentProviderAdapter">
-         </adapter>
-      </factory>
-   </extension>
-
-  <extension
-         id="org.maemo.mica.common.core.execution_environments"
-         name="name"
-         point="org.maemo.mica.common.core.execution_environment">
-      <execution_environment
-      		id="x11"
-            name="X11">
-      </execution_environment>
-      <execution_environment
-      		id="gtk"
-            name="GTK">
-      </execution_environment>
-      <execution_environment
-      		id="maemo"
-            name="Maemo AF">
-      </execution_environment>
-   </extension>
-  
-   <extension
-         point="org.eclipse.core.runtime.adapters">
          <!-- generic maemo -->
        <factory
             adaptableType="org.maemo.mica.common.core.sdk.ISDKTarget"
@@ -62,13 +25,5 @@
            version="17">
      </preferenceSetProvider>
   </extension>
-
-  <extension
-        point="org.maemo.mica.common.project.core.oldStyleProjectPropertiesProvider">
-     <projectPropertiesProvider
-           class="org.maemo.esbox.internal.maemosdk.core.OldStyleWorkspaceProjectPropertiesProvider">
-     </projectPropertiesProvider>
-  </extension>
-
   
 </plugin>

Deleted: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/MaemoEnvironmentUtils.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/MaemoEnvironmentUtils.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/MaemoEnvironmentUtils.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * 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.internal.api.maemosdk.core;
-
-import org.maemo.esbox.maemosdk.core.MaemoPreferenceConstants;
-import org.maemo.mica.common.core.CorePreferenceManager;
-import org.maemo.mica.common.core.env.IEnvironmentModifierBlock;
-import org.maemo.mica.common.core.machine.IMachine;
-
-/**
- * @author eswartz
- *
- */
-public class MaemoEnvironmentUtils {
-	/**
-	 * Define DISPLAY for launches under the emulator that need a connection to the X server.
-	 * <p>
-	 * This uses the setting from the X Server preferences.
-	 * @param serverMachine the machine that hosts X
-	 * @param envBlock
-	 */
-	public static void defineEmulatorXDisplayVariable(IMachine serverMachine, IEnvironmentModifierBlock envBlock) {
-		// local launches need DISPLAY that points back to the host machine
-		String display = CorePreferenceManager.getInstance().getRegisteredKeyValue(
-				MaemoPreferenceConstants.X_DISPLAY);
-		if (display != null && display.length() > 0) {
-			String host = serverMachine.getLocalMachineAddress();
-			if (host.equals(IMachine.LOCALHOST_ADDRESS)) {
-				host = "";
-			}
-			envBlock.define("DISPLAY", host + display);
-		}
-	}
-}

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/tools/MaemoLauncher.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/tools/MaemoLauncher.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/api/maemosdk/core/tools/MaemoLauncher.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -17,8 +17,8 @@
 
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.ui.console.*;
-import org.maemo.esbox.internal.api.maemosdk.core.MaemoEnvironmentUtils;
 import org.maemo.esbox.internal.maemosdk.core.Activator;
+import org.maemo.esbox.maemosdk.core.MaemoEnvironmentUtils;
 import org.maemo.esbox.maemosdk.core.MaemoPreferenceConstants;
 import org.maemo.mica.common.core.*;
 import org.maemo.mica.common.core.env.IEnvironmentModifierBlock;

Deleted: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/OldStyleProjectProperties.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/OldStyleProjectProperties.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/OldStyleProjectProperties.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * 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.internal.maemosdk.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.maemo.esbox.internal.api.maemosdk.core.execEnv.MaemoExecutionEnvironments;
-import org.maemo.esbox.scratchbox.core.scratchbox.ScratchboxException;
-import org.maemo.esbox.scratchbox.core.sdk.IScratchboxSDK;
-import org.maemo.esbox.scratchbox.core.sdk.ScratchboxSDKFacade;
-import org.maemo.mica.common.core.MicaException;
-import org.maemo.mica.common.core.execEnv.*;
-import org.maemo.mica.common.core.sdk.*;
-import org.maemo.mica.common.project.core.IProjectProperties;
-
-import java.text.MessageFormat;
-import java.util.List;
-
-/**
- * This class retrieves the old-style C/C++ or Python project properties stored
- * in workspace metadata.
- * 
- * @author eswartz
- * 
- */
-public class OldStyleProjectProperties implements IProjectProperties {
-	private static final String TARGET_NAME_ID = "org.indt.esbox.project.targetName";
-
-	private static final String SCRATCHBOX_VERSION_ID = "org.indt.esbox.project.scratchboxVersion";
-
-	private static final String EXECUTION_ENVIRONMENT_ID = "org.indt.esbox.project.execEnv";
-
-	static final QualifiedName targetNameProperty = new QualifiedName(
-			TARGET_NAME_ID, "Scratchbox Target");
-
-	static final QualifiedName scratchboxVersionProperty = new QualifiedName(
-			SCRATCHBOX_VERSION_ID, "Scratchbox Version");
-
-	static final QualifiedName executionEnvironmentProperty = new QualifiedName(
-			EXECUTION_ENVIRONMENT_ID, "Execution Environment");
-
-	private IProject project;
-
-	public OldStyleProjectProperties(IProject project) {
-		this.project = project;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.maemo.esbox.common.core.IPropertyAccess#read(java.lang.String)
-	 */
-	private String readProperty(QualifiedName property) {
-		try {
-			return project.getPersistentProperty(property);
-		} catch (CoreException e) {
-			Activator.getErrorLogger().logError(
-					"Could not read project property", e);
-			return null;
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.maemo.esbox.common.project.core.IProjectProperties#getExecutionEnvironment()
-	 */
-	public IExecutionEnvironment getExecutionEnvironment() {
-		IExecutionEnvironment execEnv = null;
-		String execEnvId = readProperty(executionEnvironmentProperty);
-		if (execEnvId == null) {
-			execEnvId = MaemoExecutionEnvironments.MAEMO;
-		}
-		execEnv = ExecutionEnvironmentFactory.getInstance()
-				.findExecutionEnvironment(execEnvId);
-		return execEnv;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.maemo.esbox.common.project.core.IProjectProperties#getExecutionEnvironmentId
-	 * ()
-	 */
-	public String getExecutionEnvironmentId() {
-		return readProperty(executionEnvironmentProperty);
-	}
-
-	/**
-	 * Get the SDK target (SDK + target name) for the project's configured SDK
-	 * 
-	 * @return SDK target, never <code>null</code>
-	 * @throws MicaException
-	 *             if no target known
-	 */
-	public ISDKTarget getSDKTarget() throws MicaException {
-		if (!project.isOpen())
-			throw new MicaException(MessageFormat.format(
-					"Project ''{0}'' is not open", project.getName()));
-
-		ISDK sdk = getSDK();
-		String targetName = getTargetName();
-
-		ISDKTarget target = sdk.findSDKTarget(targetName);
-		if (target == null) {
-			throw new MicaException(MessageFormat.format(
-					"Project ''{0}'' references an unavailable target ''{1}''",
-					project.getName(), targetName));
-		}
-
-		return target;
-	}
-
-	/**
-	 * Get the SDK for the project
-	 * 
-	 * @return SDK, never <code>null</code>
-	 * @throws MicaException
-	 *             if no SDK known
-	 */
-	public ISDK getSDK() throws MicaException {
-		ISDK sdk = null;
-
-		String version = readProperty(scratchboxVersionProperty);
-		if (version == null) {
-			// old projects
-			version = "1";
-		}
-
-		SDKFactory.getInstance().waitForRefreshComplete(null);
-		
-		List<IScratchboxSDK> sboxSDKs = ScratchboxSDKFacade.getInstance()
-				.getAllScratchboxSDKs();
-		for (IScratchboxSDK sboxSDK : sboxSDKs) {
-			if (version.equals(Integer.toString(sboxSDK.getSboxVersion()))) {
-				sdk = sboxSDK;
-				break;
-			}
-		}
-
-		if (sdk == null) {
-			throw new MicaException(
-					MessageFormat
-							.format(
-									"Project ''{0}'' uses an unsupported scratchbox version {1}",
-									project.getName(), version));
-		}
-
-		return sdk;
-	}
-
-	public synchronized String getTargetName() {
-		return readProperty(targetNameProperty);
-	}
-
-	public synchronized String getSDKName() {
-		String sboxVersion = readProperty(scratchboxVersionProperty);
-	
-		if (sboxVersion == null)
-			return null;
-		
-		List<IScratchboxSDK> sboxSDKs;
-		try {
-			sboxSDKs = ScratchboxSDKFacade.getInstance().getAllScratchboxSDKs();
-		} catch (ScratchboxException e) {
-			return null;
-		}
-		for (IScratchboxSDK sboxSDK : sboxSDKs) {
-			if (sboxVersion.equals(Integer.toString(sboxSDK.getSboxVersion()))) {
-				return sboxSDK.getName();
-			}
-		}
-		return null;
-	}
-
-	// public synchronized String getScratchboxVersion(IProject project) {
-	// return readProperty(scratchboxVersionProperty);
-	// }
-
-}

Deleted: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/OldStyleWorkspaceProjectPropertiesProvider.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/OldStyleWorkspaceProjectPropertiesProvider.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/OldStyleWorkspaceProjectPropertiesProvider.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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.internal.maemosdk.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.core.runtime.CoreException;
-import org.maemo.mica.common.project.core.IOldStyleProjectPropertiesProvider;
-import org.maemo.mica.common.project.core.IProjectProperties;
-
-/**
- * Implementation of oldStyleProjectPropertiesProvider to allow converting old
- * projects to the current format.
- * 
- * @author eswartz
- * 
- */
-public class OldStyleWorkspaceProjectPropertiesProvider implements
-		IOldStyleProjectPropertiesProvider {
-
-	// NOTE: these nature IDs are stored here to avoid forcing this feature
-	// to depend on C/C++ or Python.
-	private static final String ESBOX_NATURE_ID = "org.indt.esbox.core.ESboxNature";
-	private static final String ESBOX_PYTHON_NATURE_ID = "org.indt.esbox.core.esboxPythonNature";
-
-	private boolean isNatureInProject(IProject _project, String id) {
-		if (_project != null && _project.isOpen()) {
-			try {
-				IProjectNature nature = _project.getNature(id);
-				if (nature != null) {
-					return true;
-				}
-			} catch (CoreException e) {
-				Activator.getErrorLogger().logError(
-						"Cannot detect project nature", e);
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @seeorg.maemo.esbox.project.core.IOldStyleProjectPropertiesProvider#
-	 * createProjectProperties(org.eclipse.core.resources.IProject)
-	 */
-	public IProjectProperties createProjectProperties(IProject project) {
-		if (isNatureInProject(project, ESBOX_NATURE_ID)
-				|| isNatureInProject(project, ESBOX_PYTHON_NATURE_ID))
-			return new OldStyleProjectProperties(project);
-		return null;
-	}
-
-}

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoDefaultExecutionEnvironmentAdapter.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoDefaultExecutionEnvironmentAdapter.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoDefaultExecutionEnvironmentAdapter.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -12,11 +12,11 @@
 package org.maemo.esbox.internal.maemosdk.core.adapters;
 
 import org.eclipse.core.resources.IProject;
-import org.maemo.esbox.internal.api.maemosdk.core.execEnv.MaemoExecutionEnvironments;
 import org.maemo.mica.common.core.adapters.IDefaultExecutionEnvironmentAdapter;
 import org.maemo.mica.common.core.execEnv.ExecutionEnvironmentFactory;
 import org.maemo.mica.common.core.execEnv.IExecutionEnvironment;
 import org.maemo.mica.common.core.sdk.ISDKTarget;
+import org.maemo.mica.maemosdk.core.MaemoExecutionEnvironmentIds;
 
 /**
  * Implementation of default execution environment adapter
@@ -41,7 +41,7 @@
 	public IExecutionEnvironment getDefaultExecutionEnvironment(IProject project) {
 		// TODO: more intelligent check
 		return ExecutionEnvironmentFactory.getInstance()
-				.findExecutionEnvironment(MaemoExecutionEnvironments.MAEMO);
+				.findExecutionEnvironment(MaemoExecutionEnvironmentIds.MAEMO);
 	}
 
 }

Deleted: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoTargetEnvironmentModifierAdapter.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoTargetEnvironmentModifierAdapter.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoTargetEnvironmentModifierAdapter.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * 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.internal.maemosdk.core.adapters;
-
-import org.maemo.esbox.internal.api.maemosdk.core.MaemoEnvironmentUtils;
-import org.maemo.mica.common.core.env.EnvironmentManager;
-import org.maemo.mica.common.core.env.IEnvironmentModifierBlock;
-import org.maemo.mica.common.core.sdk.ISDKTarget;
-import org.maemo.mica.common.launch.adapters.ITargetEnvironmentModifierAdapter;
-import org.maemo.mica.common.launch.core.AbstractLocalLaunchProxy;
-import org.maemo.mica.common.launch.core.ILaunchProxy;
-
-/**
- * Provide the necessary variables for maemo launches.
- * @author eswartz
- *
- */
-public class MaemoTargetEnvironmentModifierAdapter implements ITargetEnvironmentModifierAdapter {
-
-	private final ISDKTarget sdkTarget;
-
-	/**
-	 * @param sdkTarget
-	 */
-	public MaemoTargetEnvironmentModifierAdapter(ISDKTarget sdkTarget) {
-		this.sdkTarget = sdkTarget;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.launch.adapters.ITargetEnvironmentModifierAdapter#getTargetEnvironmentModifierBlock(org.maemo.mica.common.launch.core.ILaunchProxy)
-	 */
-	public IEnvironmentModifierBlock getTargetEnvironmentModifierBlock(ILaunchProxy launchProxy) {
-		IEnvironmentModifierBlock envBlock = EnvironmentManager.getInstance().createEnvironmentModifierBlock();
-		
-		// first, all launches need proper DBUS access
-		envBlock.define("DBUS_SESSION_BUS_ADDRESS", "unix:path=/tmp/session_bus_socket");
-		
-		if (launchProxy instanceof AbstractLocalLaunchProxy) {
-			MaemoEnvironmentUtils.defineEmulatorXDisplayVariable(sdkTarget.getMachine(), envBlock);
-			
-		} else {
-			// remote launches need DISPLAY for its own machine
-			
-			envBlock.define("DISPLAY", ":0");
-			
-		}
-		
-		return envBlock;
-	}
-
-}
-

Deleted: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoTargetEnvironmentModifierAdapterFactory.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoTargetEnvironmentModifierAdapterFactory.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/internal/maemosdk/core/adapters/MaemoTargetEnvironmentModifierAdapterFactory.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * 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.internal.maemosdk.core.adapters;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.maemo.mica.common.launch.adapters.ITargetEnvironmentModifierAdapter;
-import org.maemo.mica.maemosdk.core.IMaemoSDKTarget;
-
-/**
- * 
- * @author eswartz
- *
- */
- at SuppressWarnings("unchecked")
-public class MaemoTargetEnvironmentModifierAdapterFactory implements IAdapterFactory {
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType.equals(ITargetEnvironmentModifierAdapter.class)) {
-			// only handle maemo ESbox targets here
-			// XXX: this will be different for a target hosted on a device -- see PluThon
-			if (adaptableObject instanceof IMaemoSDKTarget) {
-				IMaemoSDKTarget sdkTarget = (IMaemoSDKTarget) adaptableObject;
-				return new MaemoTargetEnvironmentModifierAdapter(sdkTarget);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { ITargetEnvironmentModifierAdapter.class };
-	}
-
-}

Copied: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/BuildMachineHostedTargetFilter.java (from rev 1203, trunk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/BuildMachineHostedTargetFilter.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/BuildMachineHostedTargetFilter.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/BuildMachineHostedTargetFilter.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.core;
+
+import org.maemo.mica.common.core.machine.IBuildMachine;
+import org.maemo.mica.common.core.sdk.ISDK;
+import org.maemo.mica.common.core.sdk.ISDKTarget;
+import org.maemo.mica.common.project.core.IBuildTargetFilter;
+
+/**
+ * This filter passes only SDK targets coming from build machines.
+ * @author eswartz
+ *
+ */
+public class BuildMachineHostedTargetFilter implements IBuildTargetFilter {
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.core.IBuildTargetFilter#accept(org.maemo.mica.common.core.sdk.ISDK)
+	 */
+	public boolean accept(ISDK sdk) {
+		return sdk.getMachine() instanceof IBuildMachine;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.core.IBuildTargetFilter#accept(org.maemo.mica.common.core.sdk.ISDKTarget)
+	 */
+	public boolean accept(ISDKTarget sdkTarget) {
+		return accept(sdkTarget.getSDK());
+	}
+
+}

Deleted: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/ESboxBuildTargetFilter.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/ESboxBuildTargetFilter.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/ESboxBuildTargetFilter.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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.core;
-
-import org.maemo.mica.common.core.machine.IBuildMachine;
-import org.maemo.mica.common.core.sdk.ISDK;
-import org.maemo.mica.common.core.sdk.ISDKTarget;
-import org.maemo.mica.common.project.core.IBuildTargetFilter;
-
-/**
- * This filter passes only SDK targets coming from build machines.
- * @author eswartz
- *
- */
-public class ESboxBuildTargetFilter implements IBuildTargetFilter {
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.core.IBuildTargetFilter#accept(org.maemo.mica.common.core.sdk.ISDK)
-	 */
-	public boolean accept(ISDK sdk) {
-		return sdk.getMachine() instanceof IBuildMachine;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.core.IBuildTargetFilter#accept(org.maemo.mica.common.core.sdk.ISDKTarget)
-	 */
-	public boolean accept(ISDKTarget sdkTarget) {
-		return true;
-	}
-
-}

Copied: branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/MaemoEnvironmentUtils.java (from rev 1203, trunk/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/MaemoEnvironmentUtils.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/MaemoEnvironmentUtils.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.core/src/org/maemo/esbox/maemosdk/core/MaemoEnvironmentUtils.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * 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.core;
+
+import org.maemo.mica.common.core.CorePreferenceManager;
+import org.maemo.mica.common.core.env.IEnvironmentModifierBlock;
+import org.maemo.mica.common.core.machine.IMachine;
+
+/**
+ * @author eswartz
+ *
+ */
+public class MaemoEnvironmentUtils {
+	/**
+	 * Define DISPLAY for launches under the emulator that need a connection to the X server.
+	 * <p>
+	 * This uses the setting from the X Server preferences.
+	 * @param serverMachine the machine that hosts X
+	 * @param envBlock
+	 */
+	public static void defineEmulatorXDisplayVariable(IMachine serverMachine, IEnvironmentModifierBlock envBlock) {
+		// local launches need DISPLAY that points back to the host machine
+		String display = CorePreferenceManager.getInstance().getRegisteredKeyValue(
+				MaemoPreferenceConstants.X_DISPLAY);
+		if (display != null && display.length() > 0) {
+			String host = serverMachine.getLocalMachineAddress();
+			if (host.equals(IMachine.LOCALHOST_ADDRESS)) {
+				host = "";
+			}
+			envBlock.define("DISPLAY", host + display);
+		}
+	}
+}

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.tests/build.properties
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.tests/build.properties	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.tests/build.properties	2009-02-06 13:41:25 UTC (rev 1204)
@@ -2,4 +2,5 @@
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
-               plugin.xml
+               plugin.xml,\
+               test.xml

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestProcessLauncher.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestProcessLauncher.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestProcessLauncher.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -90,10 +90,11 @@
 
 			public void run(ISDKTarget target) throws Exception {
 
-				String cmdText = "echo $CC $LDFLAGS =$SPACEY= \"$LAST\" $LANG$MAIL$IFS .";
+				String cmdText = "echo $CC $LDFLAGS +$PROXY+ =$SPACEY= \"$LAST\" $LANG$MAIL$IFS .";
 				IEnvironmentModifierBlock envVarBlock = EnvironmentManager.getInstance().createEnvironmentModifierBlock();
-				envVarBlock.define("CC", "gcc");
+				envVarBlock.define("CC", "c:\\gcc");
 				envVarBlock.define("LDFLAGS", "-lm");
+				envVarBlock.define("PROXY", "127.0.0.1,nokia.com,192.168.*/24");
 				envVarBlock.define("SPACEY", "-a -b larry's -d");	// the ' should not cause a problem
 				envVarBlock.define("LAST", "*");  // this should not be expanded
 				envVarBlock.undefine("LANG");
@@ -108,7 +109,7 @@
 				int exit = processLauncher.waitAndRead(out, err);
 				assertEquals(target.getName() + ": " + err.toString(), 0, exit);	// some targets can't handle export $@
 				assertEquals("", err.toString());
-				assertStdTextEquals("gcc -lm =-a -b larry's -d= * .\n", out.toString());
+				assertStdTextEquals("c:\\gcc -lm +127.0.0.1,nokia.com,192.168.*/24+ =-a -b larry's -d= * .\n", out.toString());
 			}
 
 		});
@@ -136,6 +137,7 @@
 
 		});
 	}
+	
 	/** Test launching and consuming output */
 	@Test
 	public void testStreamParsing() throws Exception {

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSB1ProcessLauncher.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSB1ProcessLauncher.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSB1ProcessLauncher.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -133,7 +133,7 @@
 				String last = args.get(args.size() - 1);
 				// System.out.println(last);
 				assertEquals(
-						"./run.sh " + tempPath.toPortableString() + " \\\"CC=gcc,LDFLAGS=-lm,SPACEY=a b c,WILD=*,-FOOBAR\\\" \\\"./configure --enable-maintainer-mode --disable-gtk\\\"",
+						"./run.sh " + tempPath.toPortableString() + " \\\"CC=gcc}LDFLAGS=-lm}SPACEY=a b c}WILD=*}-FOOBAR\\\" \\\"./configure --enable-maintainer-mode --disable-gtk\\\"",
 						last);
 
 			}

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSB2ProcessLauncher.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSB2ProcessLauncher.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSB2ProcessLauncher.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -89,9 +89,9 @@
 				// be sure no variables are left unexpanded
 				assertFalse(CommandLineArguments.toCommandLine(args).contains("${"));
 
-				// assume the pattern is still sb2 -e -t ...
+				// assume the pattern is still sb2 [-e|-m <mode>] -J ...
 				assertEquals("sb2", args.get(0));
-				assertTrue(args.contains("-t"));
+				assertTrue(args.contains("-J"));
 				assertTrue(args.contains("-e") || args.contains("-m"));
 			}
 		});

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSb1SDKTarget.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSb1SDKTarget.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/TestSb1SDKTarget.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -84,8 +84,10 @@
 		List<String> targetDevkits = target.getDevkit();
 		String newDevkit = null;
 		for(String tmpDk : devkits){
-			// do not use debian-lenny
-			if(!tmpDk.equals("debian-lenny")&&!targetDevkits.contains(tmpDk)){
+			// do not use debian-lenny or debian-sarge, which mess up the arch name in ARMEL
+			if(!tmpDk.equals("debian-lenny")&&
+					!tmpDk.equals("debian-sarge")&&
+					!targetDevkits.contains(tmpDk)){
 				newDevkit = tmpDk;
 				break;
 			}
@@ -94,8 +96,13 @@
 			return;
 			//fail("Impossible to add new devkit, since target "+target.getName()+" already includes all devkits.");
 		assertTrue(target.addDevkit(newDevkit));
-		targetDevkits = target.getDevkit();
-		assertTrue(targetDevkits.contains(newDevkit));
+		try {
+			List<String> currentDevkits = target.getDevkit();
+			assertTrue(currentDevkits.contains(newDevkit));
+		} finally {
+			// restore
+			target.setDevkits(targetDevkits);
+		}
 	}
 	
 	

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/MockProcessLauncher.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/MockProcessLauncher.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/MockProcessLauncher.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -17,6 +17,7 @@
 import org.maemo.mica.common.core.MicaException;
 import org.maemo.mica.common.core.env.IEnvironmentModifierBlock;
 import org.maemo.mica.common.core.process.IProcessLauncher;
+import org.maemo.mica.common.core.process.IProcessMonitor;
 import org.maemo.mica.common.core.process.IStreamLineMonitor;
 import org.maemo.mica.common.core.sdk.ISDKTarget;
 
@@ -195,4 +196,11 @@
 	public int waitToComplete(IProgressMonitor monitor) {
 		return 0;
 	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.core.process.IProcessLauncher#createProcessMonitor()
+	 */
+	public IProcessMonitor createProcessMonitor() {
+		return null;
+	}
 }

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/TestScratchbox2SDK.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/TestScratchbox2SDK.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.tests/src/org/maemo/esbox/scratchbox/tests/commands/TestScratchbox2SDK.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -30,7 +30,9 @@
 		possibleRootstraps.add("diablo4.1_armel");
 		possibleRootstraps.add("diablo4.1_i386l");
 		possibleRootstraps.add("diablo4.1.1_i386");
+		possibleRootstraps.add("diablo4.1.2_i386");
 		possibleRootstraps.add("diablo4.1.1_armel");
+		possibleRootstraps.add("diablo4.1.2_armel");
 		possibleRootstraps.add("chinook40_armel");
 		possibleRootstraps.add("bora31_armel");
 		possibleRootstraps.add("scirocco2.2_armel");
@@ -45,17 +47,25 @@
 	
 	public void testInstalledMaemoRootstraps() throws Exception {
 		List<String> rootstraps =sb2Sdk.getInstalledMaemoRootstraps();
-		assertFalse("No rootstraps instaleld", rootstraps.isEmpty());
-		for(String rootstrap : rootstraps)
-			assertTrue(rootstrap+" is not in possible rootstraps set", possibleRootstraps.contains(rootstrap));
+		assertFalse("No rootstraps installed", rootstraps.isEmpty());
 		
+		// just check that some rootstraps are recognized, not that they are "legal"
+		// or else we have to update this test every month
+		boolean foundLegal = false;
+		for(String rootstrap : rootstraps) {
+			if (possibleRootstraps.contains(rootstrap))
+				foundLegal = true;
+			else {
+				assertNotNull(rootstrap);
+				assertTrue("Empty", rootstrap.length() > 0);
+			}
+		}
+		assertTrue("Found any recognized rootstraps", foundLegal);
+		
 	}
 	
 	public void testAvailableMaemoRootstraps() throws Exception {
 		List<MaemoRootstrap> rootstraps = sb2Sdk.getAvailableMaemoRootstraps(sb2Sdk.getMachine());
-		// FIXME: tests must not depend so strictly on external state
-		//assertTrue("Available rootstrap list is not same as predefined possible rootstraps list.",
-		//		rootstraps.containsAll(possibleRootstraps) && rootstraps.size()==possibleRootstraps.size());
 		assertTrue(rootstraps.size() > 2);
 	}
 	

Copied: branches/work_Petr/org.maemo.esbox.maemosdk.tests/test.xml (from rev 1203, trunk/org.maemo.esbox.maemosdk.tests/test.xml)
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.tests/test.xml	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.tests/test.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+
+<project name="testsuite" default="run" basedir=".">
+  <!-- sets the properties eclipse-home, and library-file -->
+  <!-- The property ${eclipse-home} should be passed into this script -->
+  <!-- Set a meaningful default value for when it is not. -->
+  <property name="eclipse-home" value="${basedir}\..\.."/>
+<property name="plugin-name" value="org.maemo.esbox.scratchbox.tests"/>
+  <property name="library-file"
+            value="${eclipse-home}/plugins/org.eclipse.test_3.2.0/library.xml"/>
+ 
+  <!-- This target holds all initialization code that needs to be done for -->
+  <!-- all tests that are to be run. Initialization for individual tests -->
+  <!-- should be done within the body of the suite target. -->
+  <target name="init">
+    <tstamp/>
+    <delete>
+      <fileset dir="${eclipse-home}" includes="org*.xml"/>
+    </delete>
+  </target>
+
+  <!-- This target defines the tests that need to be run. -->
+  <target name="suite">
+    <property name="esbox-scratchbox-folder" 
+              value="${eclipse-home}/esbox-scratchbox-folder"/>
+    <delete dir="${esbox-scratchbox-folder}" quiet="true"/>
+  	<echo message="Library file: ${library-file}"/>	
+    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
+      <property name="data-dir" value="${esbox-scratchbox-folder}"/>
+      <property name="plugin-name" value="${plugin-name}"/>
+      <property name="classname" 
+                value="org.maemo.esbox.scratchbox.tests.ESboxProductTestSuite"/>
+    </ant>  
+  </target>
+
+  <!-- This target holds code to cleanup the testing environment after -->
+  <!-- after all of the tests have been run. You can use this target to -->
+  <!-- delete temporary files that have been created. -->
+  <target name="cleanup">
+  </target>
+
+  <!-- This target runs the test suite. Any actions that need to happen -->
+  <!-- after all the tests have been run should go here. -->
+  <target name="run" depends="init,suite,cleanup">
+    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
+      <property name="includes" value="org*.xml"/>
+      <property name="output-file" value="${plugin-name}.xml"/>
+    </ant>
+  </target>
+	
+</project>
\ No newline at end of file

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.ui/META-INF/MANIFEST.MF
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.ui/META-INF/MANIFEST.MF	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.ui/META-INF/MANIFEST.MF	2009-02-06 13:41:25 UTC (rev 1204)
@@ -12,7 +12,9 @@
  org.maemo.mica.common.ui;bundle-version="2.0.0",
  org.maemo.esbox.maemosdk.core;bundle-version="2.0.0",
  org.eclipse.ui.ide;bundle-version="3.4.1",
- org.eclipse.ui.views;bundle-version="3.3.0"
+ org.eclipse.ui.views;bundle-version="3.3.0",
+ org.maemo.mica.linux.packages.core;bundle-version="2.0.0",
+ org.maemo.mica.linux.packages.ui;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
 Export-Package: org.maemo.esbox.internal.api.maemosdk.ui.preferences,

Copied: branches/work_Petr/org.maemo.esbox.maemosdk.ui/icons/full/obj16/maemo_convert.png (from rev 1203, trunk/org.maemo.esbox.maemosdk.ui/icons/full/obj16/maemo_convert.png)
===================================================================
(Binary files differ)

Copied: branches/work_Petr/org.maemo.esbox.maemosdk.ui/icons/full/obj16/package_install.png (from rev 1203, trunk/org.maemo.esbox.maemosdk.ui/icons/full/obj16/package_install.png)
===================================================================
(Binary files differ)

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.ui/plugin.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.ui/plugin.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.ui/plugin.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -75,5 +75,24 @@
          </action>
       </actionSet>
    </extension>
-   
+
+ <extension
+        point="org.eclipse.ui.importWizards">
+     <wizard
+            category="org.maemo.esbox.Import"
+           class="org.maemo.esbox.internal.maemosdk.ui.wizards.ESboxImportDebianSourcePackageProjectWizard"
+           icon="icons/full/obj16/package_install.png"
+           id="org.maemo.esbox.maemosdk.ui.wizards.ImportDebianSourcePackageProject"
+           name="Project from Debian Repository">
+        <description>
+           Import a project from sources in an Debian apt repository.
+        </description>
+        <selection
+              class="org.eclipse.core.resources.IProject">
+        </selection>
+     </wizard>
+      <category
+            id="org.maemo.esbox.Import"
+            name="ESbox"/>
+  </extension>   
 </plugin>

Modified: branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/actions/MaemoDropdownMenuAction.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/actions/MaemoDropdownMenuAction.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/actions/MaemoDropdownMenuAction.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -26,6 +26,7 @@
 import org.maemo.esbox.internal.maemosdk.ui.UIActivator;
 import org.maemo.mica.common.core.MicaException;
 import org.maemo.mica.common.core.sdk.ISDKTarget;
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
 import org.maemo.mica.common.project.core.ProjectManager;
 import org.maemo.mica.common.ui.dialogs.SelectSDKTargetDialog;
 
@@ -202,8 +203,11 @@
 		Display.getDefault().syncExec(new Runnable() {
 
 			public void run() {
-				selected[0] = new SelectSDKTargetDialog(pulldownmenu.getShell(), 
-					"Select an SDK under which to run maemo:").selectTarget();				
+				// TODO: this needs to be a little more specific to scratchbox
+				SelectSDKTargetDialog selectSDKTargetDialog = new SelectSDKTargetDialog(pulldownmenu.getShell(), 
+					"Select an SDK under which to run the Maemo Application Framework:",
+					new BuildMachineHostedTargetFilter());
+				selected[0] = selectSDKTargetDialog.selectTarget();				
 			}
 			
 		});

Copied: branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards (from rev 1203, trunk/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards)

Deleted: branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/ESboxImportDebianSourcePackageProjectWizard.java
===================================================================
--- trunk/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/ESboxImportDebianSourcePackageProjectWizard.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/ESboxImportDebianSourcePackageProjectWizard.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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.internal.maemosdk.ui.wizards;
-
-import org.eclipse.ui.IImportWizard;
-import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
-import org.maemo.mica.common.project.core.IBuildTargetFilter;
-import org.maemo.mica.linux.packages.ui.wizards.ImportDebianSourcePackageWizard;
-
-/**
- * ESbox Debian Project Importer
- * @author eswartz
- *
- */
-public class ESboxImportDebianSourcePackageProjectWizard extends
-		ImportDebianSourcePackageWizard implements IImportWizard {
-
-	/**
-	 * 
-	 */
-	public ESboxImportDebianSourcePackageProjectWizard() {
-		setWindowTitle("Import ESbox Project from Repository");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.linux.packages.ui.wizards.ImportDebianSourcePackageWizard#createBuildTargetFilter()
-	 */
-	@Override
-	protected IBuildTargetFilter createBuildTargetFilter() {
-		return new BuildMachineHostedTargetFilter();
-	}
-	
-}

Copied: branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/ESboxImportDebianSourcePackageProjectWizard.java (from rev 1203, trunk/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/ESboxImportDebianSourcePackageProjectWizard.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/ESboxImportDebianSourcePackageProjectWizard.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.maemosdk.ui/src/org/maemo/esbox/internal/maemosdk/ui/wizards/ESboxImportDebianSourcePackageProjectWizard.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.maemosdk.ui.wizards;
+
+import org.eclipse.ui.IImportWizard;
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
+import org.maemo.mica.common.project.core.IBuildTargetFilter;
+import org.maemo.mica.linux.packages.ui.wizards.ImportDebianSourcePackageWizard;
+
+/**
+ * ESbox Debian Project Importer
+ * @author eswartz
+ *
+ */
+public class ESboxImportDebianSourcePackageProjectWizard extends
+		ImportDebianSourcePackageWizard implements IImportWizard {
+
+	/**
+	 * 
+	 */
+	public ESboxImportDebianSourcePackageProjectWizard() {
+		setWindowTitle("Import ESbox Project from Repository");
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.linux.packages.ui.wizards.ImportDebianSourcePackageWizard#createBuildTargetFilter()
+	 */
+	@Override
+	protected IBuildTargetFilter createBuildTargetFilter() {
+		return new BuildMachineHostedTargetFilter();
+	}
+	
+}

Modified: branches/work_Petr/org.maemo.esbox.product/ESbox.product
===================================================================
--- branches/work_Petr/org.maemo.esbox.product/ESbox.product	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.product/ESbox.product	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,163 +1,145 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.4"?>
-
-<product name="ESbox" id="org.maemo.esbox.product.esbox" application="org.eclipse.ui.ide.workbench" version="2.0.0-I20090114" useFeatures="true">
-
-   <aboutInfo>
-      <image path="/org.maemo.esbox.product/icons/esbox_64.png"/>
-      <text>
-         %productBlurb
-      </text>
-   </aboutInfo>
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.4"?>
+
+<product name="ESbox" id="org.maemo.esbox.product.esbox" application="org.eclipse.ui.ide.workbench" version="2.0.0-I20090204" useFeatures="true">
+
+   <aboutInfo>
+      <image path="/org.maemo.esbox.product/icons/esbox_64.png"/>
+      <text>
+         %productBlurb
+      </text>
+   </aboutInfo>
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
       <vmArgs>-Xms40m
 -Xmx800m
--XX:MaxPermSize=128m</vmArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages i16="/org.maemo.esbox.product/icons/esbox_16.png" i32="/org.maemo.esbox.product/icons/esbox_32.png" i48="/org.maemo.esbox.product/icons/esbox_48.png" i64="/org.maemo.esbox.product/icons/esbox_64.png" i128="/org.maemo.esbox.product/icons/esbox_128.png"/>
-
-   <splash
-      location="org.maemo.esbox.product"
-      startupProgressRect="0,176,467,16"
-      startupMessageRect="32,160,398,16"
-      startupForegroundColor="000000" />
-   <launcher name="esbox">
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <intro introId="org.maemo.esbox.product.intro"/>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="com.ibm.icu"/>
-      <plugin id="com.jcraft.jsch"/>
-      <plugin id="com.redhat.eclipse.cdt.autotools"/>
-      <plugin id="org.eclipse.cdt.core"/>
-      <plugin id="org.eclipse.cdt.core.aix"/>
+-XX:MaxPermSize=128m</vmArgs>
+      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
+   </launcherArgs>
+
+   <windowImages i16="/org.maemo.esbox.product/icons/esbox_16.png" i32="/org.maemo.esbox.product/icons/esbox_32.png" i48="/org.maemo.esbox.product/icons/esbox_48.png" i64="/org.maemo.esbox.product/icons/esbox_64.png" i128="/org.maemo.esbox.product/icons/esbox_128.png"/>
+
+   <splash
+      location="org.maemo.esbox.product"
+      startupProgressRect="0,176,467,16"
+      startupMessageRect="32,160,398,16"
+      startupForegroundColor="000000" />
+   <launcher name="esbox">
+      <solaris/>
+      <win useIco="false">
+         <bmp/>
+      </win>
+   </launcher>
+
+   <intro introId="org.maemo.esbox.product.intro"/>
+
+   <vm>
+   </vm>
+
+   <plugins>
+      <plugin id="com.ibm.icu"/>
+      <plugin id="com.jcraft.jsch"/>
+      <plugin id="com.redhat.eclipse.cdt.autotools"/>
+      <plugin id="org.eclipse.cdt.core"/>
+      <plugin id="org.eclipse.cdt.core.aix"/>
       <plugin id="org.eclipse.cdt.core.linux" fragment="true"/>
-      <plugin id="org.eclipse.cdt.core.linux.ia64"/>
-      <plugin id="org.eclipse.cdt.core.linux.ppc"/>
+      <plugin id="org.eclipse.cdt.core.linux.ia64"/>
+      <plugin id="org.eclipse.cdt.core.linux.ppc"/>
       <plugin id="org.eclipse.cdt.core.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.cdt.core.linux.x86_64"/>
-      <plugin id="org.eclipse.cdt.core.macosx"/>
-      <plugin id="org.eclipse.cdt.core.qnx"/>
-      <plugin id="org.eclipse.cdt.core.solaris"/>
+      <plugin id="org.eclipse.cdt.core.linux.x86_64"/>
+      <plugin id="org.eclipse.cdt.core.macosx"/>
+      <plugin id="org.eclipse.cdt.core.qnx"/>
+      <plugin id="org.eclipse.cdt.core.solaris"/>
       <plugin id="org.eclipse.cdt.core.win32"/>
-      <plugin id="org.eclipse.cdt.debug.core"/>
-      <plugin id="org.eclipse.cdt.debug.mi.core"/>
-      <plugin id="org.eclipse.cdt.debug.mi.ui"/>
-      <plugin id="org.eclipse.cdt.debug.ui"/>
-      <plugin id="org.eclipse.cdt.launch"/>
-      <plugin id="org.eclipse.cdt.make.core"/>
-      <plugin id="org.eclipse.cdt.make.ui"/>
-      <plugin id="org.eclipse.cdt.managedbuilder.core"/>
-      <plugin id="org.eclipse.cdt.managedbuilder.gnu.ui"/>
-      <plugin id="org.eclipse.cdt.managedbuilder.ui"/>
-      <plugin id="org.eclipse.cdt.ui"/>
-      <plugin id="org.eclipse.compare"/>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.contenttype"/>
-      <plugin id="org.eclipse.core.databinding"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.filebuffers"/>
-      <plugin id="org.eclipse.core.filesystem"/>
+      <plugin id="org.eclipse.cdt.debug.core"/>
+      <plugin id="org.eclipse.cdt.debug.mi.core"/>
+      <plugin id="org.eclipse.cdt.debug.mi.ui"/>
+      <plugin id="org.eclipse.cdt.debug.ui"/>
+      <plugin id="org.eclipse.cdt.launch"/>
+      <plugin id="org.eclipse.cdt.make.core"/>
+      <plugin id="org.eclipse.cdt.make.ui"/>
+      <plugin id="org.eclipse.cdt.managedbuilder.core"/>
+      <plugin id="org.eclipse.cdt.managedbuilder.gnu.ui"/>
+      <plugin id="org.eclipse.cdt.managedbuilder.ui"/>
+      <plugin id="org.eclipse.cdt.ui"/>
+      <plugin id="org.eclipse.compare"/>
+      <plugin id="org.eclipse.core.commands"/>
+      <plugin id="org.eclipse.core.contenttype"/>
+      <plugin id="org.eclipse.core.databinding"/>
+      <plugin id="org.eclipse.core.expressions"/>
+      <plugin id="org.eclipse.core.filebuffers"/>
+      <plugin id="org.eclipse.core.filesystem"/>
       <plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.net"/>
+      <plugin id="org.eclipse.core.jobs"/>
+      <plugin id="org.eclipse.core.net"/>
       <plugin id="org.eclipse.core.net.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.core.resources"/>
-      <plugin id="org.eclipse.core.resources.compatibility" fragment="true"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
-      <plugin id="org.eclipse.core.variables"/>
-      <plugin id="org.eclipse.dd.dsf"/>
-      <plugin id="org.eclipse.dd.dsf.debug"/>
-      <plugin id="org.eclipse.dd.dsf.debug.ui"/>
-      <plugin id="org.eclipse.dd.dsf.ui"/>
-      <plugin id="org.eclipse.dd.gdb"/>
-      <plugin id="org.eclipse.dd.gdb.ui"/>
-      <plugin id="org.eclipse.dd.mi"/>
-      <plugin id="org.eclipse.debug.core"/>
-      <plugin id="org.eclipse.debug.ui"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.equinox.security"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.jface.databinding"/>
-      <plugin id="org.eclipse.jface.text"/>
-      <plugin id="org.eclipse.jsch.core"/>
-      <plugin id="org.eclipse.ltk.core.refactoring"/>
-      <plugin id="org.eclipse.ltk.ui.refactoring"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.search"/>
-      <plugin id="org.eclipse.swt"/>
+      <plugin id="org.eclipse.core.resources"/>
+      <plugin id="org.eclipse.core.resources.compatibility" fragment="true"/>
+      <plugin id="org.eclipse.core.runtime"/>
+      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
+      <plugin id="org.eclipse.core.variables"/>
+      <plugin id="org.eclipse.dd.dsf"/>
+      <plugin id="org.eclipse.dd.dsf.debug"/>
+      <plugin id="org.eclipse.dd.dsf.debug.ui"/>
+      <plugin id="org.eclipse.dd.dsf.ui"/>
+      <plugin id="org.eclipse.dd.gdb"/>
+      <plugin id="org.eclipse.dd.gdb.ui"/>
+      <plugin id="org.eclipse.dd.mi"/>
+      <plugin id="org.eclipse.debug.core"/>
+      <plugin id="org.eclipse.debug.ui"/>
+      <plugin id="org.eclipse.equinox.app"/>
+      <plugin id="org.eclipse.equinox.common"/>
+      <plugin id="org.eclipse.equinox.preferences"/>
+      <plugin id="org.eclipse.equinox.registry"/>
+      <plugin id="org.eclipse.equinox.security"/>
+      <plugin id="org.eclipse.help"/>
+      <plugin id="org.eclipse.jface"/>
+      <plugin id="org.eclipse.jface.databinding"/>
+      <plugin id="org.eclipse.jface.text"/>
+      <plugin id="org.eclipse.jsch.core"/>
+      <plugin id="org.eclipse.ltk.core.refactoring"/>
+      <plugin id="org.eclipse.ltk.ui.refactoring"/>
+      <plugin id="org.eclipse.osgi"/>
+      <plugin id="org.eclipse.search"/>
+      <plugin id="org.eclipse.swt"/>
       <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.team.core"/>
-      <plugin id="org.eclipse.team.ui"/>
-      <plugin id="org.eclipse.text"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.browser"/>
-      <plugin id="org.eclipse.ui.console"/>
-      <plugin id="org.eclipse.ui.editors"/>
-      <plugin id="org.eclipse.ui.forms"/>
-      <plugin id="org.eclipse.ui.ide"/>
-      <plugin id="org.eclipse.ui.ide.application"/>
-      <plugin id="org.eclipse.ui.intro"/>
-      <plugin id="org.eclipse.ui.navigator"/>
-      <plugin id="org.eclipse.ui.navigator.resources"/>
-      <plugin id="org.eclipse.ui.net"/>
-      <plugin id="org.eclipse.ui.views"/>
-      <plugin id="org.eclipse.ui.views.properties.tabbed"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-      <plugin id="org.eclipse.ui.workbench.texteditor"/>
-      <plugin id="org.eclipse.update.configurator"/>
-      <plugin id="org.eclipse.update.core"/>
+      <plugin id="org.eclipse.team.core"/>
+      <plugin id="org.eclipse.team.ui"/>
+      <plugin id="org.eclipse.text"/>
+      <plugin id="org.eclipse.ui"/>
+      <plugin id="org.eclipse.ui.browser"/>
+      <plugin id="org.eclipse.ui.console"/>
+      <plugin id="org.eclipse.ui.editors"/>
+      <plugin id="org.eclipse.ui.forms"/>
+      <plugin id="org.eclipse.ui.ide"/>
+      <plugin id="org.eclipse.ui.ide.application"/>
+      <plugin id="org.eclipse.ui.intro"/>
+      <plugin id="org.eclipse.ui.navigator"/>
+      <plugin id="org.eclipse.ui.navigator.resources"/>
+      <plugin id="org.eclipse.ui.net"/>
+      <plugin id="org.eclipse.ui.views"/>
+      <plugin id="org.eclipse.ui.views.properties.tabbed"/>
+      <plugin id="org.eclipse.ui.workbench"/>
+      <plugin id="org.eclipse.ui.workbench.texteditor"/>
+      <plugin id="org.eclipse.update.configurator"/>
+      <plugin id="org.eclipse.update.core"/>
       <plugin id="org.eclipse.update.core.linux" fragment="true"/>
-      <plugin id="org.indt.esbox.core"/>
-      <plugin id="org.indt.esbox.debug"/>
-      <plugin id="org.indt.esbox.help"/>
-      <plugin id="org.indt.esbox.launch"/>
-      <plugin id="org.indt.esbox.python.debug"/>
-      <plugin id="org.indt.esbox.python.launch"/>
-      <plugin id="org.indt.esbox.python.ui"/>
-      <plugin id="org.indt.esbox.ui"/>
-      <plugin id="org.maemo.esbox.debug.dsf.gdb"/>
-      <plugin id="org.maemo.esbox.product"/>
-      <plugin id="org.maemo.esbox.project.core"/>
-      <plugin id="org.maemo.esbox.project.ui"/>
-      <plugin id="org.python.pydev"/>
-      <plugin id="org.python.pydev.ast"/>
-      <plugin id="org.python.pydev.core"/>
-      <plugin id="org.python.pydev.debug"/>
-      <plugin id="org.python.pydev.jython"/>
-      <plugin id="org.python.pydev.parser"/>
-   </plugins>
-
-   <features>
-      <feature id="org.maemo.esbox.product" version="0.0.0"/>
-      <feature id="org.maemo.esbox.product.supplement" version="0.0.0"/>
-      <feature id="com.redhat.eclipse.cdt.autotools.feature" version="0.0.0"/>
-      <feature id="org.eclipse.dd.dsf.gdb" version="0.0.0"/>
-      <feature id="org.eclipse.dd.dsf.gdb_launch" version="0.0.0"/>
-      <feature id="org.eclipse.dd.dsf.sdk" version="0.0.0"/>
-      <feature id="org.python.pydev.feature" version="0.0.0"/>
-      <feature id="org.eclipse.platform" version="0.0.0"/>
-      <feature id="org.eclipse.cdt" version="0.0.0"/>
-      <feature id="org.eclipse.rse" version="0.0.0"/>
-   </features>
-
-</product>
+   </plugins>
+
+   <features>
+      <feature id="org.maemo.esbox.product" version="0.0.0"/>
+      <feature id="org.maemo.esbox.product.supplement" version="0.0.0"/>
+      <feature id="com.redhat.eclipse.cdt.autotools.feature" version="0.0.0"/>
+      <feature id="org.eclipse.dd.dsf.gdb" version="0.0.0"/>
+      <feature id="org.eclipse.dd.dsf.gdb_launch" version="0.0.0"/>
+      <feature id="org.eclipse.dd.dsf.sdk" version="0.0.0"/>
+      <feature id="org.python.pydev.feature" version="0.0.0"/>
+      <feature id="org.eclipse.platform" version="0.0.0"/>
+      <feature id="org.eclipse.cdt" version="0.0.0"/>
+      <feature id="org.eclipse.rse" version="0.0.0"/>
+   </features>
+
+</product>

Copied: branches/work_Petr/org.maemo.esbox.product/cleanup-merged-product-build.py (from rev 1203, trunk/org.maemo.esbox.product/cleanup-merged-product-build.py)
===================================================================
--- branches/work_Petr/org.maemo.esbox.product/cleanup-merged-product-build.py	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.product/cleanup-merged-product-build.py	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+"""
+This script allows for cleaning up a directory structure in which
+several product builds have been extracted, by deleting duplicate
+plugins and features (which arise from exporting a product
+multiple times, where the timestamp differs).
+
+Run as cleanup-merged-product-build.py <path-to-merged-root> <version>
+
+e.g. cleanup-merged-product-build.py /tmp/esbox 20090204
+"""
+
+import os, os.path, sys
+
+def deltree(top):
+	for root, dirs, files in os.walk(top, topdown=False):
+	    for name in files:
+	        os.remove(os.path.join(root, name))
+	    for name in dirs:
+	        os.rmdir(os.path.join(root, name))
+	os.rmdir(top)
+	
+def remove_dupes(topdir, vers):
+	for (dirname, dirs, names) in os.walk(topdir):
+		# map of basename+version -> list of versions with same timestamp
+		namemap = {}
+		for name in names+dirs:
+			versidx = name.find("."+vers)
+			if versidx >= 0:
+				seg = name[0:versidx]
+				namemap[seg] = namemap.get(seg, []) + [name[versidx:]]
+				
+		for (name, versions) in namemap.iteritems():
+			if len(versions) > 1:
+				print "Duplicate: " + name
+				# assume last build is most correct
+				versions.sort()
+				for version in versions[0:-1]:
+					dupe = os.path.join(dirname, name+version)
+					print dupe
+					if os.path.isdir(dupe):
+						deltree(dupe)
+					else:
+						os.remove(dupe)
+				
+		
+		for dir in dirs:
+			remove_dupes(os.path.join(topdir, dir), vers)
+	
+if __name__=="__main__":
+	if len(sys.argv) < 3:
+		print "Run as cleanup dir buildversion -- e.g. /foo/bar/esbox 20090204"
+	else:
+		remove_dupes(sys.argv[1], sys.argv[2])
+		print "Done"

Modified: branches/work_Petr/org.maemo.esbox.product/plugin.properties
===================================================================
--- branches/work_Petr/org.maemo.esbox.product/plugin.properties	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.product/plugin.properties	2009-02-06 13:41:25 UTC (rev 1204)
@@ -13,7 +13,7 @@
 
 productName=ESbox
 productBlurb=ESbox\n\
-version: 2.0.0-I20090114\n\
+version: 2.0.0-I20090204\n\
 Eclipse build id: {0}\n\
 \n\
 Copyright (c)2007-2009 INdT, 2007-2009 Nokia Corporation. All rights reserved.\n\
@@ -28,7 +28,7 @@
 shortcut.samples.tooltip = Samples
 shortcut.whatsnew.tooltip = What's New
 
-productIntroTitle = Welcome to ESbox 2.0.0-I20090114
+productIntroTitle = Welcome to ESbox 2.0.0-I20090204
 productIntroBrandingText = ESbox
 introDescription-overview = ESbox is an Eclipse plug-in that helps programmers to develop applications for maemo platform on Scratchbox Apophis. 
 introDescription-tutorials = Learn how to be productive using ESbox by completing end-to-end tutorials that will guide you along the way.

Modified: branches/work_Petr/org.maemo.esbox.product-feature/feature.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.product-feature/feature.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.product-feature/feature.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,84 +1,84 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.maemo.esbox.product"
-      label="ESbox Product Feature"
-      version="2.0.0.qualifier"
-      provider-name="INdT / NOKIA"
-      plugin="org.maemo.esbox.product">
-
-   <description>
-      Top-level ESbox product feature that includes all ESbox and Mica components.
-   </description>
-
-   <copyright>
-      Copyright (c) 2007-2008 INdT, (c) 2007-2008 Nokia. All rights
-reserved.
-   </copyright>
-
-   <license url="http://www.eclipse.org/legal/epl-v10.html">
-      For legal terms, see the Eclipse Public License.
-   </license>
-
-   <url>
-      <update label="Update Site for ESbox project" url="http://esbox.garage.maemo.org/update"/>
-   </url>
-
-   <includes
-         id="org.maemo.mica.common"
-         version="0.0.0"/>
-
-   <includes
-         id="org.maemo.mica.cpp"
-         version="0.0.0"/>
-
-   <includes
-         id="org.maemo.mica.protocol"
-         version="0.0.0"/>
-
-   <includes
-         id="org.maemo.mica.linux"
-         version="0.0.0"/>
-
-   <includes
-         id="org.maemo.mica.maemosdk"
-         version="0.0.0"/>
-
-   <includes
-         id="org.maemo.esbox.scratchbox"
-         version="0.0.0"/>
-
-   <includes
-         id="org.maemo.mica.python"
-         version="0.0.0"/>
-
-   <includes
-         id="org.maemo.mica.protocol.rse"
-         version="0.0.0"/>
-
-   <includes
-         id="org.maemo.esbox"
-         version="0.0.0"/>
-
-   <includes
-         id="org.maemo.mica.linux.autotools"
-         version="0.0.0"/>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-   <plugin
-         id="org.maemo.esbox.product"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.help"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.maemo.esbox.product"
+      label="ESbox Product Feature"
+      version="2.0.0.qualifier"
+      provider-name="INdT / NOKIA"
+      plugin="org.maemo.esbox.product">
+
+   <description>
+      Top-level ESbox product feature that includes all ESbox and Mica components.
+   </description>
+
+   <copyright>
+      Copyright (c) 2007-2009 INdT, (c) 2007-2009 Nokia. All rights
+reserved.
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      For legal terms, see the Eclipse Public License.
+   </license>
+
+   <url>
+      <update label="Update Site for ESbox project" url="http://esbox.garage.maemo.org/update"/>
+   </url>
+
+   <includes
+         id="org.maemo.mica.common"
+         version="0.0.0"/>
+
+   <includes
+         id="org.maemo.mica.linux"
+         version="0.0.0"/>
+
+   <includes
+         id="org.maemo.mica.maemosdk"
+         version="0.0.0"/>
+
+   <includes
+         id="org.maemo.mica.protocol"
+         version="0.0.0"/>
+
+   <includes
+         id="org.maemo.mica.cpp"
+         version="0.0.0"/>
+
+   <includes
+         id="org.maemo.mica.python"
+         version="0.0.0"/>
+
+   <includes
+         id="org.maemo.mica.protocol.rse"
+         version="0.0.0"/>
+
+   <includes
+         id="org.maemo.mica.linux.autotools"
+         version="0.0.0"/>
+
+   <includes
+         id="org.maemo.esbox"
+         version="0.0.0"/>
+
+   <includes
+         id="org.maemo.esbox.scratchbox"
+         version="0.0.0"/>
+
+   <requires>
+      <import plugin="org.eclipse.ui"/>
+      <import plugin="org.eclipse.core.runtime"/>
+   </requires>
+
+   <plugin
+         id="org.maemo.esbox.product"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.help"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+</feature>

Modified: branches/work_Petr/org.maemo.esbox.product.supplement-feature/feature.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.product.supplement-feature/feature.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.product.supplement-feature/feature.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,58 +1,80 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.maemo.esbox.product.supplement"
-      label="ESbox Supplement Feature"
-      version="2.0.0.qualifier"
-      provider-name="NOKIA">
-
-   <description>
-      Supplemental plugins as a subset of standard Eclipse features required by ESbox.
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <url>
-      <update label="Update Site for ESbox project" url="http://esbox.garage.maemo.org/update"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.sdk"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.ui.views.log"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.common"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.xmi"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.maemo.esbox.product.supplement"
+      label="ESbox Supplement Feature"
+      version="2.0.0.qualifier"
+      provider-name="NOKIA">
+
+   <description>
+      Supplemental plugins as a subset of standard Eclipse features
+required by ESbox.
+   </description>
+
+   <copyright>
+      (c) Copyright Eclipse contributors and others. 2000-2008.  All rights reserved.
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      For legal terms, see the Eclipse Public License.
+   </license>
+
+   <url>
+      <update label="Update Site for ESbox project" url="http://esbox.garage.maemo.org/update"/>
+   </url>
+
+   <plugin
+         id="org.eclipse.sdk"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.ui.views.log"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.emf.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.emf.ecore"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.emf.ecore.xmi"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.tml.protocol"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.tml.vncviewer"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.tml.vncviewer.vncviews"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>

Modified: branches/work_Petr/org.maemo.esbox.project.cpp/META-INF/MANIFEST.MF
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/META-INF/MANIFEST.MF	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/META-INF/MANIFEST.MF	2009-02-06 13:41:25 UTC (rev 1204)
@@ -18,6 +18,7 @@
  org.eclipse.cdt.make.core;bundle-version="5.0.1",
  org.eclipse.cdt.make.ui;bundle-version="5.0.1",
  org.eclipse.cdt.ui;bundle-version="5.0.1",
- org.maemo.mica.linux.packages.core;bundle-version="2.0.0"
+ org.maemo.mica.linux.packages.core;bundle-version="2.0.0",
+ org.maemo.mica.linux.packages.ui;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy

Modified: branches/work_Petr/org.maemo.esbox.project.cpp/plugin.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/plugin.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/plugin.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -6,7 +6,7 @@
         point="org.eclipse.ui.newWizards">
      <wizard
            category="org.eclipse.cdt.ui.newCWizards"
-           class="org.maemo.esbox.internal.project.cpp.ui.wizards.ConvertToMicaCppBuildConfigWizard"
+           class="org.maemo.esbox.internal.project.cpp.ui.wizards.ConvertToESboxCppProjectWizard"
            finalPerspective="org.eclipse.cdt.ui.CPerspective"
            hasPages="true"
            icon="icons/full/obj16/maemo_convert.png"
@@ -21,7 +21,7 @@
      </wizard>
      <wizard
            category="org.eclipse.cdt.ui.newCCWizards"
-           class="org.maemo.esbox.internal.project.cpp.ui.wizards.ConvertToMicaCppBuildConfigWizard"
+           class="org.maemo.esbox.internal.project.cpp.ui.wizards.ConvertToESboxCppProjectWizard"
            finalPerspective="org.eclipse.cdt.ui.CPerspective"
            hasPages="true"
            icon="icons/full/obj16/maemo_convert.png"
@@ -34,6 +34,7 @@
               class="org.eclipse.core.resources.IProject">
         </selection>
      </wizard>
+     
   </extension>
   <extension
         point="org.eclipse.ui.newWizards">
@@ -61,11 +62,95 @@
      </wizard>
   </extension>
   
+  
+  <extension
+        point="org.eclipse.ui.navigator.navigatorContent">
+     <commonWizard
+           associatedExtensionId="org.eclipse.cdt.ui.navigator.content"
+           menuGroupId="org.eclipse.cdt.ui.newProject"
+           type="new"
+           wizardId="org.maemo.mica.cpp.project.ui.wizards.ConvertToESboxWizard">
+        <enablement>
+           <and>
+              <adapt
+                    type="org.eclipse.core.resources.IProject">
+              </adapt>
+              <not>
+                 <adapt
+                       type="org.eclipse.core.resources.IProject">
+                    <test
+                          property="org.eclipse.core.resources.projectNature"
+                          value="org.maemo.mica.cpp.project.core.ESboxCppNature">
+                    </test>
+                 </adapt>
+              </not>
+           </and>
+        </enablement>
+     </commonWizard>
+  </extension>
+   <extension
+         point="org.eclipse.ui.navigator.navigatorContent">
+      <commonWizard
+            menuGroupId="org.eclipse.cdt.ui.newProject"
+            type="new"
+            wizardId="org.maemo.mica.cpp.project.ui.wizards.ESboxCppCProjectWizard">
+         <enablement></enablement>
+      </commonWizard>
+      <commonWizard
+            menuGroupId="org.eclipse.cdt.ui.newProject"
+            type="new"
+            wizardId="org.maemo.mica.cpp.project.ui.wizards.ESboxCppCCProjectWizard">
+         <enablement></enablement>
+      </commonWizard>
+   </extension>
+
+  <extension
+        point="org.eclipse.ui.navigator.navigatorContent">
+     <commonWizard
+           associatedExtensionId="org.eclipse.cdt.ui.navigator.content"
+           menuGroupId="org.eclipse.cdt.ui.newProject"
+           type="new"
+           wizardId="org.maemo.mica.cpp.project.ui.wizards.ConvertToESboxCppBuildConfigWizard">
+		 <enablement>
+		 	<and>
+	            <adapt type="org.eclipse.core.resources.IProject" />
+				<not>
+		            <adapt type="org.eclipse.core.resources.IProject" >
+		               <test
+		                     property="org.eclipse.core.resources.projectNature"
+		                     value="org.maemo.mica.cpp.project.core.ESboxCppNature"/>
+		            </adapt>
+				</not>
+		 	</and>
+			<and>
+	            <adapt type="org.eclipse.core.resources.IProject" />
+				<not>
+		            <adapt type="org.eclipse.core.resources.IProject" >
+		               <test
+		                     property="org.eclipse.core.resources.projectNature"
+		                     value="org.maemo.mica.python.project.core.ESboxPythonNature"/>
+		            </adapt>
+				</not>
+		 	</and>		 	
+         </enablement>
+      </commonWizard>
+
+     <commonWizard
+           associatedExtensionId="org.eclipse.cdt.ui.navigator.content"
+           menuGroupId="org.eclipse.cdt.ui.newProject"
+           type="new"
+           wizardId="org.maemo.mica.cpp.project.ui.wizards.ESboxNewCppBuildConfigProjectWizard">
+		 <enablement>
+         </enablement>
+      </commonWizard>      
+  </extension>
+  
 <extension
      point="org.eclipse.ui.propertyPages">
+     <!-- old conversion page -->
       <page
             class="org.maemo.esbox.internal.project.cpp.ui.properties.ESBoxOldCppTargetPropertyPage"
-            id="org.maemo.mica.cpp.project.ui.oldESboxProjectPropertyPage"
+            id="org.maemo.esbox.project.cpp.ui.oldESboxProjectPropertyPage"
             name="Maemo Build Configurations"
             nameFilter="*">
          <filter
@@ -77,6 +162,21 @@
 	            </adapt>
 			</enabledWhen>		        
       </page>
+
+	<!-- new page -->
+	<page
+           class="org.maemo.esbox.internal.project.cpp.ui.properties.ESboxCppBuildConfigurationsPage"
+           id="org.maemo.esbox.project.cpp.ui.BuildConfigurations"
+           name="Maemo Build Configurations">
+        <filter
+              name="nature"
+              value="org.maemo.mica.cpp.project.core.ESboxCppNature">
+        </filter>
+        <enabledWhen>
+          	<adapt type="org.eclipse.core.resources.IProject">
+	        </adapt>
+        </enabledWhen>
+     </page>
    </extension>
    
   <extension
@@ -94,4 +194,15 @@
      </projectPackageGatherer>
   </extension>
 
+ <extension
+       point="org.eclipse.core.runtime.adapters">
+    <factory
+          adaptableType="org.maemo.mica.cpp.project.core.MicaCppProjectType"
+          class="org.maemo.esbox.internal.project.cpp.core.CppProjectDebianSupportAdapterFactory">
+       <adapter
+             type="org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport">
+       </adapter>
+    </factory>
+ </extension>
+
 </plugin>

Modified: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/ConvertCppProjectMarkerResolutionGenerator.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/ConvertCppProjectMarkerResolutionGenerator.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/ConvertCppProjectMarkerResolutionGenerator.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -18,7 +18,7 @@
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.ui.*;
 import org.maemo.esbox.internal.project.cpp.Activator;
-import org.maemo.esbox.internal.project.cpp.ui.wizards.ConvertToMicaCppBuildConfigWizard;
+import org.maemo.esbox.internal.project.cpp.ui.wizards.ConvertToESboxCppProjectWizard;
 import org.maemo.mica.common.project.core.IOldESboxProjectBuilder;
 
 /**
@@ -61,7 +61,7 @@
 
 				public void run(IMarker marker) {
 					try {
-						ConvertToMicaCppBuildConfigWizard wizard = new ConvertToMicaCppBuildConfigWizard();
+						ConvertToESboxCppProjectWizard wizard = new ConvertToESboxCppProjectWizard();
 						WizardDialog dialog = new WizardDialog(null, wizard);
 						if (dialog.open() == IDialogConstants.OK_ID) {
 							marker.delete();

Copied: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectImportConfigurationComposite.java (from rev 1203, trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectImportConfigurationComposite.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectImportConfigurationComposite.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectImportConfigurationComposite.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.cpp.core;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.maemo.mica.common.core.IValidatingDialogPage;
+import org.maemo.mica.common.project.core.IProjectTypeConfigKeys;
+import org.maemo.mica.common.project.core.ProjectConfigHandler;
+import org.maemo.mica.cpp.project.core.MicaCppProjectType;
+
+/**
+ * This composite contains the configurable aspects of a project for a Debian
+ * source package.
+ * @author eswartz
+ *
+ */
+public class CppDebianProjectImportConfigurationComposite extends CppProjectImportConfigurationComposite {
+
+	private String[] rules;
+
+	public CppDebianProjectImportConfigurationComposite(
+			Composite parent,
+			IValidatingDialogPage dialogPage, MicaCppProjectType projectType,
+			final IProject project,
+			final IPath projectLocation,
+			ProjectConfigHandler configHandler,
+			String[] rules) {
+		super(parent, SWT.NONE, dialogPage, projectType, project, projectLocation, configHandler,
+				false, true);
+		this.rules = rules;
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.esbox.internal.project.cpp.core.CppProjectImportConfigurationComposite#init()
+	 */
+	@Override
+	protected void setFieldContents() {
+		super.setFieldContents();
+		
+		buildConfigureTargetField.setItems(rules);
+		buildIncrTargetField.setItems(rules);
+		buildAutoTargetField.setItems(rules);
+		buildCleanTargetField.setItems(rules);
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.esbox.internal.project.cpp.core.CppProjectImportConfigurationComposite#initRules(boolean, boolean, boolean, boolean)
+	 */
+	@Override
+	protected void initRules(boolean gotConfigureRule, boolean gotCleanRule,
+			boolean gotIncrRule) {
+		super.initRules(gotConfigureRule, gotCleanRule, gotIncrRule);
+		
+		// get default rules based on guesses
+		for (String rule : rules) {
+			if (!gotConfigureRule && rule.contains("config")) {
+				setRule(IProjectTypeConfigKeys.KEY_CONFIGURE_BUILD_SETTING, rule, buildConfigureTargetField);
+				gotConfigureRule = true;
+			}
+			if (!gotCleanRule && rule.contains("clean")) {
+				setRule(IProjectTypeConfigKeys.KEY_CLEAN_BUILD_SETTING, rule, buildCleanTargetField);
+				gotCleanRule = true;
+			}
+			if (!gotIncrRule && (rule.contains("build") || rule.contains("all"))) {
+				setRule(IProjectTypeConfigKeys.KEY_INCREMENTAL_BUILD_SETTING, rule, buildIncrTargetField);
+				gotIncrRule = true;
+			}
+		}
+		
+		// as a last resort, use a "clean" rule for configure
+		if (!gotConfigureRule) {
+			for (String rule : rules) {
+				if (!gotConfigureRule && rule.contains("clean")) {
+					setRule(IProjectTypeConfigKeys.KEY_CONFIGURE_BUILD_SETTING, rule, buildConfigureTargetField);
+					gotConfigureRule = true;
+				}
+			}
+		}
+	}
+}

Copied: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectSupport.java (from rev 1203, trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectSupport.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectSupport.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppDebianProjectSupport.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.cpp.core;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.swt.widgets.Composite;
+import org.maemo.mica.common.core.IValidatingDialogPage;
+import org.maemo.mica.common.project.core.ProjectConfigHandler;
+import org.maemo.mica.cpp.project.core.MicaCppProjectType;
+import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
+
+/**
+ * @author eswartz
+ *
+ */
+public class CppDebianProjectSupport implements IDebianProjectConvertImportSupport {
+
+	private final MicaCppProjectType projectType;
+
+	/**
+	 * @param adaptableObject
+	 */
+	public CppDebianProjectSupport(MicaCppProjectType projectType) {
+		this.projectType = projectType;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.linux.packages.core.adapters.IDebianProjectSupport#createProjectImportConfigurationComposite(org.eclipse.swt.widgets.Composite, org.eclipse.jface.dialogs.IDialogPage, org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IPath, org.maemo.mica.common.project.core.ProjectConfigHandler)
+	 */
+	public Composite createDebianProjectImportConfigurationComposite(Composite parent,
+			int style, IValidatingDialogPage dialogPage, IProject project,
+			IPath projectLocation, ProjectConfigHandler configHandler, String[] debianRules) {
+
+		CppProjectImportConfigurationComposite configComposite =
+			new CppDebianProjectImportConfigurationComposite(
+					parent,
+					dialogPage,
+					projectType,
+					project,
+					projectLocation,
+					configHandler,
+					debianRules
+					);
+		
+		configComposite.init();
+		
+		return configComposite;
+	}
+
+}

Copied: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectDebianSupportAdapterFactory.java (from rev 1203, trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectDebianSupportAdapterFactory.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectDebianSupportAdapterFactory.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectDebianSupportAdapterFactory.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.cpp.core;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.maemo.mica.cpp.project.core.MicaCppProjectType;
+import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
+
+/**
+ * This factory proclaims Debian support for a project type.
+ * @author eswartz
+ *
+ */
+public class CppProjectDebianSupportAdapterFactory implements IAdapterFactory {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
+	 */
+	public Object getAdapter(Object adaptableObject, Class adapterType) {
+		if (adaptableObject instanceof MicaCppProjectType) {
+			if (adapterType.equals(IDebianProjectConvertImportSupport.class)) {
+				return new CppDebianProjectSupport((MicaCppProjectType) adaptableObject);
+			}
+		}
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
+	 */
+	public Class[] getAdapterList() {
+		return new Class[] { IDebianProjectConvertImportSupport.class };
+	}
+
+}

Copied: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectImportConfigurationComposite.java (from rev 1203, trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectImportConfigurationComposite.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectImportConfigurationComposite.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/CppProjectImportConfigurationComposite.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,333 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.cpp.core;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.maemo.mica.common.core.IValidatingDialogPage;
+import org.maemo.mica.common.project.core.IProjectType;
+import org.maemo.mica.common.project.core.ProjectConfigHandler;
+import org.maemo.mica.common.project.ui.wizards.BaseProjectImportConfigurationComposite;
+import org.maemo.mica.common.ui.common.ComboDialogField;
+import org.maemo.mica.common.ui.common.GridLayoutWrappedTextUtils;
+import org.maemo.mica.cpp.project.core.MicaCppProjectType;
+
+import com.nokia.cpp.internal.api.utils.core.FileUtils;
+
+/**
+ * This is the basic UI for configuring a C/C++ project on import or conversion.
+ * @author eswartz
+ *
+ */
+public class CppProjectImportConfigurationComposite extends BaseProjectImportConfigurationComposite {
+
+	protected ComboDialogField buildLocationField;
+	protected ComboDialogField buildConfigureTargetField;
+	protected ComboDialogField buildIncrTargetField;
+	protected ComboDialogField buildAutoTargetField;
+	protected ComboDialogField buildCleanTargetField;
+	protected String[] allDirs;
+	protected IPath projectLocation;
+	protected MicaCppProjectType projectType;
+	private boolean showBuildLocation;
+	private boolean showConfigureRule;
+
+	/**
+	 * @param parent
+	 * @param style
+	 * @param dialogPage 
+	 */
+	public CppProjectImportConfigurationComposite(Composite parent, int style,
+			IValidatingDialogPage dialogPage, MicaCppProjectType projectType,
+			final IProject project,
+			final IPath projectLocation,
+			ProjectConfigHandler configHandler,
+			boolean showBuildLocation, boolean showConfigureRule) {
+		super(parent, style, dialogPage, project, projectLocation, configHandler);
+		this.projectType = projectType;
+		this.projectLocation = projectLocation;
+		this.showBuildLocation = showBuildLocation;
+		this.showConfigureRule = showConfigureRule;
+		
+	}
+	
+	/**
+	 * @param parent
+	 * @param style
+	 * @param dialogPage 
+	 */
+	public CppProjectImportConfigurationComposite(Composite parent, int style,
+			IValidatingDialogPage dialogPage, MicaCppProjectType projectType,
+			final IProject project,
+			final IPath projectLocation,
+			ProjectConfigHandler configHandler) {
+		this(parent, style, dialogPage, projectType, project, projectLocation, configHandler, true, false);
+	}
+
+	public void init() {
+
+		final List<String> allPathsList = new ArrayList<String>();
+		File dir = projectLocation.toFile();
+		final String base = dir.getAbsolutePath();
+		
+		allPathsList.add("");
+		
+		// just walking here
+		FileUtils.listFilesInTree(dir, new FileFilter() { 
+				public boolean accept(File pathname) {
+					if (pathname.isDirectory()) {
+						allPathsList.add(pathname.getAbsolutePath().substring(base.length() + 1));
+					}
+					return true;
+				}
+			},
+			true
+		);
+		
+		allDirs = (String[]) allPathsList.toArray(new String[allPathsList.size()]);
+		
+		buildLocationField = new ComboDialogField(SWT.READ_ONLY);
+		buildConfigureTargetField = new ComboDialogField(SWT.READ_ONLY);
+		buildIncrTargetField = new ComboDialogField(SWT.READ_ONLY);
+		buildAutoTargetField = new ComboDialogField(SWT.READ_ONLY);
+		buildCleanTargetField = new ComboDialogField(SWT.READ_ONLY);
+
+		setFieldContents();
+		super.init();
+	}
+	
+	/**
+	 * 
+	 */
+	protected void setFieldContents() {
+		buildLocationField.setItems(allDirs);
+		
+		String[] stockRules = new String[] { "", "all", "clean" };
+		
+		
+		buildConfigureTargetField.setItems(stockRules);
+		buildIncrTargetField.setItems(stockRules);
+		buildAutoTargetField.setItems(stockRules);
+		buildCleanTargetField.setItems(stockRules);
+				
+	}
+
+	protected void createProjectUI(Composite composite) {
+		if (showBuildLocation) {
+			createBuildLocationUI(composite);
+		}
+		
+		createBuildRuleUI(composite);
+	}
+
+	/**
+	 * @param composite
+	 */
+	protected void createBuildLocationUI(Composite composite) {
+		Composite twoWay = new Composite(composite, SWT.NONE);
+		twoWay.setLayout(new GridLayout(2, false));
+		GridDataFactory.fillDefaults().grab(true, false).applyTo(twoWay);
+
+		buildLocationField.setLabelText("Build location:");
+		buildLocationField.doFillIntoGrid(twoWay, 2);
+		Combo combo = buildLocationField.getComboControl(twoWay);
+		combo.setToolTipText("Specify the project-relative build location.");
+		GridDataFactory.fillDefaults().grab(true, false).applyTo(combo);
+		combo.addSelectionListener(new SelectionAdapter() {
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				IPath path = new Path(buildLocationField.getText());
+				if (path.isEmpty())
+					path = null;
+				configHandler.getConfigProperties().put(MicaCppProjectType.KEY_BUILD_LOCATION,
+						path);
+				dialogPage.validatePage();
+			}
+		});
+	}
+
+	/**
+	 * @param composite
+	 */
+	protected void createBuildRuleUI(Composite composite) {
+		Control control;
+		Label helpLabel = new Label(composite, SWT.WRAP);
+		//GridDataFactory.swtDefaults().grab(false, false).hint(textSize, SWT.DEFAULT).applyTo(label);
+		GridDataFactory.swtDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).applyTo(helpLabel);
+		helpLabel.setText("Select the targets to use when building the project.\n\n"
+				+"(See Project > Properties > Maemo Build Configurations > Build Settings to change these settings after the project is created.)");
+		
+		GridData helpLabelGridData = GridDataFactory.swtDefaults().span(2,1).create();
+			
+		GridLayoutWrappedTextUtils.setupLabel(getParent(), helpLabel, helpLabelGridData);
+	
+		Group group = new Group(composite, SWT.NONE);
+		GridDataFactory.fillDefaults().grab(true, true).indent(6, 6).applyTo(group);
+		group.setText("Build Targets");
+		group.setLayout(new GridLayout(2, false));
+		
+		if (showConfigureRule)
+			createConfigureRuleUI(group);
+		
+		buildIncrTargetField.setLabelText("Incremental/full build rule:");
+		buildIncrTargetField.doFillIntoGrid(group, 2);
+		control = buildIncrTargetField.getComboControl(group);
+		control.setToolTipText("Specify the rule that builds the project on a Project > Build command.");
+		GridDataFactory.fillDefaults().grab(true, false).applyTo(control);
+		buildIncrTargetField.getComboControl(group).addSelectionListener(new SelectionAdapter() {
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				updateRule(IProjectType.KEY_INCREMENTAL_BUILD_SETTING, buildIncrTargetField);
+			}
+		});
+		
+		buildAutoTargetField.setLabelText("Auto build rule:");
+		buildAutoTargetField.doFillIntoGrid(group, 2);
+		control = buildAutoTargetField.getComboControl(group);
+		control.setToolTipText("Specify the rule that builds the project when Project > Build Automatically is enabled.");
+		GridDataFactory.fillDefaults().grab(true, false).applyTo(control);
+		buildAutoTargetField.getComboControl(group).addSelectionListener(new SelectionAdapter() {
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				updateRule(IProjectType.KEY_AUTO_BUILD_SETTING, buildAutoTargetField);
+			}
+		});
+		
+		buildCleanTargetField.setLabelText("Clean build rule:");
+		buildCleanTargetField.doFillIntoGrid(group, 2);
+		control = buildCleanTargetField.getComboControl(group);
+		control.setToolTipText("Specify the rule that cleans the project on a Project > Clean command.");
+		GridDataFactory.fillDefaults().grab(true, false).applyTo(control);
+		buildCleanTargetField.getComboControl(group).addSelectionListener(new SelectionAdapter() {
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				updateRule(IProjectType.KEY_CLEAN_BUILD_SETTING, buildCleanTargetField);
+			}
+		});
+	}
+
+	/**
+	 * @param showConfigureRule
+	 * @param group
+	 */
+	protected void createConfigureRuleUI(Group group) {
+		Control control;
+		buildConfigureTargetField.setLabelText("Configure build rule:");
+		buildConfigureTargetField.doFillIntoGrid(group, 2);
+		control = buildConfigureTargetField.getComboControl(group);
+		control.setToolTipText("Specify the rule that builds the project on a Project > Build Application > Configure command.");
+		GridDataFactory.fillDefaults().grab(true, false).applyTo(control);
+		
+		buildConfigureTargetField.getComboControl(group).addSelectionListener(new SelectionAdapter() {
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				updateRule(IProjectType.KEY_CONFIGURE_BUILD_SETTING,
+						buildConfigureTargetField);
+			}
+		});
+	}
+
+	/**
+	 * Return text unless it is empty or null.
+	 * @param text
+	 * @return
+	 */
+	protected String nonEmptyOrNull(String text) {
+		return text == null || text.length() == 0 ? null : text;
+	}
+
+	/**
+	 * @param firstElement
+	 */
+	protected void setBuildLocation(IPath path) {
+		
+	}
+
+	/**
+	 * Set the current rules into the fields and initialize the rest with guesses.
+	 * @param configHandler
+	 * @param rules
+	 */
+	protected void initFromConfig() {
+		super.initFromConfig();
+		
+		boolean gotConfigureRule = false, gotCleanRule = false, gotIncrRule = false;
+		
+		// get any existing rules
+		initRule(IProjectType.KEY_AUTO_BUILD_SETTING, buildAutoTargetField);
+		gotIncrRule = initRule(IProjectType.KEY_INCREMENTAL_BUILD_SETTING, buildIncrTargetField);
+		gotCleanRule = initRule(IProjectType.KEY_CLEAN_BUILD_SETTING, buildCleanTargetField);
+		gotConfigureRule = initRule(IProjectType.KEY_CONFIGURE_BUILD_SETTING, buildConfigureTargetField);
+		
+		initRules(gotConfigureRule, gotCleanRule, gotIncrRule);
+	}
+
+	/**
+	 * 
+	 */
+	protected boolean initRule(String setting, ComboDialogField field) {
+		String rule = (String) configHandler.getConfigProperties().get(setting);
+		rule = nonEmptyOrNull(rule);
+		if (rule != null) {
+			field.setText(rule);
+			return true;
+		}
+		configHandler.getConfigProperties().remove(setting);
+		field.setText("");
+		return false;
+	}
+
+	/**
+	 * 
+	 */
+	protected void setRule(String setting, String value, ComboDialogField field) {
+		configHandler.getConfigProperties().put(setting, value);
+		field.setText(value);
+	}
+
+	/**
+	 */
+	protected void updateRule(String setting,
+			ComboDialogField field) {
+		String rule = nonEmptyOrNull(field.getText());
+		if (rule == null)
+			configHandler.getConfigProperties().remove(setting);
+		else
+			configHandler.getConfigProperties().put(setting, rule);
+		dialogPage.validatePage();		
+	}
+
+	/**
+	 */
+	protected void initRules(boolean gotConfigureRule, boolean gotCleanRule,
+			boolean gotIncrRule) {
+		
+	}
+
+}
\ No newline at end of file

Modified: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/MaemoCppProjectPackageGatherer.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/MaemoCppProjectPackageGatherer.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/core/MaemoCppProjectPackageGatherer.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -35,11 +35,18 @@
 	 * @see org.maemo.mica.linux.packages.core.aptpkgconfig.install.IProjectPackageGatherer#scanPackages(org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	public ProjectPackageInfo scanPackages(IProject project,
+			//ISDKTarget sdkTarget,
 			IProgressMonitor monitor) throws CoreException {
 		if (MicaCppProjectNature.isNatureInProject(project)) {
 			ProjectPackageInfo info = new ProjectPackageInfo();
-			info.getSystemPackages().add("maemo-debug-scripts");
 			
+			//if (sdkTarget == null) {
+				// generic packages for any target
+				info.getSystemPackages().add("maemo-debug-scripts");
+				info.getSystemPackages().add("maemo-c-debug-tools");
+			//				}
+				
+			// XXX: need device-env for devices
 			if (MicaCppProjectNature.isCCLanguageNatureInProject(project)) {
 				info.getSystemPackages().add("maemo-cplusplus-env");
 			}

Modified: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties/ESBoxOldCppTargetPropertyPage.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties/ESBoxOldCppTargetPropertyPage.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties/ESBoxOldCppTargetPropertyPage.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -17,7 +17,7 @@
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
-import org.maemo.esbox.internal.project.cpp.ui.wizards.ConvertToMicaCppBuildConfigWizard;
+import org.maemo.esbox.internal.project.cpp.ui.wizards.ConvertToESboxCppProjectWizard;
 import org.maemo.mica.common.project.ui.properties.BaseBuildTargetPropertyPage;
 
 /**
@@ -80,7 +80,7 @@
 					Display.getDefault().asyncExec(new Runnable() {
 
 						public void run() {
-							ConvertToMicaCppBuildConfigWizard wizard = new ConvertToMicaCppBuildConfigWizard();
+							ConvertToESboxCppProjectWizard wizard = new ConvertToESboxCppProjectWizard();
 							WizardDialog dialog = new WizardDialog(null, wizard);
 							dialog.open();
 						}

Copied: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties/ESboxCppBuildConfigurationsPage.java (from rev 1203, trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties/ESboxCppBuildConfigurationsPage.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties/ESboxCppBuildConfigurationsPage.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/properties/ESboxCppBuildConfigurationsPage.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.cpp.ui.properties;
+
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
+import org.maemo.mica.common.project.core.IBuildTargetFilter;
+import org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage;
+
+/**
+ * ESbox build configurations page for C/C++ projects.
+ * @author eswartz
+ *
+ */
+public class ESboxCppBuildConfigurationsPage extends MicaBuildConfigurationsPage {
+
+	public ESboxCppBuildConfigurationsPage() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage#createBuildTargetFilter(org.eclipse.core.resources.IProject)
+	 */
+	@Override
+	protected IBuildTargetFilter createBuildTargetFilter() {
+		return new BuildMachineHostedTargetFilter();
+	}
+
+}

Copied: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToESboxCppProjectWizard.java (from rev 1203, trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToESboxCppProjectWizard.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToESboxCppProjectWizard.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToESboxCppProjectWizard.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * 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.internal.project.cpp.ui.wizards;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.maemo.esbox.internal.project.cpp.Activator;
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
+import org.maemo.mica.common.project.core.IBuildTargetFilter;
+import org.maemo.mica.cpp.project.ui.wizards.ConvertToMicaCppBuildConfigWizard;
+
+/**
+ * Convert existing projects to build with ESbox as C/C++ projects.
+ * @author eswartz
+ *
+ */
+public class ConvertToESboxCppProjectWizard extends ConvertToMicaCppBuildConfigWizard {
+
+	public ConvertToESboxCppProjectWizard() {
+		super();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.cpp.project.ui.wizards.ConvertToMicaCppBuildConfigWizard#createBuildTargetFilter()
+	 */
+	@Override
+	protected IBuildTargetFilter createBuildTargetFilter() {
+		return new BuildMachineHostedTargetFilter();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.ui.wizards.NewCProjectWizard#initializeDefaultPageImageDescriptor()
+	 */
+	@Override
+	protected void initializeDefaultPageImageDescriptor() {
+		ImageDescriptor image = Activator.getImageDescriptor("./icons/full/wizban/maemo_convert.gif");
+		setDefaultPageImageDescriptor(image);
+	}
+}

Deleted: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToMicaCppBuildConfigWizard.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToMicaCppBuildConfigWizard.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToMicaCppBuildConfigWizard.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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.internal.project.cpp.ui.wizards;
-
-import org.eclipse.cdt.make.core.MakeCorePlugin;
-import org.eclipse.cdt.ui.wizards.conversion.ConversionWizard;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.maemo.esbox.internal.project.cpp.Activator;
-
-public class ConvertToMicaCppBuildConfigWizard extends ConversionWizard {
-
-	/**
-	 * 
-	 */
-	public ConvertToMicaCppBuildConfigWizard() {
-		super();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.ui.wizards.NewCProjectWizard#initializeDefaultPageImageDescriptor()
-	 */
-	@Override
-	protected void initializeDefaultPageImageDescriptor() {
-		ImageDescriptor image = Activator.getImageDescriptor("./icons/full/wizban/maemo_convert.gif");
-		setDefaultPageImageDescriptor(image);
-	}
-	
-	public void addPages() {
-		mainPage = new ConvertToMicaCppBuildConfigWizardPage(getPrefix());
-		addPage(mainPage);
-	}
-
-	public String getProjectID() {
-		return MakeCorePlugin.MAKE_PROJECT_ID;
-	}
-	
-	public String getBuildSystemId() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.wizards.newresource.BasicNewResourceWizard#selectAndReveal(org.eclipse.core.resources.IResource)
-	 */
-	@Override
-	protected void selectAndReveal(IResource newResource) {
-		// workaround a npe
-		if (getWorkbench() != null && getWorkbench().getActiveWorkbenchWindow() != null)
-			super.selectAndReveal(newResource);
-	}
-}

Deleted: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToMicaCppBuildConfigWizardPage.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToMicaCppBuildConfigWizardPage.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ConvertToMicaCppBuildConfigWizardPage.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 QNX Software Systems and others.
- * 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:
- *     QNX Software Systems - Initial API and implementation
- *     Intel corporation    - customization for New Project model.
- *     Ed Swartz - modify for ESbox
- *******************************************************************************/
-package org.maemo.esbox.internal.project.cpp.ui.wizards;
-
- 
-import org.eclipse.cdt.ui.wizards.conversion.ConvertProjectWizardPage;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-import org.maemo.esbox.internal.project.cpp.Activator;
-import org.maemo.mica.common.core.MicaException;
-import org.maemo.mica.common.core.Policy;
-import org.maemo.mica.common.core.execEnv.ExecutionEnvironmentFactory;
-import org.maemo.mica.common.core.execEnv.IExecutionEnvironment;
-import org.maemo.mica.common.core.sdk.ISDKTarget;
-import org.maemo.mica.common.project.core.*;
-import org.maemo.mica.common.ui.BuildTargetUI;
-import org.maemo.mica.common.ui.ExecutionEnvironmentUI;
-import org.maemo.mica.common.ui.BuildTargetUI.IBuildTargetCheckedListener;
-import org.maemo.mica.cpp.project.core.*;
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.*;
-
-public class ConvertToMicaCppBuildConfigWizardPage extends ConvertProjectWizardPage {
-    
-	private CheckboxTreeViewer buildTargetTreeViewer;
-	protected ISDKTarget[] theSdkTargets;
-	protected IExecutionEnvironment theExecEnv;
-	private TreeViewer execEnvTreeViewer;
-	private ISDKTarget theCurrentSdkTarget;
-
-	/**
-	 * Constructor for ConvertToStdMakeProjectWizardPage.
-	 * @param pageName
-	 */
-	public ConvertToMicaCppBuildConfigWizardPage(String pageName) {
-		super(pageName);
-	}
-    
-    /**
-     * Method getWzTitleResource returns the correct Title Label for this class
-     * overriding the default in the superclass.
-     */
-    protected String getWzTitleResource(){
-        return "Convert C/C++ Projects";
-    }
-    
-    /**
-     * Method getWzDescriptionResource returns the correct description
-     * Label for this class overriding the default in the superclass.
-     */
-    protected String getWzDescriptionResource(){
-        return "Convert one or more projects to ESbox C/C++ projects.\nUse this for projects created in older ESbox releases or to make existing C/C++ projects build with ESbox (only).";
-        
-    }
-       
-    public void createControl(Composite parent) {
-		super.createControl(parent);
-		
-		((GridData) tableViewer.getTable().getLayoutData()).minimumHeight = 100;
-		
-		Composite composite = (Composite) getControl();
-		
-		///
-		Label label = new Label(composite, SWT.NONE);
-		label.setText("Select the build target to use:");
-		
-		buildTargetTreeViewer = BuildTargetUI.createConfiguredBuildTargetCheckboxViewer(composite,
-				BuildTargetUI.DEFAULT_STYLE);
-		
-		GridDataFactory.fillDefaults()
-			.minSize(new Point(SWT.DEFAULT, 100))
-			.applyTo(buildTargetTreeViewer.getTree());
-		
-		buildTargetTreeViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true));
-		theSdkTargets = new ISDKTarget[0];
-		
-		BuildTargetUI.setupStandardBuildTargetCheckboxViewer(buildTargetTreeViewer, 
-				new IBuildTargetCheckedListener() {
-
-					public void buildTargetChecked(Object selectedElement,
-							Object[] checkedElements) {
-						// add targets
-						List<ISDKTarget> currentTargets = new ArrayList<ISDKTarget>();
-						for (Object targetObj : checkedElements) {
-							if (targetObj instanceof ISDKTarget)
-								currentTargets.add((ISDKTarget) targetObj);
-						}
-						theSdkTargets = (ISDKTarget[]) currentTargets
-								.toArray(new ISDKTarget[currentTargets.size()]);
-						setPageComplete(validatePage());
-					}
-			
-		}, true);
-		
-		buildTargetTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
-				theCurrentSdkTarget = null;
-				if (obj instanceof ISDKTarget)
-					theCurrentSdkTarget = (ISDKTarget) obj;
-				setPageComplete(validatePage());
-			}
-			
-		});
-		
-		buildTargetTreeViewer.setInput(new Object());
-		
-		////
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText("Select the runtime environment:");
-		
-		execEnvTreeViewer = ExecutionEnvironmentUI.createConfiguredExecutionEnvironmentViewer(composite,
-				ExecutionEnvironmentUI.DEFAULT_STYLE);
-		
-		execEnvTreeViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true));
-		
-		execEnvTreeViewer.getTree().setToolTipText("This is the environment in which the project runs.  ESbox will offer to start the environment upon a launch.");
-		
-		theExecEnv = null;
-		execEnvTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-	
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection selection = (IStructuredSelection) execEnvTreeViewer.getSelection();
-				theExecEnv = (IExecutionEnvironment) selection.getFirstElement();
-				setPageComplete(validatePage());
-			}
-			
-		});
-		
-		execEnvTreeViewer.setInput(new Object());
-	
-		
-		// try to pick current settings, if known
-		IStructuredSelection sel = ((BasicNewResourceWizard)getWizard()).getSelection();
-		Object[] elements = null;
-		if (sel != null)
-			elements = sel.toArray();
-		if (elements == null || elements.length == 0)
-			elements = ((IStructuredContentProvider) tableViewer.getContentProvider()).getElements(tableViewer.getInput());
-		
-		IProjectProperties projectProperties = getCandidateESboxProjectProperties(elements);
-		if (projectProperties != null) {
-			try {
-				theSdkTargets = new ISDKTarget[] { projectProperties.getSDKTarget() };
-				buildTargetTreeViewer.setCheckedElements(theSdkTargets);
-				theCurrentSdkTarget = theSdkTargets[0];
-				buildTargetTreeViewer.setSelection(new StructuredSelection(theCurrentSdkTarget));
-			} catch (MicaException e) {
-			}
-			
-			String execEnvId = projectProperties.getExecutionEnvironmentId();
-			if (execEnvId != null) {
-				// the ids changed, so be looser
-				String baseId = execEnvId;
-				int idx = execEnvId.lastIndexOf('.');
-				if (idx >= 0)
-					baseId = execEnvId.substring(idx + 1);
-				for (IExecutionEnvironment execEnv : ExecutionEnvironmentFactory.getInstance().getExecutionEnvironments()) {
-					if (execEnv.getId().endsWith(baseId)) {
-						theExecEnv = execEnv;
-						execEnvTreeViewer.setSelection(new StructuredSelection(theExecEnv));
-						break;
-					}
-				}
-			}
-		}
-	
-		// select all by default
-		if (sel != null) {
-			tableViewer.setCheckedElements(sel.toArray());
-		} else {
-			tableViewer.setAllChecked(true);
-		}
-		setPageComplete(validatePage());
-	}
-
-	/**
-	 * Find an existing ESbox project with properties we can use
-	 * @return IProject or <code>null</code>
-	 */
-	private IProjectProperties getCandidateESboxProjectProperties(Object[] elements) {
-		for (Object obj : elements) {
-			if (obj instanceof IProject) {
-				IProject project = (IProject) obj;
-				IProjectProperties projectProperties;
-				try {
-					projectProperties = ProjectManager.getInstance().getOldStyleProjectProperties(project);
-					// ping it to find one with a valid target
-					projectProperties.getSDKTarget();
-					return projectProperties;
-				} catch (MicaException e) {
-					// not a candidate
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-     * It's a candidate if it's not already an ESbox (new) project.
-     */
-    public boolean isCandidate(IProject project) {
-    	return !MicaCppProjectNature.isNatureInProject(project);
-    }    
-
-    public void convertProject(IProject project, String bsId, IProgressMonitor monitor) throws CoreException{
-    	convertToESboxProject(project, bsId, null, monitor);
-    }
-
-
-	public void convertProject(IProject project, IProgressMonitor monitor, String projectID) throws CoreException{
-		convertToESboxProject(project, null, projectID, monitor);
-    }
-	
-	/**
-	 * @param project
-	 */
-	private void convertToESboxProject(IProject project, String bsId, String projectId, IProgressMonitor monitor) throws CoreException {
-		monitor.beginTask("Converting to ESbox project", 1);
-		try {
-			MicaCppProjectCreatorConverterBase creator = new MicaCppBuildConfigProjectCreatorConverter();
-			MicaCppConfigHandler configHandler = new MicaCppConfigHandler();
-			configHandler.setInitialTargetName(theCurrentSdkTarget.getName());
-			List<BuildConfigurationParameters> params = new ArrayList<BuildConfigurationParameters>();
-			for (ISDKTarget target : theSdkTargets) {
-				params.add(new BuildConfigurationParameters(target.getName(), target));
-			}
-			configHandler.setBuildConfigurationParameters(params);
-			configHandler.setIndexerId(null);
-			configHandler.setExecutionEnvironment(theExecEnv.getId());
-			IProjectType projectType;
-			if (this.convertToCC)
-				projectType = ProjectManager.getInstance().getProjectType(MicaCppProjectType.ID_CC);
-			else
-				projectType = ProjectManager.getInstance().getProjectType(MicaCppProjectType.ID_C);
-			creator.setup(project, projectType, configHandler);
-			IWorkspaceRunnable runnable = creator.getProjectConverterRunnable();
-			invokeRunnable(runnable);
-			monitor.worked(1);
-		} finally {
-			monitor.done();
-		}
-		
-	}
-
-	private boolean invokeRunnable(final IWorkspaceRunnable workspaceRunnable) {
-		// CDT still locks the whole workspace
-		//ISchedulingRule rule = projectCreator.getProject();
-		ISchedulingRule rule = ResourcesPlugin.getWorkspace().getRoot();
-		
-		final WorkspaceModifyOperation operation = new WorkspaceModifyOperation(rule) {
-
-			@Override
-			protected void execute(IProgressMonitor monitor)
-					throws CoreException, InvocationTargetException,
-					InterruptedException {
-				workspaceRunnable.run(monitor);
-			}
-			
-		};
-		
-		WorkspaceJob job = new WorkspaceJob("Converting project(s)") {
-
-			@Override
-			public IStatus runInWorkspace(IProgressMonitor monitor)
-					throws CoreException {
-				try {
-					operation.run(monitor);
-				} catch (InterruptedException e) {
-					return Policy.getCancelStatus(Activator.getDefault());
-				} catch (Exception e) {
-					if (e instanceof InvocationTargetException 
-							&& ((InvocationTargetException) e).getTargetException() instanceof CoreException)
-						e = (CoreException) ((InvocationTargetException) e).getTargetException();
-				
-					Activator.getErrorLogger().logAndShowError(null, e);
-				}
-				return Status.OK_STATUS;
-			}
-			
-		};
-		job.setRule(rule);
-		job.setUser(true);
-		job.schedule();
-		
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.ui.wizards.conversion.ConvertProjectWizardPage#validatePage()
-	 */
-	@Override
-	protected boolean validatePage() {
-		if (!super.validatePage())
-			return false;
-		
-		setMessage(null);
-		setErrorMessage(null);
-		
-		// must have a build target and execution environment
-		if (theCurrentSdkTarget == null) {
-			setErrorMessage("An initial build target must be selected.");
-			return false;
-		}
-
-		if (theSdkTargets.length == 0) {
-			setErrorMessage("A set of build targets must be selected.");
-			return false;
-		}
-
-		if (theExecEnv == null) {
-			setErrorMessage("A runtime environment must be selected.");
-			return false;
-		}
-		
-		// we can only accept projects which can build from and which are visible from scratchbox
-		Object[] elements = getCheckedElements();
-		for (Object element : elements) {
-			if (element instanceof IProject) {
-				IProject project = (IProject) element;
-				IPath path = project.getRawLocation();
-				if (path == null)
-					path = project.getLocation();
-				for (ISDKTarget sdkTarget : theSdkTargets) {
-					try {
-						ProjectManager.getInstance().validateSDKTargetForProjectLocation(
-								path, sdkTarget);
-					} catch (MicaException e) {
-						setErrorMessage(e.getMessage());
-						return false;
-					}
-				}
-				
-				// check for Makefile or autotools -- not fatal but suspicious
-				if (!CppScriptLauncher.getInstance().validateAutomakeState(project, null)) {
-					setMessage(MessageFormat.format("No Makefile or known autotools files exist in the project ''{0}''",
-							project.getName()),
-							WARNING);
-				}
-			}
-		}
-		
-		return true;
-	}
-
-}

Modified: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ESboxCCProjectWizard.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ESboxCCProjectWizard.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ESboxCCProjectWizard.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -13,7 +13,7 @@
 
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.maemo.esbox.internal.project.cpp.Activator;
-import org.maemo.esbox.maemosdk.core.ESboxBuildTargetFilter;
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
 import org.maemo.mica.common.project.core.IBuildTargetFilter;
 import org.maemo.mica.cpp.project.core.MicaCppProjectType;
 import org.maemo.mica.cpp.project.ui.BaseCppProjectWizard;
@@ -43,7 +43,7 @@
 	 */
 	@Override
 	protected IBuildTargetFilter createBuildTargetFilter() {
-		return new ESboxBuildTargetFilter();
+		return new BuildMachineHostedTargetFilter();
 	}
 	
 	/* (non-Javadoc)

Modified: branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ESboxCProjectWizard.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ESboxCProjectWizard.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/wizards/ESboxCProjectWizard.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -13,7 +13,7 @@
 
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.maemo.esbox.internal.project.cpp.Activator;
-import org.maemo.esbox.maemosdk.core.ESboxBuildTargetFilter;
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
 import org.maemo.mica.common.project.core.IBuildTargetFilter;
 import org.maemo.mica.cpp.project.core.MicaCppProjectType;
 import org.maemo.mica.cpp.project.ui.BaseCppProjectWizard;
@@ -43,7 +43,7 @@
 	 */
 	@Override
 	protected IBuildTargetFilter createBuildTargetFilter() {
-		return new ESboxBuildTargetFilter();
+		return new BuildMachineHostedTargetFilter();
 	}
 	
 	/* (non-Javadoc)

Modified: branches/work_Petr/org.maemo.esbox.project.python/plugin.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/plugin.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/plugin.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -30,6 +30,7 @@
       </commonWizard>
    </extension>
    
+     
   <extension
         point="org.maemo.mica.linux.packages.core.projectPackageGatherer">
      <projectPackageGatherer
@@ -37,4 +38,16 @@
      </projectPackageGatherer>
   </extension>
 
+ <extension
+       point="org.eclipse.core.runtime.adapters">
+    <factory
+          adaptableType="org.maemo.mica.python.project.core.MicaPythonProjectType"
+          class="org.maemo.esbox.internal.project.python.core.PythonProjectDebianSupportAdapterFactory">
+       <adapter
+             type="org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport">
+       </adapter>
+    </factory>
+    
+ </extension>
+
 </plugin>

Copied: branches/work_Petr/org.maemo.esbox.project.python/src (from rev 1203, trunk/org.maemo.esbox.project.python/src)

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org (from rev 1203, trunk/org.maemo.esbox.project.python/src/org)

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo)

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox)

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal)

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project)

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python)

Deleted: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/IHelpID.java
===================================================================
--- trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/IHelpID.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/IHelpID.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * 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:
- *    Ling Wang (Nokia) - initial API and implementation. Dec 11, 2008
- *******************************************************************************/
-package org.maemo.esbox.internal.project.python;
-
-
-/**
- * @author LWang.
- *
- */
-public interface IHelpID {
-	public static final String PREFIX = UIActivator.PLUGIN_ID + "."; //$NON-NLS-1$
-
-	/**
-	 *  Global preference => ESbox => Build Machines.
-	 */
-	public static final String HID_GLOBAL_PREF_ESBOX_BUILDMACHINES = PREFIX + "global_pref_esbox_buildmachines"; //$NON-NLS-1$
-
-	/**
-	 *  Global preference => ESbox => X Server.
-	 */
-	public static final String HID_GLOBAL_PREF_ESBOX_XSERVER = PREFIX + "global_pref_esbox_xserver"; //$NON-NLS-1$
-}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/IHelpID.java (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/IHelpID.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/IHelpID.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/IHelpID.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * 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:
+ *    Ling Wang (Nokia) - initial API and implementation. Dec 11, 2008
+ *******************************************************************************/
+package org.maemo.esbox.internal.project.python;
+
+
+/**
+ * @author LWang.
+ *
+ */
+public interface IHelpID {
+	public static final String PREFIX = UIActivator.PLUGIN_ID + "."; //$NON-NLS-1$
+
+	/**
+	 *  Global preference => ESbox => Build Machines.
+	 */
+	public static final String HID_GLOBAL_PREF_ESBOX_BUILDMACHINES = PREFIX + "global_pref_esbox_buildmachines"; //$NON-NLS-1$
+
+	/**
+	 *  Global preference => ESbox => X Server.
+	 */
+	public static final String HID_GLOBAL_PREF_ESBOX_XSERVER = PREFIX + "global_pref_esbox_xserver"; //$NON-NLS-1$
+}

Deleted: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/UIActivator.java
===================================================================
--- trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/UIActivator.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/UIActivator.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * 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.internal.project.python;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.maemo.mica.common.core.ErrorLogger;
-import org.osgi.framework.BundleContext;
-
-import java.io.*;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class UIActivator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.maemo.esbox.maemosdk.ui";
-
-	// The shared instance
-	private static UIActivator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public UIActivator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#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 UIActivator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * @param object
-	 * @param e
-	 * @return
-	 */
-	public static IStatus createErrorStatus(String msg, Throwable t) {
-		return new Status(IStatus.ERROR, PLUGIN_ID, msg, t);
-	}
-
-	/**
-	 * @param warning
-	 * @param format
-	 * @param e
-	 * @return
-	 */
-	public static IStatus createStatus(int severity, String msg,
-			Throwable t) {
-		return new Status(severity, PLUGIN_ID, msg, t);
-	}
-
-	/**
-	 * @param warning
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createStatus(int severity, String string) {
-		return new Status(severity, PLUGIN_ID, string);
-	}
-	
-	/**
-	 * 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 UIActivator.getDefault();
-			}
-
-		}
-
-		return new CoreErrorLogger();
-	}
-
-	/**
-	 * Find a file relative to the plugin, either in a running
-	 * workspace or a standalone unit test (assumed to run relative
-	 * to a plugin)
-	 * @param path
-	 */
-	public static InputStream getPluginRelativeInputStream(String path) throws IOException {
-		if (getDefault() != null) {
-			return FileLocator.openStream(getDefault().getBundle(), new Path(path), false);
-		} else {
-			return new FileInputStream("../" + path);
-		}
-	}
-	
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-
-
-}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/UIActivator.java (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/UIActivator.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/UIActivator.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/UIActivator.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,142 @@
+/*******************************************************************************
+ * 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.internal.project.python;
+
+import org.eclipse.core.runtime.*;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.maemo.mica.common.core.ErrorLogger;
+import org.osgi.framework.BundleContext;
+
+import java.io.*;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class UIActivator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.maemo.esbox.maemosdk.ui";
+
+	// The shared instance
+	private static UIActivator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public UIActivator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#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 UIActivator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * @param object
+	 * @param e
+	 * @return
+	 */
+	public static IStatus createErrorStatus(String msg, Throwable t) {
+		return new Status(IStatus.ERROR, PLUGIN_ID, msg, t);
+	}
+
+	/**
+	 * @param warning
+	 * @param format
+	 * @param e
+	 * @return
+	 */
+	public static IStatus createStatus(int severity, String msg,
+			Throwable t) {
+		return new Status(severity, PLUGIN_ID, msg, t);
+	}
+
+	/**
+	 * @param warning
+	 * @param string
+	 * @return
+	 */
+	public static IStatus createStatus(int severity, String string) {
+		return new Status(severity, PLUGIN_ID, string);
+	}
+	
+	/**
+	 * 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 UIActivator.getDefault();
+			}
+
+		}
+
+		return new CoreErrorLogger();
+	}
+
+	/**
+	 * Find a file relative to the plugin, either in a running
+	 * workspace or a standalone unit test (assumed to run relative
+	 * to a plugin)
+	 * @param path
+	 */
+	public static InputStream getPluginRelativeInputStream(String path) throws IOException {
+		if (getDefault() != null) {
+			return FileLocator.openStream(getDefault().getBundle(), new Path(path), false);
+		} else {
+			return new FileInputStream("../" + path);
+		}
+	}
+	
+	/**
+	 * Returns an image descriptor for the image file at the given
+	 * plug-in relative path.
+	 *
+	 * @param path the path
+	 * @return the image descriptor
+	 */
+	public static ImageDescriptor getImageDescriptor(String path) {
+		return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path);
+	}
+
+
+}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core)

Deleted: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/MaemoPythonProjectPackageGatherer.java
===================================================================
--- trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/MaemoPythonProjectPackageGatherer.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/MaemoPythonProjectPackageGatherer.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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.internal.project.python.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.maemo.mica.linux.packages.core.aptpkgconfig.install.IProjectPackageGatherer;
-import org.maemo.mica.linux.packages.core.aptpkgconfig.install.ProjectPackageInfo;
-import org.maemo.mica.python.project.core.MicaPythonProjectNature;
-
-/**
- * Provide the maemo-specific Python development packages for a project.
- * @author eswartz
- *
- */
-public class MaemoPythonProjectPackageGatherer implements
-		IProjectPackageGatherer {
-
-	/**
-	 * 
-	 */
-	public MaemoPythonProjectPackageGatherer() {
-		// TODO Auto-generated constructor stub
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.linux.packages.core.aptpkgconfig.install.IProjectPackageGatherer#scanPackages(org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ProjectPackageInfo scanPackages(IProject project,
-			IProgressMonitor monitor) throws CoreException {
-		if (MicaPythonProjectNature.isNatureInProject(project)) {
-			ProjectPackageInfo info = new ProjectPackageInfo();
-			info.getSystemPackages().add("maemo-python-env");
-			return info;
-		}
-		return null;
-	}
-
-}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/MaemoPythonProjectPackageGatherer.java (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/MaemoPythonProjectPackageGatherer.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/MaemoPythonProjectPackageGatherer.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/MaemoPythonProjectPackageGatherer.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.python.core;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.maemo.mica.linux.packages.core.aptpkgconfig.install.IProjectPackageGatherer;
+import org.maemo.mica.linux.packages.core.aptpkgconfig.install.ProjectPackageInfo;
+import org.maemo.mica.python.project.core.MicaPythonProjectNature;
+
+/**
+ * Provide the maemo-specific Python development packages for a project.
+ * @author eswartz
+ *
+ */
+public class MaemoPythonProjectPackageGatherer implements
+		IProjectPackageGatherer {
+
+	/**
+	 * 
+	 */
+	public MaemoPythonProjectPackageGatherer() {
+		// TODO Auto-generated constructor stub
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.linux.packages.core.aptpkgconfig.install.IProjectPackageGatherer#scanPackages(org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IProgressMonitor)
+	 */
+	public ProjectPackageInfo scanPackages(IProject project,
+			IProgressMonitor monitor) throws CoreException {
+		if (MicaPythonProjectNature.isNatureInProject(project)) {
+			ProjectPackageInfo info = new ProjectPackageInfo();
+			info.getSystemPackages().add("maemo-python-env");
+			return info;
+		}
+		return null;
+	}
+
+}

Deleted: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectImportConfigurationComposite.java
===================================================================
--- trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectImportConfigurationComposite.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectImportConfigurationComposite.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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.internal.project.python.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.maemo.mica.common.core.IValidatingDialogPage;
-import org.maemo.mica.common.project.core.ProjectConfigHandler;
-import org.maemo.mica.common.ui.common.GridLayoutWrappedTextUtils;
-import org.maemo.mica.python.project.ui.wizards.PythonProjectImportConfigurationComposite;
-
-/**
- * This composite contains the configurable aspects of a project for a Debian
- * source package.
- * @author eswartz
- *
- */
-public class PythonDebianProjectImportConfigurationComposite extends PythonProjectImportConfigurationComposite {
-
-	/*private*/ String[] rules;
-
-	public PythonDebianProjectImportConfigurationComposite(
-			Composite parent,
-			IValidatingDialogPage dialogPage, 
-			final IProject project,
-			final IPath projectLocation,
-			ProjectConfigHandler configHandler,
-			String[] rules) {
-		super(parent, SWT.NONE, dialogPage, project, projectLocation, configHandler);
-		this.rules = rules;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.python.project.ui.wizards.PythonProjectImportConfigurationComposite#createProjectUI(org.eclipse.swt.widgets.Composite)
-	 */
-	@Override
-	protected void createProjectUI(Composite composite) {
-		super.createProjectUI(composite);
-		
-		Label label = new Label(composite, SWT.NONE);
-		GridData labelData = GridDataFactory.swtDefaults().create();
-		label.setText("Python projects cannot (currently) be built with the 'debian/rules' script since this requires a Make-based builder.");
-		
-		GridLayoutWrappedTextUtils.setupLabel(getShell(), label, labelData);
-
-	}
-}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectImportConfigurationComposite.java (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectImportConfigurationComposite.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectImportConfigurationComposite.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectImportConfigurationComposite.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.python.core;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.maemo.mica.common.core.IValidatingDialogPage;
+import org.maemo.mica.common.project.core.ProjectConfigHandler;
+import org.maemo.mica.common.ui.common.GridLayoutWrappedTextUtils;
+import org.maemo.mica.python.project.ui.wizards.PythonProjectImportConfigurationComposite;
+
+/**
+ * This composite contains the configurable aspects of a project for a Debian
+ * source package.
+ * @author eswartz
+ *
+ */
+public class PythonDebianProjectImportConfigurationComposite extends PythonProjectImportConfigurationComposite {
+
+	/*private*/ String[] rules;
+
+	public PythonDebianProjectImportConfigurationComposite(
+			Composite parent,
+			IValidatingDialogPage dialogPage, 
+			final IProject project,
+			final IPath projectLocation,
+			ProjectConfigHandler configHandler,
+			String[] rules) {
+		super(parent, SWT.NONE, dialogPage, project, projectLocation, configHandler);
+		this.rules = rules;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.python.project.ui.wizards.PythonProjectImportConfigurationComposite#createProjectUI(org.eclipse.swt.widgets.Composite)
+	 */
+	@Override
+	protected void createProjectUI(Composite composite) {
+		super.createProjectUI(composite);
+		
+		Label label = new Label(composite, SWT.NONE);
+		GridData labelData = GridDataFactory.swtDefaults().create();
+		label.setText("Python projects cannot (currently) be built with the 'debian/rules' script since this requires a Make-based builder.");
+		
+		GridLayoutWrappedTextUtils.setupLabel(getShell(), label, labelData);
+
+	}
+}

Deleted: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectSupport.java
===================================================================
--- trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectSupport.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectSupport.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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.internal.project.python.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.swt.widgets.Composite;
-import org.maemo.mica.common.core.IValidatingDialogPage;
-import org.maemo.mica.common.project.core.ProjectConfigHandler;
-import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
-import org.maemo.mica.python.project.core.MicaPythonProjectType;
-
-/**
- * @author eswartz
- *
- */
-public class PythonDebianProjectSupport implements IDebianProjectConvertImportSupport {
-
-	/**
-	 * @param micaPythonProjectType 
-	 * @param adaptableObject
-	 */
-	public PythonDebianProjectSupport(MicaPythonProjectType micaPythonProjectType) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.linux.packages.core.adapters.IDebianProjectSupport#createProjectImportConfigurationComposite(org.eclipse.swt.widgets.Composite, org.eclipse.jface.dialogs.IDialogPage, org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IPath, org.maemo.mica.common.project.core.ProjectConfigHandler)
-	 */
-	public Composite createDebianProjectImportConfigurationComposite(Composite parent,
-			int style, IValidatingDialogPage dialogPage, IProject project,
-			IPath projectLocation, ProjectConfigHandler configHandler, String[] debianRules) {
-
-		PythonDebianProjectImportConfigurationComposite configComposite =
-			new PythonDebianProjectImportConfigurationComposite(
-					parent,
-					dialogPage,
-					project,
-					projectLocation,
-					configHandler,
-					debianRules
-					);
-		
-		configComposite.init();
-		
-		return configComposite;
-	}
-
-}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectSupport.java (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectSupport.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectSupport.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonDebianProjectSupport.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.python.core;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.swt.widgets.Composite;
+import org.maemo.mica.common.core.IValidatingDialogPage;
+import org.maemo.mica.common.project.core.ProjectConfigHandler;
+import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
+import org.maemo.mica.python.project.core.MicaPythonProjectType;
+
+/**
+ * @author eswartz
+ *
+ */
+public class PythonDebianProjectSupport implements IDebianProjectConvertImportSupport {
+
+	/**
+	 * @param micaPythonProjectType 
+	 * @param adaptableObject
+	 */
+	public PythonDebianProjectSupport(MicaPythonProjectType micaPythonProjectType) {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.linux.packages.core.adapters.IDebianProjectSupport#createProjectImportConfigurationComposite(org.eclipse.swt.widgets.Composite, org.eclipse.jface.dialogs.IDialogPage, org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IPath, org.maemo.mica.common.project.core.ProjectConfigHandler)
+	 */
+	public Composite createDebianProjectImportConfigurationComposite(Composite parent,
+			int style, IValidatingDialogPage dialogPage, IProject project,
+			IPath projectLocation, ProjectConfigHandler configHandler, String[] debianRules) {
+
+		PythonDebianProjectImportConfigurationComposite configComposite =
+			new PythonDebianProjectImportConfigurationComposite(
+					parent,
+					dialogPage,
+					project,
+					projectLocation,
+					configHandler,
+					debianRules
+					);
+		
+		configComposite.init();
+		
+		return configComposite;
+	}
+
+}

Deleted: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonProjectDebianSupportAdapterFactory.java
===================================================================
--- trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonProjectDebianSupportAdapterFactory.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonProjectDebianSupportAdapterFactory.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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.internal.project.python.core;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
-import org.maemo.mica.python.project.core.MicaPythonProjectType;
-
-/**
- * This factory proclaims Debian support for a project type.
- * @author eswartz
- *
- */
-public class PythonProjectDebianSupportAdapterFactory implements IAdapterFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adaptableObject instanceof MicaPythonProjectType) {
-			if (adapterType.equals(IDebianProjectConvertImportSupport.class)) {
-				return new PythonDebianProjectSupport((MicaPythonProjectType) adaptableObject);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IDebianProjectConvertImportSupport.class };
-	}
-
-}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonProjectDebianSupportAdapterFactory.java (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonProjectDebianSupportAdapterFactory.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonProjectDebianSupportAdapterFactory.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/core/PythonProjectDebianSupportAdapterFactory.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.python.core;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
+import org.maemo.mica.python.project.core.MicaPythonProjectType;
+
+/**
+ * This factory proclaims Debian support for a project type.
+ * @author eswartz
+ *
+ */
+public class PythonProjectDebianSupportAdapterFactory implements IAdapterFactory {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
+	 */
+	public Object getAdapter(Object adaptableObject, Class adapterType) {
+		if (adaptableObject instanceof MicaPythonProjectType) {
+			if (adapterType.equals(IDebianProjectConvertImportSupport.class)) {
+				return new PythonDebianProjectSupport((MicaPythonProjectType) adaptableObject);
+			}
+		}
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
+	 */
+	public Class[] getAdapterList() {
+		return new Class[] { IDebianProjectConvertImportSupport.class };
+	}
+
+}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui)

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties)

Deleted: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java
===================================================================
--- trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * 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.internal.project.python.ui.properties;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.maemo.esbox.internal.project.python.UIActivator;
-import org.maemo.mica.common.core.MicaException;
-import org.maemo.mica.common.project.core.*;
-import org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage;
-import org.maemo.mica.python.project.core.*;
-
-import java.util.List;
-
-/**
- * The Python variant of the ESbox > Build Configurations property page
- * will convert the project format when the user saves the settings.
- * @author eswartz
- *
- */
-public class ESboxOldPythonBuildTargetPropertyPage extends
-		MicaBuildConfigurationsPage {
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage#createBuildTargetFilter(org.eclipse.core.resources.IProject)
-	 */
-	@Override
-	protected IBuildTargetFilter createBuildTargetFilter() {
-		return new BuildMachineHostedTargetFilter();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.ESboxBuildConfigurationsPage#getCurrentConfigurations()
-	 */
-	@Override
-	protected List<IBuildConfiguration> getCurrentConfigurations() {
-		// the handle will become non-null when we convert
-		if (projectHandle == null) {
-			// since this is an old project, there are no configurations
-			// or project handle, so create it now
-			try {
-				IProjectProperties projectProperties = ProjectManager.getInstance().getOldStyleProjectProperties(project);
-				projectHandle = ProjectManager.getInstance().getProjectType(MicaPythonProjectType.ID).createProjectHandle(project);
-				BuildConfigurationParameters params =
-					new BuildConfigurationParameters(projectProperties.getSDKTarget().getName(),
-							projectProperties.getSDKTarget());
-				projectHandle.createBuildConfiguration(params);
-			} catch (CoreException e) {
-				UIActivator.getErrorLogger().logAndShowError("Failed to read old project settings", e);
-			} catch (MicaException e) {
-				// not sure why this panel is appearing!
-			}
-		}
-		return super.getCurrentConfigurations();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.ESboxBuildConfigurationsPage#addCustomUI(org.eclipse.swt.widgets.Composite)
-	 */
-	@Override
-	protected void addCustomTrailingUI(Composite control) {
-		if (ProjectManager.getInstance().getProjectHandle(project) == null) {
-			Label label = new Label(control, SWT.WRAP);
-			label.setText("This project is in an old format.  It will be converted to the new format and become incompatible with older versions of ESbox if you save changes.");
-			GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
-			gridData.horizontalSpan = 2;
-			label.setLayoutData(gridData);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.ESboxBuildConfigurationsPage#performOk()
-	 */
-	@Override
-	public boolean performOk() {
-		// convert the project by swapping the project nature
-		try {
-			OldESboxPythonProjectNature.removeESboxPythonNature(project, null);
-			MicaPythonProjectNature.addESboxPythonNature(project, null);
-		} catch (CoreException e) {
-			UIActivator.getErrorLogger().logAndShowError("Failed to convert project to new-style Python project", e);
-		}
-		
-		return super.performOk();
-	}
-	
-}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,99 @@
+/*******************************************************************************
+ * 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.internal.project.python.ui.properties;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.maemo.esbox.internal.project.python.UIActivator;
+import org.maemo.mica.common.core.MicaException;
+import org.maemo.mica.common.project.core.*;
+import org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage;
+import org.maemo.mica.python.project.core.*;
+
+import java.util.List;
+
+/**
+ * The Python variant of the ESbox > Build Configurations property page
+ * will convert the project format when the user saves the settings.
+ * @author eswartz
+ *
+ */
+public class ESboxOldPythonBuildTargetPropertyPage extends
+		MicaBuildConfigurationsPage {
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage#createBuildTargetFilter(org.eclipse.core.resources.IProject)
+	 */
+	@Override
+	protected IBuildTargetFilter createBuildTargetFilter() {
+		return new BuildMachineHostedTargetFilter();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.ESboxBuildConfigurationsPage#getCurrentConfigurations()
+	 */
+	@Override
+	protected List<IBuildConfiguration> getCurrentConfigurations() {
+		// the handle will become non-null when we convert
+		if (projectHandle == null) {
+			// since this is an old project, there are no configurations
+			// or project handle, so create it now
+			try {
+				IProjectProperties projectProperties = ProjectManager.getInstance().getOldStyleProjectProperties(project);
+				projectHandle = ProjectManager.getInstance().getProjectType(MicaPythonProjectType.ID).createProjectHandle(project);
+				BuildConfigurationParameters params =
+					new BuildConfigurationParameters(projectProperties.getSDKTarget().getName(),
+							projectProperties.getSDKTarget());
+				projectHandle.createBuildConfiguration(params);
+			} catch (CoreException e) {
+				UIActivator.getErrorLogger().logAndShowError("Failed to read old project settings", e);
+			} catch (MicaException e) {
+				// not sure why this panel is appearing!
+			}
+		}
+		return super.getCurrentConfigurations();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.ESboxBuildConfigurationsPage#addCustomUI(org.eclipse.swt.widgets.Composite)
+	 */
+	@Override
+	protected void addCustomTrailingUI(Composite control) {
+		if (ProjectManager.getInstance().getProjectHandle(project) == null) {
+			Label label = new Label(control, SWT.WRAP);
+			label.setText("This project is in an old format.  It will be converted to the new format and become incompatible with older versions of ESbox if you save changes.");
+			GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
+			gridData.horizontalSpan = 2;
+			label.setLayoutData(gridData);
+		}
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.ESboxBuildConfigurationsPage#performOk()
+	 */
+	@Override
+	public boolean performOk() {
+		// convert the project by swapping the project nature
+		try {
+			OldESboxPythonProjectNature.removeESboxPythonNature(project, null);
+			MicaPythonProjectNature.addESboxPythonNature(project, null);
+		} catch (CoreException e) {
+			UIActivator.getErrorLogger().logAndShowError("Failed to convert project to new-style Python project", e);
+		}
+		
+		return super.performOk();
+	}
+	
+}

Deleted: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxPythonBuildConfigurationsPage.java
===================================================================
--- trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxPythonBuildConfigurationsPage.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxPythonBuildConfigurationsPage.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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.internal.project.python.ui.properties;
-
-import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
-import org.maemo.mica.common.project.core.IBuildTargetFilter;
-import org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage;
-
-/**
- * ESbox Python projects support only build machine targets.
- * @author eswartz
- *
- */
-public class ESboxPythonBuildConfigurationsPage extends MicaBuildConfigurationsPage {
-
-	/**
-	 * 
-	 */
-	public ESboxPythonBuildConfigurationsPage() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage#createBuildTargetFilter(org.eclipse.core.resources.IProject)
-	 */
-	@Override
-	protected IBuildTargetFilter createBuildTargetFilter() {
-		return new BuildMachineHostedTargetFilter();
-	}
-
-}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxPythonBuildConfigurationsPage.java (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxPythonBuildConfigurationsPage.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxPythonBuildConfigurationsPage.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/ui/properties/ESboxPythonBuildConfigurationsPage.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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.internal.project.python.ui.properties;
+
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
+import org.maemo.mica.common.project.core.IBuildTargetFilter;
+import org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage;
+
+/**
+ * ESbox Python projects support only build machine targets.
+ * @author eswartz
+ *
+ */
+public class ESboxPythonBuildConfigurationsPage extends MicaBuildConfigurationsPage {
+
+	/**
+	 * 
+	 */
+	public ESboxPythonBuildConfigurationsPage() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage#createBuildTargetFilter(org.eclipse.core.resources.IProject)
+	 */
+	@Override
+	protected IBuildTargetFilter createBuildTargetFilter() {
+		return new BuildMachineHostedTargetFilter();
+	}
+
+}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards)

Deleted: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/ESboxPythonProjectWizard.java
===================================================================
--- trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/ESboxPythonProjectWizard.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/ESboxPythonProjectWizard.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * 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.internal.project.python.wizards;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.INewWizard;
-import org.maemo.esbox.internal.project.python.UIActivator;
-import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
-import org.maemo.mica.common.project.core.IBuildTargetFilter;
-import org.maemo.mica.python.project.core.MicaPythonProjectType;
-import org.maemo.mica.python.project.ui.wizards.BasePythonProjectWizard;
-
-/**
- * This wizard creates Python projects for ESbox.
- * @author eswartz
- *
- */
-public class ESboxPythonProjectWizard extends BasePythonProjectWizard
-		implements INewWizard  {
-	public static final String PYTHON_PROJECT_WIZARD_ID = UIActivator.PLUGIN_ID + ".ESboxPythonProjectWizard";
-	
-	/**
-	 * Constructor.
-	 * Creates a wizard to new ESbox Python projects.
-	 */
-	public ESboxPythonProjectWizard() {
-		super("New Maemo Python Project", "Create a Maemo project inside Scratchbox");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.wizards.CommonNewProjectWizard#getProjectTypeIdPattern()
-	 */
-	protected String getProjectTypeIdPattern() {
-		return MicaPythonProjectType.ID;
-	}
-
-	protected String getWizardId() {
-		return PYTHON_PROJECT_WIZARD_ID;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.python.project.ui.wizards.BasePythonProjectWizard#createBuildTargetFilter()
-	 */
-	@Override
-	protected IBuildTargetFilter createBuildTargetFilter() {
-		return new BuildMachineHostedTargetFilter();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.wizards.ESboxTemplateProjectWizard#getWizardPageImageDescriptor()
-	 */
-	protected ImageDescriptor getWizardPageImageDescriptor() {
-		return UIActivator.getImageDescriptor("./icons/full/wizban/maemo_wizban.gif");
-	}
-}

Copied: branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/ESboxPythonProjectWizard.java (from rev 1203, trunk/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/ESboxPythonProjectWizard.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/ESboxPythonProjectWizard.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.project.python/src/org/maemo/esbox/internal/project/python/wizards/ESboxPythonProjectWizard.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * 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.internal.project.python.wizards;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.INewWizard;
+import org.maemo.esbox.internal.project.python.UIActivator;
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
+import org.maemo.mica.common.project.core.IBuildTargetFilter;
+import org.maemo.mica.python.project.core.MicaPythonProjectType;
+import org.maemo.mica.python.project.ui.wizards.BasePythonProjectWizard;
+
+/**
+ * This wizard creates Python projects for ESbox.
+ * @author eswartz
+ *
+ */
+public class ESboxPythonProjectWizard extends BasePythonProjectWizard
+		implements INewWizard  {
+	public static final String PYTHON_PROJECT_WIZARD_ID = UIActivator.PLUGIN_ID + ".ESboxPythonProjectWizard";
+	
+	/**
+	 * Constructor.
+	 * Creates a wizard to new ESbox Python projects.
+	 */
+	public ESboxPythonProjectWizard() {
+		super("New Maemo Python Project", "Create a Maemo project inside Scratchbox");
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.wizards.CommonNewProjectWizard#getProjectTypeIdPattern()
+	 */
+	protected String getProjectTypeIdPattern() {
+		return MicaPythonProjectType.ID;
+	}
+
+	protected String getWizardId() {
+		return PYTHON_PROJECT_WIZARD_ID;
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.python.project.ui.wizards.BasePythonProjectWizard#createBuildTargetFilter()
+	 */
+	@Override
+	protected IBuildTargetFilter createBuildTargetFilter() {
+		return new BuildMachineHostedTargetFilter();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.wizards.ESboxTemplateProjectWizard#getWizardPageImageDescriptor()
+	 */
+	protected ImageDescriptor getWizardPageImageDescriptor() {
+		return UIActivator.getImageDescriptor("./icons/full/wizban/maemo_wizban.gif");
+	}
+}

Modified: branches/work_Petr/org.maemo.esbox.scratchbox-feature/feature.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox-feature/feature.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox-feature/feature.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,73 +1,80 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.maemo.esbox.scratchbox"
-      label="ESbox Scratchbox Support Feature"
-      version="2.0.0.qualifier"
-      provider-name="INdT / Nokia">
-
-   <description>
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.maemo.esbox.scratchbox"
+      label="ESbox Scratchbox Support Feature"
+      version="2.0.0.qualifier"
+      provider-name="INdT / Nokia">
+
+   <description>
       This feature provides support for maemo SDKs using scratchbox.
 Installations of scratchbox 1 and scratchbox 2 are supported.
 
 This provides project templates for Maemo C/C++ or Python projects
-as well, though it does not require those languages&apos; features to be installed.
-   </description>
-
-   <copyright>
+as well, though it does not require those languages&apos; features to be installed.
+   </description>
+
+   <copyright>
       Copyright (c) 2007-2008 INdT, (c) 2007-2008 Nokia. All rights
-reserved.
-   </copyright>
-
-   <license url="http://www.eclipse.org/legal/epl-v10.html">
-      For legal terms, see the Eclipse Public License.
-   </license>
-
-   <url>
-      <update label="Update Site for ESbox project" url="http://esbox.garage.maemo.org/update"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.maemo.mica.common.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.maemosdk.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.common.analysis" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.core.expressions" version="3.4.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.linux.packages.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.common.project.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.common.launch" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.common.ui" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.ui.ide" version="3.4.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.protocol.launch"/>
-      <import plugin="org.maemo.mica.protocol.sbrsh"/>
-      <import plugin="org.maemo.mica.protocol.ssh"/>
-   </requires>
-
-   <plugin
-         id="org.maemo.esbox.scratchbox.sb1"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.scratchbox.sb2"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.scratchbox.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.maemo.esbox.scratchbox.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
+reserved.
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      For legal terms, see the Eclipse Public License.
+   </license>
+
+   <url>
+      <update label="Update Site for ESbox project" url="http://esbox.garage.maemo.org/update"/>
+   </url>
+
+   <requires>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.maemo.mica.common.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.maemosdk.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.common.analysis" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.core.expressions" version="3.4.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.linux.packages.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.common.project.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.common.launch" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.common.ui" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.ui.ide" version="3.4.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.protocol.launch"/>
+      <import plugin="org.maemo.mica.protocol.sbrsh"/>
+      <import plugin="org.maemo.mica.protocol.ssh"/>
+   </requires>
+
+   <plugin
+         id="org.maemo.esbox.scratchbox.sb1"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.scratchbox.sb2"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.scratchbox.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.scratchbox.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.maemo.esbox.analysis"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.core/META-INF/MANIFEST.MF
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/META-INF/MANIFEST.MF	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/META-INF/MANIFEST.MF	2009-02-06 13:41:25 UTC (rev 1204)
@@ -11,7 +11,8 @@
  org.eclipse.core.expressions;bundle-version="3.4.0",
  org.maemo.mica.linux.packages.core;bundle-version="2.0.0",
  org.maemo.mica.common.launch;bundle-version="2.0.0",
- org.maemo.mica.protocol.sbrsh;bundle-version="2.0.0"
+ org.maemo.mica.protocol.sbrsh;bundle-version="2.0.0",
+ org.maemo.esbox.maemosdk.core;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
 Export-Package: org.maemo.esbox.internal.api.scratchbox.core,

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.core/plugin.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/plugin.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/plugin.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -23,7 +23,7 @@
   </extension>
     <extension
           point="org.eclipse.core.runtime.adapters">
-          <!-- specific to sbox -->
+      <!-- specific to sbox -->
       <factory
             adaptableType="org.maemo.esbox.internal.api.scratchbox.core.sdk.AbstractScratchboxSDKTarget"
             class="org.maemo.esbox.internal.scratchbox.adapters.MaemoGdbServerSupportAdapterFactory">
@@ -31,14 +31,37 @@
                type="org.maemo.mica.common.launch.adapters.IGdbServerSupportAdapter">
          </adapter>
       </factory>
-      	<!-- specific to sbox -->
-       <factory
+      <!-- specific to sbox -->
+      <factory
             adaptableType="org.maemo.esbox.internal.api.scratchbox.core.sdk.AbstractScratchboxSDKTarget"
             class="org.maemo.esbox.internal.scratchbox.adapters.MaemoSbrshAutoconfigurationAdapterFactory">
          <adapter
                type="org.maemo.mica.internal.api.protocol.sbrsh.adapters.ISbrshAutoconfigurationAdapter">
          </adapter>
       </factory>
+      <!-- specific to sbox -->
+      <factory
+            adaptableType="org.maemo.esbox.internal.api.scratchbox.core.sdk.AbstractScratchboxSDKTarget"
+            class="org.maemo.esbox.internal.scratchbox.adapters.ESboxMaemoTargetEnvironmentModifierAdapterFactory">
+         <adapter
+               type="org.maemo.mica.common.launch.adapters.ITargetEnvironmentModifierAdapter">
+         </adapter>
+      </factory>
+      <!-- specific to sbox -->
+      <factory
+            adaptableType="org.maemo.esbox.internal.api.scratchbox.core.sdk.AbstractScratchboxSDKTarget"
+            class="org.maemo.esbox.internal.scratchbox.adapters.ESboxMaemoEmulatorExecutionEnvironmentProviderAdapterFactory">
+         <adapter
+               type="org.maemo.mica.common.core.execEnv.IExecutionEnvironmentProviderAdapter">
+         </adapter>
+      </factory>
     </extension>
+    
+     <extension
+        point="org.maemo.mica.common.project.core.oldStyleProjectPropertiesProvider">
+     <projectPropertiesProvider
+           class="org.maemo.esbox.internal.api.scratchbox.core.OldStyleWorkspaceProjectPropertiesProvider">
+     </projectPropertiesProvider>
+  </extension>
   
 </plugin>

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleProjectProperties.java (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleProjectProperties.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleProjectProperties.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleProjectProperties.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,196 @@
+/*******************************************************************************
+ * 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.internal.api.scratchbox.core;
+
+import java.text.MessageFormat;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.QualifiedName;
+import org.maemo.esbox.internal.scratchbox.core.Activator;
+import org.maemo.esbox.scratchbox.core.scratchbox.ScratchboxException;
+import org.maemo.esbox.scratchbox.core.sdk.IScratchboxSDK;
+import org.maemo.esbox.scratchbox.core.sdk.ScratchboxSDKFacade;
+import org.maemo.mica.common.core.MicaException;
+import org.maemo.mica.common.core.execEnv.ExecutionEnvironmentFactory;
+import org.maemo.mica.common.core.execEnv.IExecutionEnvironment;
+import org.maemo.mica.common.core.sdk.ISDK;
+import org.maemo.mica.common.core.sdk.ISDKTarget;
+import org.maemo.mica.common.core.sdk.SDKFactory;
+import org.maemo.mica.common.project.core.IProjectProperties;
+import org.maemo.mica.maemosdk.core.MaemoExecutionEnvironmentIds;
+
+/**
+ * This class retrieves the old-style C/C++ or Python project properties stored
+ * in workspace metadata.
+ * 
+ * @author eswartz
+ * 
+ */
+public class OldStyleProjectProperties implements IProjectProperties {
+	private static final String TARGET_NAME_ID = "org.indt.esbox.project.targetName";
+
+	private static final String SCRATCHBOX_VERSION_ID = "org.indt.esbox.project.scratchboxVersion";
+
+	private static final String EXECUTION_ENVIRONMENT_ID = "org.indt.esbox.project.execEnv";
+
+	static final QualifiedName targetNameProperty = new QualifiedName(
+			TARGET_NAME_ID, "Scratchbox Target");
+
+	static final QualifiedName scratchboxVersionProperty = new QualifiedName(
+			SCRATCHBOX_VERSION_ID, "Scratchbox Version");
+
+	static final QualifiedName executionEnvironmentProperty = new QualifiedName(
+			EXECUTION_ENVIRONMENT_ID, "Execution Environment");
+
+	private IProject project;
+
+	public OldStyleProjectProperties(IProject project) {
+		this.project = project;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.maemo.esbox.common.core.IPropertyAccess#read(java.lang.String)
+	 */
+	private String readProperty(QualifiedName property) {
+		try {
+			return project.getPersistentProperty(property);
+		} catch (CoreException e) {
+			Activator.getErrorLogger().logError(
+					"Could not read project property", e);
+			return null;
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.maemo.esbox.common.project.core.IProjectProperties#getExecutionEnvironment()
+	 */
+	public IExecutionEnvironment getExecutionEnvironment() {
+		IExecutionEnvironment execEnv = null;
+		String execEnvId = readProperty(executionEnvironmentProperty);
+		if (execEnvId == null) {
+			execEnvId = MaemoExecutionEnvironmentIds.MAEMO;
+		}
+		execEnv = ExecutionEnvironmentFactory.getInstance()
+				.findExecutionEnvironment(execEnvId);
+		return execEnv;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.maemo.esbox.common.project.core.IProjectProperties#getExecutionEnvironmentId
+	 * ()
+	 */
+	public String getExecutionEnvironmentId() {
+		return readProperty(executionEnvironmentProperty);
+	}
+
+	/**
+	 * Get the SDK target (SDK + target name) for the project's configured SDK
+	 * 
+	 * @return SDK target, never <code>null</code>
+	 * @throws MicaException
+	 *             if no target known
+	 */
+	public ISDKTarget getSDKTarget() throws MicaException {
+		if (!project.isOpen())
+			throw new MicaException(MessageFormat.format(
+					"Project ''{0}'' is not open", project.getName()));
+
+		ISDK sdk = getSDK();
+		String targetName = getTargetName();
+
+		ISDKTarget target = sdk.findSDKTarget(targetName);
+		if (target == null) {
+			throw new MicaException(MessageFormat.format(
+					"Project ''{0}'' references an unavailable target ''{1}''",
+					project.getName(), targetName));
+		}
+
+		return target;
+	}
+
+	/**
+	 * Get the SDK for the project
+	 * 
+	 * @return SDK, never <code>null</code>
+	 * @throws MicaException
+	 *             if no SDK known
+	 */
+	public ISDK getSDK() throws MicaException {
+		ISDK sdk = null;
+
+		String version = readProperty(scratchboxVersionProperty);
+		if (version == null) {
+			// old projects
+			version = "1";
+		}
+
+		SDKFactory.getInstance().waitForRefreshComplete(null);
+		
+		List<IScratchboxSDK> sboxSDKs = ScratchboxSDKFacade.getInstance()
+				.getAllScratchboxSDKs();
+		for (IScratchboxSDK sboxSDK : sboxSDKs) {
+			if (version.equals(Integer.toString(sboxSDK.getSboxVersion()))) {
+				sdk = sboxSDK;
+				break;
+			}
+		}
+
+		if (sdk == null) {
+			throw new MicaException(
+					MessageFormat
+							.format(
+									"Project ''{0}'' uses an unsupported scratchbox version {1}",
+									project.getName(), version));
+		}
+
+		return sdk;
+	}
+
+	public synchronized String getTargetName() {
+		return readProperty(targetNameProperty);
+	}
+
+	public synchronized String getSDKName() {
+		String sboxVersion = readProperty(scratchboxVersionProperty);
+	
+		if (sboxVersion == null)
+			return null;
+		
+		List<IScratchboxSDK> sboxSDKs;
+		try {
+			sboxSDKs = ScratchboxSDKFacade.getInstance().getAllScratchboxSDKs();
+		} catch (ScratchboxException e) {
+			return null;
+		}
+		for (IScratchboxSDK sboxSDK : sboxSDKs) {
+			if (sboxVersion.equals(Integer.toString(sboxSDK.getSboxVersion()))) {
+				return sboxSDK.getName();
+			}
+		}
+		return null;
+	}
+
+	// public synchronized String getScratchboxVersion(IProject project) {
+	// return readProperty(scratchboxVersionProperty);
+	// }
+
+}

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleWorkspaceProjectPropertiesProvider.java (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleWorkspaceProjectPropertiesProvider.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleWorkspaceProjectPropertiesProvider.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleWorkspaceProjectPropertiesProvider.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * 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.internal.api.scratchbox.core;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectNature;
+import org.eclipse.core.runtime.CoreException;
+import org.maemo.esbox.internal.scratchbox.core.Activator;
+import org.maemo.mica.common.project.core.IOldStyleProjectPropertiesProvider;
+import org.maemo.mica.common.project.core.IProjectProperties;
+
+/**
+ * Implementation of oldStyleProjectPropertiesProvider to allow converting old
+ * projects to the current format.
+ * 
+ * @author eswartz
+ * 
+ */
+public class OldStyleWorkspaceProjectPropertiesProvider implements
+		IOldStyleProjectPropertiesProvider {
+
+	// NOTE: these nature IDs are stored here to avoid forcing this feature
+	// to depend on C/C++ or Python.
+	private static final String ESBOX_NATURE_ID = "org.indt.esbox.core.ESboxNature";
+	private static final String ESBOX_PYTHON_NATURE_ID = "org.indt.esbox.core.esboxPythonNature";
+
+	private boolean isNatureInProject(IProject _project, String id) {
+		if (_project != null && _project.isOpen()) {
+			try {
+				IProjectNature nature = _project.getNature(id);
+				if (nature != null) {
+					return true;
+				}
+			} catch (CoreException e) {
+				Activator.getErrorLogger().logError(
+						"Cannot detect project nature", e);
+			}
+		}
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @seeorg.maemo.esbox.project.core.IOldStyleProjectPropertiesProvider#
+	 * createProjectProperties(org.eclipse.core.resources.IProject)
+	 */
+	public IProjectProperties createProjectProperties(IProject project) {
+		if (isNatureInProject(project, ESBOX_NATURE_ID)
+				|| isNatureInProject(project, ESBOX_PYTHON_NATURE_ID))
+			return new OldStyleProjectProperties(project);
+		return null;
+	}
+
+}

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/ScratchboxPackageManagerProvider.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/ScratchboxPackageManagerProvider.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/ScratchboxPackageManagerProvider.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -43,6 +43,7 @@
 
 		IPackageManager manager = new AptPackageManager(sdkTarget, 
 				new ScratchboxAptPackageManagerBridge((IScratchboxSDKTarget) sdkTarget));
+		manager.initialize();
 		return manager;
 	}
 

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv)

Deleted: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/GTKExecutionEnvironmentHandler.java
===================================================================
--- trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/GTKExecutionEnvironmentHandler.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/GTKExecutionEnvironmentHandler.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * 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.internal.api.scratchbox.core.execEnv;
-
-/**
- * Environment for GTK applications in X11
- * 
- * @author eswartz
- * 
- */
-public class GTKExecutionEnvironmentHandler extends X11ExecutionEnvironmentHandler {
-}

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/GTKExecutionEnvironmentHandler.java (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/GTKExecutionEnvironmentHandler.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/GTKExecutionEnvironmentHandler.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/GTKExecutionEnvironmentHandler.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * 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.internal.api.scratchbox.core.execEnv;
+
+/**
+ * Environment for GTK applications in X11
+ * 
+ * @author eswartz
+ * 
+ */
+public class GTKExecutionEnvironmentHandler extends X11ExecutionEnvironmentHandler {
+}

Deleted: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/MaemoExecutionEnvironmentHandler.java
===================================================================
--- trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/MaemoExecutionEnvironmentHandler.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/MaemoExecutionEnvironmentHandler.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * 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.internal.api.scratchbox.core.execEnv;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.maemo.esbox.internal.api.maemosdk.core.tools.MaemoScriptLauncher;
-import org.maemo.esbox.internal.scratchbox.core.Activator;
-import org.maemo.mica.common.core.MicaException;
-import org.maemo.mica.common.core.execEnv.IExecutionEnvironmentHandler;
-import org.maemo.mica.common.core.sdk.ISDKTarget;
-import org.maemo.mica.common.project.core.ProjectManager;
-
-/**
- * Environment for Maemo applications
- * 
- * @author eswartz
- * 
- */
-public class MaemoExecutionEnvironmentHandler implements IExecutionEnvironmentHandler {
-
-	public void establishEnvironment(Shell shell, IProject project)
-			throws CoreException {
-		// see if Maemo is running
-		ISDKTarget sdkTarget;
-		try {
-			sdkTarget = ProjectManager.getInstance().getSDKTarget(project);
-			if (!MaemoScriptLauncher.getInstance().isMaemoStarted(sdkTarget)) {
-				if (MessageDialog
-						.openQuestion(shell, "Launch Maemo?",
-								"Maemo is not running.  Would you like to launch it now?")) {
-					MaemoScriptLauncher.getInstance().startMaemo(sdkTarget);
-				}
-			}
-		} catch (MicaException e) {
-			Activator.getErrorLogger().logAndShowError(
-					"Error querying Maemo status", e);
-			// don't fail the launch
-		}
-	}
-
-}

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/MaemoExecutionEnvironmentHandler.java (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/MaemoExecutionEnvironmentHandler.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/MaemoExecutionEnvironmentHandler.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/MaemoExecutionEnvironmentHandler.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * 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.internal.api.scratchbox.core.execEnv;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.maemo.esbox.internal.api.maemosdk.core.tools.MaemoScriptLauncher;
+import org.maemo.esbox.internal.scratchbox.core.Activator;
+import org.maemo.mica.common.core.MicaException;
+import org.maemo.mica.common.core.execEnv.IExecutionEnvironmentHandler;
+import org.maemo.mica.common.core.sdk.ISDKTarget;
+import org.maemo.mica.common.project.core.ProjectManager;
+
+/**
+ * Environment for Maemo applications
+ * 
+ * @author eswartz
+ * 
+ */
+public class MaemoExecutionEnvironmentHandler implements IExecutionEnvironmentHandler {
+
+	public void establishEnvironment(Shell shell, IProject project)
+			throws CoreException {
+		// see if Maemo is running
+		ISDKTarget sdkTarget;
+		try {
+			sdkTarget = ProjectManager.getInstance().getSDKTarget(project);
+			if (!MaemoScriptLauncher.getInstance().isMaemoStarted(sdkTarget)) {
+				if (MessageDialog
+						.openQuestion(shell, "Launch Maemo?",
+								"Maemo is not running.  Would you like to launch it now?")) {
+					MaemoScriptLauncher.getInstance().startMaemo(sdkTarget);
+				}
+			}
+		} catch (MicaException e) {
+			Activator.getErrorLogger().logAndShowError(
+					"Error querying Maemo status", e);
+			// don't fail the launch
+		}
+	}
+
+}

Deleted: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/X11ExecutionEnvironmentHandler.java
===================================================================
--- trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/X11ExecutionEnvironmentHandler.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/X11ExecutionEnvironmentHandler.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * 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.internal.api.scratchbox.core.execEnv;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.maemo.esbox.internal.api.maemosdk.core.tools.MaemoScriptLauncher;
-import org.maemo.esbox.internal.scratchbox.core.Activator;
-import org.maemo.mica.common.core.MicaException;
-import org.maemo.mica.common.core.execEnv.IExecutionEnvironmentHandler;
-import org.maemo.mica.common.core.sdk.ISDKTarget;
-import org.maemo.mica.common.project.core.ProjectManager;
-
-/**
- * Environment for X11-based programs
- * 
- * @author eswartz
- * 
- */
-public class X11ExecutionEnvironmentHandler implements IExecutionEnvironmentHandler {
-
-	public void establishEnvironment(Shell shell, IProject project)
-			throws CoreException {
-		ISDKTarget sdkTarget;
-		try {
-			sdkTarget = ProjectManager.getInstance().getSDKTarget(project);
-		} catch (MicaException e1) {
-			throw new CoreException(Activator.createErrorStatus(
-					"Not an ESbox project: " + project, e1));
-		}
-
-		boolean serverRunning;
-		try { 
-			serverRunning = MaemoScriptLauncher.getInstance().isXServerStarted(sdkTarget);
-			
-			try {
-				if (!serverRunning) {
-
-					if (MessageDialog
-							.openQuestion(shell, "Launch X Server?",
-									"The X server is not running.  Would you like to launch it now?")) {
-						MaemoScriptLauncher.getInstance().startX();
-					}
-				}
-			} catch (MicaException e) {
-				throw new CoreException(Activator.createErrorStatus("Failed to launch X", e));
-			}
-		} catch (MicaException e) {
-			Activator.getErrorLogger().logAndShowError(
-					"Error querying X status", e);
-			// don't fail the launch
-		}
-	}
-}

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/X11ExecutionEnvironmentHandler.java (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/X11ExecutionEnvironmentHandler.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/X11ExecutionEnvironmentHandler.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/execEnv/X11ExecutionEnvironmentHandler.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * 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.internal.api.scratchbox.core.execEnv;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.maemo.esbox.internal.api.maemosdk.core.tools.MaemoScriptLauncher;
+import org.maemo.esbox.internal.scratchbox.core.Activator;
+import org.maemo.mica.common.core.MicaException;
+import org.maemo.mica.common.core.execEnv.IExecutionEnvironmentHandler;
+import org.maemo.mica.common.core.sdk.ISDKTarget;
+import org.maemo.mica.common.project.core.ProjectManager;
+
+/**
+ * Environment for X11-based programs
+ * 
+ * @author eswartz
+ * 
+ */
+public class X11ExecutionEnvironmentHandler implements IExecutionEnvironmentHandler {
+
+	public void establishEnvironment(Shell shell, IProject project)
+			throws CoreException {
+		ISDKTarget sdkTarget;
+		try {
+			sdkTarget = ProjectManager.getInstance().getSDKTarget(project);
+		} catch (MicaException e1) {
+			throw new CoreException(Activator.createErrorStatus(
+					"Not an ESbox project: " + project, e1));
+		}
+
+		boolean serverRunning;
+		try { 
+			serverRunning = MaemoScriptLauncher.getInstance().isXServerStarted(sdkTarget);
+			
+			try {
+				if (!serverRunning) {
+
+					if (MessageDialog
+							.openQuestion(shell, "Launch X Server?",
+									"The X server is not running.  Would you like to launch it now?")) {
+						MaemoScriptLauncher.getInstance().startX();
+					}
+				}
+			} catch (MicaException e) {
+				throw new CoreException(Activator.createErrorStatus("Failed to launch X", e));
+			}
+		} catch (MicaException e) {
+			Activator.getErrorLogger().logAndShowError(
+					"Error querying X status", e);
+			// don't fail the launch
+		}
+	}
+}

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/sdk/CacheUtils.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/sdk/CacheUtils.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/sdk/CacheUtils.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -10,29 +10,42 @@
  *******************************************************************************/
 package org.maemo.esbox.internal.api.scratchbox.core.sdk;
 
-import org.maemo.esbox.internal.scratchbox.core.PersistentCache;
+import org.maemo.mica.common.core.PersistentCache;
 import org.maemo.mica.common.core.machine.IMachine;
 
 /**
  * Singleton pattern. Use CacheUtils.getInstance() to access instance.
  * 
+ * @author eswartz
  * @author baranov
  * 
  */
 public class CacheUtils {
 
+	private static final CacheUtils INSTANCE = new CacheUtils();
+
+	/**
+	 * Default filename, under workspace metadata for this plugin's state, where
+	 * the cache is stored.
+	 */
+	static final String SCRATCHBOX_CACHE_FILE = "scratchbox_cache.dat";
+
+	/**
+	 * The environment variable which, if defined, overrides the file above. It
+	 * should be a full filesystem path.
+	 */
+	static final String SCRATCHBOX_CACHE_ENV = "SCRATCHBOX_CACHE";
+
 	// cache
 	private boolean useCaching;
 	private PersistentCache cache;
 
-	private static final CacheUtils INSTANCE = new CacheUtils();
-
 	/**
 	 * 
 	 */
 	protected CacheUtils() {
 		useCaching = true; // !GeneralUtils.isJUnitRunning();
-		cache = new PersistentCache();
+		cache = new PersistentCache(SCRATCHBOX_CACHE_FILE, SCRATCHBOX_CACHE_ENV);
 		cache.load();
 	}
 
@@ -40,6 +53,8 @@
 	 * @return instance
 	 */
 	public static synchronized CacheUtils getInstance() {
+		// split initialization like this to avoid debugging problems with recursive class init
+		INSTANCE.cache.ensureInitialized();
 		return INSTANCE;
 	}
 

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapter.java (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapter.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapter.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapter.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * 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.internal.scratchbox.adapters;
+
+import org.maemo.esbox.internal.api.scratchbox.core.execEnv.GTKExecutionEnvironmentHandler;
+import org.maemo.esbox.internal.api.scratchbox.core.execEnv.MaemoExecutionEnvironmentHandler;
+import org.maemo.esbox.internal.api.scratchbox.core.execEnv.X11ExecutionEnvironmentHandler;
+import org.maemo.mica.common.core.execEnv.IExecutionEnvironment;
+import org.maemo.mica.common.core.execEnv.IExecutionEnvironmentHandler;
+import org.maemo.mica.common.core.execEnv.IExecutionEnvironmentProviderAdapter;
+import org.maemo.mica.maemosdk.core.MaemoExecutionEnvironmentIds;
+
+/**
+ * This provides the execution environments supported inside a maemo emulator.
+ * @author eswartz
+ *
+ */
+public class ESboxMaemoEmulatorExecutionEnvironmentProviderAdapter implements IExecutionEnvironmentProviderAdapter {
+
+	public ESboxMaemoEmulatorExecutionEnvironmentProviderAdapter() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.core.execEnv.IExecutionEnvironmentAdapter#getExecutionEnvironmentHandler(java.lang.String)
+	 */
+	public IExecutionEnvironmentHandler getExecutionEnvironmentHandler(
+			IExecutionEnvironment execEnv) {
+		if (execEnv == null) {
+			return null;
+		}
+		if (execEnv.getId().equals(MaemoExecutionEnvironmentIds.MAEMO)) {
+			return new MaemoExecutionEnvironmentHandler();
+		}
+		if (execEnv.getId().equals(MaemoExecutionEnvironmentIds.GTK)) {
+			return new GTKExecutionEnvironmentHandler();
+		}
+		if (execEnv.getId().equals(MaemoExecutionEnvironmentIds.X11)) {
+			return new X11ExecutionEnvironmentHandler();
+		}
+		return null;
+	}
+
+
+}

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapterFactory.java (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapterFactory.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapterFactory.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoEmulatorExecutionEnvironmentProviderAdapterFactory.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * 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.internal.scratchbox.adapters;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.maemo.esbox.scratchbox.core.sdk.IScratchboxSDKTarget;
+import org.maemo.mica.common.core.execEnv.IExecutionEnvironmentProviderAdapter;
+
+/**
+ * Generate instances of {@link IExecutionEnvironmentProviderAdapter} for SDK targets
+ * that live inside maemo emulator contexts.
+ * @author eswartz
+ *
+ */
+ at SuppressWarnings("unchecked")
+public class ESboxMaemoEmulatorExecutionEnvironmentProviderAdapterFactory implements IAdapterFactory {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
+	 */
+	public Object getAdapter(Object adaptableObject, Class adapterType) {
+		if (adaptableObject instanceof IScratchboxSDKTarget) {
+			return new ESboxMaemoEmulatorExecutionEnvironmentProviderAdapter();
+		}
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
+	 */
+	public Class[] getAdapterList() {
+		return new Class[] { IExecutionEnvironmentProviderAdapter.class };
+	}
+
+}

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapter.java (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapter.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapter.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapter.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * 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.internal.scratchbox.adapters;
+
+import org.maemo.esbox.maemosdk.core.MaemoEnvironmentUtils;
+import org.maemo.mica.common.core.env.EnvironmentManager;
+import org.maemo.mica.common.core.env.IEnvironmentModifierBlock;
+import org.maemo.mica.common.core.sdk.ISDKTarget;
+import org.maemo.mica.common.launch.adapters.ITargetEnvironmentModifierAdapter;
+import org.maemo.mica.common.launch.core.AbstractLocalLaunchProxy;
+import org.maemo.mica.common.launch.core.ILaunchProxy;
+
+/**
+ * Provide the necessary variables for maemo launches.
+ * @author eswartz
+ *
+ */
+public class ESboxMaemoTargetEnvironmentModifierAdapter implements ITargetEnvironmentModifierAdapter {
+
+	private final ISDKTarget sdkTarget;
+
+	/**
+	 * @param sdkTarget
+	 */
+	public ESboxMaemoTargetEnvironmentModifierAdapter(ISDKTarget sdkTarget) {
+		this.sdkTarget = sdkTarget;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.launch.adapters.ITargetEnvironmentModifierAdapter#getTargetEnvironmentModifierBlock(org.maemo.mica.common.launch.core.ILaunchProxy)
+	 */
+	public IEnvironmentModifierBlock getTargetEnvironmentModifierBlock(ILaunchProxy launchProxy) {
+		IEnvironmentModifierBlock envBlock = EnvironmentManager.getInstance().createEnvironmentModifierBlock();
+		
+		// first, all launches need proper DBUS access
+		envBlock.define("DBUS_SESSION_BUS_ADDRESS", "unix:path=/tmp/session_bus_socket");
+		
+		if (launchProxy instanceof AbstractLocalLaunchProxy) {
+			MaemoEnvironmentUtils.defineEmulatorXDisplayVariable(sdkTarget.getMachine(), envBlock);
+			
+		} else {
+			// remote launches need DISPLAY for its own machine
+			
+			envBlock.define("DISPLAY", ":0");
+			
+		}
+		
+		return envBlock;
+	}
+
+}
+

Copied: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapterFactory.java (from rev 1203, trunk/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapterFactory.java)
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapterFactory.java	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/adapters/ESboxMaemoTargetEnvironmentModifierAdapterFactory.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * 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.internal.scratchbox.adapters;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.maemo.mica.common.launch.adapters.ITargetEnvironmentModifierAdapter;
+import org.maemo.mica.maemosdk.core.IMaemoSDKTarget;
+
+/**
+ * 
+ * @author eswartz
+ *
+ */
+ at SuppressWarnings("unchecked")
+public class ESboxMaemoTargetEnvironmentModifierAdapterFactory implements IAdapterFactory {
+
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
+	 */
+	public Object getAdapter(Object adaptableObject, Class adapterType) {
+		if (adapterType.equals(ITargetEnvironmentModifierAdapter.class)) {
+			// only handle maemo ESbox targets here
+			// XXX: this will be different for a target hosted on a device -- see PluThon
+			if (adaptableObject instanceof IMaemoSDKTarget) {
+				IMaemoSDKTarget sdkTarget = (IMaemoSDKTarget) adaptableObject;
+				return new ESboxMaemoTargetEnvironmentModifierAdapter(sdkTarget);
+			}
+		}
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
+	 */
+	public Class[] getAdapterList() {
+		return new Class[] { ITargetEnvironmentModifierAdapter.class };
+	}
+
+}

Deleted: branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/core/PersistentCache.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/core/PersistentCache.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/scratchbox/core/PersistentCache.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * 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.internal.scratchbox.core;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.maemo.mica.common.core.Policy;
-
-/**
- * This object stores (key, value) pairs for cached data which is expensive to
- * compute. The keys are unique strings. Values are serializable objects. The
- * cache is loaded and stored with the plugin.
- * 
- * @author eswartz
- * 
- */
-public class PersistentCache {
-
-	/**
-	 * Default filename, under workspace metadata for this plugin's state, where
-	 * the cache is stored.
-	 */
-	private static final String SCRATCHBOX_CACHE_FILE = "scratchbox_cache.dat";
-
-	/**
-	 * The environment variable which, if defined, overrides the file above. It
-	 * should be a full filesystem path.
-	 */
-	private static final String SCRATCHBOX_CACHE_ENV = "SCRATCHBOX_CACHE";
-
-	private Map<String, Object> data;
-
-	public PersistentCache() {
-		data = new HashMap<String, Object>();
-	}
-
-	/**
-	 * Try to load the cache from plugin state.
-	 */
-	public synchronized void load() {
-		File state = getCacheFile();
-		if (state == null)
-			return;
-		try {
-			ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
-					state));
-			try {
-				data = (Map<String, Object>) ois.readObject();
-			} catch (ClassNotFoundException e) {
-				Activator.getErrorLogger().logError("Cannot unserialize data",
-						e);
-			} finally {
-				Policy.close(ois);
-			}
-		} catch (IOException e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * @return
-	 */
-	private File getCacheFile() {
-		// check for argument passed to unit test
-		String sboxCache = System.getenv(SCRATCHBOX_CACHE_ENV);
-		if (sboxCache != null && sboxCache.length() > 0) {
-			return new File(sboxCache);
-		}
-		if (Activator.getDefault() == null)
-			return null;
-		IPath stateLocation = Activator.getDefault().getStateLocation();
-		File state = stateLocation.append(SCRATCHBOX_CACHE_FILE).toFile();
-		return state;
-	}
-
-	/**
-	 * Save the cache to plugin state.
-	 */
-	public synchronized void save() {
-		File state = getCacheFile();
-		if (state == null)
-			return;
-		ObjectOutputStream oos;
-		try {
-			oos = new ObjectOutputStream(new FileOutputStream(state));
-		} catch (IOException e1) {
-			Activator.getErrorLogger().logError("Cannot write cache data", e1);
-			return;
-		}
-		try {
-			oos.writeObject(data);
-		} catch (IOException e) {
-			Activator.getErrorLogger().logError("Cannot serialize cache data",
-					e);
-		} finally {
-			Policy.close(oos);
-		}
-	}
-
-	/**
-	 * Delete the entries in the cache.
-	 */
-	public synchronized void clear() {
-		data.clear();
-	}
-
-	/**
-	 * Get a value from the cache.
-	 * 
-	 * @param key
-	 *            KEY_xxx
-	 * @return
-	 */
-	public synchronized Object get(String key) {
-		return data.get(key);
-	}
-
-	/**
-	 * Store a value in the cache
-	 * 
-	 * @param key
-	 *            KEY_xxx
-	 * @param value
-	 */
-	public synchronized void set(String key, Object value) {
-		data.put(key, value);
-	}
-}

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.sb1/conf/run.sh
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.sb1/conf/run.sh	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.sb1/conf/run.sh	2009-02-06 13:41:25 UTC (rev 1204)
@@ -29,7 +29,7 @@
 
 # apply exports and unsets
 if [ "$__export_list" != "-" ] ; then
-	IFS=,; for __export in $__export_list; do
+	IFS='}'; for __export in $__export_list; do
 		case $__export in 
 			-* ) 	unset `echo $__export | sed s/-//` ;;
 			* ) 	export $__export ;;

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/core/Scratchbox1SDKTarget.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/core/Scratchbox1SDKTarget.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/core/Scratchbox1SDKTarget.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -121,7 +121,7 @@
 			return false;
 		else if (possibleDK.contains(newDevkit)) {
 			existingDK.add(newDevkit);
-			doAddDevkits(existingDK);
+			setDevkits(existingDK);
 			return true;
 		}
 		throw new MicaException("No such devkit: " + newDevkit);
@@ -138,10 +138,10 @@
 			}
 		}
 		dtToAdd.addAll(existingDK);
-		doAddDevkits(dtToAdd);
+		setDevkits(dtToAdd);
 	}
 
-	private void doAddDevkits(List<String> existingDK) throws MicaException {
+	public void setDevkits(List<String> existingDK) throws MicaException {
 		IScratchbox1SDK sdk = (IScratchbox1SDK) this.getSDK();
 		sdk.createTarget(this.getName(), this.getCompiler(), existingDK, this
 				.getCputransp(), true);

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Scratchbox1ProcessLauncher.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Scratchbox1ProcessLauncher.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/launcher/Scratchbox1ProcessLauncher.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -99,7 +99,7 @@
 		substitutor.define("DIRECTORY", workingDirectory.toPortableString());
 
 		String exportsString = CommandLineArguments.toString(envArgs,
-				",", false); //$NON-NLS-1$
+				"}", false); //$NON-NLS-1$
 
 		substitutor.define("EXPORTS", exportsString);
 		substitutor.define("COMMAND", cmdLine.get(0));

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/scratchbox/sb1/sdk/IScratchbox1SDKTarget.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/scratchbox/sb1/sdk/IScratchbox1SDKTarget.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/scratchbox/sb1/sdk/IScratchbox1SDKTarget.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -26,4 +26,7 @@
 	boolean addDevkit(String newDevkits) throws MicaException;
 
 	public void addDevkits(List<String> newDevkits) throws MicaException;
+
+	void setDevkits(List<String> devkits) throws MicaException;
+
 }

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/Activator.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/Activator.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/Activator.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -253,11 +253,13 @@
 		//
 		// Pass -m options for the mappings we plan to use.
 		// 
-		Set<String> modes = new HashSet<String>();
 		IPreferenceProvider prefProvider = CorePreferenceManager.getInstance().getPreferenceProvider();
-		modes.add(prefProvider.getPreferenceValue(SB2PreferenceConstants.SB2_MAPPING_MODE));
-		modes.add(prefProvider.getPreferenceValue(SB2PreferenceConstants.SB2_INSTALL_MAPPING_MODE));
-		modes.add(prefProvider.getPreferenceValue(SB2PreferenceConstants.SB2_EMULATE_MAPPING_MODE));
+		String[] modes = new String[]{
+				prefProvider.getPreferenceValue(SB2PreferenceConstants.SB2_EMULATE_MAPPING_MODE),
+				prefProvider.getPreferenceValue(SB2PreferenceConstants.SB2_MAPPING_MODE)
+				
+		};
+//		modes.add(prefProvider.getPreferenceValue(SB2PreferenceConstants.SB2_INSTALL_MAPPING_MODE));
 		
 		for (String mode : modes) {
 			cmdLine.add(1, "-m");

Copied: branches/work_Petr/org.maemo.esbox.tests-feature (from rev 1203, trunk/org.maemo.esbox.tests-feature)

Deleted: branches/work_Petr/org.maemo.esbox.tests-feature/.project
===================================================================
--- trunk/org.maemo.esbox.tests-feature/.project	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.tests-feature/.project	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.maemo.esbox.tests-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>

Copied: branches/work_Petr/org.maemo.esbox.tests-feature/.project (from rev 1203, trunk/org.maemo.esbox.tests-feature/.project)
===================================================================
--- branches/work_Petr/org.maemo.esbox.tests-feature/.project	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.tests-feature/.project	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.maemo.esbox.tests-feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>

Deleted: branches/work_Petr/org.maemo.esbox.tests-feature/build.properties
===================================================================
--- trunk/org.maemo.esbox.tests-feature/build.properties	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.tests-feature/build.properties	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1 +0,0 @@
-bin.includes = feature.xml

Copied: branches/work_Petr/org.maemo.esbox.tests-feature/build.properties (from rev 1203, trunk/org.maemo.esbox.tests-feature/build.properties)
===================================================================
--- branches/work_Petr/org.maemo.esbox.tests-feature/build.properties	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.tests-feature/build.properties	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1 @@
+bin.includes = feature.xml

Deleted: branches/work_Petr/org.maemo.esbox.tests-feature/feature.xml
===================================================================
--- trunk/org.maemo.esbox.tests-feature/feature.xml	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.tests-feature/feature.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.maemo.esbox.tests"
-      label="Esbox Tests Feature"
-      version="1.0.0">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.maemo.mica.common.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.common.core.tests" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.maemosdk.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.maemosdk.ui" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.junit4" version="4.3.1" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.cpp.project.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.common.project.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.cdt.core" version="5.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.cdt.make.core" version="5.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.cdt.ui" version="5.0.1" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.cpp.project.ui" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.common.analysis" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.protocol.ssh" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.common.launch" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.cpp.tests" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.protocol.tests" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.python.tests" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.mica.linux.tests" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.esbox.scratchbox.sb1" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.esbox.scratchbox.sb2" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.esbox.scratchbox.core" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.esbox.maemosdk.core"/>
-      <import plugin="org.maemo.esbox.vm" version="2.0.0" match="greaterOrEqual"/>
-      <import plugin="org.maemo.esbox.vm.qemu" version="2.0.0" match="greaterOrEqual"/>
-   </requires>
-
-   <plugin
-         id="org.maemo.esbox.scratchbox.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>

Copied: branches/work_Petr/org.maemo.esbox.tests-feature/feature.xml (from rev 1203, trunk/org.maemo.esbox.tests-feature/feature.xml)
===================================================================
--- branches/work_Petr/org.maemo.esbox.tests-feature/feature.xml	                        (rev 0)
+++ branches/work_Petr/org.maemo.esbox.tests-feature/feature.xml	2009-02-06 13:41:25 UTC (rev 1204)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.maemo.esbox.tests"
+      label="Esbox Tests Feature"
+      version="1.0.0">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="http://www.example.com/license">
+      [Enter License Description here.]
+   </license>
+
+   <requires>
+      <import plugin="org.eclipse.ui"/>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.maemo.mica.common.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.common.core.tests" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.maemosdk.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.maemosdk.ui" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.junit4" version="4.3.1" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.cpp.project.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.common.project.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.cdt.core" version="5.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.cdt.make.core" version="5.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.cdt.ui" version="5.0.1" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.cpp.project.ui" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.common.analysis" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.protocol.ssh" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.common.launch" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.cpp.tests" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.protocol.tests" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.python.tests" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.mica.linux.tests" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.esbox.scratchbox.sb1" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.esbox.scratchbox.sb2" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.esbox.scratchbox.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.esbox.maemosdk.core"/>
+      <import plugin="org.maemo.esbox.vm" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.maemo.esbox.vm.qemu" version="2.0.0" match="greaterOrEqual"/>
+   </requires>
+
+   <plugin
+         id="org.maemo.esbox.scratchbox.tests"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>

Modified: branches/work_Petr/org.maemo.esbox.vm/META-INF/MANIFEST.MF
===================================================================
--- branches/work_Petr/org.maemo.esbox.vm/META-INF/MANIFEST.MF	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.vm/META-INF/MANIFEST.MF	2009-02-06 13:41:25 UTC (rev 1204)
@@ -10,7 +10,6 @@
  org.maemo.mica.common.core;bundle-version="2.0.0",
  org.maemo.mica.common.ui;bundle-version="2.0.0",
  org.maemo.mica.protocol.ssh;bundle-version="2.0.0",
- org.maemo.esbox.scratchbox.core;bundle-version="2.0.0",
  org.maemo.mica.maemosdk.core;bundle-version="2.0.0",
  org.eclipse.ui.ide;bundle-version="3.4.1",
  org.maemo.esbox.maemosdk.ui;bundle-version="2.0.0",

Modified: branches/work_Petr/org.maemo.esbox.vm/src/org/maemo/esbox/internal/api/vm/core/BaseLaunchableVirtualMachineController.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.vm/src/org/maemo/esbox/internal/api/vm/core/BaseLaunchableVirtualMachineController.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.vm/src/org/maemo/esbox/internal/api/vm/core/BaseLaunchableVirtualMachineController.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -26,10 +26,8 @@
 import org.maemo.esbox.internal.vm.Activator;
 import org.maemo.esbox.vm.core.IVirtualMachineConfiguration;
 import org.maemo.mica.common.core.MicaException;
-import org.maemo.mica.common.core.Policy;
 import org.maemo.mica.common.core.machine.IMachine;
 import org.maemo.mica.common.core.machine.MachineException;
-import org.maemo.mica.common.core.machine.IMachineController.Result;
 import org.maemo.mica.common.core.process.CommandLineArguments;
 import org.maemo.mica.common.core.process.HostProcessLauncherFactory;
 import org.maemo.mica.common.core.process.IProcessLauncher;

Modified: branches/work_Petr/org.maemo.esbox.vm/src/org/maemo/esbox/vm/ui/SelectVirtualMachineDialog.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.vm/src/org/maemo/esbox/vm/ui/SelectVirtualMachineDialog.java	2009-02-05 20:49:00 UTC (rev 1203)
+++ branches/work_Petr/org.maemo.esbox.vm/src/org/maemo/esbox/vm/ui/SelectVirtualMachineDialog.java	2009-02-06 13:41:25 UTC (rev 1204)
@@ -11,8 +11,6 @@
 
 package org.maemo.esbox.vm.ui;
 
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.dialogs.*;
 import org.eclipse.jface.preference.PreferenceDialog;
 import org.eclipse.swt.SWT;
@@ -22,6 +20,7 @@
 import org.eclipse.swt.widgets.*;
 import org.eclipse.ui.dialogs.PreferencesUtil;
 import org.maemo.esbox.internal.vm.Activator;
+import org.maemo.mica.common.core.GeneralUtils;
 
 /**
  * This dialog tells the user that a build machine should be selected.
@@ -41,7 +40,7 @@
 	public SelectVirtualMachineDialog(Shell shell) {
 		super(shell, "Select Virtual Machine", null,
 				// note: UI is added below to provide a hyperlink
-				getProductName() + " needs to know what machine to use to build and launch your code. \n\n"+
+				GeneralUtils.getProductName() + " needs to know what machine to use to build and launch your code. \n\n"+
 				"Your system cannot directly launch scratchbox or maemo tools, so a virtual machine running 32-bit Linux/i386 must be used.\n\n"+
 				"Please configure the settings by clicking the link below.",
 				MessageDialog.INFORMATION,
@@ -51,17 +50,6 @@
 				Activator.getDefault().getPreferenceStore().getBoolean(BUG_ME_NOT));
 	}
 	
-	/**
-	 * @return
-	 */
-	private static String getProductName() {
-		IProduct product = Platform.getProduct();
-		if (product != null)
-			return product.getName();
-		else
-			return "Eclipse";
-	}
-
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.IconAndMessageDialog#createMessageArea(org.eclipse.swt.widgets.Composite)
 	 */



More information about the Esbox-commits mailing list