Tuesday, November 22, 2011

How to Make Most Accessible Examples in The World

This video is done by Max Rydahl Andersen

Making Examples Accessible from Max Rydahl Andersen on Vimeo.

Slides as used at JUDCon 2011 for evening lightning talk. Audio was recorded later for the publishing as video.

In this video you will learn about the best way to provide examples. It is based on analysis of JBoss Tools Examples component and you'll know:
  1. Why examples are the important part of any project
  2. What is the best way to provide build support for examples
  3. What is the most usable IDE's and Operation Systems
  4. Who is installing examples and what languages would be most popular
  5. What build + IDE + OS + Language combination for examples would be most popular

Tuesday, January 4, 2011

How to get rid of .blobstore during mirroring eclipse update site using p2.mirror ant task

Mirroring eclipse p2 repositories is fairly simple. It just requires to read an article here and after that it supposed to be simple, but after it finally works I noticed that format of p2 repo it creates is not the same as downloaded from eclipse. The difference is in the way artifacts packed with pack200 are stored. Whatever you do with p2.mirror parameters all pack200 packed artifacts are published in .blobstore instead of *.jar.pack.gz files.

After digging repos available on eclipse I found a solution to controls that. Magic is in format attribute of destination tag. Documentation says: "A URL to another repository from which to copy the repository name and other properties". It gave me an idea to find p2 repo on download.eclipse.org with jar.pack.gz files and check its properties in artifacts.xml. Soon I noticed a property that controls it

<property name="publishPackFilesAsSiblings" value="true/">

So if you want to get rid of .blobstore in mirrored p2 repo just create artifacts.xml file like



  
     <property name="publishPackFilesAsSiblings" value="true"/>
  

Then in destination tag format attribute use URL to folder that contains artifacts.xml file with content provided above and p2.mirror task will copy 'publishPackFilesAsSiblings' attribute to your local mirror. This will force mirroring task to store artifacts packed with pack200 as jar.pack.gz files.