scala-ide/build-tools — pull request #9 by dotta (2014-01-14 07:44:49+00:00)
Title: New --force=<ecosystem-ids> CLI argument to force recreation of ecosystem update-sites

The existing implementation of `EcosystemBuild.shouldBeRegenerated`, which takes care of
deciding if an ecosystem update-site should be recreated, doesn't currently handle the
case where a plug-in is removed from the ecosystem and we would like to recreate the
ecosystem update-site **without** the removed plug-in. The information about what plug-in
was removed wrt the previously built update-site is missing from `ScalaIDEVersion` class.

After discussing the problem with @skyluc, it was decided to implement a hack to override
the behavior of `EcosystemBuild.shouldBeRegenerated` and manually force the recreation of
the update-site via a CLI argument `--force=`. The
rationale for this decision is that a proper fix would need some work (not something that
can be quickly put together), and considering that we don't remove plug-ins from the
ecosystem often, we decided it was better to have a workaround than further delay the removal
of InSynth from the ecosystem.

Last but not least, before merging this it would be great if the reviewer could test it, as I've only managed to successfully execute the first step of the ecosystem build (i.e., ``mvn -Dmaven.repo.local=${LOCAL_REPO} -Pecosystem-builds exec:java``), but not the following ones (I was getting some weird error message and I don't currently have time to look deeper).