Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "TCF/DraftPlan13"

< TCF
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
=TCF 1.3 DRAFT plan=
 
=TCF 1.3 DRAFT plan=
  
<!--
+
<font size="+2" color="black"><b>TCF 1.3 has been released.<br/>
NOTE: The [https://projects.eclipse.org/projects/tools.cdt.tcf/releases/1.2.0 TCF 1.2 Plan] is now official.
+
See the [[TCF/NewIn13|1.3 New and Noteworthy]] and the [https://projects.eclipse.org/projects/tools.cdt.tcf/reviews/1.3.0-release-review TCF 1.3 Release Review].</b></font>
-->
+
 
 +
See also the previous [[TCF/DraftPlan12]], [[TCF/NewIn12]] | Upcoming [[TCF/NewIn14]], [[TCF/DraftPlan15]]
  
<font size="+2" color="red"><b>NOTE: This is a DRAFT plan and none of the items below are committed.</b></font>
 
  
 
==Compatibility==
 
==Compatibility==
  
We will be shooting for a TCF 1.3 version, ie keep API's compatible:
+
TCF 1.3 will release on the Eclipse Mars Simultaneous release. We will keep API's compatible:
  
 
* TCF protocol must remain 100% compatible with TCF 1.2 (it's part of the TCF value proposition)
 
* TCF protocol must remain 100% compatible with TCF 1.2 (it's part of the TCF value proposition)
* TCF Java API must remain 100% binary compatible (we have clients coding against it)
+
* TCF Java API must remain 100% binary compatible with TCF 1.2 (we have clients coding against it)
 
* TCF Python and C API should remain 100% compatible (we have clients but this is source compatibility so they can rebuild or use version checks)
 
* TCF Python and C API should remain 100% compatible (we have clients but this is source compatibility so they can rebuild or use version checks)
  
==Timing==
+
===Tested Operating Environments===
  
* TCF 1.3 shall adopt the CDT's "rapid release" model and release with Eclipse Luna SR1 in September 2014.
+
* Java 7 will be the Bundle-RequiredExecutionEnvironment for Java code.
* TCF 1.4 shall come with Eclipse Luna SR2 (Feb 2015)
+
* We want to continue with an "N-1" dependency strategy in order to ease adoption:
* TCF 1.5 or 2.0 shall come with Eclipse Mars (June 2015)
+
** This means, that during the Luna SR cycle 2014/15 (until Mars comes out), we want to support Luna (the "active" Eclipse) and Kepler SR2 (the stable Eclipse).
 +
** Primary: https://hudson.eclipse.org/tcf/ job against Eclipse 4.4 Luna + CDT 8.4 Luna + Java 7
 +
** Secondary: https://hudson.eclipse.org/tcf/ job against Eclipse 4.3.2 Kepler SR2 + CDT 8.3 Kepler SR2 + Java 7
 +
** Development: https://hudson.eclipse.org/tcf/ job against Eclipse 4.4.1 Luna SR1 + CDT 8.5 + Java 7
 +
*** The "Development" validation is our obligation as part on the Eclipse Mars train. Luna SR1 will be replaced by 4.5 Mars during the year.
  
This is a "Plan of Intent". It's possible that a release may be delivered earlier or later as needed by the community or the TCF committers.
+
* To be discussed:
 +
** ''Do we need any test job using Java 8 ? - Linuxtools project has reported that Jobs with Java 8 run faster.''
 +
** ''Do we still need a test job against Eclipse 3.8.2 + CDT 8.3 ? - Note that CDT 8.4 only supports Eclipse 4.x''
 +
 
 +
===Obsoleted / Deprecated Functionality===
 +
 
 +
* Support for TCF agents older than 0.4 will be discontinued ([https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/?id=84240d1df6854ba7eb4990cc960255884b6b525a git commit on 16-May-2014).
 +
** TCF agent 0.4 was released in [http://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git/?h=0.4.0 June 2011] with last updates on the branch in September 2011
 +
** It is noteworthy that OpenEmbedded / Yocto still seems to reference 4ef94ecb927a8912c3d79ce137182247786cff8f from July 2011:<br/>http://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
  
API Compatibility is planned for the "Luna" release lifecycle, but not yet decided for Mars.
 
  
 
==Requirements and Dependencies==
 
==Requirements and Dependencies==
Line 31: Line 42:
 
** Eclipse 4.2.2 may continue to be supported as the most recent Eclipse Platform LTS stream (bubble item: to be decided)
 
** Eclipse 4.2.2 may continue to be supported as the most recent Eclipse Platform LTS stream (bubble item: to be decided)
  
* Java 7 will be the Bundle-RequiredExecutionEnvironment for Java code.
 
  
 
=Proposed Themes=
 
=Proposed Themes=
  
Most of the themes are really a carry-over from the [https://projects.eclipse.org/projects/tools.cdt.tcf/releases/1.2.0 TCF 1.2 Plan]. Although we have made great progress on each of the themes, our focus and priorities haven't shifted.
+
The Themes below only list current priorities that we want to focus on.
 +
More themes may be carried over from the [https://projects.eclipse.org/projects/tools.cdt.tcf/releases/1.2.0 TCF 1.2 Plan] ([[TCF/DraftPlan12]] in Wiki format).
  
==Robustness and Matrix Coverage==
 
''Interested Parties:'' All
 
  
* We will continue making TCF a rock-solid commercial-grade debug solution and increase its coverage of target architectures and compilers.
+
==Make it Easier to Contribute==
** Increase coverage of supported ELF tags and ELF format variants in the symbol and DWARF readers
+
''Interested Parties:'' Wind River
** Fix defects and increase test coverage
+
  
==Improve Unittest coverage at Eclipse.org==
+
* The [http://marketplace.eclipse.org/content/tcf-terminals TCF Terminals Marketplace Listing] has triggered quite some interest in the community, and a couple of bugs have been filed to improve usability of the local terminal.
''Interested Parties:'' Wind River, Xilinx
+
** We want to make it super easy for community members to contribute bug fixes or improvements to TCF, in order to ride the wave.
  
* With tcf-1.2 automated unit testing of both Java and C Agent code on the Eclipse.org servers has been introduced
+
==Improve Getting Started and API Documentation==
** We want to extend automated testing and improve Hudson feedback on test failures (graphs, trends)
+
''Interested Parties:'' Wind River
** We want to add automated testing for the Python API's
+
  
==Tracing and Profiling API's==
+
* We want to make it easier for 3rd parties to understand, and code against the TCF API's.
''Interested Parties:'' Freescale, Xilinx, WindRiver
+
** This shall be supported by providing simple examples for commonly needed functionality.
  
* There is interest from multiple parties in adding standardized tracing and profiling API's to TCF.
+
==Support CDT with the Target Explorer==
* Adding support for "perf" based profiling on Linux is being discussed.
+
 
+
==Collaborate with Linux Distro Builders==
+
 
''Interested Parties:'' Wind River
 
''Interested Parties:'' Wind River
  
* For widespread adoption, a TCF agent should come out-of-the-box with Yocto, Buildroot, Raspbian and potentially other Linux distros.
+
* Related to the "CDT LaunchBar" initiative, the CDT project has signaled interest in the TCF Target Explorer.
 +
** We want to support the CDT Community adopting Target Explorer
 +
** This may mean refactoring parts of TE in order to make it easier to consume
 +
** Also in line with the "easier to contribute" theme, ie make it easy for CDT committers to contribute patches if necessary.
  
==Collaborate with gdb and Multicore Association==
+
==Collaborate with Linux Distro Builders==
''Interested Parties:'' Wind River, Xilinx
+
 
+
* gdb is very strong thanks to its rich and well-known command-line and scripting support; but it has performance problems on multicore embedded systems since the "gdbserver" protocol is very limited. The gdb community is thinking about a new remote protocol. TCF seems to exactly match their needs. Collaboration should be considered.
+
 
+
* The [http://www.multicore-association.org/workgroup/tiwg.php Multicore Association TIWG] is working on a generic protocol for tooling. TCF seems to be a very good match for their needs. Continue exchange and collaboration.
+
 
+
==Further Improve Usability==
+
 
''Interested Parties:'' Wind River
 
''Interested Parties:'' Wind River
  
* We'll want to further improve the out-of-box experience and usability for TCF-based products.
+
* As it turned out that openembedded still references tcf-0.4 , we want to collaborate with Linux Distro builders helping them upgrade to a more recent version.
* Add more HOWTO's and out-of-box documentation instructions like the Raspberry Pi HOWTO
+
* Consider a pre-built package similar to the [https://github.com/mbats/eclipse-buildroot-bundle/wiki Buildroot Eclipse Tools Package]
+
* TCF is strong in language bindings and scripting. Provide more examples for how to use the TCF Python and Lua bindings.
+

Latest revision as of 05:26, 5 August 2016

TCF 1.3 DRAFT plan

TCF 1.3 has been released.
See the 1.3 New and Noteworthy and the TCF 1.3 Release Review.

See also the previous TCF/DraftPlan12, TCF/NewIn12 | Upcoming TCF/NewIn14, TCF/DraftPlan15


Compatibility

TCF 1.3 will release on the Eclipse Mars Simultaneous release. We will keep API's compatible:

  • TCF protocol must remain 100% compatible with TCF 1.2 (it's part of the TCF value proposition)
  • TCF Java API must remain 100% binary compatible with TCF 1.2 (we have clients coding against it)
  • TCF Python and C API should remain 100% compatible (we have clients but this is source compatibility so they can rebuild or use version checks)

Tested Operating Environments

  • Java 7 will be the Bundle-RequiredExecutionEnvironment for Java code.
  • We want to continue with an "N-1" dependency strategy in order to ease adoption:
    • This means, that during the Luna SR cycle 2014/15 (until Mars comes out), we want to support Luna (the "active" Eclipse) and Kepler SR2 (the stable Eclipse).
    • Primary: https://hudson.eclipse.org/tcf/ job against Eclipse 4.4 Luna + CDT 8.4 Luna + Java 7
    • Secondary: https://hudson.eclipse.org/tcf/ job against Eclipse 4.3.2 Kepler SR2 + CDT 8.3 Kepler SR2 + Java 7
    • Development: https://hudson.eclipse.org/tcf/ job against Eclipse 4.4.1 Luna SR1 + CDT 8.5 + Java 7
      • The "Development" validation is our obligation as part on the Eclipse Mars train. Luna SR1 will be replaced by 4.5 Mars during the year.
  • To be discussed:
    • Do we need any test job using Java 8 ? - Linuxtools project has reported that Jobs with Java 8 run faster.
    • Do we still need a test job against Eclipse 3.8.2 + CDT 8.3 ? - Note that CDT 8.4 only supports Eclipse 4.x

Obsoleted / Deprecated Functionality


Requirements and Dependencies

  • TCF 1.3 primary target will be CDT-8.4 on Eclipse 4.4 Luna
    • Eclipse 3.8 support will likely be dropped sine CDT-8.4 doesn't support Eclipse 3.x any more
    • Eclipse 4.2.2 may continue to be supported as the most recent Eclipse Platform LTS stream (bubble item: to be decided)


Proposed Themes

The Themes below only list current priorities that we want to focus on. More themes may be carried over from the TCF 1.2 Plan (TCF/DraftPlan12 in Wiki format).


Make it Easier to Contribute

Interested Parties: Wind River

  • The TCF Terminals Marketplace Listing has triggered quite some interest in the community, and a couple of bugs have been filed to improve usability of the local terminal.
    • We want to make it super easy for community members to contribute bug fixes or improvements to TCF, in order to ride the wave.

Improve Getting Started and API Documentation

Interested Parties: Wind River

  • We want to make it easier for 3rd parties to understand, and code against the TCF API's.
    • This shall be supported by providing simple examples for commonly needed functionality.

Support CDT with the Target Explorer

Interested Parties: Wind River

  • Related to the "CDT LaunchBar" initiative, the CDT project has signaled interest in the TCF Target Explorer.
    • We want to support the CDT Community adopting Target Explorer
    • This may mean refactoring parts of TE in order to make it easier to consume
    • Also in line with the "easier to contribute" theme, ie make it easy for CDT committers to contribute patches if necessary.

Collaborate with Linux Distro Builders

Interested Parties: Wind River

  • As it turned out that openembedded still references tcf-0.4 , we want to collaborate with Linux Distro builders helping them upgrade to a more recent version.

Back to the top