diff options
author | Mark Spruiell <mes@zeroc.com> | 2004-07-14 23:19:03 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2004-07-14 23:19:03 +0000 |
commit | ebd065ca0f56369cdbe64985b52fc5e09a8eb5a8 (patch) | |
tree | 44a19fb4d3fc6d89bbb9f16b6fde6e183546ff53 /java | |
parent | changing slice2java dependency output format (diff) | |
download | ice-ebd065ca0f56369cdbe64985b52fc5e09a8eb5a8.tar.bz2 ice-ebd065ca0f56369cdbe64985b52fc5e09a8eb5a8.tar.xz ice-ebd065ca0f56369cdbe64985b52fc5e09a8eb5a8.zip |
more dependency fixes
Diffstat (limited to 'java')
-rw-r--r-- | java/ant/Slice2FreezeJTask$Dict.class | bin | 850 -> 850 bytes | |||
-rw-r--r-- | java/ant/Slice2FreezeJTask$Index.class | bin | 1048 -> 1048 bytes | |||
-rw-r--r-- | java/ant/Slice2FreezeJTask.class | bin | 6358 -> 6574 bytes | |||
-rw-r--r-- | java/ant/Slice2FreezeJTask.java | 63 | ||||
-rw-r--r-- | java/ant/Slice2JavaTask.class | bin | 4855 -> 5181 bytes | |||
-rw-r--r-- | java/ant/Slice2JavaTask.java | 55 | ||||
-rw-r--r-- | java/ant/SliceTask$SliceDependency.class | bin | 1209 -> 1209 bytes | |||
-rw-r--r-- | java/ant/SliceTask.class | bin | 5700 -> 5988 bytes | |||
-rw-r--r-- | java/ant/SliceTask.java | 61 |
9 files changed, 137 insertions, 42 deletions
diff --git a/java/ant/Slice2FreezeJTask$Dict.class b/java/ant/Slice2FreezeJTask$Dict.class Binary files differindex 46edb0f8173..e9ad310bf68 100644 --- a/java/ant/Slice2FreezeJTask$Dict.class +++ b/java/ant/Slice2FreezeJTask$Dict.class diff --git a/java/ant/Slice2FreezeJTask$Index.class b/java/ant/Slice2FreezeJTask$Index.class Binary files differindex 2583ac4b07a..f44df1c1fc9 100644 --- a/java/ant/Slice2FreezeJTask$Index.class +++ b/java/ant/Slice2FreezeJTask$Index.class diff --git a/java/ant/Slice2FreezeJTask.class b/java/ant/Slice2FreezeJTask.class Binary files differindex f9b968c8af7..04f6a4cbf77 100644 --- a/java/ant/Slice2FreezeJTask.class +++ b/java/ant/Slice2FreezeJTask.class diff --git a/java/ant/Slice2FreezeJTask.java b/java/ant/Slice2FreezeJTask.java index 5153aded9a1..39910a14b26 100644 --- a/java/ant/Slice2FreezeJTask.java +++ b/java/ant/Slice2FreezeJTask.java @@ -166,7 +166,6 @@ public class Slice2FreezeJTask extends SliceTask break; } } - } // @@ -199,7 +198,6 @@ public class Slice2FreezeJTask extends SliceTask } } - if(!build) { log("skipping" + dictString + indexString); @@ -225,7 +223,7 @@ public class Slice2FreezeJTask extends SliceTask if(_outputDir != null) { cmd.append(" --output-dir "); - cmd.append(_outputDir.toString()); + cmd.append(_outputDirString); } // @@ -245,7 +243,14 @@ public class Slice2FreezeJTask extends SliceTask for(int i = 0; i < dirs.length; i++) { cmd.append(" -I"); - cmd.append(dirs[i]); + if(dirs[i].indexOf(' ') != -1) + { + cmd.append('"' + dirs[i] + '"'); + } + else + { + cmd.append(dirs[i]); + } } } @@ -274,7 +279,6 @@ public class Slice2FreezeJTask extends SliceTask // cmd.append(dictString); - // // Add the --index options. // @@ -287,30 +291,44 @@ public class Slice2FreezeJTask extends SliceTask while(p.hasNext()) { File f = (File)p.next(); - cmd.append(" " + f); + cmd.append(" "); + String s = f.toString(); + if(s.indexOf(' ') != -1) + { + cmd.append('"' + s + '"'); + } + else + { + cmd.append(s); + } } + String translator; if(_translator == null) { if(_iceHome == null) { - _translator = new File("slice2freezej"); + translator = "slice2freezej"; } else { - _translator = new File(_iceHome + File.separator + "bin" + File.separator + "slice2freezej"); + translator = new File(_iceHome + File.separator + "bin" + File.separator + "slice2freezej").toString(); } } + else + { + translator = _translator.toString(); + } // // Execute. // - log(_translator.toString() + " " + cmd); + log(translator + " " + cmd); ExecTask task = (ExecTask)project.createTask("exec"); task.setFailonerror(true); Argument arg = task.createArg(); arg.setLine(cmd.toString()); - task.setExecutable(_translator.toString()); + task.setExecutable(translator); task.execute(); // @@ -329,7 +347,14 @@ public class Slice2FreezeJTask extends SliceTask for(int i = 0; i < dirs.length; i++) { cmd.append(" -I"); - cmd.append(dirs[i]); + if(dirs[i].indexOf(' ') != -1) + { + cmd.append('"' + dirs[i] + '"'); + } + else + { + cmd.append(dirs[i]); + } } } @@ -340,7 +365,16 @@ public class Slice2FreezeJTask extends SliceTask while(p.hasNext()) { File f = (File)p.next(); - cmd.append(" " + f.toString()); + cmd.append(" "); + String s = f.toString(); + if(s.indexOf(' ') != -1) + { + cmd.append('"' + s + '"'); + } + else + { + cmd.append(s); + } } // @@ -363,7 +397,7 @@ public class Slice2FreezeJTask extends SliceTask task.setFailonerror(true); arg = task.createArg(); arg.setLine(cmd.toString()); - task.setExecutable(_translator.toString()); + task.setExecutable(translator); task.setOutputproperty(outputProperty); task.execute(); @@ -473,7 +507,6 @@ public class Slice2FreezeJTask extends SliceTask } } - public class Index { private String _name; @@ -528,10 +561,8 @@ public class Slice2FreezeJTask extends SliceTask { return _caseSensitive; } - } - private java.util.List _dicts = new java.util.LinkedList(); private java.util.List _indices = new java.util.LinkedList(); } diff --git a/java/ant/Slice2JavaTask.class b/java/ant/Slice2JavaTask.class Binary files differindex 5f1174a8d0e..d36acb4486e 100644 --- a/java/ant/Slice2JavaTask.class +++ b/java/ant/Slice2JavaTask.class diff --git a/java/ant/Slice2JavaTask.java b/java/ant/Slice2JavaTask.java index 0a7bdae85d5..6d9479d7a38 100644 --- a/java/ant/Slice2JavaTask.java +++ b/java/ant/Slice2JavaTask.java @@ -139,17 +139,22 @@ public class Slice2JavaTask extends SliceTask // if(!buildList.isEmpty()) { + String translator; if(_translator == null) { if(_iceHome == null) { - _translator = new File("slice2java"); + translator = "slice2java"; } else { - _translator = new File(_iceHome + File.separator + "bin" + File.separator + "slice2java"); + translator = new File(_iceHome + File.separator + "bin" + File.separator + "slice2java").toString(); } } + else + { + translator = _translator.toString(); + } StringBuffer cmd = new StringBuffer(); @@ -159,7 +164,7 @@ public class Slice2JavaTask extends SliceTask if(_outputDir != null) { cmd.append(" --output-dir "); - cmd.append(_outputDir.toString()); + cmd.append(_outputDirString); } // @@ -171,7 +176,14 @@ public class Slice2JavaTask extends SliceTask for(int i = 0; i < dirs.length; i++) { cmd.append(" -I"); - cmd.append(dirs[i]); + if(dirs[i].indexOf(' ') != -1) + { + cmd.append('"' + dirs[i] + '"'); + } + else + { + cmd.append(dirs[i]); + } } } @@ -234,18 +246,26 @@ public class Slice2JavaTask extends SliceTask { File f = (File)buildList.elementAt(i); cmd.append(" "); - cmd.append(f.toString()); + String s = f.toString(); + if(s.indexOf(' ') != -1) + { + cmd.append('"' + s + '"'); + } + else + { + cmd.append(s); + } } // // Execute // - log(_translator.toString() + " " + cmd); + log(translator + " " + cmd); ExecTask task = (ExecTask)project.createTask("exec"); task.setFailonerror(true); Argument arg = task.createArg(); arg.setLine(cmd.toString()); - task.setExecutable(_translator.toString()); + task.setExecutable(translator); task.execute(); // @@ -262,7 +282,14 @@ public class Slice2JavaTask extends SliceTask for(int i = 0; i < dirs.length; i++) { cmd.append(" -I"); - cmd.append(dirs[i]); + if(dirs[i].indexOf(' ') != -1) + { + cmd.append('"' + dirs[i] + '"'); + } + else + { + cmd.append(dirs[i]); + } } } @@ -273,7 +300,15 @@ public class Slice2JavaTask extends SliceTask { File f = (File)buildList.elementAt(i); cmd.append(" "); - cmd.append(f.toString()); + String s = f.toString(); + if(s.indexOf(' ') != -1) + { + cmd.append('"' + s + '"'); + } + else + { + cmd.append(s); + } } // @@ -286,7 +321,7 @@ public class Slice2JavaTask extends SliceTask task.setFailonerror(true); arg = task.createArg(); arg.setLine(cmd.toString()); - task.setExecutable(_translator.toString()); + task.setExecutable(translator); task.setOutputproperty(outputProperty); task.execute(); diff --git a/java/ant/SliceTask$SliceDependency.class b/java/ant/SliceTask$SliceDependency.class Binary files differindex 0057d1bf927..c1ef2693045 100644 --- a/java/ant/SliceTask$SliceDependency.class +++ b/java/ant/SliceTask$SliceDependency.class diff --git a/java/ant/SliceTask.class b/java/ant/SliceTask.class Binary files differindex cccbbf7d0a2..fee66ac32ca 100644 --- a/java/ant/SliceTask.class +++ b/java/ant/SliceTask.class diff --git a/java/ant/SliceTask.java b/java/ant/SliceTask.java index 3a7a986ee10..125f1c3dbbd 100644 --- a/java/ant/SliceTask.java +++ b/java/ant/SliceTask.java @@ -57,6 +57,7 @@ public class SliceTask extends org.apache.tools.ant.Task { _dependencyFile = null; _outputDir = null; + _outputDirString = null; _caseSensitive = false; _ice = false; _includePath = null; @@ -87,6 +88,11 @@ public class SliceTask extends org.apache.tools.ant.Task setOutputdir(File dir) { _outputDir = dir; + _outputDirString = _outputDir.toString(); + if(_outputDirString.indexOf(' ') != -1) + { + _outputDirString = '"' + _outputDirString + '"'; + } } public void @@ -225,21 +231,42 @@ public class SliceTask extends org.apache.tools.ant.Task { depline.append(line); + // + // It's easier to split up the filenames if we first convert Windows + // path separators into Unix path separators. + // + char[] chars = depline.toString().toCharArray(); + int pos = 0; + while(pos < chars.length) + { + if(chars[pos] == '\\') + { + if(pos + 1 < chars.length) + { + // + // Only convert the backslash if it's not an escape. + // + if(chars[pos + 1] != ' ' && chars[pos + 1] != ':' && chars[pos + 1] != '\r' && + chars[pos + 1] != '\n') + { + chars[pos] = '/'; + } + } + } + ++pos; + } + // // Split the dependencies up into filenames. Note that filenames containing - // spaces are escaped (e.g., "C:/Program\ Files/..."), and the initial file - // may have escaped colons. + // spaces are escaped and the initial file may have escaped colons + // (e.g., "C\:/Program\ Files/..."). // - String str = depline.toString(); - int len = str.length(); java.util.ArrayList l = new java.util.ArrayList(); - int start = -1; - int pos = 0; StringBuffer file = new StringBuffer(); - while(pos < len) + pos = 0; + while(pos < chars.length) { - char ch = str.charAt(pos); - if(Character.isWhitespace(ch)) + if(Character.isWhitespace(chars[pos])) { if(file.length() > 0) { @@ -247,13 +274,9 @@ public class SliceTask extends org.apache.tools.ant.Task file = new StringBuffer(); } } - else + else if(chars[pos] != '\\') // Skip backslash of an escaped character. { - if(ch == '\\') // Ignore escaped character. - { - ++pos; - } - file.append(ch); + file.append(chars[pos]); } ++pos; } @@ -264,14 +287,19 @@ public class SliceTask extends org.apache.tools.ant.Task // // Create SliceDependency. We need to remove the trailing colon from the first file. + // We also normalize the pathname for this platform. // SliceDependency depend = new SliceDependency(); depend._dependencies = new String[l.size()]; l.toArray(depend._dependencies); depend._timeStamp = new java.util.Date().getTime(); pos = depend._dependencies[0].lastIndexOf(':'); - assert(pos > 0); + assert(pos == depend._dependencies[0].length() - 1); depend._dependencies[0] = depend._dependencies[0].substring(0, pos); + for(int i = 0; i < depend._dependencies.length; ++i) + { + depend._dependencies[i] = new File(depend._dependencies[i]).toString(); + } dependencies.add(depend); depline = new StringBuffer(); @@ -336,6 +364,7 @@ public class SliceTask extends org.apache.tools.ant.Task protected File _dependencyFile; protected File _outputDir; + protected String _outputDirString; protected boolean _caseSensitive; protected boolean _ice; protected Path _includePath; |