SlideShare a Scribd company logo
1 of 33
PDE State of the Union

                                                                Chris Aniszczyk (EclipseSource)
                                                                                     zx@eclipsesource.com

                                                                                    Andrew Niefer (IBM)
                                                                                       aniefer@ca.ibm.com

                                                                                     Darin Wright (IBM)
                                                                                Darin_Wright@ca.ibm.com



                            Confidential | Date | Other Information, if necessary
March 25th, 2009
                                                                                                © 2002 IBM Corporation

Wednesday, March 25, 2009
Agenda
          •   API Tools
          •   UI
          •   Build
          •   The Future




                    PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Agenda
          •   API Tools
          •   UI
          •   Build
          •   The Future




                    PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Ideal Release Equation

           Developer: Compatibility (producer)

                                                                     +

                Client: Honor API contract (consumer)

                                                                     =

                                               Free migration

       4            PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
The Ideal Never Happens...

                      Developer: (features + deprecation +
                     Optional extensions to existing features +
                               Replacement API +
                                 Provisional API)

                                                                     +
                              Client: Illegal internal references

                                                                     =
                                               Migration at a cost
       5            PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
API Compatibility

           •Assist developer with mechanics of API evolution
            • developers document APIs with restrictions (Javadoc tags)
           •API Tooling identifies:
               • binary compatibility issues
               • breaking API changes, API changes after freeze
               • API leaks
           •Suggests bundle version numbers
           •Inserts and validates @since tags




       6            PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
API Consumption

           •API descriptions are shipped with bundles
           •Assist client's task of honoring API contracts
           • tell them when they break the rules of engagement




       7            PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
API Tools in Build and IDE

           •Analysis engine
               •Runs without OSGi or a workspace
               •Runs in engineering build (via ant tasks)
               •Runs in workspace (via builder)
           •Inputs
               •bundles
               •baseline
               •problem filters
           •Outputs
               •problems



       8            PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Infrastructure Enhancements

           •Test Suite
               •Built a large regression test suite (>2000 tests)
               •Found and fixed a lot of bugs (>200)
               •Developed performance tests
           •Improved
               •Analysis of split bundles (compare > compare.core)
               •API leak analysis (reduced false positives)
               •Performance of incremental build (in progress)




       9            PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
System Library Validation

        Validate system library use based on a bundle's
        required execution environment (BREE)
            • if a bundle claims to run on J2SE-1.4, access to members
              in J2SE-1.5 and higher are flagged as illegal




        API tooling provides descriptions
            • install description fragments
            • J2SE-1.5 description is 1.35 MB



       10           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
API Usage Scans

        •A producer centric view of APIs used by components
               •Find out which parts of your API are consumed by others
               •Set up scans for cross sections. E.g. what are the
               references between WTP and the SDK?




       11           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Who is {ab}using JDT?




       12           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Why API Usage Scans?

        API producers can see what internals are being used
            •   Inform clients how to use proper API
            •   Determine what new API needs to be added
            •   Know what clients will be broken
            •   Avoid breaking internals until clients have migrated

        Future Directions?
            • Consumers provide producers with API use scan
            • Tooling warns when producer breaks a dependency
            • Central registry of API use scans




       13           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Agenda
          •   API Tools
          •   UI
          •   Build
          •   The Future




                    PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Target Definitions

        A fundamental task of PDE is to manage the set of
        plug-ins (bundles) that the workspace is compiled and
        run against

            • Provisional API for target definitions
            • Compose target with various bundle sources
                    installations vs. directories
                o
                    features
                o
                    set of installable units from an update sites/p2
                o
                    repositories
            • Leveraging the API within PDE
                    an API baseline is just a target definition
                o
                    plug-in import
                o

       15           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Target Definition User Interface

            • Instead of having one target platform, the user can
              manage a set of target definitions and switch
              between them

            • Targets definitions are backed by files in the
              metadata or workspace

            • Preference page sets workspace's active target
              and provides wizards to create/edit targets

            • Users can modify target definitions using an editor


       16           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Manage Target Definitions




       17           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Edit Target Definitions




       18           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Start Levels




       19           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Declarative Services Tooling

            • OSGi Declarative Services in Eclipse 3.5
            • PDE provides DS Tooling




       20           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Product Definition Enhancements

            •   Versions
            •   License
            •   Start levels
            •   Properties
            •   Optional Product Extension




       21           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Plug-in Export Enhancements

        Export and install into running platform
            • build and export plug-ins and install them into the running host
            • replaces the old quot;export, copy, paste, delete, restartquot; slam technique

        Export existing class files from workspace
            • avoid re-compiling

        Generate source bundles

        Keypass support




       22           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Plug-in Export and p2 Metadata

        Export with metadata
            • Current support uses 3.4 metadata generator (binary jars)
            • Coming in 3.5 metadata support using p2 publisher (source)

        Exporting Products
            • Coming in 3.5, product export with metadata will perform a director
              install to get a fully p2 enabled product.




       23           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Agenda
          •   API Tools
          •   UI
          •   Build
          •   The Future




                    PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Build and p2

        Building with p2: quot;p2.gathering=truequot;
            •   Supports publishing from source by gathering compile results
            •   Feature builds result in a p2 repository
            •   Product builds result in a installed p2 enabled product (or repo)
            •   Consume zips of repositories in your build via transformed repos

        p2 releng tools
            • Process artifact repositories
            • Sign, perform pack200 processing
            • Mirror tools:
               o Mirror using a baseline to keep pre-existing binaries.
               o Use a comparator to detect differences against pre-existing
                 binaries.



       25           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Sorting Dependencies

        In Eclipse 3.4 and earlier, compilation is done via the feature hierarchy
         • Features are visited depth-first.
         • Within a given feature, plug-ins are compiled in dependency order
         • Required careful management of feature hierarchy

        In Eclipse 3.5, we can sort bundles according to dependencies
         • parallelCompilation=true
         • flattenDependencies=true

            <project name=quot;Compile masterquot; default=quot;mainquot;>
               <target name=quot;mainquot;>
                  <parallel threadsPerProcessor='3'>
                     <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.junit4quot; target=quot;build.jarsquot;/>
                     <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.rcpquot; target=quot;build.jarsquot;/>
                     <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.osgiquot; target=quot;build.jarsquot;/>
                  </parallel>
                  <parallel threadsPerProcessor='3'>
                     <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.jdt.junit4.runtimequot; target=quot;build.jarsquot;/>
                     <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.jdt.doc.userquot; target=quot;build.jarsquot;/>
                     <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.jdt.doc.isvquot; target=quot;build.jarsquot;/>
                  </parallel>
                  ....




       26           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
More Build Improvements

            • Performance Improvements
                    reusing .class files from the workspace
                o
                    avoiding some copying while building plug-ins
                o
                    publishing to a p2 repository directly from source
                o


            • Signing with Keypass

            • Per Feature Individual Source Bundles

            • Product build improvements

            • Custom Execution Environments




       27            PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Agenda
          •   API Tools
          •   UI
          •   Build
          •   The Future




                    PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
API Tooling

            • API comparison views/reports
                    show me the API changes between two releases
                o
            • Determine compatible version ranges
                    of require bundles
                o
                    as dependencies are introduced/removed
                o
                    which versions satisfy my set of references
                o
            • Analyze pure Java projects
                    need a way to specify package visibility (API descriptions)
                o
                    JSR 277 - Java Module System
                o
            • Tighter integration with Java builder
                    feed a fine grained set of access rules to the Java compiler
                o
            • Package level versioning
                    agree on a versioning specification
                o
            • Analyze extension points & extensions
       29           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Target Management

        Support target platform per project in the workspace
            • share target definition on classpath with team
            • share API baseline on a classpath with team

        API to compose/manipulate targets

        Support provisioned targets via repositories
            • bundles are actually installed into target (using p2)
            • has a managed profile
            • running/debugging installs workspace bundles and leverages OSGi
              framework to perform launch

        Unify target concepts/implementation
            • target platform, launch configs, products all have similar information
       30           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Build

            • Exporting p2 from the UI
            • Further Integration with p2
                    Improved fetching from p2 repositories
                o
                    Improved Reuse of p2 metadata
                o
                    Publishing p2 products
                o
                    Repository management tools
                o


        The perennial favorites:
            • Incremental building ?
            • Workspace integration ?




       31           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
OSGi and Community Building

        We aren't alone in the bundle tooling world!

        No reason to reinvent the wheel!

        PDE is attending the OSGi Tool Summit on Friday




       32           PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009
Thank you for your attention!

          • Questions and feedback welcome!


                                                                             Chris Aniszczyk (EclipseSource)
                                                                                                     zx@eclipsesource.com

                                                                                                    Andrew Niefer (IBM)
                                                                                                         aniefer@ca.ibm.com

                                                                                                       Darin Wright (IBM)
                                                                                                darin_wright@ca.ibm.com




                    PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0

Wednesday, March 25, 2009

More Related Content

Similar to PDE State Of The Union

A glimpse-of-cbd
A glimpse-of-cbdA glimpse-of-cbd
A glimpse-of-cbdscuffio
 
Whats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ HargraveWhats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ Hargravemfrancis
 
Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
Android and OSGi Can They Work Together - BJ Hargrave & Neil BartlettAndroid and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlettmfrancis
 
Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?Olivier Thomann
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform WorkspaceTomasz Zarna
 
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual StudioFive Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studioreadwritehack
 
19 designing for_nf_ps
19 designing for_nf_ps19 designing for_nf_ps
19 designing for_nf_psMajong DevJfu
 
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...AppDynamics
 
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...Bruce Elgort
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesIBM Rational software
 
NPR API: Create Once Publish Everywhere
NPR API: Create Once Publish EverywhereNPR API: Create Once Publish Everywhere
NPR API: Create Once Publish Everywherezachbrand
 
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) – Automotive
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) – AutomotiveUnlock Your CAD Data for Real-Time Development (Unity+PiXYZ) – Automotive
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) – AutomotiveUnity Technologies
 
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) - AEC
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) - AECUnlock Your CAD Data for Real-Time Development (Unity+PiXYZ) - AEC
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) - AECUnity Technologies
 
CI/CD for Containers: A Way Forward for Your DevOps Pipeline
CI/CD for Containers: A Way Forward for Your DevOps PipelineCI/CD for Containers: A Way Forward for Your DevOps Pipeline
CI/CD for Containers: A Way Forward for Your DevOps PipelineAmazon Web Services
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather ReportThe Linux Foundation
 
Collaborative and agile development of mobile applications
Collaborative and agile development of mobile applicationsCollaborative and agile development of mobile applications
Collaborative and agile development of mobile applicationsAyushman Jain
 

Similar to PDE State Of The Union (20)

API Tooling in Eclipse
API Tooling in EclipseAPI Tooling in Eclipse
API Tooling in Eclipse
 
A glimpse-of-cbd
A glimpse-of-cbdA glimpse-of-cbd
A glimpse-of-cbd
 
Whats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ HargraveWhats Next for OSGi? - BJ Hargrave
Whats Next for OSGi? - BJ Hargrave
 
Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
Android and OSGi Can They Work Together - BJ Hargrave & Neil BartlettAndroid and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
 
PCF vs Canvas Apps
PCF vs Canvas AppsPCF vs Canvas Apps
PCF vs Canvas Apps
 
Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform Workspace
 
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual StudioFive Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
 
19 designing for_nf_ps
19 designing for_nf_ps19 designing for_nf_ps
19 designing for_nf_ps
 
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
 
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
All About Jazz Team Server Technology
All About Jazz Team Server TechnologyAll About Jazz Team Server Technology
All About Jazz Team Server Technology
 
Overview
OverviewOverview
Overview
 
NPR API: Create Once Publish Everywhere
NPR API: Create Once Publish EverywhereNPR API: Create Once Publish Everywhere
NPR API: Create Once Publish Everywhere
 
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) – Automotive
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) – AutomotiveUnlock Your CAD Data for Real-Time Development (Unity+PiXYZ) – Automotive
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) – Automotive
 
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) - AEC
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) - AECUnlock Your CAD Data for Real-Time Development (Unity+PiXYZ) - AEC
Unlock Your CAD Data for Real-Time Development (Unity+PiXYZ) - AEC
 
CI/CD for Containers: A Way Forward for Your DevOps Pipeline
CI/CD for Containers: A Way Forward for Your DevOps PipelineCI/CD for Containers: A Way Forward for Your DevOps Pipeline
CI/CD for Containers: A Way Forward for Your DevOps Pipeline
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
Collaborative and agile development of mobile applications
Collaborative and agile development of mobile applicationsCollaborative and agile development of mobile applications
Collaborative and agile development of mobile applications
 

More from Chris Aniszczyk

Bringing an open source project to the Linux Foundation
Bringing an open source project to the Linux FoundationBringing an open source project to the Linux Foundation
Bringing an open source project to the Linux FoundationChris Aniszczyk
 
Starting an Open Source Program Office (OSPO)
Starting an Open Source Program Office (OSPO)Starting an Open Source Program Office (OSPO)
Starting an Open Source Program Office (OSPO)Chris Aniszczyk
 
Open Container Initiative Update
Open Container Initiative UpdateOpen Container Initiative Update
Open Container Initiative UpdateChris Aniszczyk
 
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Chris Aniszczyk
 
Rise of Open Source Programs
Rise of Open Source ProgramsRise of Open Source Programs
Rise of Open Source ProgramsChris Aniszczyk
 
The Open Container Initiative (OCI) at 12 months
The Open Container Initiative (OCI) at 12 monthsThe Open Container Initiative (OCI) at 12 months
The Open Container Initiative (OCI) at 12 monthsChris Aniszczyk
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupChris Aniszczyk
 
Getting Students Involved in Open Source
Getting Students Involved in Open SourceGetting Students Involved in Open Source
Getting Students Involved in Open SourceChris Aniszczyk
 
Life at Twitter + Career Advice for Students
Life at Twitter + Career Advice for StudentsLife at Twitter + Career Advice for Students
Life at Twitter + Career Advice for StudentsChris Aniszczyk
 
Creating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from TwitterCreating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from TwitterChris Aniszczyk
 
The Open Source... Behind the Tweets
The Open Source... Behind the TweetsThe Open Source... Behind the Tweets
The Open Source... Behind the TweetsChris Aniszczyk
 
Apache Mesos at Twitter (Texas LinuxFest 2014)
Apache Mesos at Twitter (Texas LinuxFest 2014)Apache Mesos at Twitter (Texas LinuxFest 2014)
Apache Mesos at Twitter (Texas LinuxFest 2014)Chris Aniszczyk
 
Evolution of The Twitter Stack
Evolution of The Twitter StackEvolution of The Twitter Stack
Evolution of The Twitter StackChris Aniszczyk
 
Open Source Craft at Twitter
Open Source Craft at TwitterOpen Source Craft at Twitter
Open Source Craft at TwitterChris Aniszczyk
 
Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at TwitterChris Aniszczyk
 
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and HudsonEffective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and HudsonChris Aniszczyk
 
Effective Git with Eclipse
Effective Git with EclipseEffective Git with Eclipse
Effective Git with EclipseChris Aniszczyk
 
Evolution of Version Control In Open Source
Evolution of Version Control In Open SourceEvolution of Version Control In Open Source
Evolution of Version Control In Open SourceChris Aniszczyk
 
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseChris Aniszczyk
 

More from Chris Aniszczyk (20)

Bringing an open source project to the Linux Foundation
Bringing an open source project to the Linux FoundationBringing an open source project to the Linux Foundation
Bringing an open source project to the Linux Foundation
 
Starting an Open Source Program Office (OSPO)
Starting an Open Source Program Office (OSPO)Starting an Open Source Program Office (OSPO)
Starting an Open Source Program Office (OSPO)
 
Open Container Initiative Update
Open Container Initiative UpdateOpen Container Initiative Update
Open Container Initiative Update
 
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
 
Rise of Open Source Programs
Rise of Open Source ProgramsRise of Open Source Programs
Rise of Open Source Programs
 
The Open Container Initiative (OCI) at 12 months
The Open Container Initiative (OCI) at 12 monthsThe Open Container Initiative (OCI) at 12 months
The Open Container Initiative (OCI) at 12 months
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Getting Students Involved in Open Source
Getting Students Involved in Open SourceGetting Students Involved in Open Source
Getting Students Involved in Open Source
 
Life at Twitter + Career Advice for Students
Life at Twitter + Career Advice for StudentsLife at Twitter + Career Advice for Students
Life at Twitter + Career Advice for Students
 
Creating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from TwitterCreating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from Twitter
 
The Open Source... Behind the Tweets
The Open Source... Behind the TweetsThe Open Source... Behind the Tweets
The Open Source... Behind the Tweets
 
Apache Mesos at Twitter (Texas LinuxFest 2014)
Apache Mesos at Twitter (Texas LinuxFest 2014)Apache Mesos at Twitter (Texas LinuxFest 2014)
Apache Mesos at Twitter (Texas LinuxFest 2014)
 
Evolution of The Twitter Stack
Evolution of The Twitter StackEvolution of The Twitter Stack
Evolution of The Twitter Stack
 
Open Source Craft at Twitter
Open Source Craft at TwitterOpen Source Craft at Twitter
Open Source Craft at Twitter
 
Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at Twitter
 
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and HudsonEffective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
 
Effective Git with Eclipse
Effective Git with EclipseEffective Git with Eclipse
Effective Git with Eclipse
 
Evolution of Version Control In Open Source
Evolution of Version Control In Open SourceEvolution of Version Control In Open Source
Evolution of Version Control In Open Source
 
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseESE 2010: Using Git in Eclipse
ESE 2010: Using Git in Eclipse
 
SWTBot Tutorial
SWTBot TutorialSWTBot Tutorial
SWTBot Tutorial
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

PDE State Of The Union

  • 1. PDE State of the Union Chris Aniszczyk (EclipseSource) zx@eclipsesource.com Andrew Niefer (IBM) aniefer@ca.ibm.com Darin Wright (IBM) Darin_Wright@ca.ibm.com Confidential | Date | Other Information, if necessary March 25th, 2009 © 2002 IBM Corporation Wednesday, March 25, 2009
  • 2. Agenda • API Tools • UI • Build • The Future PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 3. Agenda • API Tools • UI • Build • The Future PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 4. Ideal Release Equation Developer: Compatibility (producer) + Client: Honor API contract (consumer) = Free migration 4 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 5. The Ideal Never Happens... Developer: (features + deprecation + Optional extensions to existing features + Replacement API + Provisional API) + Client: Illegal internal references = Migration at a cost 5 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 6. API Compatibility •Assist developer with mechanics of API evolution • developers document APIs with restrictions (Javadoc tags) •API Tooling identifies: • binary compatibility issues • breaking API changes, API changes after freeze • API leaks •Suggests bundle version numbers •Inserts and validates @since tags 6 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 7. API Consumption •API descriptions are shipped with bundles •Assist client's task of honoring API contracts • tell them when they break the rules of engagement 7 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 8. API Tools in Build and IDE •Analysis engine •Runs without OSGi or a workspace •Runs in engineering build (via ant tasks) •Runs in workspace (via builder) •Inputs •bundles •baseline •problem filters •Outputs •problems 8 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 9. Infrastructure Enhancements •Test Suite •Built a large regression test suite (>2000 tests) •Found and fixed a lot of bugs (>200) •Developed performance tests •Improved •Analysis of split bundles (compare > compare.core) •API leak analysis (reduced false positives) •Performance of incremental build (in progress) 9 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 10. System Library Validation Validate system library use based on a bundle's required execution environment (BREE) • if a bundle claims to run on J2SE-1.4, access to members in J2SE-1.5 and higher are flagged as illegal API tooling provides descriptions • install description fragments • J2SE-1.5 description is 1.35 MB 10 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 11. API Usage Scans •A producer centric view of APIs used by components •Find out which parts of your API are consumed by others •Set up scans for cross sections. E.g. what are the references between WTP and the SDK? 11 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 12. Who is {ab}using JDT? 12 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 13. Why API Usage Scans? API producers can see what internals are being used • Inform clients how to use proper API • Determine what new API needs to be added • Know what clients will be broken • Avoid breaking internals until clients have migrated Future Directions? • Consumers provide producers with API use scan • Tooling warns when producer breaks a dependency • Central registry of API use scans 13 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 14. Agenda • API Tools • UI • Build • The Future PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 15. Target Definitions A fundamental task of PDE is to manage the set of plug-ins (bundles) that the workspace is compiled and run against • Provisional API for target definitions • Compose target with various bundle sources installations vs. directories o features o set of installable units from an update sites/p2 o repositories • Leveraging the API within PDE an API baseline is just a target definition o plug-in import o 15 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 16. Target Definition User Interface • Instead of having one target platform, the user can manage a set of target definitions and switch between them • Targets definitions are backed by files in the metadata or workspace • Preference page sets workspace's active target and provides wizards to create/edit targets • Users can modify target definitions using an editor 16 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 17. Manage Target Definitions 17 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 18. Edit Target Definitions 18 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 19. Start Levels 19 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 20. Declarative Services Tooling • OSGi Declarative Services in Eclipse 3.5 • PDE provides DS Tooling 20 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 21. Product Definition Enhancements • Versions • License • Start levels • Properties • Optional Product Extension 21 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 22. Plug-in Export Enhancements Export and install into running platform • build and export plug-ins and install them into the running host • replaces the old quot;export, copy, paste, delete, restartquot; slam technique Export existing class files from workspace • avoid re-compiling Generate source bundles Keypass support 22 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 23. Plug-in Export and p2 Metadata Export with metadata • Current support uses 3.4 metadata generator (binary jars) • Coming in 3.5 metadata support using p2 publisher (source) Exporting Products • Coming in 3.5, product export with metadata will perform a director install to get a fully p2 enabled product. 23 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 24. Agenda • API Tools • UI • Build • The Future PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 25. Build and p2 Building with p2: quot;p2.gathering=truequot; • Supports publishing from source by gathering compile results • Feature builds result in a p2 repository • Product builds result in a installed p2 enabled product (or repo) • Consume zips of repositories in your build via transformed repos p2 releng tools • Process artifact repositories • Sign, perform pack200 processing • Mirror tools: o Mirror using a baseline to keep pre-existing binaries. o Use a comparator to detect differences against pre-existing binaries. 25 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 26. Sorting Dependencies In Eclipse 3.4 and earlier, compilation is done via the feature hierarchy • Features are visited depth-first. • Within a given feature, plug-ins are compiled in dependency order • Required careful management of feature hierarchy In Eclipse 3.5, we can sort bundles according to dependencies • parallelCompilation=true • flattenDependencies=true <project name=quot;Compile masterquot; default=quot;mainquot;> <target name=quot;mainquot;> <parallel threadsPerProcessor='3'> <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.junit4quot; target=quot;build.jarsquot;/> <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.rcpquot; target=quot;build.jarsquot;/> <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.osgiquot; target=quot;build.jarsquot;/> </parallel> <parallel threadsPerProcessor='3'> <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.jdt.junit4.runtimequot; target=quot;build.jarsquot;/> <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.jdt.doc.userquot; target=quot;build.jarsquot;/> <ant antfile=quot;build.xmlquot; dir=quot;plugins/org.eclipse.jdt.doc.isvquot; target=quot;build.jarsquot;/> </parallel> .... 26 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 27. More Build Improvements • Performance Improvements reusing .class files from the workspace o avoiding some copying while building plug-ins o publishing to a p2 repository directly from source o • Signing with Keypass • Per Feature Individual Source Bundles • Product build improvements • Custom Execution Environments 27 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 28. Agenda • API Tools • UI • Build • The Future PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 29. API Tooling • API comparison views/reports show me the API changes between two releases o • Determine compatible version ranges of require bundles o as dependencies are introduced/removed o which versions satisfy my set of references o • Analyze pure Java projects need a way to specify package visibility (API descriptions) o JSR 277 - Java Module System o • Tighter integration with Java builder feed a fine grained set of access rules to the Java compiler o • Package level versioning agree on a versioning specification o • Analyze extension points & extensions 29 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 30. Target Management Support target platform per project in the workspace • share target definition on classpath with team • share API baseline on a classpath with team API to compose/manipulate targets Support provisioned targets via repositories • bundles are actually installed into target (using p2) • has a managed profile • running/debugging installs workspace bundles and leverages OSGi framework to perform launch Unify target concepts/implementation • target platform, launch configs, products all have similar information 30 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 31. Build • Exporting p2 from the UI • Further Integration with p2 Improved fetching from p2 repositories o Improved Reuse of p2 metadata o Publishing p2 products o Repository management tools o The perennial favorites: • Incremental building ? • Workspace integration ? 31 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 32. OSGi and Community Building We aren't alone in the bundle tooling world! No reason to reinvent the wheel! PDE is attending the OSGi Tool Summit on Friday 32 PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009
  • 33. Thank you for your attention! • Questions and feedback welcome! Chris Aniszczyk (EclipseSource) zx@eclipsesource.com Andrew Niefer (IBM) aniefer@ca.ibm.com Darin Wright (IBM) darin_wright@ca.ibm.com PDE State of the Union | © 2009 by C. Aniszczyk, D. Wright, A. Niefer; made available under the EPL v1.0 Wednesday, March 25, 2009

Editor's Notes