SlideShare a Scribd company logo
TM




November 2012
Published under EPL 1.0


Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t
he Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony
are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off.
BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a Package, Processor
Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic
are trademarks of Freescale Semiconductor, Inc. All other product or service names are the
property
of their respective owners. © 2011 Freescale Semiconductor, Inc.
•   Overview
•   Converting plugins
•   Converting Junit Tests
•   Creating P2 repository builds
•   Keep track of your target
•   Lesson learned
•   Further reading




                                        Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                        and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
               TM                   2   Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                        All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
•   Tycho brings two worlds together: maven java industry standard on
    build dependency resolution with OSGi industry standard for dynamic
    components

•   Tycho brings Maven support for:
    − Building OSGi/eclipse bundles
    − Execute tests within OSGi / Equinox runtime
    − Build Eclipse features
    − Build p2 repositories
    − Build complete RCP application. i.e. including product packaging


•   Set of maven plugins that allow maven builder to use OSGi metadata
    in describing POM (Project Object Model) instead of maven specific
    model.



                                            Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                            and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
                 TM                     3   Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                            All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
•   Maven 3 – the actual build engine
    Download from http://maven.apache.org/download.html



•   Maven Integration for Eclipse (m2e) –
    Brings support for editing POM
    files, and launching maven builds from
    eclipse.
    Search “maven“ in marketplace or Juno aggregated repository



•   Tycho project configurator m2e
    connector.
    Connector will be installed automatically by m2e when
    referencing tycho plugins.




                                                            Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                                            and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
                    TM                              4       Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                                            All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
•   Each eclipse artifact must have a corresponding
    maven project

•   Can re-use maven project settings by organizing
    them in a single maven parent project

•   For each PDE plugin use “Convert to Maven
    Project”

•   Use tycho specific packaging plugins
    Tycho options are not yet available and you must handwrite references to tycho packaging
    types



•   Create maven projects in one shot:
    mvn org.eclipse.tycho:tycho-pomgenerator-plugin:generate-poms -
    DgroupId=com.vogella.tycho.build




                                                                                     Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                                                                     and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
                             TM                                               5      Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                                                                     All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
•   Central piece of Maven build is pom.xml that has all
    the necessary project metadata for
    building, testing, reporting and deploying artifacts.


•   Maven pom settings can be cascaded.


•   Parent project could contain references to common
    settings like:
    − “tycho-maven-plugin” build extension
    −   p2 repository to resolve dependencies
    −   Target platform configuration to be used to validate
        dependencies




                                                               Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                                               and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
                       TM                               6      Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                                               All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
Eclipse plugins:
• Use “eclipse-plugin” packaging
• Bundle OSGI symbolic name must match
  maven artifact ID
• bundle version must match maven artifact
  version

Eclipse junit test fragments plugins:
• Use “eclipse-test-plugin” packaging
• Tests will be automatically launched during
  build

Eclipse features:
• Must have a separate maven plugin
• Use “eclipse-feature“ packaging



                                          Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                          and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
              TM                      7   Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                          All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
•   Start with PDE “Update site project”
•   Add category and component features to update site
•   Rename “site.xml” to “category.xml”
•   Use “eclipse-repository” maven packaging




                                       Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                       and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
              TM                   8   Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                       All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
•   Create an eclipse product file in the
    same “eclipse-repository” maven project
•   Add "tycho-p2-director-plugin“ build
    plugin to pom to process product file
•   When creating the product make sure
    appropriate start levels for eclipse
    runtime plugins are set.




                                        Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                        and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
              TM                    9   Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                        All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
•   By default tycho will attempt to resolve
    dependencies according to p2 repository
    settings from pom.
•   A component build might have different
    deployment target.
•   Standard practices is to use target platform
    definition.
•   Use separate maven project with “eclipse-
    target-definition” packaging
•   Target definition must be based on p2
    update site
    − Target  definition file must have the name as
     “{artifactID}.target”
•   Use “target-platform-configuration” build
    configuration to reference target definition



                                              Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                              and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
                TM                       10   Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                              All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
P2
                                                                                         repository




Reporting
                                                                                                                                                          Final
                                                                                                                                                          product
            Tests




                                                                                                                                                    P2 site


                    Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                    and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
   TM         11    Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                    All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
•   With Tycho you can have both worlds: managing you plugin
    from conform of IDE and reproducibility of the command line
    maven build
•   Wide adoption by eclipse projects.
•   Common Build Infrastructure (CBI) is using tycho to build
    eclipse platform


•   http://wiki.eclipse.org/Tycho/Reference_Card
•   http://wiki.eclipse.org/Tycho/FAQ
•   http://www.eclipse.org/tycho/sitedocs/index.html




                                         Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore
                                         and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a
              TM                   12    Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.
                                         All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
Q&A


      TM

More Related Content

PPTX
DevSecOps
PPTX
Power of Microservices Architecture in Drupal Development
PPTX
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
DOCX
Jitendra Resume 5.6 Yrs of Experience in Testing_Banking Domain
ODP
Why Katalon Studio?
PPTX
Build tools introduction
PDF
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
PPTX
MeetUp Monitoring with Prometheus and Grafana (September 2018)
DevSecOps
Power of Microservices Architecture in Drupal Development
Kubernetes Cluster vs Nodes vs Pods vs Containers Comparison
Jitendra Resume 5.6 Yrs of Experience in Testing_Banking Domain
Why Katalon Studio?
Build tools introduction
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
MeetUp Monitoring with Prometheus and Grafana (September 2018)

What's hot (20)

PPTX
Ui Testing with Ghost Inspector
ODP
Introduction to Progressive Web Apps (PWA)
PDF
The ultimate guide to software updates on embedded linux devices
PPTX
Whatsapp Technical
PPTX
Katalon Studio - GUI Overview
PPTX
Software Testing Life Cycle – A Beginner’s Guide
PDF
mLearn Project 2012 Full Report
PDF
SELENIUM PPT.pdf
DOCX
Senior Business Analyst CV
DOC
Khaleel Devops Resume (2)
PDF
Kubernetes monitoring using prometheus stack
PDF
A Introduction of Packer
PDF
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
PDF
Gain Deep Visibility into APIs and Integrations with Anypoint Monitoring
PPTX
Feature Toggles
DOCX
Swift language seminar topic
PDF
DevSecOps What Why and How
PDF
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
PDF
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
PDF
GitHub Actions with Node.js
Ui Testing with Ghost Inspector
Introduction to Progressive Web Apps (PWA)
The ultimate guide to software updates on embedded linux devices
Whatsapp Technical
Katalon Studio - GUI Overview
Software Testing Life Cycle – A Beginner’s Guide
mLearn Project 2012 Full Report
SELENIUM PPT.pdf
Senior Business Analyst CV
Khaleel Devops Resume (2)
Kubernetes monitoring using prometheus stack
A Introduction of Packer
Katalon: Mobile and Browser-Based Automation | Quality Jam 2018
Gain Deep Visibility into APIs and Integrations with Anypoint Monitoring
Feature Toggles
Swift language seminar topic
DevSecOps What Why and How
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
GitHub Actions with Node.js
Ad

Similar to Migrating from PDE to Tycho builds (20)

PPTX
What's new in cdt 8.1
PDF
Testbench Linter: Automated Rule Checker Framework for Testbenches
PPTX
EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...
PDF
Adrian purcarea, country manager, freescale semiconductor
PPTX
DPTF - Dataflow Programming Tools Framework
PDF
Novel Approach for Accelerating Mixed Signal Verification
PDF
l'internet des objets By Freescale
PDF
Hardware accelerated virtio networking for nfv linux con
PDF
One Version of the Truth, Driving S&OP from detailed planning tools, Freescale
PDF
Emea freescale cup 2014 introduction
PDF
Sensor fusion
PDF
Flex Continuous Quality Builds Flex & (Ant || Maven)
PPT
TN104_Rutenberg_Sinai_090805
PDF
Re usable continuous-time analog sva assertions - slides
KEY
Next Generation Development Infrastructure with the Maven Enterprise Stack
PDF
PDF Embedded Linux system design and development 1st Edition P. Raghavan down...
PDF
Embedded Linux system design and development 1st Edition P. Raghavan
PDF
Eclipse vs Netbean vs Railo
PDF
Buy ebook Embedded Linux system design and development 1st Edition P. Raghava...
KEY
Is OSGi modularity always worth it?
What's new in cdt 8.1
Testbench Linter: Automated Rule Checker Framework for Testbenches
EBV e Freescale: cosa possono fare per lo sviluppo delle vostre applicazioni ...
Adrian purcarea, country manager, freescale semiconductor
DPTF - Dataflow Programming Tools Framework
Novel Approach for Accelerating Mixed Signal Verification
l'internet des objets By Freescale
Hardware accelerated virtio networking for nfv linux con
One Version of the Truth, Driving S&OP from detailed planning tools, Freescale
Emea freescale cup 2014 introduction
Sensor fusion
Flex Continuous Quality Builds Flex & (Ant || Maven)
TN104_Rutenberg_Sinai_090805
Re usable continuous-time analog sva assertions - slides
Next Generation Development Infrastructure with the Maven Enterprise Stack
PDF Embedded Linux system design and development 1st Edition P. Raghavan down...
Embedded Linux system design and development 1st Edition P. Raghavan
Eclipse vs Netbean vs Railo
Buy ebook Embedded Linux system design and development 1st Edition P. Raghava...
Is OSGi modularity always worth it?
Ad

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Cloud computing and distributed systems.
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Encapsulation theory and applications.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
KodekX | Application Modernization Development
Reach Out and Touch Someone: Haptics and Empathic Computing
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Cloud computing and distributed systems.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Encapsulation theory and applications.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
NewMind AI Monthly Chronicles - July 2025
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
Review of recent advances in non-invasive hemoglobin estimation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
A Presentation on Artificial Intelligence
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
20250228 LYD VKU AI Blended-Learning.pptx

Migrating from PDE to Tycho builds

  • 1. TM November 2012 Published under EPL 1.0 Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 2. Overview • Converting plugins • Converting Junit Tests • Creating P2 repository builds • Keep track of your target • Lesson learned • Further reading Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 2 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 3. Tycho brings two worlds together: maven java industry standard on build dependency resolution with OSGi industry standard for dynamic components • Tycho brings Maven support for: − Building OSGi/eclipse bundles − Execute tests within OSGi / Equinox runtime − Build Eclipse features − Build p2 repositories − Build complete RCP application. i.e. including product packaging • Set of maven plugins that allow maven builder to use OSGi metadata in describing POM (Project Object Model) instead of maven specific model. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 3 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 4. Maven 3 – the actual build engine Download from http://maven.apache.org/download.html • Maven Integration for Eclipse (m2e) – Brings support for editing POM files, and launching maven builds from eclipse. Search “maven“ in marketplace or Juno aggregated repository • Tycho project configurator m2e connector. Connector will be installed automatically by m2e when referencing tycho plugins. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 4 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 5. Each eclipse artifact must have a corresponding maven project • Can re-use maven project settings by organizing them in a single maven parent project • For each PDE plugin use “Convert to Maven Project” • Use tycho specific packaging plugins Tycho options are not yet available and you must handwrite references to tycho packaging types • Create maven projects in one shot: mvn org.eclipse.tycho:tycho-pomgenerator-plugin:generate-poms - DgroupId=com.vogella.tycho.build Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 5 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 6. Central piece of Maven build is pom.xml that has all the necessary project metadata for building, testing, reporting and deploying artifacts. • Maven pom settings can be cascaded. • Parent project could contain references to common settings like: − “tycho-maven-plugin” build extension − p2 repository to resolve dependencies − Target platform configuration to be used to validate dependencies Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 6 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 7. Eclipse plugins: • Use “eclipse-plugin” packaging • Bundle OSGI symbolic name must match maven artifact ID • bundle version must match maven artifact version Eclipse junit test fragments plugins: • Use “eclipse-test-plugin” packaging • Tests will be automatically launched during build Eclipse features: • Must have a separate maven plugin • Use “eclipse-feature“ packaging Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 7 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 8. Start with PDE “Update site project” • Add category and component features to update site • Rename “site.xml” to “category.xml” • Use “eclipse-repository” maven packaging Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 8 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 9. Create an eclipse product file in the same “eclipse-repository” maven project • Add "tycho-p2-director-plugin“ build plugin to pom to process product file • When creating the product make sure appropriate start levels for eclipse runtime plugins are set. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 9 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 10. By default tycho will attempt to resolve dependencies according to p2 repository settings from pom. • A component build might have different deployment target. • Standard practices is to use target platform definition. • Use separate maven project with “eclipse- target-definition” packaging • Target definition must be based on p2 update site − Target definition file must have the name as “{artifactID}.target” • Use “target-platform-configuration” build configuration to reference target definition Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 10 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 11. P2 repository Reporting Final product Tests P2 site Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 11 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 12. With Tycho you can have both worlds: managing you plugin from conform of IDE and reproducibility of the command line maven build • Wide adoption by eclipse projects. • Common Build Infrastructure (CBI) is using tycho to build eclipse platform • http://wiki.eclipse.org/Tycho/Reference_Card • http://wiki.eclipse.org/Tycho/FAQ • http://www.eclipse.org/tycho/sitedocs/index.html Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a TM 12 Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2011 Freescale Semiconductor, Inc.
  • 13. Q&A TM