JVM ?= $(JAVA_HOME)/bin/java
JAVADOC ?= $(JAVA_HOME)/bin/javadoc
-# The following variables have default values which can be overriden
-# A2_BASE the space-separated directories where already built a2 categories can be found
-A2_BASE ?=$(A2_OUTPUT) /usr/local/share/a2 /usr/share/a2
-
# GNU defaults
prefix ?= /usr/local
datarootdir ?= $(prefix)/share
A2_INSTALL_TARGET ?= $(DESTDIR)$(datarootdir)/a2
A2_NATIVE_INSTALL_TARGET ?= $(DESTDIR)$(libdir)/a2
+# The following variables have default values which can be overriden
+# A2_BASE the space-separated directories where already built a2 categories can be found
+A2_BASE ?=$(A2_OUTPUT) $(A2_INSTALL_TARGET) $(A2_NATIVE_INSTALL_TARGET) /usr/local/share/a2 /usr/local/lib/a2 /usr/share/a2 /usr/lib/a2
+
# OS-speciific
KNOWN_ARCHS ?= x86_64 aarch64
TARGET_OS ?= linux
import java.util.jar.JarEntry;
import java.util.jar.JarOutputStream;
import java.util.jar.Manifest;
+import java.util.stream.Collectors;
import java.util.zip.Deflater;
import org.eclipse.jdt.core.compiler.CompilationProgress;
List<String> a2Categories = options.getOrDefault("--dep-categories", new ArrayList<>());
List<String> a2Bases = options.getOrDefault("--a2-bases", new ArrayList<>());
- if (a2Bases.isEmpty() || !a2Bases.contains(a2Output.toString())) {
+ a2Bases = a2Bases.stream().distinct().collect(Collectors.toList());// remove duplicates
+ if (a2Bases.isEmpty() || !a2Bases.contains(a2Output.toString())) {// make sure a2 output is available
a2Bases.add(a2Output.toString());
}
A2Jar current = a2Jars.get(a2Jar.name);
if (a2Jar.major > current.major)
a2Jars.put(a2Jar.name, a2Jar);
- else if (a2Jar.major == current.major //
- // if minor equals, we take the last one
- && a2Jar.minor >= current.minor)
+ else if (a2Jar.major == current.major && a2Jar.minor > current.minor)
a2Jars.put(a2Jar.name, a2Jar);
+ // keep if minor equals
} else {
a2Jars.put(a2Jar.name, a2Jar);
}