Eclipse integration

m (Maemo PC Connectivity)
m (Maemo SDK Virtual Image)
Line 203: Line 203:
=== [http://maemovmware.garage.maemo.org/ Maemo SDK Virtual Image] ===
=== [http://maemovmware.garage.maemo.org/ Maemo SDK Virtual Image] ===
-
* Make Ubuntu Intrepid Server based Maemo SDK Virtual Image for Linux, Windows and Mac OS X
+
* Ubuntu Intrepid Server based Maemo SDK Virtual Image for Linux, Windows and Mac OS X
-
** Provide full support for VMWare and QEMU virtualizatin technologies
+
** Provide full support for VMWare and QEMU virtualization technologies
** Provide do-it-yourself support for VirtualBox  
** Provide do-it-yourself support for VirtualBox  
** Server image includes just basic Ubuntu Intrepid Server and Host PC Connectivity environment prefonfigured and Maemo Diablo and Fremantle Development Environments can be installed with Eclipse installation wizard automatically
** Server image includes just basic Ubuntu Intrepid Server and Host PC Connectivity environment prefonfigured and Maemo Diablo and Fremantle Development Environments can be installed with Eclipse installation wizard automatically
-
* Make Ubuntu Intrepid Desktop based Maemo SDK Virtual Image for Linux, Windows and Mac OS X
+
* Ubuntu Intrepid Desktop based Maemo SDK Virtual Image for Linux, Windows and Mac OS X
** Provide out-of-the-box ready Ubuntu Intrepid Desktop based image  
** Provide out-of-the-box ready Ubuntu Intrepid Desktop based image  
** Desktop image includes fully configured Maemo Diablo Development Environment and Fremantle Development Environment can be installed with Eclipse installation wizard automatically
** Desktop image includes fully configured Maemo Diablo Development Environment and Fremantle Development Environment can be installed with Eclipse installation wizard automatically
** Desktop image includes installers for GuestAdditions (for VirtualBox) and OpenVMTools (for VMWare)
** Desktop image includes installers for GuestAdditions (for VirtualBox) and OpenVMTools (for VMWare)
* Installer/tool to configure Maemo SDK Virtual Images for VirtualBox usage
* Installer/tool to configure Maemo SDK Virtual Images for VirtualBox usage
-
* Separate Beta 1 documentation for SDK VIrtual Images on Garage site
+
* Separate Beta 1 documentation for SDK Virtual Images on Garage site
----
----

Revision as of 15:54, 22 May 2009

Contents

Maemo Eclipse Integration 2nd Edition features for each prerelease

These feature lists roughly correspond to backlog items, but are intended to be a more high-level summaries of goals for the releases (actual planning, division of stories for sprints, resource allocation, etc. is not the goal).

Latest public releases are:

Detailed plans for each product can be found from their Garage project pages.

Maemo Eclipse Integration 2nd Edition project plans to release several prereleases during 1H2009

  • With Alpha 1 release middle of November 2008 true development process for all Maemo Eclipse Integration components started with Garage open source projects using agile development process
  • With Alpha 2 release end of February 2009 a lot of new features were added to the Maemo Eclipse Integration components. Initial support for Windows host PC was implemented. All but Maemo Mica Eclipse plugin framework products were released in Maemo Garage. Mica framework will be release in future when framework will be stable enough to be usable also for other than just ESbox and Pluthon Maemo Eclipse plugin development
  • With Beta 1 release (week 21 middle of May) major upgrades for many generic Eclipse components were introduced, a lot of new functionality of all components were implemented, good support for Windows host PCs and initial support for Mac OS X host PCs were introduced for PC Connectivity, Mica Eclipse plugin framework was released as separate product, first integration effort to support Fremantle development environment was done, SDK Virtual Images were updated to Ubuntu Intrepid level.
  • With Planned features for Beta 2 release (week 27 end of June) include good support for Fremantle development environment, good support for Mac OS X as host PC for PC Connectivity, Mica plugin framework refactored and cleaned up to be more generic framework for Maemo Eclipse plugin development, a lot of stability fixes for existing components and also some new functionality.

Maemo Eclipse Integration release versioning schema for Eclipse plugins

Eclipse Integration project, version numbers for plugin releases are composed of four (4) segments: 3 integers and a string respectively named major.minor.service.qualifier. The page <http://wiki.eclipse.org/Eclipse_Version_Numbering> describes guidelines for the first three segments, which relate to API promises in official supported releases. These rules do not apply to intermediate builds, however, so we will hold the major.minor.service segments at "2.0.0", indicating an API break from Eclipse Integration v1.

Based on this, we will follow this convention in the whole version number:

  • "R<version>" indicates fully tested and stable official release, released according to the following schedule.
  • "<version>M or I or N" indicates that release is not fully tested official release but some prerelease.

The page <http://download.eclipse.org/eclipse/downloads/build_types.html> describes, somewhat roughly, the versioning of intermediate releases. Based on this, we will follow this convention in the qualifier segment:

  • "M<number>" indicates milestones, which are integration tested and stable, released according to the following schedule.
  • "I<date>" indicates integration builds, which are developer tested, released every two weeks as sprint artifacts.
  • "N<date>", if used, indicates nightly builds, which are untested and unstable.

Eclipse Integration Subprojects


New features planned for Beta 2 release (2.0.0M5, wk27 2009)

Eclipse Integration 2nd Edition Beta 1 Release Notes and Known Issues

Product infrastructure

  • Update Garage site front pages for Edition 2 level (Edition 1 not supported anymore)
  • Release maemo-pc-connectivity components in Frementle extras-devel
  • Release maemo-pc-connectivity components in Diablo extras
  • Release Eclipse components
    • from ESBox and Pluthon Garage projects as full installation (including also Eclipse 3.4.2 IDE)
    • from maemo Eclipse update P2 site as update to standard Eclipse 3.4.2 IDE installation

Product configuration

  • Diablo 4.1.2 SDK and platform image as bases
  • Latest Fremantle Beta SDK and platform image as bases
  • Latest Cygwin 1.5.25-15 as base for Windows porting framework
  • Latest MacPorts 1.7.1 as base for Mac OS X porting framework
  • Native Flasher tools for Windows XP/Vista and Mac OS X
  • Beta 1 versions of common Eclipse components as bases (no version upgrades from Beta 1)

Maemo Mica plugin framework

  • Generalization of Mica framework to support better other than just ESBox and Pluthon plugins
    • general refactoring and cleanup for Mica included
  • Package manager cleanup
    • Unify project package installer and machine package installer
    • Split out gathering of required packages to a separate step (and a separate page in the project package installer wizard)
    • Provide list of (package manager, package, repository) tuples to package installer engine
    • Have Scratcbox 1 installers just start with the list of tuples above
  • Maemo flasher tool
    • support for installing native flasher tools automatically
    • support to make/restore backup from Tablet before/after flashing using official Tablet backup/restore application
  • If there are several Maemo SDK environments installed to the Scratchbox ESBox plugin is able to warn user if current Tablet connected to the host PC is NOT compatible with enabled Maemo SDK
  • Eclipse Integration supports localization of developed components and applications
    • localization support is available for C/C++ programming languages
    • localization is available for Python programming language
  • Remove IP address-based launch configuration
  • Improve SSH exchange keys support for SBRSH

Maemo ESBox plugin for Eclipse

  • Using trace tool (ltrace) with SDK and Tablet for a process can be done online with Eclipse IDE
    • setting up trace environment and starting and stoping tracing is easy
    • viewing trace date online from Tablet is possible through VNC
    • viewing trace data online from SDK is possible
  • Externalize Strings wizard improvements for C/C++
  • Externalize Strings wizard improvements for Python
  • Scratchbox 2 should use maemo-sdk script for X/Maemo AF launch
  • Update ESbox help

Maemo Pluthon plugin for Eclipse

Maemo PC Connectivity

  • Support for restoring host PC specific environment
    • possibility to automatically restore previous environment triggered by connection establishment
    • when connection to host PC is restored also previously configured environment is restored
    • if host PC specific environment configuration is not available default environment is created e.g. disk mounts restored, sbrsh connections started, ...
    • Notice this requires also some support on host PC side to restore PC side environment.
  • Support for easily configurable connections and environment on host PC
    • initial configuration (after installation) on host PC is as simple as possible (defaults, scripts and configuration applets used where possible)
    • manual configuration editing configuration files directly is possible
    • configuration tool or script available for configuring environment so that there is no need to manual configuration after installation
    • scripts available for all supported operating systems on host PC to configure connectivity and environment on host PC side after installation
    • host PC configuration tool/script works together with Tablet configuration applets/tools to setup and test connectivity
  • Host PC connectivity installation is done using installation script/tool
    • For all supported host PCs (Ubuntu, Debian, Windows, Mac) there is an installation script that can be used to install and configure default connectivity packages to the host PC
    • For all supported host PC operating systems there are instructions how to manually install and configure default connectivity packages to the host PC

Maemo SDK Virtual Image

  • Provide installation of official VMWare Tools as productivity enhancement tools for Ubuntu Desktop image for VMWare Player instead of OpenVMTools (if agreed to be ok with VMWare legal)
  • Provide possibility for developer to install productivity enahancement tools also for Ubuntu Server image (for VMWare and VirtualBox)

Integration testing

  • General stability improvements verified
    • if network connection between tablet and PC gets broken system recovers itself when connection is re-established
    • if download or installation from maemo.org resources gets interrupted system cleans up and allows user to retry
    • if update of our own Eclipse components gets interrupted (any reason) from our update site system cleans up and restores latest stanble environment
    • if erros happen in SDK operations like with building with autotools, package creation etc system recovers from those and gives "usable" error messages
    • usage of features "unplanned" way either works as expected or gives proper error message
  • Eclipse Test Guide available for Eclipse components
    • explains how automatic build environment is linked to product development
    • explains how Eclipse unit tests can be implemented and run with automatic build system
    • explains how automatice unit test results are published
    • explains how integration testing is linked to product development
    • explains how integration testing is done and what tools are used
    • explains how test case management and test result publishing are done
    • explains what publically available test sets and related tools are used
    • explains what Maemo specific testing is done


THESE FEATURES FOR RELEASED PRODUCTS ARE HERE ONLY FOR DOCUMENTATION PURPOSES

New features in Beta 1 release (2.0.0M4, wk21 2009)

Notice: Maemo Eclipse Integration 2nd Edition Beta 1 release includes final versions of standard Eclipse components that will be released also with final Eclipse Integration release.

Maemo Mica plugin framework

  • Update Eclipse IDE baseline components to Eclipse Ganymede SR2
  • Update pyDev, CDT, RSE, DSF and EMF components to the latest stable versions
  • Add Scratchbox 1 installer wizard and SDK installer wizard
  • Support for both Diablo and Fremantle SDK
  • Support SBRSH in sandboxless mode
  • Better SBRSH configuration UI
  • Flasher wizard for flashing Internet Tablet from Eclipse IDE
  • Support for P2 update site for Mica
  • Mica Garage site released for 2nd Edition

Maemo ESBox plugin for Eclipse

  • Provide one-time warning to users that running/debugging in SDK ARM rootstraps is not well-supported.
  • Support for Linux and Win32 host PC official and documented
  • Initial support for Mac OS X host PC (works and documented but not fully tested)
  • Full connectivity support for Internet Tablet with SSH, RSE and SBRSH from Linux, Windows and Mac OS X
  • Keep up with Scratchbox 2 changes
  • ESbox Garage site has separate Beta 1 documentation
  • Support for both Diablo and Fremantle SDK
  • Import Eclipse projects from Maemo SDK and Debian packages
  • C/C++ debug/optimized configuration support
  • Shared library debugging improvements
  • Python interpreter configuration improvements (support for Scratchbox and Tablets)
  • Support for P2 update site for ESbox
  • Installation wizard for Scratchbox, Diablo SDK and Fremantle SDK
  • SDK Virtual Image configuration improvements (like Eclipse installation wizard for Windows and Mac OS X for maemo SDK environments)

Maemo Pluthon plugin for Eclipse

  • Support for Linux and Win32 host PC official and documented
  • Initial support for Mac OS X host PC (works and documented but not fully tested)
  • Full connectivity support for Internet Tablet with SSH, RSE and SBRSH from Linux, Windows and Mac OS X
  • Pluthon Garage site has separate Beta 1 documentation
  • Support SBRSH natively on Linux, Win32 ans Mac OS X host PCs
  • Update to use the latest stable version 1.4.4 of PyDev component
  • Support for P2 update site for Pluthon
  • Installation wizard to setup Python development environment for host PC and Internet Tablet

Maemo PC Connectivity

  • Support for Linux, Win32 host PC official and documented
  • Initial support for Mac OS X host PC (works and documented but not fully tested)
  • Initial support for maemo porting framework with Cygwin
  • Full connectivity support with USB, BlueTooth and WLAN for Linux, Windows and Mac OS X
  • Full ssh, sftp, vnc and disk mount support for Linux, Windows and Mac OS X host PCs
  • Support for both Diablo and Fremantle SDK
  • Initial Fremantle/Diablo flasher support for Linux
  • Full support for VNC clients (native and Eclipse VNC plugin support)
  • Full support for Internet Tablet configuration with control panel applet and status bar plugin
  • Native SBRSH support for Linux, Win32 and Mac OS X
  • SBRSH to support session based sandbox option
  • SFTP support to access Internet Tablet file system with native host PC GUI clients
  • Support for Maemo SDK CPU Transparency mode
  • Support for installing Host PC Connectivity components for Linux, Win32 and Mac OS X host PCs
  • Support for configuring Host PC Connectivity components for Linux, Win32 and Mac OS X host PCs
  • Improved documentation for installing and configuring Host PC Connectivity on Linux, Win32 and Mac OS X host PCs
  • Tablet configuration applet allows easy configuration of sbrsh, vnc, unfs3, etc.
  • Tablet configuration applet supports several configuration environments that store configuration information for many services and connection types
  • Status bar plugin can be used to easily switch between predefined environments

Maemo SDK Virtual Image

  • Ubuntu Intrepid Server based Maemo SDK Virtual Image for Linux, Windows and Mac OS X
    • Provide full support for VMWare and QEMU virtualization technologies
    • Provide do-it-yourself support for VirtualBox
    • Server image includes just basic Ubuntu Intrepid Server and Host PC Connectivity environment prefonfigured and Maemo Diablo and Fremantle Development Environments can be installed with Eclipse installation wizard automatically
  • Ubuntu Intrepid Desktop based Maemo SDK Virtual Image for Linux, Windows and Mac OS X
    • Provide out-of-the-box ready Ubuntu Intrepid Desktop based image
    • Desktop image includes fully configured Maemo Diablo Development Environment and Fremantle Development Environment can be installed with Eclipse installation wizard automatically
    • Desktop image includes installers for GuestAdditions (for VirtualBox) and OpenVMTools (for VMWare)
  • Installer/tool to configure Maemo SDK Virtual Images for VirtualBox usage
  • Separate Beta 1 documentation for SDK Virtual Images on Garage site

Alpha 3 release was skipped (2.0.0M3, wk14 2009)

Notice: Maemo Eclipse Integration 2nd Edition Alpha 3 release was optional. Plan was that Alpha 3 release will be done but published (and announced) only if the quality level is good enough (equal or better than for Alpha 2). Because many basic Eclipse components (like Eclipse IDE itself, CDT, RSE, pyDev etc) were updated for Alpha 3 release it was not possible to have good enough quality for this release in given time schedule (about one month between Alpha 2 and Alpha 3 releases) and project decided to skip Alpha 3 release and target to have first Beta release out with good quality and with final versions of standard Eclipse components (no more major version updates for final). Beta 1 release planned for week 20 is not optional :).


New features in Alpha 2 release (2.0.0M2, wk09 2009)

Eclipse Integration 2nd Edition Alpha 2 Release Notes

Maemo Mica plugin framework

  • Be able to detect the platform installed on a device
  • Support installing packages and update repositories to device in a synchronized way (integration to apt-tools)
  • Autoconfigure Python Interpreter preferences
  • Better Python launch shortcut behavior (launch from project, send all files)
  • Improved SSH and RSE support (reduced password dialogs)
  • Initial support for VNC client
  • Automatically generate Debian structure for projects
  • All template projects can build Debian packages
  • Better support for mixed ESbox/PluThon targeting

Maemo ESBox plugin for Eclipse

  • Initial support for Windows hosting using VMware and QEMU virtual machines for maemo SDK
  • Support importing projects from apt repositories
  • Support installing packages and update repositories to Scratchbox in a synchronized way (integration to apt-tools)
  • Initial support for running/debugging with shared libraries with DSF
  • Initial support for SBRSH autoconfiguration with an "Exchange keys" button in SBRSH launch configurations
  • Initial C/C++ shared library template project
  • Initial integration to the latest Scratchbox 2 stable release
  • Fix issues with templates that need doctools support by automatically adding it to Scratchbox 1 devkits

Maemo Pluthon plugin for Eclipse

  • Prototype level support for Windows host PC
  • Integration with RSE, instead of custom SSH Connections
  • Better support for copying/running/tracing/debugging Python applications on Tablet

Maemo PC Connectivity

  • Prototype level support running sbrsh natively on Mac OS X or Windows host PC (verify if this can be done)
  • Support for following connectivity types, USB Networking, Bluetooth and Wlan
  • First version of Network Manager applet (no full functinality)
  • First version of Network Switcher status bar plugin (no full functionality)
  • Initial support for normal and advanced user modes (different UIs for modes) for configuration tools
  • Initial tools and scripts for host PC installation and configuration (for all supported operating systems)
  • VNC support for Linux and SDK virtual image
  • X-tunneling support for Linux and SDK virtual image

New features for Alpha 1 release (2.0.0M1, wk46 2008), released

Both ESBox and Pluthon plugin architecture was restructured to use common Maemo Eclipse plugin framework called Mica (Maemo Integration Common Architecture)

There were no changes with Alpha 1 release to these products:

  • Maemo PC Connectivity 1st Edition
  • Maemo SDK Virtual Image
  • Maemo C++ and Python programming language support

Maemo ESBox plugin for Eclipse

  • Architecture of plugin was restructured to support Mica plugin framework
  • New C/C++ and Python project wizards will automatically install missing build/runtime dependencies in Scratchbox
  • Eclipse DSF debugger framework integration
  • New template engine and wizard for C/C++ and Python
  • Build configurations support, there is a one-to-one mapping from build target to build configuration
  • Autotools files editing ,you can edit *.ac, *.m4, and *.am files with the editor provided
  • Eclipse TM/RSE framework integration with features such as remote file system explorer, remote process viewer, remote shell and terminal to the Internet Tablet
  • New download method Copy via RSE (in addition to Copy via SSH and Mount via SBRSH) is added for Maemo Remote Application launch configuration
  • Full product build which allows user to get all requried Eclipse components by downloading and installing just one distribution package
  • Some bug fixes

Maemo Pluthon plugin for Eclipse

  • Architecture of plugin was restructured to support Mica plugin framework
  • New template engine and wizard for Python
  • It is possible to select what files you want to upload to the Internet Tablet
  • Build configurations support, there is a one-to-one mapping from build target to build configuration
  • Python debugger now stops on the breakpoints of source code
  • Full product build which allows user to get all requried Eclipse components by downloading and installing just one distribution package
  • Some bug fixes