The feature requested in issue #28 hast been there for a while now. So I think it is time to show what is coming in the next version.
So Package Drone does have the clean aspect and the Tycho Cleaner. Aspects should work by using transformations other extraction to always generate the required state of a channel. In other words, removing and re-adding an aspect should result in the same channel state.
However the cleanup and the tycho cleaner aspect, both hook into the processor of altering a channel and performing their operation. In addition it was only possible to have each aspect exactly once attached to a channel. So cleaning up with two different configurations was not possible. A proper solution would be to allow trigger points and some sort of processors which can be attached to these points. It took a while, but now it is here: the trigger system will be part of Eclipse Package Drone 0.13.0.
Each channel will have a set of pre-defined triggers and there will be factories for configuring new triggers to a channel. Each trigger will have a list of processors, which will be executed when the trigger is fired.
One pre-defined trigger is the “post operation” trigger, which will be fired after each modify operation on a channel. The HTTP trigger is a configurable trigger and one or more instanced can be added to a channel, each time the configured URL receives a POST request, the trigger is fired.
At the moment there are three two processors: cleanup and unique artifacts. Oh and there is also the
foo bar processor 😉 The cleanup processor provides the same functionality as the old cleanup aspect, which will stay for a while. The
unique artifacts processor will enforce artifacts being unique according to its configuration.
Of course many more processor and trigger implementations pop into ones mind thinking a bit about it: timers, spool out, http callbacks, … All in good time. And since it is an open source project I am happy to receive contributions 😉
And when will this be released? Before we can release this, we have to wait for a few CQs to be processed. There is a required upgrade of Pax Web, CKeditor and a few minor things. With a bit of luck we can aim for a release in June. And until that, there will be a few more features coming.