SlideShare ist ein Scribd-Unternehmen logo
1 von 13
How to set up and run
     PDE build
                             Owen Ou
                         @JingwenOwenOu
 http://owenou.com/blog/2010/09/19/how-to-set-up-and-run-pde-build/
What’s PDE headless
           build?
•   automation of plug-ins build process

•   a bundle that can be executed through command
    line => “headless”

•   can also manually build it with Eclipse UI =>
    “head”

•   demo

•   source + target platform + build.properties =>
    PDE builder => generated build.xml => run

•   Maven Tycho (internally running PDE build)
Pre-requirement of
        PDE build
• three folders:
 • build directory
 • target platform
 • build configuration file
Build directory


• where the build actually happens
• where you put your source code
Build directory
- build_directory
  - plugins
     - plugin_to_build_a
     - plugin_to_build_b
     - ...
  - features
Target platform
• target platform is a set of pre-built plug-ins
  and features
• the “dependencies”
• your plug-ins/features build and run against
  the target platform (both compile time and
  run time)
• demo
Target platform
- target_platform
  - plugins
     - org.eclipse.core.runtime
     - org.eclipse.ui
     - ...
  - features
Build configuration file

• build.propeties
• template in #{eclipseInstall}/plugins/
  org.eclipse.pde.build_#{version}/templates/
  headless-build/build.properties
• demo
Build configuration file

- build_config
  - build.properties
Running PDE build
    > java -jar #{eclipseInstall}/plugins/org.eclipse.equinox.launcher_#{version}.jar

           -application org.eclipse.ant.core.antRunner

           -buildfile #{eclipseInstall}/plugins/org.eclipse.pde.build_#{version}/scripts/build.xml

           -DbuildDirectory=#{path_to_the_build_directory}

           -DbaseLocation=#{path_to_the_target_platform_directory}

           -Dbuilder=#{path_to_the_build_configuration_directory}

•      -application => the org.eclipse.core.runtime.applications extension point, application entry
       point

•      -buildfile => productBuild.xml to control pre-build and post-build phases

•      -Dbuilder => optional if it exists in current folder
Demo: FITpro
     https://fitpro.svn.sourceforge.net/svnroot/
                 fitpro/Eclipse/trunk/
- build_directory          - target_platform                     - build_config

  - plugins                  - plugins                             - build.properties

     - plugin_to_build_a        - org.eclipse.core.runtime

     - plugin_to_build_b        - org.eclipse.ui

     - ...                      - ...

  - features                 - features

     - feature_to_build         - org.eclipse.equinox.launcher

     - ...                      - ...
Summary
•   What have we done?

    •   set up directory structure (plugins/features)

        •   plugins/features to build

        •   target platform

    •   build.properties

•   Equinox’s convention of managing components
Further readings:
• http://owenou.com/blog/2010/09/19/how-
  to-set-up-and-run-pde-build/
• http://help.eclipse.org/helios/index.jsp?
  topic=/org.eclipse.pde.doc.user/tasks/
  pde_p2_integration.htm
• PDE build with Rake: https://
  fitpro.svn.sourceforge.net/svnroot/fitpro/
  Eclipse/trunk/

Weitere ähnliche Inhalte

Was ist angesagt?

SharePoint Framework, Angular and Azure Functions
SharePoint Framework, Angular and Azure FunctionsSharePoint Framework, Angular and Azure Functions
SharePoint Framework, Angular and Azure Functions
Sébastien Levert
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
dominion
 

Was ist angesagt? (20)

An Introduction to Maven and Flex
An Introduction to Maven and FlexAn Introduction to Maven and Flex
An Introduction to Maven and Flex
 
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
 
Writing a Jenkins / Hudson plugin
Writing a Jenkins / Hudson pluginWriting a Jenkins / Hudson plugin
Writing a Jenkins / Hudson plugin
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPages
 
Jenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyJenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And Groovy
 
SharePoint Framework, Angular and Azure Functions
SharePoint Framework, Angular and Azure FunctionsSharePoint Framework, Angular and Azure Functions
SharePoint Framework, Angular and Azure Functions
 
Dfc 2018 NativeScript
Dfc 2018 NativeScriptDfc 2018 NativeScript
Dfc 2018 NativeScript
 
Features everywhere
Features everywhere Features everywhere
Features everywhere
 
Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)
 
Session on Selenium 4 : What’s coming our way? by Hitesh Prajapati
Session on Selenium 4 : What’s coming our way? by Hitesh PrajapatiSession on Selenium 4 : What’s coming our way? by Hitesh Prajapati
Session on Selenium 4 : What’s coming our way? by Hitesh Prajapati
 
Don't worry be API with Slim framework and Joomla
Don't worry be API with Slim framework and JoomlaDon't worry be API with Slim framework and Joomla
Don't worry be API with Slim framework and Joomla
 
Whats new in joomla 3.5 & whats coming in future
Whats new in joomla 3.5 & whats coming in futureWhats new in joomla 3.5 & whats coming in future
Whats new in joomla 3.5 & whats coming in future
 
Selenium training
Selenium trainingSelenium training
Selenium training
 
Introduce phaser
Introduce phaserIntroduce phaser
Introduce phaser
 
WP REST API - Building a simple Web Application
WP REST API - Building a simple Web ApplicationWP REST API - Building a simple Web Application
WP REST API - Building a simple Web Application
 
Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3
 
CUST-10 Customizing the Upload File(s) dialog in Alfresco Share
CUST-10 Customizing the Upload File(s) dialog in Alfresco ShareCUST-10 Customizing the Upload File(s) dialog in Alfresco Share
CUST-10 Customizing the Upload File(s) dialog in Alfresco Share
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
 
JavaScript All The Things
JavaScript All The ThingsJavaScript All The Things
JavaScript All The Things
 
Introduction To Appium With Robotframework
Introduction To Appium With RobotframeworkIntroduction To Appium With Robotframework
Introduction To Appium With Robotframework
 

Andere mochten auch (7)

First Touch with OSGi
First Touch with OSGiFirst Touch with OSGi
First Touch with OSGi
 
Ten Things You Didn't Know Git And GitHub Could Do
Ten Things You Didn't Know Git And GitHub Could DoTen Things You Didn't Know Git And GitHub Could Do
Ten Things You Didn't Know Git And GitHub Could Do
 
Implementing a command line client to GitHub in Go
Implementing a command line client to GitHub in GoImplementing a command line client to GitHub in Go
Implementing a command line client to GitHub in Go
 
Introducing eclipse rap
Introducing eclipse rapIntroducing eclipse rap
Introducing eclipse rap
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 

Ähnlich wie Pde build

Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
Kalkey
 

Ähnlich wie Pde build (20)

Tutorial 1: Your First Science App - Araport Developer Workshop
Tutorial 1: Your First Science App - Araport Developer WorkshopTutorial 1: Your First Science App - Araport Developer Workshop
Tutorial 1: Your First Science App - Araport Developer Workshop
 
Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development
 
NI Package Manager
NI Package ManagerNI Package Manager
NI Package Manager
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with Docker
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
 
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
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework Webpart
 
Maven
MavenMaven
Maven
 
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
SenchaCon 2016: Develop, Test & Deploy with Docker - Jonas Schwabe
 
Voiture tech talk
Voiture tech talkVoiture tech talk
Voiture tech talk
 
Creation&imitation
Creation&imitationCreation&imitation
Creation&imitation
 
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsContinuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and Jenkins
 
Dojo javascript toolkit
Dojo javascript toolkit Dojo javascript toolkit
Dojo javascript toolkit
 
Selenium web driver_2.0_presentation
Selenium web driver_2.0_presentationSelenium web driver_2.0_presentation
Selenium web driver_2.0_presentation
 
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...
 
Building JavaScript
Building JavaScriptBuilding JavaScript
Building JavaScript
 
Hudson
HudsonHudson
Hudson
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
 

Pde build

  • 1. How to set up and run PDE build Owen Ou @JingwenOwenOu http://owenou.com/blog/2010/09/19/how-to-set-up-and-run-pde-build/
  • 2. What’s PDE headless build? • automation of plug-ins build process • a bundle that can be executed through command line => “headless” • can also manually build it with Eclipse UI => “head” • demo • source + target platform + build.properties => PDE builder => generated build.xml => run • Maven Tycho (internally running PDE build)
  • 3. Pre-requirement of PDE build • three folders: • build directory • target platform • build configuration file
  • 4. Build directory • where the build actually happens • where you put your source code
  • 5. Build directory - build_directory - plugins - plugin_to_build_a - plugin_to_build_b - ... - features
  • 6. Target platform • target platform is a set of pre-built plug-ins and features • the “dependencies” • your plug-ins/features build and run against the target platform (both compile time and run time) • demo
  • 7. Target platform - target_platform - plugins - org.eclipse.core.runtime - org.eclipse.ui - ... - features
  • 8. Build configuration file • build.propeties • template in #{eclipseInstall}/plugins/ org.eclipse.pde.build_#{version}/templates/ headless-build/build.properties • demo
  • 9. Build configuration file - build_config - build.properties
  • 10. Running PDE build > java -jar #{eclipseInstall}/plugins/org.eclipse.equinox.launcher_#{version}.jar -application org.eclipse.ant.core.antRunner -buildfile #{eclipseInstall}/plugins/org.eclipse.pde.build_#{version}/scripts/build.xml -DbuildDirectory=#{path_to_the_build_directory} -DbaseLocation=#{path_to_the_target_platform_directory} -Dbuilder=#{path_to_the_build_configuration_directory} • -application => the org.eclipse.core.runtime.applications extension point, application entry point • -buildfile => productBuild.xml to control pre-build and post-build phases • -Dbuilder => optional if it exists in current folder
  • 11. Demo: FITpro https://fitpro.svn.sourceforge.net/svnroot/ fitpro/Eclipse/trunk/ - build_directory - target_platform - build_config - plugins - plugins - build.properties - plugin_to_build_a - org.eclipse.core.runtime - plugin_to_build_b - org.eclipse.ui - ... - ... - features - features - feature_to_build - org.eclipse.equinox.launcher - ... - ...
  • 12. Summary • What have we done? • set up directory structure (plugins/features) • plugins/features to build • target platform • build.properties • Equinox’s convention of managing components
  • 13. Further readings: • http://owenou.com/blog/2010/09/19/how- to-set-up-and-run-pde-build/ • http://help.eclipse.org/helios/index.jsp? topic=/org.eclipse.pde.doc.user/tasks/ pde_p2_integration.htm • PDE build with Rake: https:// fitpro.svn.sourceforge.net/svnroot/fitpro/ Eclipse/trunk/

Hinweis der Redaktion