Tycho - Building plug-ins with Maven

4,615 views

Published on

These are the slides that have been used for the Eclipse Webinar on Tycho (http://live.eclipse.org/node/1003)

Published in: Technology, Business
  • Be the first to comment

Tycho - Building plug-ins with Maven

  1. 1. TychoBuilding Eclipse plug-ins with Maven Pascal Rapicault, Sonatype Tycho enthusiast 1 Transforming Software Development
  2. 2. Goal of this session• Introduce Tycho• Show Tycho capabilities and simplicity• Provide pointers for further exploration 2 Transforming Software Development
  3. 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. 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. 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. 6. Real life demo 6 Transforming Software Development
  7. 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. 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. 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. 10. Step-by-step build 10 Transforming Software Development
  11. 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. 12. Thanks for attending this session 12 Transforming Software Development
  13. 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

×