SlideShare a Scribd company logo
1 of 15
Porting the build system of a commercial RCP Application from Europa to Ganymede: A Case Study Christian Kurzke Gladyston Franca Gustavo de Paula
JavaME Tools High Level Architecture Logical View ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Eclipse Base JavaME Tools History… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Europa Build Solution – Build Levels Installer Studio Standalone devicedocs toolsdocs demos emulator services tools util Features & plugins Product Installer & Upd site. Non-eclipse emulator devicedocs toolsdocs demos Level 3 Level 2 Level 1 Level 4 Update  Site
Main Issues in Europa Based Solution ,[object Object],[object Object],[object Object],[object Object]
“ Standard” Ganymede Product Build System ,[object Object],[object Object],[object Object],[object Object],Source code Repository Product Installer PDE Build + Metadata  configuration P2 director Install jammer binary/ features/ plugins/ Content.xml Artifacts.xml
Build Issues in our Scenario Source code Repository Product Installer PDE Build + Metadata  configuration P2 director Install jammer ,[object Object],[object Object],[object Object],[object Object]
From Europa to Ganymede in 5 steps ,[object Object],[object Object],[object Object],[object Object],[object Object]
Step 1: Setup build environment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Step 2: Organize your features ,[object Object],[object Object],[object Object],[object Object],Studio Umbrella Platform Product Studio  Feature JDT MTJ Emulator Tooldocs Util
Step 3: Install handlers ,[object Object],[object Object],[object Object],Step 4: Non-plugin data ,[object Object],[object Object],[object Object]
Step 5: setup your repository ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ganymede Build Solution MoJa Non-plugin data MoJa Non-plugin data Features / Binaries MoJa  Features / Plugins MoJa Repository MoJa Wrapping Code MoJa Wrapping Repository P2-enabled MoJa Installer MOJA Binary  Build PDE Build MOJA Customized Metadata Generator PDE Build + Metadata Generation P2 Director Install Jammer MoJa Umbrella Repository MoJa Repository MOJA Content Editor MOJA Content Editor
Conclusions ,[object Object],[object Object],[object Object],[object Object]
Thanks!

More Related Content

What's hot

Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tychojsievers
 
Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Pascal Rapicault
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a SnapPaulina Gallo
 
Pemrograman mobile menggunakan ionic framework
Pemrograman mobile menggunakan ionic frameworkPemrograman mobile menggunakan ionic framework
Pemrograman mobile menggunakan ionic frameworkPuguh Rismadi
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topicGourav Varma
 
Gradle Play Publisher Plugin
Gradle Play Publisher PluginGradle Play Publisher Plugin
Gradle Play Publisher PluginDaniel Kao
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications Concetto Labs
 
Tycho Tutorial (EclipseCon 2012)
Tycho Tutorial (EclipseCon 2012)Tycho Tutorial (EclipseCon 2012)
Tycho Tutorial (EclipseCon 2012)jsievers
 
Puppet Integration Adapter - Datasheet
Puppet Integration Adapter - DatasheetPuppet Integration Adapter - Datasheet
Puppet Integration Adapter - DatasheetKovair
 
Linking
LinkingLinking
Linkingjsmith
 
Get started with AAR
Get started with AARGet started with AAR
Get started with AARRené Mertins
 
PHP on Google App Engine
PHP on Google App EnginePHP on Google App Engine
PHP on Google App Enginetim4h0blyn
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 featuresAngel Ruiz
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersWilliam Echlin
 
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-AppsSelenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-Appschrisb206 chrisb206
 
Timing and Synchronisation
Timing and SynchronisationTiming and Synchronisation
Timing and Synchronisationjsmith
 

What's hot (20)

Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tycho
 
Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a Snap
 
Pemrograman mobile menggunakan ionic framework
Pemrograman mobile menggunakan ionic frameworkPemrograman mobile menggunakan ionic framework
Pemrograman mobile menggunakan ionic framework
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
 
Introduction to Eclipse IDE
Introduction to Eclipse IDEIntroduction to Eclipse IDE
Introduction to Eclipse IDE
 
Gradle Play Publisher Plugin
Gradle Play Publisher PluginGradle Play Publisher Plugin
Gradle Play Publisher Plugin
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications
 
Tycho Tutorial (EclipseCon 2012)
Tycho Tutorial (EclipseCon 2012)Tycho Tutorial (EclipseCon 2012)
Tycho Tutorial (EclipseCon 2012)
 
Composer
ComposerComposer
Composer
 
Puppet Integration Adapter - Datasheet
Puppet Integration Adapter - DatasheetPuppet Integration Adapter - Datasheet
Puppet Integration Adapter - Datasheet
 
Linking
LinkingLinking
Linking
 
Get started with AAR
Get started with AARGet started with AAR
Get started with AAR
 
PHP on Google App Engine
PHP on Google App EnginePHP on Google App Engine
PHP on Google App Engine
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 
Maven 2 features
Maven 2 featuresMaven 2 features
Maven 2 features
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for Testers
 
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-AppsSelenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
 
Maven 3 / Tycho
Maven 3 / TychoMaven 3 / Tycho
Maven 3 / Tycho
 
Timing and Synchronisation
Timing and SynchronisationTiming and Synchronisation
Timing and Synchronisation
 

Viewers also liked

Mobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project StatusMobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project Statusgustavoeliano
 
Multi-Configuration support in MTJ
Multi-Configuration support in MTJMulti-Configuration support in MTJ
Multi-Configuration support in MTJgustavoeliano
 
Interfejs użytkownika w aplikacji mobilnej - LWUIT
Interfejs użytkownika w aplikacji mobilnej - LWUITInterfejs użytkownika w aplikacji mobilnej - LWUIT
Interfejs użytkownika w aplikacji mobilnej - LWUITDariusz Walczak
 
DSDP Mobile Tools for Java Project
DSDP Mobile Tools for Java ProjectDSDP Mobile Tools for Java Project
DSDP Mobile Tools for Java Projectgustavoeliano
 
Introduction to Trusted Virtual Client
Introduction to Trusted Virtual ClientIntroduction to Trusted Virtual Client
Introduction to Trusted Virtual Clientgustavoeliano
 
MOTODEV Studio for Testing A platform testing based on Eclipse
MOTODEV Studio for Testing A platform testing based on EclipseMOTODEV Studio for Testing A platform testing based on Eclipse
MOTODEV Studio for Testing A platform testing based on Eclipsegustavoeliano
 
Modelo de Negociação Bilateral para Comércio Eletrônico
Modelo de Negociação Bilateral para Comércio EletrônicoModelo de Negociação Bilateral para Comércio Eletrônico
Modelo de Negociação Bilateral para Comércio Eletrônicogustavoeliano
 
Building XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experienceBuilding XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experiencegustavoeliano
 
Restructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and HibernateRestructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and Hibernategustavoeliano
 
Bilateral Negotiation Model for Agent Mediated Electronic Commerce
Bilateral Negotiation Model for Agent Mediated Electronic CommerceBilateral Negotiation Model for Agent Mediated Electronic Commerce
Bilateral Negotiation Model for Agent Mediated Electronic Commercegustavoeliano
 
MTJ Taking Mobile Java Developers to the Next Level
MTJ Taking Mobile Java Developers to the Next LevelMTJ Taking Mobile Java Developers to the Next Level
MTJ Taking Mobile Java Developers to the Next Levelgustavoeliano
 
DSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and NoteworthyDSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and Noteworthygustavoeliano
 
Client Server Development – Problems in Supporting Different Wireless Platform
Client Server Development – Problems in Supporting Different Wireless PlatformClient Server Development – Problems in Supporting Different Wireless Platform
Client Server Development – Problems in Supporting Different Wireless Platformgustavoeliano
 
DSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java WebinarDSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java Webinargustavoeliano
 
0-knowledge fuzzing white paper
0-knowledge fuzzing white paper0-knowledge fuzzing white paper
0-knowledge fuzzing white paperzynamics GmbH
 
Local learnscenarios
Local learnscenariosLocal learnscenarios
Local learnscenariosYishay Mor
 
Votedthebestemailofthisyear
VotedthebestemailofthisyearVotedthebestemailofthisyear
Votedthebestemailofthisyearguest6b371e
 
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012ronaldko
 

Viewers also liked (20)

Mobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project StatusMobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project Status
 
Multi-Configuration support in MTJ
Multi-Configuration support in MTJMulti-Configuration support in MTJ
Multi-Configuration support in MTJ
 
Interfejs użytkownika w aplikacji mobilnej - LWUIT
Interfejs użytkownika w aplikacji mobilnej - LWUITInterfejs użytkownika w aplikacji mobilnej - LWUIT
Interfejs użytkownika w aplikacji mobilnej - LWUIT
 
DSDP Mobile Tools for Java Project
DSDP Mobile Tools for Java ProjectDSDP Mobile Tools for Java Project
DSDP Mobile Tools for Java Project
 
Introduction to Trusted Virtual Client
Introduction to Trusted Virtual ClientIntroduction to Trusted Virtual Client
Introduction to Trusted Virtual Client
 
MOTODEV Studio for Testing A platform testing based on Eclipse
MOTODEV Studio for Testing A platform testing based on EclipseMOTODEV Studio for Testing A platform testing based on Eclipse
MOTODEV Studio for Testing A platform testing based on Eclipse
 
Modelo de Negociação Bilateral para Comércio Eletrônico
Modelo de Negociação Bilateral para Comércio EletrônicoModelo de Negociação Bilateral para Comércio Eletrônico
Modelo de Negociação Bilateral para Comércio Eletrônico
 
Building XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experienceBuilding XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experience
 
Restructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and HibernateRestructuring a Web Application, Using Spring and Hibernate
Restructuring a Web Application, Using Spring and Hibernate
 
08 Midlet Basic
08 Midlet Basic08 Midlet Basic
08 Midlet Basic
 
Bilateral Negotiation Model for Agent Mediated Electronic Commerce
Bilateral Negotiation Model for Agent Mediated Electronic CommerceBilateral Negotiation Model for Agent Mediated Electronic Commerce
Bilateral Negotiation Model for Agent Mediated Electronic Commerce
 
MTJ Taking Mobile Java Developers to the Next Level
MTJ Taking Mobile Java Developers to the Next LevelMTJ Taking Mobile Java Developers to the Next Level
MTJ Taking Mobile Java Developers to the Next Level
 
DSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and NoteworthyDSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and Noteworthy
 
Client Server Development – Problems in Supporting Different Wireless Platform
Client Server Development – Problems in Supporting Different Wireless PlatformClient Server Development – Problems in Supporting Different Wireless Platform
Client Server Development – Problems in Supporting Different Wireless Platform
 
DSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java WebinarDSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java Webinar
 
0-knowledge fuzzing white paper
0-knowledge fuzzing white paper0-knowledge fuzzing white paper
0-knowledge fuzzing white paper
 
Local learnscenarios
Local learnscenariosLocal learnscenarios
Local learnscenarios
 
Handout7 html forms
Handout7 html formsHandout7 html forms
Handout7 html forms
 
Votedthebestemailofthisyear
VotedthebestemailofthisyearVotedthebestemailofthisyear
Votedthebestemailofthisyear
 
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
THE MRIC ANNUAL TALENT ENVIRONMENT INDEX 2012
 

Similar to 469-Porting the build system of a commercial RCP Application from Europa to Ganymede A Case Study

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 profitPascal Rapicault
 
Simplifying RCP Update and Install
Simplifying RCP Update and InstallSimplifying RCP Update and Install
Simplifying RCP Update and Installsusanfmccourt
 
Managing Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionManaging Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionLuciano Rocha
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Diego Zuluaga
 
PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...
PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...
PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...Puppet
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligenceCarlos Toxtli
 
Java Chapter 2 Overview.ppt
Java Chapter 2 Overview.pptJava Chapter 2 Overview.ppt
Java Chapter 2 Overview.pptMiltonMolla1
 
Java Chapter 2 Overview.ppt
Java Chapter 2 Overview.pptJava Chapter 2 Overview.ppt
Java Chapter 2 Overview.pptMiltonMolla1
 
create_patch_file_v3a.pdf
create_patch_file_v3a.pdfcreate_patch_file_v3a.pdf
create_patch_file_v3a.pdfvilaylala
 
10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftware10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftwareWilliam Hart
 
PyCourse - Self driving python course
PyCourse - Self driving python coursePyCourse - Self driving python course
PyCourse - Self driving python courseEran Shlomo
 
Building Eclipse Plugins with Tycho
Building Eclipse Plugins with TychoBuilding Eclipse Plugins with Tycho
Building Eclipse Plugins with Tychojsievers
 
Jan Burkl - Zend & Magento
Jan Burkl - Zend & MagentoJan Burkl - Zend & Magento
Jan Burkl - Zend & MagentoGuido X Jansen
 
Building our Component Library
Building our Component LibraryBuilding our Component Library
Building our Component LibraryClement Ho
 
Packaging perl (LPW2010)
Packaging perl (LPW2010)Packaging perl (LPW2010)
Packaging perl (LPW2010)p3castro
 
Introduction to package manager
Introduction to package managerIntroduction to package manager
Introduction to package manageryashobantabai
 

Similar to 469-Porting the build system of a commercial RCP Application from Europa to Ganymede A Case Study (20)

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
 
Simplifying RCP Update and Install
Simplifying RCP Update and InstallSimplifying RCP Update and Install
Simplifying RCP Update and Install
 
Managing Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionManaging Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and Subversion
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0
 
PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...
PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...
PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application O...
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligence
 
Java Chapter 2 Overview.ppt
Java Chapter 2 Overview.pptJava Chapter 2 Overview.ppt
Java Chapter 2 Overview.ppt
 
Java Chapter 2 Overview.ppt
Java Chapter 2 Overview.pptJava Chapter 2 Overview.ppt
Java Chapter 2 Overview.ppt
 
create_patch_file_v3a.pdf
create_patch_file_v3a.pdfcreate_patch_file_v3a.pdf
create_patch_file_v3a.pdf
 
10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftware10 11-hart installing pythonsoftware
10 11-hart installing pythonsoftware
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
PyCourse - Self driving python course
PyCourse - Self driving python coursePyCourse - Self driving python course
PyCourse - Self driving python course
 
Building Eclipse Plugins with Tycho
Building Eclipse Plugins with TychoBuilding Eclipse Plugins with Tycho
Building Eclipse Plugins with Tycho
 
Jan Burkl - Zend & Magento
Jan Burkl - Zend & MagentoJan Burkl - Zend & Magento
Jan Burkl - Zend & Magento
 
Building our Component Library
Building our Component LibraryBuilding our Component Library
Building our Component Library
 
Compose Camp - Session2.pdf
Compose Camp - Session2.pdfCompose Camp - Session2.pdf
Compose Camp - Session2.pdf
 
Packaging perl (LPW2010)
Packaging perl (LPW2010)Packaging perl (LPW2010)
Packaging perl (LPW2010)
 
Introduction to package manager
Introduction to package managerIntroduction to package manager
Introduction to package manager
 

469-Porting the build system of a commercial RCP Application from Europa to Ganymede A Case Study

  • 1. Porting the build system of a commercial RCP Application from Europa to Ganymede: A Case Study Christian Kurzke Gladyston Franca Gustavo de Paula
  • 2.
  • 3.
  • 4. Europa Build Solution – Build Levels Installer Studio Standalone devicedocs toolsdocs demos emulator services tools util Features & plugins Product Installer & Upd site. Non-eclipse emulator devicedocs toolsdocs demos Level 3 Level 2 Level 1 Level 4 Update Site
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Ganymede Build Solution MoJa Non-plugin data MoJa Non-plugin data Features / Binaries MoJa Features / Plugins MoJa Repository MoJa Wrapping Code MoJa Wrapping Repository P2-enabled MoJa Installer MOJA Binary Build PDE Build MOJA Customized Metadata Generator PDE Build + Metadata Generation P2 Director Install Jammer MoJa Umbrella Repository MoJa Repository MOJA Content Editor MOJA Content Editor
  • 14.