Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 310318

Summary: p2.remove.iu & "artifacts" : don't remove IUs that didn't have any artifacts
Product: [Eclipse Project] Equinox Reporter: Andrew Niefer <aniefer>
Component: p2Assignee: P2 Inbox <equinox.p2-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.6   
Target Milestone: 3.6 M7   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on:    
Bug Blocks: 307573    

Description Andrew Niefer CLA 2010-04-23 14:30:11 EDT
The <p2.remove.iu/> removes all IUs that match the given IU queries
If the, the IU has an "artifacts" filter attribute, only the artifacts matching that filter are removed.  If any artifacts remain, then the IU is not removed.

One common pattern is:
<p2.remove.iu>
	<repository location="file:${basedir}/@{feature}" />
	<iu query="" artifacts="(format=packed)" />
</p2.remove.iu>

That is, remove the pack.gz artifacts from all IUs.  However, this will also remove any IUs that did not have any artifacts, which was not quite the intent.

I suggest that if an "artifacts" filter exists on the <iu/> element, then we only remove the IU if (1) it had artifacts to start with and (2) all those artifacts match the filter.
Comment 1 Andrew Niefer CLA 2010-04-23 15:59:02 EDT
done