Jump to: navigation, search

TPTP Build Tools

The TPTP project has a collection of tools to generate information useful for release managers or project leads to visualize the contents of each release, and provide developers with information about API usage and problems with the their plugins.

Here are some release engineering tasks:

Displaying Release Information

  • Display the organization of the project - project components and their associated plugins and committers.
  • Release information is captured in release XML files, and HTML reports can be generated to display project information on the web site.
  • Example: TPTP project matrix
  • See Release XML wiki for information of release XML

Report on release contents

  • Most eclipse projects deliver eclipse features and plugins. There are many details about the configuration of features and plugins. TPTP has a tool that generates a report with the information of the features and plugins of a release. The tools can be run every build to provide an up-to-date report. The information provided by the report include:
    • list of features
    • list of plugins
    • the nested structure of features
    • ID of features and plugins
    • how plugins are packaged - in jar files or in directory structures
    • dependencies of each feature and plugins
    • the sub-features and plugins of each feature
    • the parent feature of each plugin
  • The report provide these information in an HTML report, without the need of installing the project.
  • Example: Featuredoc for TPTP 4.2.1 (http://download.eclipse.org/tptp/4.2.1/TPTP-4.2.1-200609071820D/featuredoc/)
  • Code of the featuredoc is availabe in TPTP CVS (repository: dev.eclipse.org:/cvsroot/tptp, path: platform/org.eclipse.tptp.platform.releng.tools)
  • Usage of the program:
usage: java org.eclipse.tptp.platform.releng.tools.FeatureDoc <eclipse_home> <features> <outputDir> <project_name> <show_osgi_stat>
  eclipse_home: install directory of eclipse
  features: list of feature directory names (featureId_version) separated by commas
  outputDir: output directory
  project_name: name of the project. (Enclose project name with double quotes if there are more than one word.)
  show_osgi_stat: yes or no; show whether plugins have manifest.mf file and packaged as jar file

API Tracking

Plugin Version Number Tracking

Report on Internal API Usage

Checking Copyright statements

  • Finding files with missing copyright statements
  • Finding files with incorrect copyright years
  • Finding all copyright statements in the code

Find CVS activities of each build

Notify plugin owners when a plugins fails in the compilation