Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[] Eclipse Project input to architecture

The Eclipse Project has four subprojects:
        Equinox - OSGi framework implementation and component model
        Platform - Provides frameworks and common services that other projects at build on.  Depends on Equinox
        JDT - The Java Development Tools project. (The Java IDE) Depends on Platform
        PDE - The Plugin Development Environment (The IDE for creating Eclipse plugins). Depends on JDT

Looking into how the plug-ins are arranged into features:

        org.eclipse.rcp (requires no other features, includes all of the plugins that form the Eclipse RCP)
        org.eclipse.platform (requires no other features, includes all of the plugins that form the base for jdt and pde)
        org.eclipse.jdt        (requires platform, includes all of the java development tools plugins)
        org.eclipse.pde        (requires platform and jdt, includes all of the plug-in development environment plug-ins)

        *.*.*.source        provides the matching source code
        org.eclipse.sdk (requires pde, jdt, platform, pde-source, jdt-source and platform-source features)

In terms of how plug-ins are organized, we typically organize them into core and ui and also use .internal to call out plugins that do not expose API to outsiders. We use this naming scheme to avoid introducing dependencies between code which should be able to run without a user interface (aka headless), or for which you may want to create alternate interfaces from other plug-ins.

Here is a list of the key elements of each subproject:

        Platform (Note, the Equinox project just moved into the Eclipse Project after 3.1 was shipped this is the list for the 3.1 version of the projects)
                .ant                - Core support for Ant integration
                .compare         - Extensible compare infrastructure
                .core.*                - The non-ui portion of the platform
                .cvs                - CVS integration (requires generic team support in the .team plugin)
                .debug                - Extensible debug infrastructure (has a .core/.ui split)
                .help.*                - Extensible help infrastructure
                .jface.*                - JFace UI frameworks
                .ltk.*                - LTK plugins, e.g has support to make refactoring more general
                .osgi.*                - The OSGi implementation
                .search                - Extensible search infrastructure
                .swt.*                - The Standard Widget Toolkit
                .team.*                - Extensible team tool integration plugins
                .text                - Extensible text editing support
                .ui.*                - The UI frameworks
                .update.*        - Eclipse Update plugins
                .apt                Java 5.0 annotation processing infrastructure
                .core                Java IDE headless infrastructure
                .debug                Debug support for Java
                .ui                Java IDE User interface

                .build                Automated build infrastructure used to build plug-ins        
                .ui                The plug-in development environment

Back to the top