SlideShare a Scribd company logo
Extend Eclipse p2 framework              capabilities: Add your custom installation stepsBucharest Eclipse Demo Camp – 2011DragosMihailescu (Dragos.Mihailescu@freescale.com)Updated June 2011
What is p2?Equinox p2 is a comprehensive provisioning platform for delivering and managing RCP applications, tools, servers and embedded systems.    Using integrated multi-threaded download, bundle pooling and state-of-the-art constraint resolution technology, p2 gives you one-stop-shopping for defining, installing and managing complex software systems
Why p2 for CodeWarrior updates?Custom  Functionality added byFreescale  FeaturesManage your complete install (p2 has deep knowledge of how Eclipse works and gives you full control of all aspects of your Eclipse install from program and VM arguments to start-levels to bundle configuration)Avoid runtime surprises (p2 knows exactly what you are and will be running)Install more than just bundles (p2's extensible touchpoint mechanism adapts by using platform-specific code to interact with runtimes and install components)Pool your resources (p2's bundle pooling will save disk space, download time and bandwidth)One integrated solution for both Windows & Linux platforms
Integration with Eclipse based CodeWarriorImplemented as plugin-in (com.freescale.updater.customActions) for the Eclipse based CodeWarrior.
Integration with stock/vanilla EclipseStand alone plugin-in (Freescale Branding)
Custom p2 touchpoint with specific actions
Eclipse Extensions – org.eclipse.equinox.p2.engine.actions<extensionpoint="org.eclipse.equinox.p2.engine.actions">	   <action		class="com.freescale.updater.customactions.actions.FreescaleInstall“		name="com.freescale.updater.customActions.freescaleinstall“		version="1.0.0">	   </action></extension>     Each CodeWarrior update will be a new feature which will contain all the required files for a Service Pack or Patch – all compressed into an artifact. All actions regarding an update is controlled by a p2.inf file which contains a full description including the dependencies, specific action for each p2 phase (collect, configure, install, uninstall, un-configure)  if needed and touchpoint id:One can see below a custom ‘p2.inf’ file snapshot enabling ‘freescaleinstall’ custom action:   units.0.touchpoint.id=com.freescale.updater.touchpoint   units.0.touchpoint.version=1.0.0   units.0.instructions.install=\freescaleinstall(source:@artifact,target:${installFolder}/../,overwrite:true);   units.0.instructions.install.import=\com.freescale.updater.customActions.freescaleinstall
freescaleinstall – provides ‘Multi User Install’ capabilityThere are three different locations that are important in the context of deploying Eclipse in a MUI setup:install area - the location where the Eclipse Platform is installed. This location can be read-only, since neither the Eclipse runtime nor plug-ins are supposed to write there. However, in a single user scenario, the configuration area, which is typically writable, defaults to a directory called "configuration" stored under the install area.
configuration area - the location where Eclipse stores essential runtime metadata (such as information about the set of plug-ins installed and the dependencies between them) and cached data in general. Eclipse cannot run without a configuration area. Plug-ins may choose to store data here that should be available regardless the workspace in use (for instance, help index files). User settings shared across workspaces are also stored under this location.
instance area - the location where user files are stored, commonly called the workspace. It is optional, however most Eclipse-based products require an instance area to work. The instance area cannot be shared, although a single user might maintain multiple instance areas. Inside the instance area there is a special directory called .metadata, where plug-ins store their own workspace-specific metadata and user settings. Regarding [Linux / Windows Vista & 7], one can install the [PEx] test folder in:- .../eclipse                 - configuration                 - features                 - plugins                 - (...)                 - [PEx](ROOT/Administrator)- <user-home-dir>/.eclipse/<product-id>_<product-vers>                    - configuration                    - features                    - plugins                    - (...)                    - [PEx](User access rights)

More Related Content

PDF
Openstack lab environment Virtualbox (English)
PPSX
Deploying private cloud with eucalyptus
PDF
Dev stacklabguide
PDF
Oracle Enterprise manager 13c Installation
PPTX
OpenStack Automation Overview
PPTX
Force.com Migration Tool
PDF
Spring Boot - Microservice Metrics Monitoring
PPTX
Hyper-V OpenStack Nova Compute
Openstack lab environment Virtualbox (English)
Deploying private cloud with eucalyptus
Dev stacklabguide
Oracle Enterprise manager 13c Installation
OpenStack Automation Overview
Force.com Migration Tool
Spring Boot - Microservice Metrics Monitoring
Hyper-V OpenStack Nova Compute

What's hot (20)

PDF
Eclipse SCADA Release 0.1.0
PDF
Compass first meetup
PDF
How to run appache spark on windows(in sbt console)
PDF
How to add storage to esxi 5.5
PDF
Install oracle grid infrastructure on linux 6.6
PDF
Are We Done Yet ? Testing Your OpenStack Deployment
PDF
Oracle autovue
PDF
How to integrate_custom_openstack_services_with_devstack
PDF
12c on RHEL7
DOCX
Instalar ebs 12 2 8
PDF
Oracle to MySQL DatabaseLink
PDF
Automating hard things may 2015
KEY
Apache Felix Web Console
PDF
Installing oracle timesten database On Linux
PDF
CI/CD with Docker, DC/OS, and Jenkins
PDF
Ansible for networks
PDF
Significance of RedHat Ansible
PDF
Install oracle solaris 11.2 using gui
PPT
Os Geisingerupdated
PDF
FIWARE Lab
Eclipse SCADA Release 0.1.0
Compass first meetup
How to run appache spark on windows(in sbt console)
How to add storage to esxi 5.5
Install oracle grid infrastructure on linux 6.6
Are We Done Yet ? Testing Your OpenStack Deployment
Oracle autovue
How to integrate_custom_openstack_services_with_devstack
12c on RHEL7
Instalar ebs 12 2 8
Oracle to MySQL DatabaseLink
Automating hard things may 2015
Apache Felix Web Console
Installing oracle timesten database On Linux
CI/CD with Docker, DC/OS, and Jenkins
Ansible for networks
Significance of RedHat Ansible
Install oracle solaris 11.2 using gui
Os Geisingerupdated
FIWARE Lab
Ad

Similar to Extend Eclipse p2 framework capabilities: Add your custom installation steps (20)

PPT
Understanding and extending p2 for fun and profit
PPT
Managing Your Runtime With P2
PPTX
Dockerization of Azure Platform
RTF
Readme
PPT
What's new in p2 (2009)?
PDF
Kubernetes for the PHP developer
PPT
MSI / Windows Installer for NGN 'Dummies'
PDF
Eclipse plug in development
PPTX
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
PPTX
Docker In Brief
PPT
Rapidly deploying software
PDF
WhitePaper - Implementing a Porting Automation Tool as an Eclipse Plugin
PPT
Introduction To Eclipse RCP
PPT
Developing applications using Embedded Rich Client Platform (eRCP)
PPTX
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
PDF
Power your move to the cloud 20180611
PDF
Struts2 tutorial
PDF
Struts2 tutorial
PPTX
Ios application bundle by flutter
PPTX
I os application bundle by flutter
Understanding and extending p2 for fun and profit
Managing Your Runtime With P2
Dockerization of Azure Platform
Readme
What's new in p2 (2009)?
Kubernetes for the PHP developer
MSI / Windows Installer for NGN 'Dummies'
Eclipse plug in development
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Docker In Brief
Rapidly deploying software
WhitePaper - Implementing a Porting Automation Tool as an Eclipse Plugin
Introduction To Eclipse RCP
Developing applications using Embedded Rich Client Platform (eRCP)
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Power your move to the cloud 20180611
Struts2 tutorial
Struts2 tutorial
Ios application bundle by flutter
I os application bundle by flutter
Ad

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
MIND Revenue Release Quarter 2 2025 Press Release
“AI and Expert System Decision Support & Business Intelligence Systems”
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
sap open course for s4hana steps from ECC to s4
Understanding_Digital_Forensics_Presentation.pptx
Big Data Technologies - Introduction.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Review of recent advances in non-invasive hemoglobin estimation
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
MIND Revenue Release Quarter 2 2025 Press Release

Extend Eclipse p2 framework capabilities: Add your custom installation steps

  • 1. Extend Eclipse p2 framework capabilities: Add your custom installation stepsBucharest Eclipse Demo Camp – 2011DragosMihailescu (Dragos.Mihailescu@freescale.com)Updated June 2011
  • 2. What is p2?Equinox p2 is a comprehensive provisioning platform for delivering and managing RCP applications, tools, servers and embedded systems. Using integrated multi-threaded download, bundle pooling and state-of-the-art constraint resolution technology, p2 gives you one-stop-shopping for defining, installing and managing complex software systems
  • 3. Why p2 for CodeWarrior updates?Custom Functionality added byFreescale FeaturesManage your complete install (p2 has deep knowledge of how Eclipse works and gives you full control of all aspects of your Eclipse install from program and VM arguments to start-levels to bundle configuration)Avoid runtime surprises (p2 knows exactly what you are and will be running)Install more than just bundles (p2's extensible touchpoint mechanism adapts by using platform-specific code to interact with runtimes and install components)Pool your resources (p2's bundle pooling will save disk space, download time and bandwidth)One integrated solution for both Windows & Linux platforms
  • 4. Integration with Eclipse based CodeWarriorImplemented as plugin-in (com.freescale.updater.customActions) for the Eclipse based CodeWarrior.
  • 5. Integration with stock/vanilla EclipseStand alone plugin-in (Freescale Branding)
  • 6. Custom p2 touchpoint with specific actions
  • 7. Eclipse Extensions – org.eclipse.equinox.p2.engine.actions<extensionpoint="org.eclipse.equinox.p2.engine.actions"> <action class="com.freescale.updater.customactions.actions.FreescaleInstall“ name="com.freescale.updater.customActions.freescaleinstall“ version="1.0.0"> </action></extension> Each CodeWarrior update will be a new feature which will contain all the required files for a Service Pack or Patch – all compressed into an artifact. All actions regarding an update is controlled by a p2.inf file which contains a full description including the dependencies, specific action for each p2 phase (collect, configure, install, uninstall, un-configure) if needed and touchpoint id:One can see below a custom ‘p2.inf’ file snapshot enabling ‘freescaleinstall’ custom action: units.0.touchpoint.id=com.freescale.updater.touchpoint units.0.touchpoint.version=1.0.0 units.0.instructions.install=\freescaleinstall(source:@artifact,target:${installFolder}/../,overwrite:true); units.0.instructions.install.import=\com.freescale.updater.customActions.freescaleinstall
  • 8. freescaleinstall – provides ‘Multi User Install’ capabilityThere are three different locations that are important in the context of deploying Eclipse in a MUI setup:install area - the location where the Eclipse Platform is installed. This location can be read-only, since neither the Eclipse runtime nor plug-ins are supposed to write there. However, in a single user scenario, the configuration area, which is typically writable, defaults to a directory called "configuration" stored under the install area.
  • 9. configuration area - the location where Eclipse stores essential runtime metadata (such as information about the set of plug-ins installed and the dependencies between them) and cached data in general. Eclipse cannot run without a configuration area. Plug-ins may choose to store data here that should be available regardless the workspace in use (for instance, help index files). User settings shared across workspaces are also stored under this location.
  • 10. instance area - the location where user files are stored, commonly called the workspace. It is optional, however most Eclipse-based products require an instance area to work. The instance area cannot be shared, although a single user might maintain multiple instance areas. Inside the instance area there is a special directory called .metadata, where plug-ins store their own workspace-specific metadata and user settings. Regarding [Linux / Windows Vista & 7], one can install the [PEx] test folder in:- .../eclipse                 - configuration                 - features                 - plugins                 - (...)                 - [PEx](ROOT/Administrator)- <user-home-dir>/.eclipse/<product-id>_<product-vers>                    - configuration                    - features                    - plugins                    - (...)                    - [PEx](User access rights)
  • 11. FSL Custom Actions Updater – one step furtherContinue to extend p2 updater functionality – manage external eclipse filesUninstall for external eclipse filesAdopt new p2 Indigo engine – synchronize with Eclipse major releasesContribute to p2 community