Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseCon 2010 p2 tutorial"

m
m
Line 35: Line 35:
 
'''Notes from Ian and Kim's Friday Jan 15 discussion regarding the tutorial.'''  
 
'''Notes from Ian and Kim's Friday Jan 15 discussion regarding the tutorial.'''  
  
Discovering p2, building an add-on explorer for your application.  
+
Discovering p2, building an add-on explorer for your application.  
 +
 
 +
This would cover:
 +
 
 +
1. Building and Assembling different configurations of your application
  
This would cover:
 
1. Building and Assembling different configurations of your application 
 
 
2. Building and publishing add-ons (or plug-ins or bundles, or whatever term your prefer)  
 
2. Building and publishing add-ons (or plug-ins or bundles, or whatever term your prefer)  
 +
 
3. Using the p2 UI to discover the add-ons  
 
3. Using the p2 UI to discover the add-ons  
 +
 +
  
 
Detailed information  
 
Detailed information  
1. Building and Assembling different configurations of your application:
 
Here we would show how you can build a master feature to a p2 repository. You then build multiple "products". Instead of using CVS for the products source, you use the master repo (already built).  Doing this you can build an SDK, and Standard product (or whatever we want).
 
  
2. Building publishing add-ons  
+
1. Building and Assembling different configurations of your application: Here we would show how you can build a master feature to a p2 repository. You then build multiple "products". Instead of using CVS for the products source, you use the master repo (already built). Doing this you can build an SDK, and Standard product (or whatever we want).
Here we would show you use your SDK (that you built in #1) as a target, and you write a cool add-on bundle. You then build the add on and publish it to a repo.  
+
 
 +
2. Building publishing add-ons Here we would show you use your SDK (that you built in #1) as a target, and you write a cool add-on bundle. You then build the add on and publish it to a repo.  
 +
 
 +
3. Using the p2 UI to discover the add-ons Here we demonstrate the new Mylyn UI (that is coming to p2) for discovering stuff. <br>
 +
 
  
3. Using the p2 UI to discover the add-ons
 
Here we demonstrate the new Mylyn UI (that is coming to p2) for discovering stuff. I don't know much about this UI yet so I will have to learn it.
 
  
*30 minute introduction to p2 - overview of terminology, structure of a repo etc.
+
*30 minute introduction to p2 - overview of terminology, structure of a repo etc.  
 
**Kim will ask PC if other p2 talks can be scheduled before our tutorial so people have a better background. (Susan's update and extensions, Pascal's p2 api)  
 
**Kim will ask PC if other p2 talks can be scheduled before our tutorial so people have a better background. (Susan's update and extensions, Pascal's p2 api)  
 
*Ian will send Kim the latest Hyperbola code to take a look the examples
 
*Ian will send Kim the latest Hyperbola code to take a look the examples
  
15 minutes for each exercise
+
15 minutes for each exercise  
  
#First exercise - exporting from IDE and creating a repo
+
#First exercise - exporting from IDE and creating a repo. Describe p2 properties that you can set in your build properties - for example for generating, compressing, and naming repos  
##describe p2 properties that you can set in your build properties - for example for generating, compressing, and naming repos  
+
#Second exercise - create a builder so the the build is reproducible -provide product source  
#Second exercise - create a builder so the the build is reproducible -provide product source  
+
 
#Provision SDK as a target. -Add new bundles - for install something to add a toolbar item -Export or build repository -install new add on into Hyperbola  
 
#Provision SDK as a target. -Add new bundles - for install something to add a toolbar item -Export or build repository -install new add on into Hyperbola  
 
#Mylyn UI - Ian will ping Susan to see when it will be integrated into the build
 
#Mylyn UI - Ian will ping Susan to see when it will be integrated into the build
Line 68: Line 72:
 
Other content to discuss  
 
Other content to discuss  
  
*p2 specific properties in build.properties
+
*p2 specific properties in build.properties  
*other useful entries in build.properties
+
*other useful entries in build.properties  
 
*note about how reproducible builds are important  
 
*note about how reproducible builds are important  
 
*why we need to have install location with same content as repo - comparator?
 
*why we need to have install location with same content as repo - comparator?
*
+
*Last year there were ~80 people in the the tutorial.&nbsp; It would be great if there could be other people to help out.&nbsp; Perhaps, Pascal, Simon, Jeff, Chris A or Susan would be able to help.
  
 
<br> Other issues  
 
<br> Other issues  

Revision as of 18:12, 15 January 2010

Build specific suggestions

  • Product based builds with p2
  • Using repository tools such as the slicer, repo2runnable and mirror to build smaller components from existing repositories
  • process.p2.repo
  • comparator
  • remove.iu
  • Building composite repositories
  • Repository management
  • Using the publisher
  • Assembling product out of pre-existing components (no compiling)
  • Overview of pde build process to create metadata for product builds
    • setting start levels
    • specifying launchers
    • configuration properties


P2 focus

  • p2 for RCP developers (everything you need to know to make use of p2 in RCP -- including at build + packaging time, at run-time, to provide self updating apps, etc...).
  • self updating - headless and non-headless. See also the RCP update long talk . I am thinking something along the lines of Equinox/p2/Adding Self-Update to an RCP Application (which will be updated before EclipseCon to cover the current state of the world). It would be really helpful to include adding self-update support as part of a sequence:
    • build your first app and include self-update support
    • add a new feature to your app, rebuild it, put it in the repo and show the self-update working
  • Something similar for OSGi developers. (Obviously things are very similar, but we would have to pick an example and focus on it during the tutorial).


Grumpy has left a new comment on your post "p2 tutorial RFC":

I'd really like to see someone explore using P2 for mass (as in pushing/pulling bundles to around 180 global branches) deployment scenarios. It seems to me there would be lots of tooling above and beyond P2 to handle. It would be nice to have someone explore various paths. Another challenging area is the intersection of bundle distribution and role based access (governing who can get what bundles).

kmoir> This seems similar to what Sonatype's Nexus talk is discussing.



Notes from Ian and Kim's Friday Jan 15 discussion regarding the tutorial.

Discovering p2, building an add-on explorer for your application.  

This would cover:

1. Building and Assembling different configurations of your application

2. Building and publishing add-ons (or plug-ins or bundles, or whatever term your prefer)

3. Using the p2 UI to discover the add-ons


Detailed information

1. Building and Assembling different configurations of your application: Here we would show how you can build a master feature to a p2 repository. You then build multiple "products". Instead of using CVS for the products source, you use the master repo (already built). Doing this you can build an SDK, and Standard product (or whatever we want).

2. Building publishing add-ons Here we would show you use your SDK (that you built in #1) as a target, and you write a cool add-on bundle. You then build the add on and publish it to a repo.

3. Using the p2 UI to discover the add-ons Here we demonstrate the new Mylyn UI (that is coming to p2) for discovering stuff.


  • 30 minute introduction to p2 - overview of terminology, structure of a repo etc.
    • Kim will ask PC if other p2 talks can be scheduled before our tutorial so people have a better background. (Susan's update and extensions, Pascal's p2 api)
  • Ian will send Kim the latest Hyperbola code to take a look the examples

15 minutes for each exercise

  1. First exercise - exporting from IDE and creating a repo. Describe p2 properties that you can set in your build properties - for example for generating, compressing, and naming repos
  2. Second exercise - create a builder so the the build is reproducible -provide product source
  3. Provision SDK as a target. -Add new bundles - for install something to add a toolbar item -Export or build repository -install new add on into Hyperbola
  4. Mylyn UI - Ian will ping Susan to see when it will be integrated into the build


Other content to discuss

  • p2 specific properties in build.properties
  • other useful entries in build.properties
  • note about how reproducible builds are important
  • why we need to have install location with same content as repo - comparator?
  • Last year there were ~80 people in the the tutorial.  It would be great if there could be other people to help out.  Perhaps, Pascal, Simon, Jeff, Chris A or Susan would be able to help.


Other issues

  • download content from Yoxos - not sure if Eclipsecon will have sufficient bandwidth. Maybe will have a mirror like other EclipseCons, perhaps we could piggyback on that. Kim will followup with Denis.

Back to the top