SlideShare uma empresa Scribd logo
1 de 13
Tycho

Building Eclipse plug-ins with Maven


       Pascal Rapicault, Sonatype
               Tycho enthusiast




                      1           Transforming Software Development
Goal of this session

•   Introduce Tycho

•   Show Tycho capabilities and simplicity

•   Provide pointers for further exploration




                                               2   Transforming Software Development
Content of this session

•   What is Tycho?

•   Real life build demo

•   Relationship with other technologies

•   Step-by-step build

•   Q&A




                                           3   Transforming Software Development
What is Tycho?

•   A way to build, test and release Eclipse/OSGi artifacts with Maven



•   Tycho feature list:

    •   Build OSGi bundles / Eclipse plugins

    •   Execute tests within the OSGi runtime

    •   Build Eclipse Features

    •   Build p2 repositories

    •   RCP applications a.k.a. Products

    •   ...



•   Integrates with the rest of the Maven ecosystem



                                                4         Transforming Software Development
Facts about Tycho

•   Where is tycho hosted?

    •   Sonatype donated Tycho to Eclipse Foundation.



•   Tycho origin

    •   Initial work started by Tom Huybrechts at Agfa



•   Current contributors

    •   SAP, Sonatype, Intallio



•   Who is using it?

    •   Numerous companies and open source projects



                                                5        Transforming Software Development
Real life demo




      6          Transforming Software Development
Relationship with Maven

•   What is Maven? A build system



•   Tycho is a set of Maven plugins



•   How is it different from other Maven plugins?

    •   It reuses the PDE metadata to configure the build

    •   It alters the standard Maven resolution logic to support OSGi dependencies (manifest.mf,
        feature.xml, etc.)

    •   It adds the ability to Maven to read p2 repository




                                                 7             Transforming Software Development
Relationship with p2

•   What is p2? An OSGi-based provisioning system for OSGi.



•   p2 is present throughout Tycho

    •   As input, tycho reads and downloads dependencies from p2 repositories.

    •   As output, tycho produces p2 repositories

    •   Internally, tycho embeds parts of p2 in order to perform the dependency resolution




                            Maven + p2 = Tycho :-)




                                                8               Transforming Software Development
Relationship with PDE

•   What is PDE? Set of eclipse plugins to build Eclipse plugins.



•   PDE UI

    •   Reuses most files promoted by PDE such as MANIFEST.MF, build.properties,
        feature.xml, site.xml, .product

    •   Reuses PDE UI infrastructure like classpath management, launching capabilities, editors
        for OSGi manifest, features, for IDE integration



•   PDE Build

    •   "Competes" with PDE build only in the sense that it provides an alternative way to do a
        headless build of plugins and other eclipse artifacts




                                                9               Transforming Software Development
Step-by-step build




        10           Transforming Software Development
Closing remarks

•   Tycho does not require a lot of Maven background

•   Makes building and testing OSGi bundles / Eclipse plugins easy

•   Go try it!




                                          11             Transforming Software Development
Thanks for attending this session




               12          Transforming Software Development
Links

•   Project homepage http://eclipse.org/tycho

•   Currently the codebase:

         •   https://github.com/sonatype/sonatype-tycho


•   Users and development mailing lists:

         •   http://dev.eclipse.org/mailman/listinfo/tycho-user

         •   http://dev.eclipse.org/mailman/listinfo/tycho-dev


•   Bugs:

         •   https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho


•   Example from this session

         •   https://github.com/jsievers/tycho-demo


•   Reference card

         •   https://docs.sonatype.org/display/TYCHO/Tycho+reference+card



                                                       13                Transforming Software Development

Mais conteúdo relacionado

Mais procurados

469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...
gustavoeliano
 

Mais procurados (20)

P2 Introduction
P2 IntroductionP2 Introduction
P2 Introduction
 
Tips & Tricks for Maven Tycho
Tips & Tricks for Maven TychoTips & Tricks for Maven Tycho
Tips & Tricks for Maven Tycho
 
Do's and Do not's about p2
Do's and Do not's about p2Do's and Do not's about p2
Do's and Do not's about p2
 
Understanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitUnderstanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profit
 
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksEclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And Tricks
 
L0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-inL0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-in
 
Building Eclipse Plugins
Building Eclipse PluginsBuilding Eclipse Plugins
Building Eclipse Plugins
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in development
 
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
 
469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Flatpak and AppImage usage on openSUSE
Flatpak and AppImage usage on openSUSEFlatpak and AppImage usage on openSUSE
Flatpak and AppImage usage on openSUSE
 
Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going Bald
 
PDE Good Practices
PDE Good PracticesPDE Good Practices
PDE Good Practices
 
Introduction to Eclipse Che / EclipseCon 2014
Introduction to Eclipse Che / EclipseCon 2014Introduction to Eclipse Che / EclipseCon 2014
Introduction to Eclipse Che / EclipseCon 2014
 
PDE builds or Maven
PDE builds or MavenPDE builds or Maven
PDE builds or Maven
 
Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)
 
The Build System of Commercial RCP Application A Case Study
The Build System of Commercial RCP Application A Case StudyThe Build System of Commercial RCP Application A Case Study
The Build System of Commercial RCP Application A Case Study
 
Developing Rich Clients with the Eclipse 4 Application Platform
Developing Rich Clients with the Eclipse 4 Application PlatformDeveloping Rich Clients with the Eclipse 4 Application Platform
Developing Rich Clients with the Eclipse 4 Application Platform
 
Eclipse 4.0 - Dynamic Models
Eclipse 4.0 - Dynamic Models Eclipse 4.0 - Dynamic Models
Eclipse 4.0 - Dynamic Models
 

Semelhante a Tycho - Building plug-ins with Maven

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 

Semelhante a Tycho - Building plug-ins with Maven (20)

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
Pharo Consortium: A roadmap to solid evolution
Pharo Consortium: A roadmap to solid evolutionPharo Consortium: A roadmap to solid evolution
Pharo Consortium: A roadmap to solid evolution
 
Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Artifacts management with DevOps
Artifacts management with DevOpsArtifacts management with DevOps
Artifacts management with DevOps
 
Jfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptxJfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptx
 
FooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptxFooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptx
 
Devops
DevopsDevops
Devops
 
NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!
 
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevTriple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
 
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
OPNFV CI and Challenges: How we solved them - if we solved them at all!
OPNFV CI and Challenges: How we solved them - if we solved them at all!OPNFV CI and Challenges: How we solved them - if we solved them at all!
OPNFV CI and Challenges: How we solved them - if we solved them at all!
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
Design thinking: Building a developer experience from scratch
Design thinking: Building a developer experience from scratchDesign thinking: Building a developer experience from scratch
Design thinking: Building a developer experience from scratch
 
Technology Development in Early Stage Startup Indonesia
Technology Development in Early Stage Startup IndonesiaTechnology Development in Early Stage Startup Indonesia
Technology Development in Early Stage Startup Indonesia
 

Mais de Pascal Rapicault

Building an in house support team
Building an in house support teamBuilding an in house support team
Building an in house support team
Pascal Rapicault
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2
Pascal Rapicault
 

Mais de Pascal Rapicault (6)

Automating the consumption of Eclipse for internal use
Automating the consumption of Eclipse for internal useAutomating the consumption of Eclipse for internal use
Automating the consumption of Eclipse for internal use
 
Building an in house support team
Building an in house support teamBuilding an in house support team
Building an in house support team
 
Discovering the p2 API
Discovering the p2 APIDiscovering the p2 API
Discovering the p2 API
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
p2, modular provisioning for OSGi
p2, modular provisioning for OSGip2, modular provisioning for OSGi
p2, modular provisioning for OSGi
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Tycho - Building plug-ins with Maven

  • 1. Tycho Building Eclipse plug-ins with Maven Pascal Rapicault, Sonatype Tycho enthusiast 1 Transforming Software Development
  • 2. Goal of this session • Introduce Tycho • Show Tycho capabilities and simplicity • Provide pointers for further exploration 2 Transforming Software Development
  • 3. Content of this session • What is Tycho? • Real life build demo • Relationship with other technologies • Step-by-step build • Q&A 3 Transforming Software Development
  • 4. What is Tycho? • A way to build, test and release Eclipse/OSGi artifacts with Maven • Tycho feature list: • Build OSGi bundles / Eclipse plugins • Execute tests within the OSGi runtime • Build Eclipse Features • Build p2 repositories • RCP applications a.k.a. Products • ... • Integrates with the rest of the Maven ecosystem 4 Transforming Software Development
  • 5. Facts about Tycho • Where is tycho hosted? • Sonatype donated Tycho to Eclipse Foundation. • Tycho origin • Initial work started by Tom Huybrechts at Agfa • Current contributors • SAP, Sonatype, Intallio • Who is using it? • Numerous companies and open source projects 5 Transforming Software Development
  • 6. Real life demo 6 Transforming Software Development
  • 7. Relationship with Maven • What is Maven? A build system • Tycho is a set of Maven plugins • How is it different from other Maven plugins? • It reuses the PDE metadata to configure the build • It alters the standard Maven resolution logic to support OSGi dependencies (manifest.mf, feature.xml, etc.) • It adds the ability to Maven to read p2 repository 7 Transforming Software Development
  • 8. Relationship with p2 • What is p2? An OSGi-based provisioning system for OSGi. • p2 is present throughout Tycho • As input, tycho reads and downloads dependencies from p2 repositories. • As output, tycho produces p2 repositories • Internally, tycho embeds parts of p2 in order to perform the dependency resolution Maven + p2 = Tycho :-) 8 Transforming Software Development
  • 9. Relationship with PDE • What is PDE? Set of eclipse plugins to build Eclipse plugins. • PDE UI • Reuses most files promoted by PDE such as MANIFEST.MF, build.properties, feature.xml, site.xml, .product • Reuses PDE UI infrastructure like classpath management, launching capabilities, editors for OSGi manifest, features, for IDE integration • PDE Build • "Competes" with PDE build only in the sense that it provides an alternative way to do a headless build of plugins and other eclipse artifacts 9 Transforming Software Development
  • 10. Step-by-step build 10 Transforming Software Development
  • 11. Closing remarks • Tycho does not require a lot of Maven background • Makes building and testing OSGi bundles / Eclipse plugins easy • Go try it! 11 Transforming Software Development
  • 12. Thanks for attending this session 12 Transforming Software Development
  • 13. Links • Project homepage http://eclipse.org/tycho • Currently the codebase: • https://github.com/sonatype/sonatype-tycho • Users and development mailing lists: • http://dev.eclipse.org/mailman/listinfo/tycho-user • http://dev.eclipse.org/mailman/listinfo/tycho-dev • Bugs: • https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho • Example from this session • https://github.com/jsievers/tycho-demo • Reference card • https://docs.sonatype.org/display/TYCHO/Tycho+reference+card 13 Transforming Software Development

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n