blob: 0deb5bb6a44692c8eb38ce6dd95d833fec9fb464 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="http://www.eclipse.org/projects/project-plan.xsl"?>
<!-- Use this to test local rendering in firefox. Comment out this line once this plan is linked to portal data. -->
<!-- <?xml-stylesheet type="text/xsl" href="project-plan-render.xsl"?> -->
<!-- <?xml-stylesheet type="text/xsl" href="http://www.eclipse.org/eclipse/development/project-plan-render.xsl"?> -->
<p:plan plan-format="1.0" xmlns:p="http://www.eclipse.org/project/plan"
xmlns="http://www.w3.org/1999/xhtml" name="TCF">
<p:release projectid="tools.cdt.tcf" version="1.0 (Juno)" />
<p:introduction>
<div>
TCF (Target Communication Framework) is a vendor-neutral,
lightweight, extensible network protocol mainly for
communicating with embedded systems (targets).
Applications of TCF include system discovery and configuration,
file system browsing, process launching, debugging, data transfer,
and more.
On top of the protocol specification, which is the core of TCF,
the project includes a plain-C implementation of a lightweight
extendable target agent, Java client API (usable stand-alone
or on top of Eclipse), Python and Lua client APIs, complete
debugger UI implementation in Eclipse, integration with CDT,
Target Explorer, documentation and usage examples.
</div>
</p:introduction>
<p:release_deliverables>
<div>
The TCF project delivers the Java protocol framework
and exemplary tools as Eclipse plugins in the form of a
p2 repository, as well as an exemplary C agent, Python
and Lua bindings in the form of source code available
from the project's git repositories.
</div>
</p:release_deliverables>
<p:release_milestones>
<p:milestone date="2007-10-25" milestone="0.0">
<div>Initial contribution</div>
<div>
Initial contribution of code to the Eclipse TM project,
followed by a presentation and tutorial at EclipseCon 2008.
</div>
</p:milestone>
<p:milestone date="2008-06-25" milestone="0.1">
<div>First release</div>
<div>
Initial release with TM 3.0.
Releasing core protocol documentation, initial
Java framework, C agent and examples, RSE
integration, and debugger integrations for CDT
and TCF - all via the prject's SVN repository.
</div>
</p:milestone>
<p:milestone date="2009-06-25" milestone="0.2">
<div>0.2 release</div>
<div>
Maintenance release with TM 3.1.
<a href="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1867476&amp;resolution=FIXED&amp;classification=Tools&amp;chfieldto=2009-06-25&amp;chfield=resolution&amp;query_format=advanced&amp;chfieldfrom=2008-06-25&amp;chfieldvalue=FIXED&amp;product=TCF">47 bugs fixed</a>.
Improvements to debugger integrations, and additions to debugger services API.
</div>
</p:milestone>
<p:milestone date="2010-06-23" milestone="0.3">
<div>0.3 release</div>
<div>
Maintenance release with TM 3.2.
<a href="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1867516&amp;resolution=FIXED&amp;classification=Tools&amp;chfieldto=2010-06-23&amp;query_format=advanced&amp;chfield=resolution&amp;chfieldfrom=2009-06-25&amp;chfieldvalue=FIXED&amp;product=TCF">34 bugs fixed</a>.
Support zerocopy transfer, UDP discovery, Linux x86_64. Add version info to protocol specification.
</div>
</p:milestone>
<p:milestone date="2011-06-22" milestone="0.4">
<div>0.4 release (with CDT 8.0 / Indigo)</div>
<div>
Integration into the CDT build and
release together with CDT, building the basis of the
EDC debugger in CDT as well as Linuxtools trace
upload for LTTng.
Adding Terminal service, disassembly, watchpoints.
Initial addition of Python binding and Target Explorer.
<a href="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1867562&amp;resolution=FIXED&amp;classification=Tools&amp;chfieldto=2011-06-22&amp;query_format=advanced&amp;chfield=resolution&amp;chfieldfrom=2010-06-23&amp;chfieldvalue=FIXED&amp;product=TCF">81 bugs fixed</a>.
</div>
</p:milestone>
<p:milestone date="2012-06-27" milestone="1.0">
<div>1.0 release</div>
<div>Graduation release.
Namespace refactoring for 1.0, migration to git and Tycho,
independent build and downloads. Promotion of Python binding
and Target Explorer. Addition of Lua shell to agent.
<a href="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1867641&amp;resolution=FIXED&amp;classification=Tools&amp;chfieldto=2012-06-06&amp;query_format=advanced&amp;chfield=resolution&amp;chfieldfrom=2011-06-22&amp;chfieldvalue=FIXED&amp;product=TCF">196 bugs fixed</a>.
</div>
</p:milestone>
<p:postamble />
</p:release_milestones>
<p:target_environments>
<div>
For release 1.0, the tools run with Eclipse 3.7 (Indigo) and related dependencies (CDT, TM/RSE).
All tools have been tested on Eclipse 3.8 and 4.2 (Juno) as well.
Our plug-ins require Java &gt;= 6.0.
</div>
<div>
The exemplary C agent runs on Linux (full-featured) and Windows (with limitations in debugging)
but has been ported to other operating systems successfully.
</div>
<internationalization>
<div>
The tools aim to have all strings externalized so as to
facilitate internationalization. Mapfiles have been
submitted to the Eclipse Babel Project for translation.
</div>
</internationalization>
</p:target_environments>
<p:compatibility_with_previous_releases>
<div>
<p><strong>TCF Protocol Compatibility:</strong>
The TCF 1.0 protocol is binary compatible on the wire with previous releases. New features have been added in a
discoverable fashion, extending older versions of the protocol.
</p>
<p><strong>API Compatibility:</strong>
The 1.0 release is not compatible with previous 0.x releases due to a namespace refactoring.
Moving forward, we intend to keep any changes API compatible.
</p>
<p><strong>Binary (plug-in) Compatibility:</strong>
We have no binary compatibility issues to discuss for 1.0.
</p>
<p><strong>Source Compatibility:</strong>
We have no source compatibility issues to discuss for 1.0.
</p>
</div>
</p:compatibility_with_previous_releases>
<p:themes_and_priorities>
<p:preamble>
<div>The core theme of TCF 1.0 is making it ready for graduation.
</div>
</p:preamble>
<p:theme name="API refactoring for 1.0">
<p:description>
<div>
While the functionality of TCF API's has matured over the years,
its namespace is not appropriate for graduation.
TCF API should be refactored into its own TCF namespace for
graduation.
</div>
</p:description>
<p:committed
bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1867969&amp;short_desc=API&amp;resolution=FIXED&amp;classification=Tools&amp;chfieldto=2012-06-06&amp;chfield=resolution&amp;query_format=advanced&amp;chfieldfrom=2011-06-22&amp;chfieldvalue=FIXED&amp;short_desc_type=allwordssubstr&amp;product=TCF">
</p:committed>
<p:proposed
bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1867994&amp;short_desc=api&amp;resolution=---&amp;classification=Tools&amp;query_format=advanced&amp;short_desc_type=allwordssubstr&amp;target_milestone=1.0.0&amp;product=TCF">
</p:proposed>
</p:theme>
<p:theme name="Make Target Explorer ready for 1.0">
<p:description>
<div>The Target Explorer framework was initially contributed in March 2011 but not yet widely announced.
Defect fixes and cleanup is necessary to make it ready for 1.0</div>
</p:description>
<p:committed
bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1868046&amp;resolution=FIXED&amp;classification=Tools&amp;chfieldto=2012-06-06&amp;query_format=advanced&amp;chfield=resolution&amp;chfieldfrom=2011-06-22&amp;chfieldvalue=FIXED&amp;component=Target&amp;product=TCF&amp;target_milestone=1.0.0">
</p:committed>
<p:proposed
bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1868056&amp;resolution=---&amp;classification=Tools&amp;query_format=advanced&amp;component=Target&amp;target_milestone=1.0.0&amp;product=TCF">
</p:proposed>
</p:theme>
<p:theme name="Provide stand-alone builds and repository">
<p:description>
<div>TCF used to be developed as a component of other projects such as Target Management or CDT.
For the 1.0 release, we need to make TCF build and downloadable stand-alone.</div>
</p:description>
<p:committed
bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1868137&amp;short_desc=releng&amp;resolution=FIXED&amp;classification=Tools&amp;chfieldto=2012-06-06&amp;query_format=advanced&amp;chfield=resolution&amp;chfieldfrom=2011-06-22&amp;chfieldvalue=FIXED&amp;short_desc_type=allwordssubstr&amp;product=TCF&amp;target_milestone=1.0.0">
</p:committed>
<p:proposed
bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?list_id=1868140&amp;short_desc=releng&amp;resolution=---&amp;classification=Tools&amp;query_format=advanced&amp;short_desc_type=allwordssubstr&amp;product=TCF&amp;target_milestone=1.0.0">
</p:proposed>
</p:theme>
<p:theme name="Support for Eclipse 3.8 workbench">
<p:description>
<div>
Our primary platform for TCF 1.0 will be Eclipse 3.7 (Indigo), yet full test runs will be performed on Eclipse 3.8 and 4.2 and defects will be fixed as they are found.
Thanks to Eclipse compatibility rules of engagement, our features will likely "Just Work" on a 3.8 base.
</div>
</p:description>
</p:theme>
<p:theme name="Eclipse 4.2">
<p:description>
<div>
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.
</div>
</p:description>
</p:theme>
</p:themes_and_priorities>
<p:appendix />
</p:plan>