summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/src/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java11
-rw-r--r--build/src/org/aspectj/internal/tools/build/Builder.java4
-rw-r--r--build/src/org/aspectj/internal/tools/build/Module.java32
-rw-r--r--build/src/org/aspectj/internal/tools/build/Util.java17
-rw-r--r--build/testsrc/BuildModuleTests.java11
-rw-r--r--build/testsrc/org/aspectj/internal/build/BuildModuleTest.java2
-rw-r--r--build/testsrc/org/aspectj/internal/build/ModulesTest.java4
7 files changed, 36 insertions, 45 deletions
diff --git a/build/src/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java b/build/src/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java
index 40c6bb3c9..8b3021ab8 100644
--- a/build/src/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java
+++ b/build/src/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java
@@ -587,8 +587,8 @@ public class AntBuilder extends Builder {
libDirs[i] = project.getProperty(libDirNames[i]);
}
if (null != libDirs[i]) {
- libDirs[i] += File.separator + "lib";
- result = new Path(project, libDirs[i] + File.separator + name);
+ libDirs[i] = Util.path(libDirs[i], "lib");
+ result = new Path(project, Util.path(libDirs[i], name));
String path = result.toString();
if (new File(path).canRead()) {
return result;
@@ -705,13 +705,12 @@ class ProductBuilder extends AntBuilder {
private static String getProductInstallResourcesSrc(BuildSpec buildSpec) {
final String resourcesName = "installer-resources"; // XXXFileLiteral
File dir = buildSpec.productDir.getParentFile();
-// String result = null;
if (null == dir) {
- return "../../" + resourcesName;
+ return Util.path(new String[] {"..", "..", resourcesName});
}
dir = dir.getParentFile();
if (null == dir) {
- return "../" + resourcesName;
+ return Util.path("..", resourcesName);
} else {
dir = new File(dir, resourcesName);
return dir.getPath();
@@ -842,7 +841,7 @@ class ProductBuilder extends AntBuilder {
// copy binaries associated with module flag files
for (int i = 0; i < productModules.length; i++) {
ProductModule product = productModules[i];
- String targPath = targDirPath + "/" + product.relativePath;
+ String targPath = Util.path(targDirPath, product.relativePath);
File jarFile = (product.assembleAll
? product.module.getAssembledJar()
: product.module.getModuleJar() );
diff --git a/build/src/org/aspectj/internal/tools/build/Builder.java b/build/src/org/aspectj/internal/tools/build/Builder.java
index dbb0c40fe..b9303ffb8 100644
--- a/build/src/org/aspectj/internal/tools/build/Builder.java
+++ b/build/src/org/aspectj/internal/tools/build/Builder.java
@@ -466,11 +466,11 @@ public abstract class Builder {
FILTER_OFF)) {
return false;
}
-
+ // duplicate code?
// copy binaries associated with module flag files
for (int i = 0; i < productModules.length; i++) {
ProductModule product = productModules[i];
- String targPath = targDirPath + "/" + product.relativePath;
+ String targPath = Util.path(targDirPath, product.relativePath);
File jarFile =
(product.assembleAll
? product.module.getAssembledJar()
diff --git a/build/src/org/aspectj/internal/tools/build/Module.java b/build/src/org/aspectj/internal/tools/build/Module.java
index 28cdbd35d..8aea24dff 100644
--- a/build/src/org/aspectj/internal/tools/build/Module.java
+++ b/build/src/org/aspectj/internal/tools/build/Module.java
@@ -113,33 +113,6 @@ public class Module {
}
}
-// /** XXX gack explicitly skip Ant, sun tools.jar except for testing... modules */
-// private static boolean skipLibraryJarAntecedant(Module module, File libJar) {
-// if (null == libJar) {
-// return true;
-// }
-// if (!module.name.startsWith("testing")) {
-// String path = libJar.getPath().replace('\\', '/');
-// path = path.replace(File.separatorChar, '/');
-// if (-1 != path.indexOf("/lib/ant/lib/")) {
-// return true;
-// } else if (-1 != path.indexOf("/tools.jar")) {
-// return true;
-// }
-// }
-// return false;
-// }
-//
-// /** XXX gack explicitly skip runtime */
-// private static boolean skipModuleJarAntecedant(File requiredJar) {
-// if (null == requiredJar) {
-// return true;
-// } else {
-// //return "runtime.jar".equals(requiredJar.getName());
-// return false;
-// }
-// }
-
/**@return true if this is a source file */
private static boolean isSourceFile(File file) {
String path = file.getPath();
@@ -376,7 +349,6 @@ public class Module {
String line;
XMLEntry entry = new XMLEntry("classpathentry", ATTS);
-// String lastKind = null;
while (null != (line = reader.readLine())) {
// we assume no internal spaces...
entry.acceptTokens(line);
@@ -429,11 +401,11 @@ public class Module {
path = path.substring(JAVA_HOME.length());
String home = System.getProperty("java.home");
if (null != home) {
- libPath = home + File.separator + path;
+ libPath = Util.path(home, path);
File f = new File(libPath);
if (!f.exists() && home.endsWith("jre")) {
f = new File(home).getParentFile();
- libPath = f.getPath() + File.separator + path;
+ libPath = Util.path(f.getPath(), path);
}
}
}
diff --git a/build/src/org/aspectj/internal/tools/build/Util.java b/build/src/org/aspectj/internal/tools/build/Util.java
index 563a5c195..806154c20 100644
--- a/build/src/org/aspectj/internal/tools/build/Util.java
+++ b/build/src/org/aspectj/internal/tools/build/Util.java
@@ -136,6 +136,23 @@ public class Util {
return (null != dir) && dir.canWrite() && dir.isDirectory();
}
+ public static String path(String first, String second) {
+ return first + File.separator + second;
+ }
+
+ public static String path(String[] segments) {
+ StringBuffer sb = new StringBuffer();
+ if ((null != segments)) {
+ for (int i = 0; i < segments.length; i++) {
+ if (0 < i) {
+ sb.append(File.separator);
+ }
+ sb.append(segments[i]);
+ }
+ }
+ return sb.toString();
+ }
+
/** @return true if dir is a readable directory */
public static boolean canReadDir(File dir) {
return (null != dir) && dir.canRead() && dir.isDirectory();
diff --git a/build/testsrc/BuildModuleTests.java b/build/testsrc/BuildModuleTests.java
index 60c5b091a..6939c6db4 100644
--- a/build/testsrc/BuildModuleTests.java
+++ b/build/testsrc/BuildModuleTests.java
@@ -16,6 +16,7 @@
import org.aspectj.internal.tools.ant.taskdefs.Checklics;
import org.aspectj.internal.tools.build.Builder;
+import org.aspectj.internal.tools.build.Util;
import org.aspectj.internal.build.BuildModuleTest;
import org.aspectj.internal.build.ModulesTest;
@@ -42,7 +43,7 @@ public class BuildModuleTests extends TestCase {
/** replace commented out below - if any replace failed, halt all */
private static boolean replaceFailed = false;
- private static final String BASE_DIR = "../";
+ private static final String BASE_DIR = ".." + File.separator;
private static final String[] JDT_SOURCE_DIRS = new String[] {};
public static Test suite() {
@@ -111,7 +112,7 @@ public class BuildModuleTests extends TestCase {
}
public void testLicense_org_eclipse_jdt_core() {
final String mod = "org.eclipse.jdt.core";
- final String pre = BASE_DIR + mod + "/";
+ final String pre = BASE_DIR + mod + File.separator;
for (int i = 0; i < JDT_SOURCE_DIRS.length; i++) {
checkSourceDirectory(new File(pre + JDT_SOURCE_DIRS[i]), mod);
}
@@ -140,12 +141,12 @@ public class BuildModuleTests extends TestCase {
}
public void testLicense_weaver() {
String module = "weaver";
- checkSourceDirectory(new File("../" + module + "/src"), module);
- checkSourceDirectory(new File("../" + module + "/testsrc/org"), module);
+ checkSourceDirectory(new File(Util.path(new String[] {"..", module, "src"})), module);
+ checkSourceDirectory(new File(Util.path(new String[] {"..", module, "testsrc", "org"})), module);
}
void checkLicense(String module) {
- File moduleDir = new File(".." + File.separator + module);
+ File moduleDir = new File(Util.path("..", module));
File[] srcDirs = findSourceRoots(moduleDir);
for (int i = 0; i < srcDirs.length; i++) {
checkSourceDirectory(srcDirs[i], module);
diff --git a/build/testsrc/org/aspectj/internal/build/BuildModuleTest.java b/build/testsrc/org/aspectj/internal/build/BuildModuleTest.java
index 295ee1e83..8a7f1edd0 100644
--- a/build/testsrc/org/aspectj/internal/build/BuildModuleTest.java
+++ b/build/testsrc/org/aspectj/internal/build/BuildModuleTest.java
@@ -200,7 +200,7 @@ public class BuildModuleTest extends TestCase {
File jarDir = getJarDir();
assertTrue(jarDir.canWrite() || jarDir.mkdirs());
tempFiles.add(jarDir);
- File moduleDir = new File("../" + module);
+ File moduleDir = new File(Util.path("..", module));
assertTrue(moduleDir.canRead());
task.setModuledir(new Path(project, moduleDir.getAbsolutePath()));
task.setJardir(new Path(project, jarDir.getAbsolutePath()));
diff --git a/build/testsrc/org/aspectj/internal/build/ModulesTest.java b/build/testsrc/org/aspectj/internal/build/ModulesTest.java
index fee0d5cf6..2715e22b9 100644
--- a/build/testsrc/org/aspectj/internal/build/ModulesTest.java
+++ b/build/testsrc/org/aspectj/internal/build/ModulesTest.java
@@ -31,6 +31,7 @@ import org.aspectj.internal.tools.ant.taskdefs.BuildModule;
import org.aspectj.internal.tools.build.Messager;
import org.aspectj.internal.tools.build.Module;
import org.aspectj.internal.tools.build.Modules;
+import org.aspectj.internal.tools.build.Util;
/**
*
*/
@@ -183,7 +184,8 @@ public class ModulesTest extends TestCase {
File buildDir = new File(modulesDir, "aj-build");
File distDir = new File(buildDir, "dist");
File jarDir = new File(buildDir, "jars");
- File productDir = new File(modulesDir, "build/products/" + productName);
+ File productDir = new File(modulesDir,
+ Util.path(new String[] {"build", "products", productName}));
jarDir.mkdirs();
distDir.mkdirs();