> Was this hard to setup? Is it just this https://git.eclipse.org/r/#/c/63770/ > ? > We want to do it for CDT but without tycho plugin it seems to be lots of > work.
I'm sure the current setup is far from ideal and could be improved. As an example, I think in the past I've been told that the contents being compared should be actually eclipse installations and not just a folder with jars but doing an installation through the p2 director even once for all bundles would take some time and would probably increase the time the job takes. The steps are as follows : 1) Build the project as before but ensure that the api description generation occurs. If you look inside our top-level pom you'll see a profile for 'api-generation' which does this. It uses a cbi-plugin to generate an ant file which is then run by tycho-eclipserun-plugin using the antRunner functionality. To get this to work, it seems to be necessary for each project to have the proper nature/builder in the .project file. You can see an example of the changes in : http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.git/commit/?id=be49deb26ee6e83726432a6226a69c35cf88441a So basically, 'mvn clean install -Papi-generation' 2) This part is a little more complicated because I wanted to run the api analysis on the baseline+profile with minimal overhead. I think the 'proper' solution involves installing all the bundles into a fresh eclipse with the p2 director but that takes a while. All bundles from our baseline zipped p2 repos are extracted and placed in some folder (eg. baseline). These are all on our downloads page so hudson can access them. All bundles from the zipped p2 repo of the build that just succeeded are placed in some other folder (eg. profile). The final thing to do is to extract the lib/apitooling-ant.jar which we'll need for the analysis. It's actually guaranteed to be in the reactor cache because it's a dependency of the 'api-generation' setup. I used something like : apitools_jar=`find .maven/repo/p2/osgi/bundle/ -name org.eclipse.pde.api.tools-*.jar | sort -r | head -1` unzip -o -d ${target} ${apitools_jar} lib/apitooling-ant.jar 3) Just run : '-f releng/apitools/pom.xml verify' The ant script is set up to look in releng/apitools/target for lib/apitooling-ant.jar, baseline, profile, and any other files that are needed in the configuration. 4) The final step involves interpreting the result. I think the simplest way is to look at releng/apitools/target/reports/counts.xml to see how many errors there are and pass/fail the build accordingly, being sure to archive the necessary html files so more info is available in case of a fail. I can actually post the full scripts used (steps 2, and 4) which reside in the hudson configuration. Cheers, -- Roland Grunberg _______________________________________________ linuxtools-dev mailing list linuxtools-dev@eclipse.org To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/linuxtools-dev