Community
Participate
Working Groups
Repositories are not removed from the repo manager after MirrorApplication finishes mirroring an artifact repository. see org.eclipse.equinox.p2.tests.mirror.BasicMirrorApplicationTest.java for more detail.
Forgot to mention that org.eclipse.equinox.p2.tests.mirror.BasicMirrorApplicationTest.java is currently not checked in. I'll post another comment when it is.
I have a temporary solution in my workspace that I've tested (with Bug 248056 in mind) but I'm not submitting a patch because it relies on my temporary solution to Bug 248269, which won't be in the released code.
To describe this problem in more detail: Repositories loaded by the repository manager are not only cached in memory, but they store information in the preference store. Therefore, if you call the mirror application on a repository that isn't already loaded, you want to remove it from the repo manager when the mirroring is finished.
Created attachment 113987 [details] Checks if a repository is already open and removes repositories accordingly after application has finished This patch casts the repository managers as their respective concrete types. This is currently necessary to take advantage of the contains method included in the manager's abstract class but not interface. This should be changed when the API is updated (see Bug 248269 for more detail).
Thanks Andrew. Patch released to HEAD.