Browse Source

better handling for 1.8 modules

tags/V1_9_2RC3
Andy Clement 5 years ago
parent
commit
41a27118c9

+ 22
- 15
build/src/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java View File

*/ */
private static void makeTargetsForResult(final Result result, final Hashtable<String,Target> targets) { private static void makeTargetsForResult(final Result result, final Hashtable<String,Target> targets) {
final String resultTargetName = resultToTargetName(result); final String resultTargetName = resultToTargetName(result);
Target target = (Target) targets.get(resultTargetName);
Target target = targets.get(resultTargetName);
if (null == target) { if (null == target) {
// first add the target // first add the target
target = new Target(); target = new Target();
* @param boolean filter if true, enable filtering * @param boolean filter if true, enable filtering
* @see org.aspectj.internal.tools.build.Builder#copyFile(File, File, boolean) * @see org.aspectj.internal.tools.build.Builder#copyFile(File, File, boolean)
*/ */
@Override
protected boolean copyFile(File fromFile, File toFile, boolean filter) { protected boolean copyFile(File fromFile, File toFile, boolean filter) {
Copy copy = makeCopyTask(filter); Copy copy = makeCopyTask(filter);
copy.setFile(fromFile); copy.setFile(fromFile);
* *
* @see org.aspectj.internal.tools.ant.taskdefs.Builder#copyFiles(File, File, String, String, boolean) * @see org.aspectj.internal.tools.ant.taskdefs.Builder#copyFiles(File, File, String, String, boolean)
*/ */
@Override
protected boolean copyFiles(File fromDir, File toDir, String includes, String excludes, boolean filter) { protected boolean copyFiles(File fromDir, File toDir, String includes, String excludes, boolean filter) {
Copy copy = makeCopyTask(filter); Copy copy = makeCopyTask(filter);
copy.setTodir(toDir); copy.setTodir(toDir);
boolean isJava5Compile = false; boolean isJava5Compile = false;
boolean isJava8Compile = false; boolean isJava8Compile = false;
for (File file: result.getSrcDirs()) { for (File file: result.getSrcDirs()) {
// for (Iterator iter = result.getSrcDirs().iterator(); iter.hasNext();) {
// File file = (File) iter.next();
path.createPathElement().setLocation(file); path.createPathElement().setLocation(file);
if (!isJava5Compile if (!isJava5Compile
&& (Util.Constants.JAVA5_SRC.equals(file.getName()) || && (Util.Constants.JAVA5_SRC.equals(file.getName()) ||


// misc // misc
javac.setDebug(true); javac.setDebug(true);
if (!isJava5Compile) {
if (isJava8Compile) {
javac.setSource("1.8");
javac.setTarget("1.8");
} else if (isJava5Compile) {
// *cough*
javac.setSource("1.6");
javac.setTarget("1.6");
} else {
javac.setTarget("1.1"); // 1.1 class files - Javac in 1.4 uses 1.4 javac.setTarget("1.1"); // 1.1 class files - Javac in 1.4 uses 1.4
javac.setSource("1.3"); javac.setSource("1.3");
} else {
if (isJava8Compile) {
javac.setSource("1.8");
javac.setTarget("1.8");
} else {
// min
javac.setSource("1.6");
javac.setTarget("1.6");
}
} }
// compile // compile
boolean passed = false; boolean passed = false;
/** /**
* @see org.aspectj.internal.tools.build.Builder#buildAntecedants(Module) * @see org.aspectj.internal.tools.build.Builder#buildAntecedants(Module)
*/ */
@Override
protected Result[] getAntecedantResults(Result moduleResult) { protected Result[] getAntecedantResults(Result moduleResult) {
Hashtable<String,Target> targets = new Hashtable<String, Target>(); Hashtable<String,Target> targets = new Hashtable<String, Target>();
makeTargetsForResult(moduleResult, targets); makeTargetsForResult(moduleResult, targets);
} }
ArrayList<String> toReturn = new ArrayList<String>(); ArrayList<String> toReturn = new ArrayList<String>();
for (Iterator<Target> iter = result.iterator(); iter.hasNext();) { for (Iterator<Target> iter = result.iterator(); iter.hasNext();) {
Target target = (Target) iter.next();
Target target = iter.next();
String name = target.getName(); String name = target.getName();
if (null == name) { if (null == name) {
throw new Error("null name?"); throw new Error("null name?");
if ((1 == size) && targetName.equals(toReturn.get(0)) && !moduleResult.outOfDate()) { if ((1 == size) && targetName.equals(toReturn.get(0)) && !moduleResult.outOfDate()) {
return new Result[0]; return new Result[0];
} }
return Result.getResults((String[]) toReturn.toArray(new String[0]));
return Result.getResults(toReturn.toArray(new String[0]));
} }


/** /**
* Generate Module.assembledJar with merge of itself and all antecedants * Generate Module.assembledJar with merge of itself and all antecedants
*/ */
@Override
protected boolean assembleAll(Result result, Messager handler) { protected boolean assembleAll(Result result, Messager handler) {
if (!buildingEnabled) { if (!buildingEnabled) {
return false; return false;
/** /**
* @see org.aspectj.internal.tools.ant.taskdefs.Builder#buildInstaller(BuildSpec, String) * @see org.aspectj.internal.tools.ant.taskdefs.Builder#buildInstaller(BuildSpec, String)
*/ */
@Override
protected boolean buildInstaller(BuildSpec buildSpec, String targDirPath) { protected boolean buildInstaller(BuildSpec buildSpec, String targDirPath) {
return false; return false;
} }
/** /**
* Delegate for super.buildProduct(..) template method. * Delegate for super.buildProduct(..) template method.
*/ */
@Override
protected boolean copyBinaries(BuildSpec buildSpec, File distDir, File targDir, String excludes) { protected boolean copyBinaries(BuildSpec buildSpec, File distDir, File targDir, String excludes) {
Copy copy = makeCopyTask(false); Copy copy = makeCopyTask(false);
copy.setTodir(targDir); copy.setTodir(targDir);
/** /**
* Delegate for super.buildProduct(..) template method. * Delegate for super.buildProduct(..) template method.
*/ */
@Override
protected boolean copyNonBinaries(BuildSpec buildSpec, File distDir, File targDir) { protected boolean copyNonBinaries(BuildSpec buildSpec, File distDir, File targDir) {
// filter-copy everything but the binaries // filter-copy everything but the binaries
Copy copy = makeCopyTask(true); Copy copy = makeCopyTask(true);
return executeTask(copy); return executeTask(copy);
} }


@Override
protected boolean buildInstaller(BuildSpec buildSpec, String targDirPath) { protected boolean buildInstaller(BuildSpec buildSpec, String targDirPath) {
if (buildSpec.verbose) { if (buildSpec.verbose) {
handler.log("creating installer for " + buildSpec); handler.log("creating installer for " + buildSpec);
this.project = project; this.project = project;
} }


@Override
public boolean log(String s) { public boolean log(String s) {
project.log(s); project.log(s);
return true; return true;
} }


@Override
public boolean error(String s) { public boolean error(String s) {
project.log(s, Project.MSG_ERR); project.log(s, Project.MSG_ERR);
return true; return true;
} }


@Override
public boolean logException(String context, Throwable thrown) { public boolean logException(String context, Throwable thrown) {
project.log(context + Util.renderException(thrown), Project.MSG_ERR); project.log(context + Util.renderException(thrown), Project.MSG_ERR);
return true; return true;

BIN
lib/build/build.jar View File


Loading…
Cancel
Save