Jump to: navigation, search

Kepler Project

Revision as of 11:57, 9 October 2007 by Brett.apache.org (Talk | contribs)

Kepler Proposal Documents

Meetings

Project Plan

Kepler Project Plan

Architecture Overview

The following links are to documentation on the overall architecture for the Kepler project.

Proposed Kepler Architecture

Collaboration Model

What follows is 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.

Proposed Kepler Collaboration Model Structure

I use Eclipse to develop, how does Kepler benefit me?

Think how many plugins you have to configure for each project, if you use a source control manager like SVN or CVS, if you want to use an issue tracking system, or build with external tools like Ant or Maven, and even worse if you have different configurations as the JDK version.

What can we do to alleviate this pain? By autoconfiguring several Eclipse plugins so you don't have to.

  • Mylyn with the issue tracking system information
  • JDT with build information like JDK version, source folders, dependencies,...
  • Buckminster with dependency information
  • Maven for build integration

My developers use Eclipse, why should I talk to them about Kepler?

Imagine they use a project, open source or from another department and they hit a problem. They could instantaneously know what is the mailing list for the project, or who are the developers and their contact information.

How many times did you wanted to track information about a project and ended with an Excel spreadsheet or a text document? Formalize that into a Kepler facet and you'll be able to use that information in a structured way, index it, search,... be organized


Kepler and Equinox provisioning

A Kepler model can be generated from Eclipse plugins. Equinox provisioning (p2) can also generate metadata for provisioning from Eclipse plugins.

These two examples will show how both look like:

org.eclipse.jdt.junit in Kepler - org.eclipse.jdt.junit in P2

org.eclipse.equinox.common in Kepler - org.eclipse.equinox.common in P2

<model:project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:licensing="http://www.eclipse.org/kepler/project/model/release/facet/licensing"
    xmlns:mailinglist="http://www.eclipse.org/kepler/project/model/facet/mailinglist"
    xmlns:mavenidentifiers="http://www.eclipse.org/kepler/project/model/facet/mavenidentifiers"
    xmlns:mavenproperties="http://www.eclipse.org/kepler/project/model/release/facet/mavenproperties"
    xmlns:model="http://www.eclipse.org/kepler/project/model" xmlns:organization="http://www.eclipse.org/kepler/project/model/facet/organization"
    xmlns:participants="http://www.eclipse.org/kepler/project/model/facet/participants"
    xmlns:sources="http://www.eclipse.org/kepler/project/model/release/facet/sources">
  <model:id>commons-io.commons-io</model:id>
  <model:name>IO</model:name>
  <model:description>Commons-IO contains utility classes, stream implementations, file filters, and endian classes.</model:description>
  <model:release>
    <model:id>1.3.1</model:id>
    <model:facet xsi:type="mavenproperties:mavenProperties">
      <model:created>2007-10-01T14:28:10.000+08:00</model:created>
      <mavenproperties:packaging>jar</mavenproperties:packaging>
      <mavenproperties:modelVersion>4.0.0</mavenproperties:modelVersion>
    </model:facet>
    <model:facet xsi:type="licensing:licenses">
      <model:created>2007-10-01T14:28:10.000+08:00</model:created>
      <licensing:license>
        <licensing:name>The Apache Software License, Version 2.0</licensing:name>
      </licensing:license>
    </model:facet>
    <model:facet xsi:type="sources:sourceStructure">
      <model:created>2007-10-01T14:28:10.000+08:00</model:created>
      <sources:sourceDirectory directoryPath="src/java"/>
      <sources:testDirectory directoryPath="src/test"/>
    </model:facet>
    <model:relationships>
      <model:relationship xsi:type="model:artifactRelationship">
        <model:optional>false</model:optional>
        <model:specifier>test</model:specifier>
        <model:projectId>junit.junit</model:projectId>
        <model:releaseId>3.8.1</model:releaseId>
        <model:artifactId>junit-3.8.1.jar</model:artifactId>
      </model:relationship>
    </model:relationships>
    <model:artifacts>
      <model:artifact>
        <model:id>commons-io-1.3.1.jar</model:id>
        <model:checksum>2e55c05d3386889af97caae4517ac9df</model:checksum>
        <model:timestamp>2007-10-01T14:38:09.000+08:00</model:timestamp>
      </model:artifact>
      <model:artifact>
        <model:id>commons-io-1.3.1.pom</model:id>
        <model:checksum>e3a7d29f7784a5b151cc40fe8a7270a9</model:checksum>
        <model:timestamp>2007-10-01T14:28:10.000+08:00</model:timestamp>
      </model:artifact>
    </model:artifacts>
  </model:release>
  <model:facet xsi:type="mavenidentifiers:mavenIdentifiers">
    <mavenidentifiers:groupId>commons-io</mavenidentifiers:groupId>
    <mavenidentifiers:artifactId>commons-io</mavenidentifiers:artifactId>
  </model:facet>
  <model:facet xsi:type="mailinglist:mailingLists">
    <mailinglist:mailingList>
      <mailinglist:name>Commons Dev List</mailinglist:name>
      <mailinglist:unsubscribeEmailAddress>commons-dev-unsubscribe@jakarta.apache.org</mailinglist:unsubscribeEmailAddress>
      <mailinglist:archiveUrl>http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev/</mailinglist:archiveUrl>
    </mailinglist:mailingList>
    <mailinglist:mailingList>
      <mailinglist:name>Commons User List</mailinglist:name>
      <mailinglist:unsubscribeEmailAddress>commons-user-unsubscribe@jakarta.apache.org</mailinglist:unsubscribeEmailAddress>
      <mailinglist:archiveUrl>http://mail-archives.apache.org/mod_mbox/jakarta-commons-user/</mailinglist:archiveUrl>
    </mailinglist:mailingList>
  </model:facet>
  <model:facet xsi:type="organization:organization">
    <organization:name>The Apache Software Foundation</organization:name>
    <organization:websiteUrl>http://jakarta.apache.org</organization:websiteUrl>
  </model:facet>
  <model:facet xsi:type="participants:participants">
    <participants:developer>
      <participants:id>sanders</participants:id>
      <participants:name>Scott Sanders</participants:name>
      <participants:emailAddress>sanders@apache.org</participants:emailAddress>
    </participants:developer>
    <participants:developer>
      <participants:id>dion</participants:id>
      <participants:name>dIon Gillard</participants:name>
      <participants:emailAddress>dion@apache.org</participants:emailAddress>
    </participants:developer>
    <participants:developer>
      <participants:id>nicolaken</participants:id>
      <participants:name>Nicola Ken Barozzi</participants:name>
      <participants:emailAddress>nicolaken@apache.org</participants:emailAddress>
    </participants:developer>
    <participants:developer>
      <participants:id>bayard</participants:id>
      <participants:name>Henri Yandell</participants:name>
      <participants:emailAddress>bayard@apache.org</participants:emailAddress>
    </participants:developer>
    <participants:developer>
      <participants:id>scolebourne</participants:id>
      <participants:name>Stephen Colebourne</participants:name>
      <participants:timezone>0</participants:timezone>
    </participants:developer>
    <participants:developer>
      <participants:id>jeremias</participants:id>
      <participants:name>Jeremias Maerki</participants:name>
      <participants:emailAddress>jeremias@apache.org</participants:emailAddress>
      <participants:timezone>+1</participants:timezone>
    </participants:developer>
    <participants:developer>
      <participants:id>matth</participants:id>
      <participants:name>Matthew Hawthorne</participants:name>
      <participants:emailAddress>matth@apache.org</participants:emailAddress>
    </participants:developer>
    <participants:developer>
      <participants:id>martinc</participants:id>
      <participants:name>Martin Cooper</participants:name>
      <participants:emailAddress>martinc@apache.org</participants:emailAddress>
    </participants:developer>
    <participants:developer>
      <participants:id>roxspring</participants:id>
      <participants:name>Rob Oxspring</participants:name>
      <participants:emailAddress>roxspring@apache.org</participants:emailAddress>
    </participants:developer>
    <participants:contributor>
      <participants:name>Rahul Akolkar</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Jason Anderson</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Nathan Beyer</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Emmanuel Bourg</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Chris Eldredge</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Magnus Grimsell</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Jim Harrington</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Holger Hoffstatte</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Thomas Ledoux</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Andy Lehane</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Marcelo Liberato</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Alban Peignier</participants:name>
      <participants:emailAddress>alban.peignier at free.fr</participants:emailAddress>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Niall Pemberton</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Ian Springer</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Masato Tezuka</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>James Urie</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Jochen Wiedmann</participants:name>
    </participants:contributor>
    <participants:contributor>
      <participants:name>Frank W. Zammetti</participants:name>
    </participants:contributor>
  </model:facet>
</model:project>
- A Maven imported model into the Kepler format

Presentations

The following are presentations that have been prepared for the Kepler project.

DevZuz presentation on proposed collaboration model - File:KeplerProposals.pdf

Upcoming Events

This will contain a list of events where Kepler project members will be talking about the project.


Bug Reports/Enhancement Requests with Requirements Info

PDE-generate a ready to use headless pde build

Project-Model Reading List

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.