EclipseHelper: Remove unneeded annotation

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Upgrade to use Java5 annotations

See https://maven.apache.org/plugin-tools/maven-plugin-tools-annotations/index.html
and https://maven.apache.org/plugin-developers/cookbook/plexus-plugin-upgrade.html.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Clean up our dependencies

Many, many dependencies were added somewhere along the line, but are not
actually needed. Let's get rid of them, and actually depend on maven-core
proper.

We have to add JUnit directly now because it was only a transitive
dependency.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Update to Maven 3.0

Let's not get stuck with obsolete API; we will need some rather powerful
things out of the Maven 3 API for the upcoming 'bump' mojo.

To stay compatible with the maven-plugin-annotations dependency, we only
bump to 3.0, not 3.0.4 (the maven-enforcer-plugin would point out an
incompatibility there).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a class to read and write pom.xml files

This will come in real handy for the upcoming "bump" mojo to bump versions
in POMs. The job of mojo was previously performed by SciJava scripts'
bump-version-in-pom.sh script.

The most important part is that we modify the file contents as little as
possible, to avoid hiding the real changes between unsubstantial
formatting changes.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a unit test for the PomEditor

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
PomEditor: Add some API to extract information from the parsed POM

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Pass a logger instance to the PomEditor

... so it can warn properly...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
PomEditor: allow to modify versions of referenced projects

The procedure established in the SciJava project (which serves as a guinea
pig of robust, collaborative development of scientific software) is to
define dependencies' versions as properties and then use those properties
in the dependencyMangement section for maximal convenience of consumers of
those POMs.

As a consequence, the SciJava project needs tooling to adjust the
properties defining dependency versions every once in a while, and the
upcoming 'bump' mojo of the scijava-maven-plugin is intended to fulfill
that purpose.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
DRY up the PomEditor

It's really good to reduce repeated code because copied code tends to
diverge (read: accumulate separate sets of bugs) which is not good.
Hence: Don't Repeat Yourself.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
PomEditor: handle import-scope pom-type dependencies, too

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add the "bump" mojo

Its purpose is to help SciJava projects maintain parent POMs, i.e. POMs
listing projects' current versions.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Bump to newest parent

Unfortunately, the enforcer plugin – which is now active thanks to the new
parent version – identifies a couple of upstream problems we need to
ignore because we cannot fix them here.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
WIP: debugging