Fix dependecy of 'script-beanshell'

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add the MiniMaven subproject

MiniMaven is a small component capable of building ImageJ2 plugins
from a pom.xml, just like Maven would. It is small because it does
not support any Maven plugins. Its purpose is to provide developers
(and advanced users) with a build system without requiring a full-blown
Maven (including downloading a metric ton of files upon first start).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The first code-dump of MiniMaven

This is the code straight from Fiji's commit 11091b34c.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: rename packages

It is an ImageJ2 project now...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: add license headers

Thanks, 'mvn license:update-file-header'

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: use @Override where appropriate

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: fix a few more compiler warnings

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: fix remaining compiler warnings

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: rename the POM class into MavenProject

There are two reasons for that:

1) it is a better name (since the class performs many more tasks than just
   parsing a pom.xml file), and

2) there is another class named POM already (which pretty much only parses
   a pom.xml file).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: try to fall back to tools.jar when compiling

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: offer to parse a pom.xml from an InputStream

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: offer to fake a project configuration for a given .jar file

For the script editor, we will want to compile using all the .jar
files in the class path, whether they are Mavenized or not.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MiniMaven: offer group and artifact IDs of coordinates

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a 'script engine' for Java

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Test the Java "script engine"

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Refactor the test for the Java 'script engine'

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Java 'script engine': optionally search for pom.xml file

When the specified file is not a pom.xml file, let's look for it by
searching the directory and its parent directories.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Java 'script engine': try to execute the current class

If the file specified via javax.script.filename refers to the sources of a
Java class, let's execute that even if the pom.xml specifies a different
main class.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Java Engine: support eval(Reader)

When no filename was given, we need to write a temporary file. Let's
try our best to figure out what file name to use and whip up a
makeshift project configuration.

Incidentally, we now support stand-alone .java files, too.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
ScriptService: add a method to identify compiled-only languages

Languages such as Java do not support running via eval(Reader). We
need to be able to tell whether that would fail before trying.

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