The scripts in this directory are intended for production builds on build.eclipse.org.

None of them should be required for normal "maven builds".

Most of them would not work well for local builds or "casual use" as they
will tag repos, commit changes, and similar.
