Kepler Proposal Documents
Common Project Model
What follows is meant to be the beginnings of a discussion about what sorts of data elements different tools look for in their project model. The goal here is to identify and exploit overlaps between Kepler and other Eclipse projects, in order to have a common API and set of providers to adapt external project information into the system. (By external project information I mean project data that doesn't originate within the specific Eclipse project in question, and is not therefore in a "native" format.)
If you have more information on this topic, please feel free to expand on what's already here. We're attempting to find a way to make a unified, extensible project model for general consumption...so we're going to need a lot of input.
Below is a list of some other project models being used in the world. Though not exhaustive, these may lend some insight into good practices for modeling a software project.
- Apache Maven's Project Object Model (POM)
- Apache Maven's XML Schema. Note: Scott Lewis has created an EMF-based model from this schema.
- Buckminster Component Specification
- Description of a Project (DOAP) (See also: http://en.wikipedia.org/wiki/DOAP)
- Gump Object Model
Project Data Elements
|Unique project ID||Y||?||?||?|
|Project version information||Y||?||?||?|
|Base-path of project on filesystem||Y||?||?||?|
|Dependency metadata (project ID, version, etc.)||Y||?||?||?|
|Configuration for project builds (indication of build tool, non-default build configuration, etc.)||Y||?||?||?|
|Community interaction metadata (mailing list info, website URL, etc.)||Y||?||?||?|
|Development infrastructure metadata (build server URL, etc.)||Y||?||?||?|