Community
Participate
Working Groups
3.6 RC3 I was running an API use scan and getting no results against a baseline that was not the workspace baseline. It turned out the baseline was empty. Steps to reproduce an empty baseline: * Start a new empty workspace * Define an API baseline named A that points to Eclipse 3.2.2 * Defint an API baseline named B that points to Eclipse 3.3 * Set baseline B as default * Create a new plug-in project a.b.c from a template * Re-open the baseline pref page, and look at the contents of baseline A - it will be empty
Reproduced. I'll try in self-hosting.
I don't get it anymore. I keep investigating it.
Got it again. We can only got it if we create the baselines and do a build within the same session. The problem comes from the fact that the baseline has no longer any components already initialized but its handle is not saved in the handle cache. This is because in the save method when the baselines are persisted on disk, the corresponding handle is not saved within the handle cache. So since there is no entry in the handle cache for the corresponding baseline, its contents cannot be restored. Once the baseline is reopen as empty, its original contents will be overridden on disk on the next save action. So the baseline will need to be reinitialized from scratch.
Created attachment 170963 [details] Proposed fix
With this patch, I can no longer get an empty baseline. I also renamed some "profile" into "baseline" in the same patch. Darin, please review.
The only thing that worries me is the fact that the save action in not synchronized. I don't know if the save action can be called concurrently.
Michael, please review.
+1 works well.
applied to HEAD and 3.6.1