• New Feature
  • Status: Open
  • 1 Critical
  • Resolution:
  • prodmgmt
  • Reporter: steve
  • May 27, 2008
  • 0
  • Watchers: 0
  • March 19, 2010


We need to have clear API’s for TIM’s to talk to in order to have sane dependency management and simplify our release process.


Alex Miller 2008-06-23

What needs to be done is to provide a well-defined API that TIM implementors can use to:

  • provide programmatic configuration
  • replace classes
  • modify classes via adapter
  • etc

This API should be defined primarily as interfaces and should be as small as possible. The API should be published in a jar that can be used to compile TIMs. At runtime, the impls will of course be plugged in by stuff in tc.jar.

Minimizing the API and locking it down will allow us to publish an API that can stay relatively constant across releases, reducing the need to rev forge tims for every tc release. It also makes it easier to document and develop new TIMs as the API is easier to understand.