Project Plan For Linux Tools, version 1.0 (Juno)
Introduction
The Linux Tools project is a two-faceted
project. Firstly, it develops tools and frameworks for
writing tools for Linux developers. Secondly, it provides
a place for Linux
distributions to
collaboratively overcome issues surrounding
distribution packaging of
Eclipse technology. The project will
produce both best practices and tools
related to packaging.
Release Deliverables
The Linux Tools project delivers tools as
Eclipse plugins which are used primarily by Linux developers
and
packagers. The project also aims to deliver various
scripts,
techniques, and tarballs which ease the process of
packaging Eclipse
technology for Linux distributions.
Release Milestones
| 0.1 | 2009-01-16 | First release
Latest ChangeLog and specfile editor releases, first
release of plugin building and packaging
tools (RPM Stubby), resurrected
OProfile plugin, initial eclipse.org release of
autotools, libhover, valgrind, and systemtap
editor plugins.
|
| 0.2RC | 2009-04-01 | Release candidate build towards 0.2
initial cachegrind support
improved OProfile privilege-escalation
|
| 0.2 | 2009-05-11 | 0.2 release
initial cachegrind support,
improved OProfile privilege-escalation,
pre- and post-build steps for autotool'd projects,
compare support for RPM .spec files,
mass BIRT chart interactivity,
greatly improved test coverage,
many bugfixes
|
| 0.3 | 2009-08-19 | 0.3 release
wiki-based help documentation,
initial integration of SystemTapGUI contribution,
integration of SystemTap editor and SystemTapGUI,
more robust Valgrind interaction,
manual control of OProfile daemon,
3.5 SDK packaging tools (eclipse-build)
|
| 0.4 | 2009-11-23 | 0.4 release
integration of GProf contribution,
3.5.1 SDK packaging tools (eclipse-build),
plugin building scripts (package-build),
SDK test running scripts,
Systemtap-backed call graph functionality,
|
| 0.4.1 | 2009-12-21 | 0.4.1 bug-fix release
Bug fixes for 0.4.0: https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&target_milestone=0.4.1&product=Linux Tools&classification=Technology
|
| 0.5 | 2010-03-18 | 0.5 release
integration of LTTng contribution,
further improvements to ease distro consumption of eclipse-build,
integration of GCov contribution,
initial release of man page viewer,
initial release of SystemTap GUI dashboard
|
| 0.5.1 | 2010-05-12 | 0.5.1 release
bug fixes for 0.5
|
| 0.6 | 2010-06-18 | 0.6 release
SDK packaging tools: 3.5.x/3.6.x eclipse-build, SDK tests, plugin building scripts, testing scripts, scripts for running SDK tests against distro packages;
Native development tools: SystemTap integration, Autotools, libhover, ChangeLog, OProfile, Valgrind, GProf, LTTng
|
| 0.6.1 | 2010-08-27 | 0.6 release
Bug-fix release for 0.6.1.
Updated eclipse-build for Eclipse 3.6.
|
| 0.7 | 2011-02-16 | 0.7 release
Valgrind plugins available for Mac OS X.
Bug fixes and features in RPM .spec editor.
Many fixes and improvements in tracing framework and LTTng visualization.
Possibility to use OProfile plugin without native component.
Improvements to running of SDK tests.
Updated eclipse-build for Eclipse 3.6.1.
|
| 0.8 | 2011-06-22 | 0.8 release
Enhanced tracing and monitoring framework.
Improved LTTng tooling.
Updated eclipse-build for Eclipse 3.7.
|
| 0.8.1 | 2011-09-23 | Indigo SR1 release
Bugfixes for the Indigo SR1 release.
|
| 0.9.0 | 2011-11-05 | 0.9 release
RPM flat layout support.
LTTng Sequence Diagram Framework,
trace streaming support,
and CNF integration.
|
| 0.9.1 | 2012-01-20 | Indigo SR2 release
Bugfixes for the Indigo SR2 release.
|
| 0.9.2 | 2012-02-16 | Indigo SR2 release
Bugfixes for the Indigo SR2 release.
|
| 0.10.0 | 2012-03-23 | 0.10 release
RDT Proxy plugin and
BIRT replaced by org.swtchart in valgrind plugins
|
| 1.0 | 2012-06-27 | 1.0 release SDK packaging tools: 4.2 eclipse-build, plugin building scripts, testing scripts, scripts for running SDK tests against distro packages;
Native development tools: SystemTap integration, Autotools, libhover, ChangeLog, OProfile, Valgrind (memcheck, massif, cachegrind, and Helgrind), GProf, LTTng, GCov, perf |
| 1.1 | 2012-07-25 | 1.1 release Remote execution implementation for Valgrind, Oprofile, Perf. Remote implementation improvement for SystemTap. Bug fixes for SystemTap. |
| 1.1.1 | 2012-09-28 | Juno SR1 release
Bugfixes for the Juno SR1 release.
|
| 1.2 | 2012-11-20 | 1.2 release Unification of profiling framework tools |
Target Environments
For release 1.0, the tools run with Eclipse 4.2 (Juno) and related dependencies (CDT, etc.).
Our plug-ins require Java >= 6.0.
Some of our plug-ins interact with underlying profiling, etc. tools which means that
those underlying tools must be present for functionality. This sometimes makes them
only available on Linux. All plug-ins and features have proper operating system
restrictions so end-users should not notice issues here.
The packaging tools not delivered as Eclipse plugins have
varying requirements but generally require basic tools such
as ant, bash, sh, sed, awk, grep, etc.
The tools aim to have all strings externalized so as to
facilitate internationalization. At present, no
translations are provided. See bug #261255 and bug #261256.
Compatibility with Previous Releases
API Compatibility: For 1.0, we will attempt to maintain as much API compatibility with our 0.9.0 release from November 2011 as possible. We will likely be removing some API that should not have been public and cleaning up accidental exposure of non-API classes.
Binary (plug-in) Compatibility: We have no binary compatibility issues to discuss for 1.0.
Source Compatibility: We have no source compatibility issues to discuss for 1.0. C/C++ projects should consult with the CDT regarding its source project compatibility (believed to be quite strong).
Themes and Priorities
The Linux Tools project differs in aims
from
many Eclipse projects. It enables adopters of
Eclipse technology but
often through help with
consumption and not always through APIs. It also
aims to be a
place for collaboration among Linux distributions.
The project also aims to bring Eclipse technology to
Linux
developers by providing tools targetted at Linux
developers --
specifically those programming in C and
C++.
Getting the Eclipse SDK into Linux distributions
Most Linux distributions require all packages
included
therein to be built directly from source
code. This p:theme
encompasses the project goal of
assisting distributions in their
building and
packaging of the Eclipse SDK as well as
standardizing
practices and any patches needed. It
also aims to encourage and aid
distributions in
their attempts to drive unit test results down to
zero.
- No items.
- No items.
Getting plugins into Linux distributions
Getting plugins into Linux distributions relates to the project's goal of making it easier to build and package Eclipse plugins for Linux distributions. At present it includes shell scripts and best practice documentation. In the future, we aim to provide Eclipse plugins to help packagers.
- No items.
- No items.
Improve RPM specfile editor and related plugins
We should continue to add features to and improve the robustness of the RPM specfile editor and its related plugins.
- No items.
- No items.
Integrate Linux tracing functionality within Eclipse
Tracing frameworks such as SystemTap and LTTng enable
users to solve complex problems through data analysis.
We aim to provide a framework for working with tracing toolkits
and provide an exemplary implementation for LTTng.
- No items.
- No items.
Unify and expand upon existing profiling UIs
At present we have integration plugins for OProfile, GProf, and Valgrind. Our GCov plugin UI is quite similar to our GProf UI. We aim to unify the user interaction with these underlying profiling tools and provide a consistent way visualizing the data they provide and its integration views and source code editors in Eclipse.
- No items.
- No items.
Integrate with PackageKit
The PackageKit project provides a method for interacting the various Linux package managers. By providing plugins that with PackageKit, we can do interesting things prompting for missing build requirements in a C/C++ extend p2 metadata to prompt for installing non-OSGi bundles, and more.
- No items.
- No items.
Interact with remote systems
The present state of our profiling tools integration C/C++ Eclipse users to easily profile their code. The output of the underlying tools are integrated into the workbench through views and editors that users would expect to see. One feature we hope to offer is to be able profile projects in your local workspace on remote machines.
- No items.
- No items.
Improve consumability
In order to ease the lives of our consumer community, we will work towards a more stable API. As part of this effort, we will track our usage of the internal APIs of our dependencies. We will also attempt to regularly run the PDE API Tools on our code base to ensure we don't break our own API.
- No items.
- No items.
Support for Eclipse 3.8 workbench
Our primary platform for the Juno release will be the same as the rest of the simultaneous release: Eclipse 4.2. We do not anticipate having any 4.2-specific features and will thus likely "Just Work" on a 3.8 base, assuming our dependencies (CDT, BIRT, GEF) function on a 3.8 base. We encourage users and adopters to move to 4.2 but will strive to fix 3.8-specific bugs within reason and with the caveat that we are a small project and our focus is 4.2.
Eclipse 4.2
Our 1.0 release as a part of Juno will work on top of Eclipse 4.2. We expect to be using the compatibility layer almost exclusively and have no 4.2-specific API calls or functionality.
