Suche senden
Hochladen
OSGi, Eclipse and API Tooling
•
Als KEY, PDF herunterladen
•
3 gefällt mir
•
2,401 views
Chris Aniszczyk
Folgen
A presentation I gave at OSGi DevCon London 2010...
Weniger lesen
Mehr lesen
Technologie
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 46
Jetzt herunterladen
Empfohlen
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And Tricks
Chris Aniszczyk
PDE builds or Maven
PDE builds or Maven
Eclipse Day India
Building Eclipse Plugins
Building Eclipse Plugins
Liran Zelkha
PDE Good Practices
PDE Good Practices
Ankur Sharma
Eclipse plug in development
Eclipse plug in development
Martin Toshev
L0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-in
Tonny Madsen
P2 Introduction
P2 Introduction
irbull
Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)
Chinmoy Mohanty
Empfohlen
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And Tricks
Chris Aniszczyk
PDE builds or Maven
PDE builds or Maven
Eclipse Day India
Building Eclipse Plugins
Building Eclipse Plugins
Liran Zelkha
PDE Good Practices
PDE Good Practices
Ankur Sharma
Eclipse plug in development
Eclipse plug in development
Martin Toshev
L0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-in
Tonny Madsen
P2 Introduction
P2 Introduction
irbull
Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)
Chinmoy Mohanty
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
DevOps.com
Building an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developers
kim.mens
Introduction to Eclipse Che / EclipseCon 2014
Introduction to Eclipse Che / EclipseCon 2014
Florent BENOIT
Cloud Collaboration with Eclipse Che
Cloud Collaboration with Eclipse Che
Martin (高馬丁) Skarsaune
Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++
Gilang Mentari Hamidy
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
Ryo Jin
Building GPE: What We Learned
Building GPE: What We Learned
rajeevdayal
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Ajeet Singh Raina
Getting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse User
ZeroTurnaround
Tycho - Building plug-ins with Maven
Tycho - Building plug-ins with Maven
Pascal Rapicault
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
John M. Wargo
Working effectively with OpenShift
Working effectively with OpenShift
Shekhar Gulati
.NET Online TechTalk “Azure Cloud for DEV”
.NET Online TechTalk “Azure Cloud for DEV”
GlobalLogic Ukraine
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache Cordova
Shekhar Gulati
Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)
Pascal Rapicault
MicroProfile: Optimizing Java EE for a Microservices Architecture
MicroProfile: Optimizing Java EE for a Microservices Architecture
jclingan
Building Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
Matt Raible
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native Images
VMware Tanzu
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
CollabNet
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
All Things Open
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
guestb69b980e
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
mfrancis
Weitere ähnliche Inhalte
Was ist angesagt?
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
DevOps.com
Building an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developers
kim.mens
Introduction to Eclipse Che / EclipseCon 2014
Introduction to Eclipse Che / EclipseCon 2014
Florent BENOIT
Cloud Collaboration with Eclipse Che
Cloud Collaboration with Eclipse Che
Martin (高馬丁) Skarsaune
Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++
Gilang Mentari Hamidy
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
Ryo Jin
Building GPE: What We Learned
Building GPE: What We Learned
rajeevdayal
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Ajeet Singh Raina
Getting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse User
ZeroTurnaround
Tycho - Building plug-ins with Maven
Tycho - Building plug-ins with Maven
Pascal Rapicault
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
John M. Wargo
Working effectively with OpenShift
Working effectively with OpenShift
Shekhar Gulati
.NET Online TechTalk “Azure Cloud for DEV”
.NET Online TechTalk “Azure Cloud for DEV”
GlobalLogic Ukraine
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache Cordova
Shekhar Gulati
Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)
Pascal Rapicault
MicroProfile: Optimizing Java EE for a Microservices Architecture
MicroProfile: Optimizing Java EE for a Microservices Architecture
jclingan
Building Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
Matt Raible
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native Images
VMware Tanzu
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
CollabNet
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
All Things Open
Was ist angesagt?
(20)
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Building an Eclipse plugin to recommend changes to developers
Building an Eclipse plugin to recommend changes to developers
Introduction to Eclipse Che / EclipseCon 2014
Introduction to Eclipse Che / EclipseCon 2014
Cloud Collaboration with Eclipse Che
Cloud Collaboration with Eclipse Che
Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
Building GPE: What We Learned
Building GPE: What We Learned
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Getting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse User
Tycho - Building plug-ins with Maven
Tycho - Building plug-ins with Maven
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
Working effectively with OpenShift
Working effectively with OpenShift
.NET Online TechTalk “Azure Cloud for DEV”
.NET Online TechTalk “Azure Cloud for DEV”
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache Cordova
Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)
MicroProfile: Optimizing Java EE for a Microservices Architecture
MicroProfile: Optimizing Java EE for a Microservices Architecture
Building Rich Applications with Appcelerator
Building Rich Applications with Appcelerator
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native Images
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
Andere mochten auch
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
guestb69b980e
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
mfrancis
Intro to OSGi and Eclipse Virgo
Intro to OSGi and Eclipse Virgo
Gordon Dickens
RESTful Web Services
RESTful Web Services
Gordon Dickens
Eclipse e4 Tutorial - EclipseCon 2010
Eclipse e4 Tutorial - EclipseCon 2010
Lars Vogel
OSGi For Eclipse Developers
OSGi For Eclipse Developers
Chris Aniszczyk
OSGi and Eclipse RCP
OSGi and Eclipse RCP
Eric Jain
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Noopur Gupta
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
mikaelbarbero
Visual Design with Data
Visual Design with Data
Seth Familian
Andere mochten auch
(10)
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
Eclipse Extensions Vs OSGI Services Tikal@ EclipseDemoCamps Tel Aviv
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
OSGi Technology, Eclipse and Convergence - Jeff McAffer, IBM
Intro to OSGi and Eclipse Virgo
Intro to OSGi and Eclipse Virgo
RESTful Web Services
RESTful Web Services
Eclipse e4 Tutorial - EclipseCon 2010
Eclipse e4 Tutorial - EclipseCon 2010
OSGi For Eclipse Developers
OSGi For Eclipse Developers
OSGi and Eclipse RCP
OSGi and Eclipse RCP
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
Visual Design with Data
Visual Design with Data
Ähnlich wie OSGi, Eclipse and API Tooling
API Tooling in Eclipse
API Tooling in Eclipse
Chris Aniszczyk
Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?
Olivier Thomann
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache Felix
Marcel Offermans
Api clarity webinar
Api clarity webinar
LibbySchulze
API Contract as Code: Rapid Development with OpenAPI
API Contract as Code: Rapid Development with OpenAPI
SmartBear
OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012
Steven Pousty
Appium.pptx
Appium.pptx
SameerAlam82
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
Phil Wilkins
Eclipse Training - Introduction
Eclipse Training - Introduction
Luca D'Onofrio
EclipseCon 2010 API Design and Evolution (Tutorial)
EclipseCon 2010 API Design and Evolution (Tutorial)
moberhuber
DemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - Introdcution
Ákos Horváth
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
mfrancis
Evolution and History of Angular as Web Development Platform.pdf
Evolution and History of Angular as Web Development Platform.pdf
iFour Technolab Pvt. Ltd.
Ng spain
Ng spain
Christoffer Noring
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
Cisco DevNet
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
Amazon Web Services
Getting started with the Ionic Framework
Getting started with the Ionic Framework
Anuradha Weeraman
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver Faster
Amazon Web Services
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San Francisco
Amazon Web Services
DevOps Patterns to Enable Success in Microservices
DevOps Patterns to Enable Success in Microservices
Rich Mills
Ähnlich wie OSGi, Eclipse and API Tooling
(20)
API Tooling in Eclipse
API Tooling in Eclipse
Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache Felix
Api clarity webinar
Api clarity webinar
API Contract as Code: Rapid Development with OpenAPI
API Contract as Code: Rapid Development with OpenAPI
OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012
Appium.pptx
Appium.pptx
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
Eclipse Training - Introduction
Eclipse Training - Introduction
EclipseCon 2010 API Design and Evolution (Tutorial)
EclipseCon 2010 API Design and Evolution (Tutorial)
DemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - Introdcution
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Evolution and History of Angular as Web Development Platform.pdf
Evolution and History of Angular as Web Development Platform.pdf
Ng spain
Ng spain
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
Getting started with the Ionic Framework
Getting started with the Ionic Framework
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver Faster
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San Francisco
DevOps Patterns to Enable Success in Microservices
DevOps Patterns to Enable Success in Microservices
Mehr von Chris Aniszczyk
Bringing an open source project to the Linux Foundation
Bringing an open source project to the Linux Foundation
Chris Aniszczyk
Starting an Open Source Program Office (OSPO)
Starting an Open Source Program Office (OSPO)
Chris Aniszczyk
Open Container Initiative Update
Open Container Initiative Update
Chris Aniszczyk
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
Chris Aniszczyk
Rise of Open Source Programs
Rise of Open Source Programs
Chris Aniszczyk
The Open Container Initiative (OCI) at 12 months
The Open Container Initiative (OCI) at 12 months
Chris Aniszczyk
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
Chris Aniszczyk
Getting Students Involved in Open Source
Getting Students Involved in Open Source
Chris Aniszczyk
Life at Twitter + Career Advice for Students
Life at Twitter + Career Advice for Students
Chris Aniszczyk
Creating an Open Source Office: Lessons from Twitter
Creating an Open Source Office: Lessons from Twitter
Chris Aniszczyk
The Open Source... Behind the Tweets
The Open Source... Behind the Tweets
Chris Aniszczyk
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 Stack
Chris Aniszczyk
Open Source Craft at Twitter
Open Source Craft at Twitter
Chris Aniszczyk
Open Source Compliance at Twitter
Open Source Compliance at Twitter
Chris Aniszczyk
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Chris Aniszczyk
Effective Git with Eclipse
Effective Git with Eclipse
Chris Aniszczyk
Evolution of Version Control In Open Source
Evolution of Version Control In Open Source
Chris Aniszczyk
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in Eclipse
Chris Aniszczyk
SWTBot Tutorial
SWTBot Tutorial
Chris Aniszczyk
Mehr von Chris Aniszczyk
(20)
Bringing 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)
Open Container Initiative Update
Open Container Initiative Update
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
Rise of Open Source Programs
Rise of Open Source Programs
The 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 Group
Getting Students Involved in Open Source
Getting Students Involved in Open Source
Life 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 Twitter
The 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)
Evolution of The Twitter Stack
Evolution of The Twitter Stack
Open Source Craft at Twitter
Open Source Craft at Twitter
Open 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 Hudson
Effective Git with Eclipse
Effective Git with Eclipse
Evolution of Version Control In Open Source
Evolution of Version Control In Open Source
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in Eclipse
SWTBot Tutorial
SWTBot Tutorial
Kürzlich hochgeladen
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
Neo4j
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
carlostorres15106
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Padma Pradeep
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
Softradix Technologies
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
OnBoard
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Sinan KOZAK
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
AndikSusilo4
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Kürzlich hochgeladen
(20)
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
OSGi, Eclipse and API Tooling
1.
Eclipse, OSGi and
API Tooling Chris Aniszczyk (EclipseSource) zx@eclipsesource.com http://eclipsesource.com 1 1 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
2.
Who am I?
• Chris Aniszczyk Senior Software Engineer at EclipseSource Plug-in Development Environment (PDE) Co-Lead Been doing OSGi before it was en vogue Committer Representative on Eclipse’s Board of Directors Co-author Eclipse RCP Book 2nd Edition I dabble with many things at Eclipse.org • My blog http://aniszczyk.org • Follow me on Twitter http://twitter.com/caniszczyk 2 2 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
3.
Overview
• The need for tooling • Tooling features • Tooling in action! • Future work • Summary • Q&A 3 2 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
4.
The need for
tooling Remember Kirk’s gigantic Modularity diagram? 4 3 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
5.
Define API
• APIs are published contracts Producers specify the contracts Honor contracts release after release Evolve the contracts for enhancements and fix problems Consumers adhere to the contracts Implement the contracts per specification Use provided implementations per contract specifications 5 4 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
6.
The Ideal Release
Equation Developer: Compatibility (producer) + Client: Honor API contract (consumer) = Free migration!!! 6 5 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
7.
The Ideal Never
Happens... Developer: (features + deprecation + Optional extensions to existing features + Replacement API + Provisional API) + Client: Illegal internal references = Migration at a cost 7 6 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
8.
What have we
done as developers? • We use Javadoc™ to document contracts This class is not intended to be instantiated or subclassed by clients. Has no effect if not read Inconsistent wording, placement, and use • Use component.xml to specify APIs (at Eclipse.org) Out of date, not maintained Why? Because there’s no tooling and it’s separate from the code • We use package names to categorize as public/internal, but all packages are exported • We use OSGi package exports (x-internal and x-friends) to limit visibility, but does not prevent access to internal types • We use Eclipse’s access rules to discourage use, but this can be turned off 8 7 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
9.
More things we
do… • Manually examine API changes or use some external tool before a release (aka the API Police) Changes between releases can be significant Validation is time consuming and error prone Lost development time (due to checking and bugs found) 9 8 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
10.
And we still
fail... 10 9 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
11.
And we still
fail... • At Eclipse, we have had issues with projects unintentionally breaking API... • Outside of Eclipse, it highly varies... “Commons collections 3.0 is binary compatible with version 2.1 and 2.0 except for certain methods on one class. As the release was a major version, this is permitted, however it was unintentional and an error... the chosen solution is to provide a work around by releasing v2.1.1 and v3.1.” • Surely you’ve come across API issues, right? 11 10 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
12.
Disclaimer
• This presentation isn’t about API design • API design is still your problem Designing quality APIs is tough Ensuring consistent behavior Evolving APIs is tricky • But there are things that tooling can help with… 12 11 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
13.
Good fences...
• Check out some of Joshua Bloch’s presentations around API (How to Design API and Why it Matters) and some of the EclipseCon API design presentations... 13 12 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
14.
API Tooling Features 14 13
Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
15.
API Tooling to
the Rescue! • Reports Illegal API use Binary incompatibility relative to a baseline Incorrect bundle version numbers Missing or malformed @since tags Leakage of non-APIs types inside APIs Execution Environment validation • Tightly integrated toolset in the Eclipse SDK Currently limited to Plug-in projects/OSGi bundles Runs as a builder (auto-build, incremental and full builds) Immediate feedback as you develop and use APIs 15 14 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
16.
Specifying API Contracts
• Use Javadoc tags E.g. @noimplement, @noextend, @noreference, @noinstantiate • Benefits Contracts live with the code for producers and consumers Content assist helps developers Available for projects that are not using 1.5 annotations Restrictions appear in published Javadoc APIs in a standard way Tools can process tags 16 15 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
17.
API Tooling Javadoc
Tags 17 16 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
18.
Example of Published
API 18 17 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
19.
API Usage
• Once the APIs are specified, the user needs to make sure that he/she is using them appropriately. • API usage is flagging any kind of illegal usage of API: reference to an API that is not supposed to be referenced, implementation of an interface that is not supposed to be implemented, …. • A consequence of wrong API usage is a potential binary incompatible change error. 19 18 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
20.
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 20 19 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
21.
Validating Binary Compatibility
• Evolving APIs such that they are backwards compatible with existing binaries http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs It is easy to get it wrong Now the tooling takes care of this • The user simply specifies an API baseline Generally this means pointing to the previous release (N – 1) 21 20 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
22.
API Comparisons
• What’s changed between versions? 22 21 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
23.
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 See OSGi Specification on Execution Environments 23 22 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
24.
Migration Assistance
• “What will be broken if I move to a new version?” • “Will my plug-in still run on an older target version?” • We simply re-resolve the references against X, with the code in X+1 • Of course you can get the same information if you compile, but that requires more setup... 24 23 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
25.
Bundle version number
management • http://wiki.eclipse.org/index.php/Version_Numbering • The tooling takes care of letting the user know when the minor or major version of a bundle should be changed according to rules described in the document: A new API that is not a breaking change requires the minor version to be incremented A new API that is a breaking change requires the major version to be incremented • No support for the micro version yet... Technically speaking, this version should be changed as soon as any modification is made in the source code: comment change, method body change,… 25 24 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
26.
OSGi Versioning 101
• major.minor.micro.qualifier major - An incompatible update; breaking API minor - A backward compatible update; API stable micro - A bug fix qualifier - build date; lexicographic • Versions should encode compatibility at the bundle and package level... aid in evolution... • They aren’t a marketing number! 26 25 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
27.
API Tooling in
Action (example of bug 191231/191232) 27 25 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2008 EclipseSource
28.
API Tooling in
Action (API Usage Report) 28 26 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
29.
API Tooling in
Action (System Library Validation) 29 29 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
30.
API Tooling in
Action (API Comparison) 30 30 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
31.
API Tooling Parts 31 31
Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
32.
API Profile and
API Components • These are the two major pieces used by the API tooling tools to make diagnosis on the code • An API profile can be seen like a PDE target platform • An API profile is a collection of API components • It is initialized using an Eclipse SDK installation plugins directory (or some other directory of bundles) • Inside the IDE, a profile corresponding to the workbench contents is automatically created 32 32 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
33.
API Description
• This contains the specific restrictions for all the API types of an API component • It is kept up-to-date inside the workbench by using resource listeners • It is exported inside the binary bundles or generated at build time using an ant task. 33 33 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
34.
Filtering of API
Problems • Each component can define a problem filter • The filtering can be used to remove from reports known breakages. • For example, an API breakage has been approved by the PMC and you don’t want to get it reported for each build. • The problem filter is also part of the binary plug-in 34 34 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
35.
Two aspects: IDE
and build process • Each feature is available from within the IDE or inside a headless build process via Ant tasks • The IDE support is required to help the Eclipse developer while the code is written • The build process support is required to provide feedback during the Eclipse build. This also allows other projects to use it inside their builds. 35 35 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
36.
Build support
• Addition of new ant tasks: Generation of .api_description file Comparison of SDK drops: binary compatibility, api usage reports • Integration inside the Eclipse builds (headless mode) • Integration inside ant build (no Eclipse running) 36 22 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
37.
API Error/Warning Preferences 37 37
Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
38.
API Setup Wizard 38 38
Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
39.
API Profile (Baseline)
Preferences 39 39 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
40.
API Profile (Baseline)
Wizard 40 40 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
41.
Future work 41 41
Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
42.
To be done...
• Handling of package level versioning • Support extended to support more than just bundles Pure Java™ projects Plug-in extension points • Improve integration with Eclipse rel-eng build reporting • Determine compatible version range of required bundles • And what you might suggest... 42 42 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
43.
Summary 43 43
Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
44.
API Tooling Summary
• Help you to define your API restrictions • Keep a consistent and standard presentation of API restrictions • Detect binary breakage between a baseline and the current version • Detect wrong API usage • Detect wrong @since tags and inconsistent bundle versioning • Detect Execution Environment problems... • Supports more than just Eclipse (hi OSGi folks)! 44 44 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
45.
Links
• Wiki http://wiki.eclipse.org/Api_Tooling • Bugzilla https://bugs.eclipse.org/bugs/enter_bug.cgi?product=PDE • Get Involved https://dev.eclipse.org/mailman/listinfo/pde-dev 45 45 Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
46.
Q & A 46 46
Eclipse, OSGi and API Tooling | Chris Aniszczyk | © 2010 EclipseSource
Hinweis der Redaktion
Jetzt herunterladen