scijava/scijava-common — pull request #126 by dscho (2014-10-07 15:47:28+00:00)
Title: Fix annotation processing when running javac without -d <directory>

Samuel Inverso noticed, and Mark Hiner diagnosed, that compiling SciJava
plugins using javac without specifying an output directory will write the
annotation index into an incorrect location (instead of META-INF/json/ it
is written into the top-level directory).

This can be verified using a very simple example x1.java file:

-- snip --
import org.scijava.plugin.Plugin;
import org.scijava.plugin.SciJavaPlugin;

@Plugin(type = SciJavaPlugin.class)
public class x1 implements SciJavaPlugin { }
-- snap --

The reason is that javac's DefaultFileManager will strip out any
subdirectory in the path passed to the createResource() method unless
an output directory is specified.

Work around that by detecting the situation and creating the subdirectory
explicitly.

This fixes https://github.com/imagej/imagej-launcher/issues/22.

Signed-off-by: Johannes Schindelin