Jump to: navigation, search

Difference between revisions of "Kepler Project"

(Project-Plan Proposals)
 
(29 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
== Kepler Proposal Documents ==
 
== Kepler Proposal Documents ==
  
 +
* [[Media:KeplerCreationReview.pdf | Creation Review slides]] <big><b>Note: The Kepler Project has been Archived.</b></big>
 
* [http://www.eclipse.org/proposals/kepler/ Original Proposal]
 
* [http://www.eclipse.org/proposals/kepler/ Original Proposal]
 
* [[Kepler Working Proposal]]
 
* [[Kepler Working Proposal]]
 +
* [[Kepler Common Models Matrix]]
  
 
== Meetings ==
 
== Meetings ==
 
[[11.08.2006 Conference Call]]
 
  
 
== Project Plan ==
 
== Project Plan ==
  
[[Kepler Project Plan]]
+
[[Kepler Project Plan|Kepler Project Plan]]
  
== Common Project Model ==
+
== Architecture Overview ==
  
What follows is meant to be the beginnings of a discussion about what sorts of data elements different tools
+
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.)
 
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.
 
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? ===
  
=== Project-Model Reading List ===
+
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
 +
 
 +
=== An example ===
 +
 
 +
A Maven imported model (Apache commons-io) into the Kepler format
 +
 
 +
{{commons-io in Kepler}}
 +
 
 +
=== 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]]
 +
 
 +
== Presentations ==
 +
 
 +
The following are presentations that have been prepared for the Kepler project.
 +
 
 +
[[Media:KeplerProposals.pdf | DevZuz presentation on proposed collaboration model]]
 +
 
 +
[[Media:EclipseSummit2007.pdf | Presentation at the Eclise Summit 2007 Equinox Provisioning and Eclipse Server Side Symposium, Ludwisburg, Germany]]
 +
 
 +
== Upcoming Events ==
 +
 
 +
This will contain a list of events where Kepler project members will be talking about the project.
 +
 
 +
* Sep 25-26 [http://wiki.eclipse.org/Equinox_Summit_2007 Equinox Summit 2007], Ottawa, Canada. Integration with Equinox provisioning (p2)
 +
* Oct 10-11 [http://www.eclipsecon.org/summiteurope2007/ Eclipse Summit Europe 2007], Ludwisburg, Germany
 +
* Nov 26-30 [http://ossummit.com/ OSSummit], Hong Kong, China
 +
 
 +
 
 +
== Bug Reports/Enhancement Requests with Requirements Info ==
 +
 
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=167013 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
 
Below is a list of some other project models being used in the world. Though not exhaustive, these may lend some
Line 28: Line 88:
 
* [http://maven.apache.org/ref/current/maven-model/ Apache Maven's Project Object Model (POM)]   
 
* [http://maven.apache.org/ref/current/maven-model/ Apache Maven's Project Object Model (POM)]   
 
** [http://maven.apache.org/maven-v4_0_0.xsd Apache Maven's XML Schema].  '''Note''':  Scott Lewis has created an EMF-based model from this schema.
 
** [http://maven.apache.org/maven-v4_0_0.xsd Apache Maven's XML Schema].  '''Note''':  Scott Lewis has created an EMF-based model from this schema.
 +
* [[Installable Units]] Equinox p2 installable units
 
* [[Buckminster Component Specification]]
 
* [[Buckminster Component Specification]]
 
* [http://usefulinc.com/doap Description of a Project (DOAP)] ''(See also: http://en.wikipedia.org/wiki/DOAP)''
 
* [http://usefulinc.com/doap Description of a Project (DOAP)] ''(See also: http://en.wikipedia.org/wiki/DOAP)''
 
* [http://gump.apache.org/metadata/index.html Gump Object Model]
 
* [http://gump.apache.org/metadata/index.html Gump Object Model]
 +
 +
* [http://q4e.googlecode.com/svn/trunk/docs/Q.odp Q4E Maven for Eclipse]
 +
 +
== Getting involved ==
 +
 +
Please join us at the eclipse.technology.kepler newsgroup in the news.eclipse.org server
 +
 +
[http://www.eclipse.org/newsgroups/ More information about Eclipse newsgroups]

Latest revision as of 17:45, 1 February 2012

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

An example

A Maven imported model (Apache commons-io) into the Kepler format

<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>

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

Presentations

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

DevZuz presentation on proposed collaboration model

Presentation at the Eclise Summit 2007 Equinox Provisioning and Eclipse Server Side Symposium, Ludwisburg, Germany

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.

Getting involved

Please join us at the eclipse.technology.kepler newsgroup in the news.eclipse.org server

More information about Eclipse newsgroups