diff options
Diffstat (limited to 'java/ant')
-rw-r--r-- | java/ant/Slice2FreezeJTask.java | 902 | ||||
-rw-r--r-- | java/ant/Slice2JavaTask.java | 122 | ||||
-rw-r--r-- | java/ant/SliceTask.java | 304 |
3 files changed, 664 insertions, 664 deletions
diff --git a/java/ant/Slice2FreezeJTask.java b/java/ant/Slice2FreezeJTask.java index 19f62cd6a18..6846af39a7d 100644 --- a/java/ant/Slice2FreezeJTask.java +++ b/java/ant/Slice2FreezeJTask.java @@ -76,204 +76,204 @@ public class Slice2FreezeJTask extends SliceTask public Dict createDict() { - Dict d = new Dict(); - _dicts.add(d); - return d; + Dict d = new Dict(); + _dicts.add(d); + return d; } public Index createIndex() { - Index i = new Index(); - _indices.add(i); - return i; + Index i = new Index(); + _indices.add(i); + return i; } public Dictindex createDictindex() { - Dictindex i = new Dictindex(); - _dictIndices.add(i); - return i; + Dictindex i = new Dictindex(); + _dictIndices.add(i); + return i; } public void execute() throws BuildException { - if(_dicts.isEmpty() && _indices.isEmpty()) - { + if(_dicts.isEmpty() && _indices.isEmpty()) + { throw new BuildException("No dictionary or index specified"); - } - - // - // Read the set of dependencies for this task. - // - java.util.HashMap dependencies = readDependencies(); - - // - // Check if the set of slice files changed. If it changed we - // need to rebuild all the dictionnaries and indices. - // - boolean build = false; - java.util.List sliceFiles = new java.util.LinkedList(); - - java.util.Iterator p = _fileSets.iterator(); - while(p.hasNext()) - { - FileSet fileset = (FileSet)p.next(); - - DirectoryScanner scanner = fileset.getDirectoryScanner(getProject()); - String[] files = scanner.getIncludedFiles(); - - for(int i = 0; i < files.length; i++) - { - File slice = new File(fileset.getDir(getProject()), files[i]); - sliceFiles.add(slice); - - if(!build) - { - // - // The dictionnaries need to be re-created since - // on dependency changed. - // - SliceDependency depend = (SliceDependency)dependencies.get(getSliceTargetKey(slice.toString())); - if(depend == null || !depend.isUpToDate()) - { - build = true; - } - } - } - } - - if(!build) - { - // - // Check that each dictionary has been built at least - // once. - // - p = _dicts.iterator(); - while(p.hasNext()) - { - SliceDependency depend = (SliceDependency)dependencies.get(getDictTargetKey((Dict)p.next())); - if(depend == null) - { - build = true; - break; - } - } - - // - // Likewise for indices - // - p = _indices.iterator(); - while(p.hasNext()) - { - SliceDependency depend = (SliceDependency)dependencies.get(getIndexTargetKey((Index)p.next())); - if(depend == null) - { - build = true; - break; - } - } - } - - // - // Add the --dict options. - // - p = _dicts.iterator(); - StringBuffer dictString = new StringBuffer(); - while(p.hasNext()) - { - Dict d = (Dict)p.next(); - - dictString.append(" --dict "); - dictString.append(d.getName() + "," + d.getKey() + "," + d.getValue()); - } - - // - // Add the --dict-index options. - // - p = _dictIndices.iterator(); - StringBuffer dictIndexString = new StringBuffer(); - while(p.hasNext()) - { - Dictindex d = (Dictindex)p.next(); - - dictIndexString.append(" --dict-index "); - dictIndexString.append(d.getName()); - if(d.getMember() != null) - { - dictIndexString.append("," + d.getMember()); - } - if(d.getCasesensitive() == false) - { - dictIndexString.append("," + "case-insensitive"); - } - } - - // - // Add the --index options. - // - p = _indices.iterator(); - StringBuffer indexString = new StringBuffer(); - while(p.hasNext()) - { - Index i = (Index)p.next(); - - indexString.append(" --index "); - indexString.append(i.getName() + "," + i.getType() + "," + i.getMember()); - if(i.getCasesensitive() == false) - { - indexString.append("," + "case-insensitive"); - } - } - - if(!build) - { - log("skipping" + dictString + indexString); - return; - } + } + + // + // Read the set of dependencies for this task. + // + java.util.HashMap dependencies = readDependencies(); + + // + // Check if the set of slice files changed. If it changed we + // need to rebuild all the dictionnaries and indices. + // + boolean build = false; + java.util.List sliceFiles = new java.util.LinkedList(); + + java.util.Iterator p = _fileSets.iterator(); + while(p.hasNext()) + { + FileSet fileset = (FileSet)p.next(); + + DirectoryScanner scanner = fileset.getDirectoryScanner(getProject()); + String[] files = scanner.getIncludedFiles(); + + for(int i = 0; i < files.length; i++) + { + File slice = new File(fileset.getDir(getProject()), files[i]); + sliceFiles.add(slice); + + if(!build) + { + // + // The dictionnaries need to be re-created since + // on dependency changed. + // + SliceDependency depend = (SliceDependency)dependencies.get(getSliceTargetKey(slice.toString())); + if(depend == null || !depend.isUpToDate()) + { + build = true; + } + } + } + } + + if(!build) + { + // + // Check that each dictionary has been built at least + // once. + // + p = _dicts.iterator(); + while(p.hasNext()) + { + SliceDependency depend = (SliceDependency)dependencies.get(getDictTargetKey((Dict)p.next())); + if(depend == null) + { + build = true; + break; + } + } + + // + // Likewise for indices + // + p = _indices.iterator(); + while(p.hasNext()) + { + SliceDependency depend = (SliceDependency)dependencies.get(getIndexTargetKey((Index)p.next())); + if(depend == null) + { + build = true; + break; + } + } + } + + // + // Add the --dict options. + // + p = _dicts.iterator(); + StringBuffer dictString = new StringBuffer(); + while(p.hasNext()) + { + Dict d = (Dict)p.next(); + + dictString.append(" --dict "); + dictString.append(d.getName() + "," + d.getKey() + "," + d.getValue()); + } + + // + // Add the --dict-index options. + // + p = _dictIndices.iterator(); + StringBuffer dictIndexString = new StringBuffer(); + while(p.hasNext()) + { + Dictindex d = (Dictindex)p.next(); + + dictIndexString.append(" --dict-index "); + dictIndexString.append(d.getName()); + if(d.getMember() != null) + { + dictIndexString.append("," + d.getMember()); + } + if(d.getCasesensitive() == false) + { + dictIndexString.append("," + "case-insensitive"); + } + } + + // + // Add the --index options. + // + p = _indices.iterator(); + StringBuffer indexString = new StringBuffer(); + while(p.hasNext()) + { + Index i = (Index)p.next(); + + indexString.append(" --index "); + indexString.append(i.getName() + "," + i.getType() + "," + i.getMember()); + if(i.getCasesensitive() == false) + { + indexString.append("," + "case-insensitive"); + } + } + + if(!build) + { + log("skipping" + dictString + indexString); + return; + } // // Run the translator // - StringBuffer cmd = new StringBuffer(); + StringBuffer cmd = new StringBuffer(); - // - // Add --ice - // + // + // Add --ice + // if(_ice) { cmd.append(" --ice"); } - // - // Add --output-dir - // - if(_outputDir != null) - { - cmd.append(" --output-dir "); - cmd.append(_outputDirString); - } - - // - // Add --case-sensitive - // - if(_caseSensitive) - { - cmd.append(" --case-sensitive"); - } - - // - // Add include directives - // - if(_includePath != null) - { - String[] dirs = _includePath.list(); - for(int i = 0; i < dirs.length; i++) - { - cmd.append(" -I"); + // + // Add --output-dir + // + if(_outputDir != null) + { + cmd.append(" --output-dir "); + cmd.append(_outputDirString); + } + + // + // Add --case-sensitive + // + if(_caseSensitive) + { + cmd.append(" --case-sensitive"); + } + + // + // Add include directives + // + if(_includePath != null) + { + String[] dirs = _includePath.list(); + for(int i = 0; i < dirs.length; i++) + { + cmd.append(" -I"); if(dirs[i].indexOf(' ') != -1) { cmd.append('"' + dirs[i] + '"'); @@ -282,8 +282,8 @@ public class Slice2FreezeJTask extends SliceTask { cmd.append(dirs[i]); } - } - } + } + } // // Add defines @@ -305,41 +305,41 @@ public class Slice2FreezeJTask extends SliceTask } } - // - // Add the --dict options. - // - cmd.append(dictString); - - // - // Add the --dict-index options. - // - cmd.append(dictIndexString); - - // - // Add the --index options. - // - cmd.append(indexString); - - // - // Add the --meta options. - // - if(!_meta.isEmpty()) - { - java.util.Iterator i = _meta.iterator(); - while(i.hasNext()) - { - SliceMeta m = (SliceMeta)i.next(); - cmd.append(" --meta " + m.getValue()); - } - } - - // - // Add the slice files. - // - p = sliceFiles.iterator(); - while(p.hasNext()) - { - File f = (File)p.next(); + // + // Add the --dict options. + // + cmd.append(dictString); + + // + // Add the --dict-index options. + // + cmd.append(dictIndexString); + + // + // Add the --index options. + // + cmd.append(indexString); + + // + // Add the --meta options. + // + if(!_meta.isEmpty()) + { + java.util.Iterator i = _meta.iterator(); + while(i.hasNext()) + { + SliceMeta m = (SliceMeta)i.next(); + cmd.append(" --meta " + m.getValue()); + } + } + + // + // Add the slice files. + // + p = sliceFiles.iterator(); + while(p.hasNext()) + { + File f = (File)p.next(); cmd.append(" "); String s = f.toString(); if(s.indexOf(' ') != -1) @@ -350,7 +350,7 @@ public class Slice2FreezeJTask extends SliceTask { cmd.append(s); } - } + } String translator; if(_translator == null) @@ -368,34 +368,34 @@ public class Slice2FreezeJTask extends SliceTask { translator = _translator.toString(); } - - // - // Execute. - // - log(translator + " " + cmd); - ExecTask task = (ExecTask)getProject().createTask("exec"); - task.setFailonerror(true); - Argument arg = task.createArg(); - arg.setLine(cmd.toString()); - task.setExecutable(translator); - task.execute(); - - // - // Update the dependencies. - // - if(!sliceFiles.isEmpty()) - { - cmd = new StringBuffer("--depend"); - - // - // Add include directives - // - if(_includePath != null) - { - String[] dirs = _includePath.list(); - for(int i = 0; i < dirs.length; i++) - { - cmd.append(" -I"); + + // + // Execute. + // + log(translator + " " + cmd); + ExecTask task = (ExecTask)getProject().createTask("exec"); + task.setFailonerror(true); + Argument arg = task.createArg(); + arg.setLine(cmd.toString()); + task.setExecutable(translator); + task.execute(); + + // + // Update the dependencies. + // + if(!sliceFiles.isEmpty()) + { + cmd = new StringBuffer("--depend"); + + // + // Add include directives + // + if(_includePath != null) + { + String[] dirs = _includePath.list(); + for(int i = 0; i < dirs.length; i++) + { + cmd.append(" -I"); if(dirs[i].indexOf(' ') != -1) { cmd.append('"' + dirs[i] + '"'); @@ -404,31 +404,31 @@ public class Slice2FreezeJTask extends SliceTask { cmd.append(dirs[i]); } - } - } - - // - // Add the --dict options. - // - cmd.append(dictString); - - // - // Add the --dict-index options. - // - cmd.append(dictIndexString); - - // - // Add the --index options. - // - cmd.append(indexString); - - // - // Add the slice files. - // - p = sliceFiles.iterator(); - while(p.hasNext()) - { - File f = (File)p.next(); + } + } + + // + // Add the --dict options. + // + cmd.append(dictString); + + // + // Add the --dict-index options. + // + cmd.append(dictIndexString); + + // + // Add the --index options. + // + cmd.append(indexString); + + // + // Add the slice files. + // + p = sliceFiles.iterator(); + while(p.hasNext()) + { + File f = (File)p.next(); cmd.append(" "); String s = f.toString(); if(s.indexOf(' ') != -1) @@ -439,227 +439,227 @@ public class Slice2FreezeJTask extends SliceTask { cmd.append(s); } - } + } - // - // It's not possible anymore to re-use the same output property since Ant 1.5.x. so we use a - // unique property name here. Perhaps we should output the dependencies to a file instead. - // - final String outputProperty = "slice2freezej.depend." + System.currentTimeMillis(); - - task = (ExecTask)getProject().createTask("exec"); - task.setFailonerror(true); - arg = task.createArg(); - arg.setLine(cmd.toString()); - task.setExecutable(translator); - task.setOutputproperty(outputProperty); - task.execute(); - - // - // Update dependency file. - // - java.util.List newDependencies = parseDependencies(getProject().getProperty(outputProperty)); - p = newDependencies.iterator(); - while(p.hasNext()) - { - SliceDependency dep = (SliceDependency)p.next(); - dependencies.put(getSliceTargetKey(dep._dependencies[0]), dep); - } - } - - p = _dicts.iterator(); - while(p.hasNext()) - { - dependencies.put(getDictTargetKey((Dict)p.next()), new SliceDependency()); - } - - p = _indices.iterator(); - while(p.hasNext()) - { - dependencies.put(getIndexTargetKey((Index)p.next()), new SliceDependency()); - } - - writeDependencies(dependencies); + // + // It's not possible anymore to re-use the same output property since Ant 1.5.x. so we use a + // unique property name here. Perhaps we should output the dependencies to a file instead. + // + final String outputProperty = "slice2freezej.depend." + System.currentTimeMillis(); + + task = (ExecTask)getProject().createTask("exec"); + task.setFailonerror(true); + arg = task.createArg(); + arg.setLine(cmd.toString()); + task.setExecutable(translator); + task.setOutputproperty(outputProperty); + task.execute(); + + // + // Update dependency file. + // + java.util.List newDependencies = parseDependencies(getProject().getProperty(outputProperty)); + p = newDependencies.iterator(); + while(p.hasNext()) + { + SliceDependency dep = (SliceDependency)p.next(); + dependencies.put(getSliceTargetKey(dep._dependencies[0]), dep); + } + } + + p = _dicts.iterator(); + while(p.hasNext()) + { + dependencies.put(getDictTargetKey((Dict)p.next()), new SliceDependency()); + } + + p = _indices.iterator(); + while(p.hasNext()) + { + dependencies.put(getIndexTargetKey((Index)p.next()), new SliceDependency()); + } + + writeDependencies(dependencies); } private String getSliceTargetKey(String slice) { - // - // Since the dependency file can be shared by several slice - // tasks we need to make sure that each dependency has a - // unique key. We use the name of the task, the output - // directory, the first dictionary or index name and the name of the - // slice file to be compiled. - // - String name; - if(_dicts.size() > 0) - { - name = ((Dict)_dicts.get(0)).getName(); - } - else - { - name = ((Index)_indices.get(0)).getName(); - } - return "slice2freezej " + _outputDir.toString() + name + slice; + // + // Since the dependency file can be shared by several slice + // tasks we need to make sure that each dependency has a + // unique key. We use the name of the task, the output + // directory, the first dictionary or index name and the name of the + // slice file to be compiled. + // + String name; + if(_dicts.size() > 0) + { + name = ((Dict)_dicts.get(0)).getName(); + } + else + { + name = ((Index)_indices.get(0)).getName(); + } + return "slice2freezej " + _outputDir.toString() + name + slice; } private String getDictTargetKey(Dict d) { - return "slice2freezej " + _outputDir.toString() + d.getName(); + return "slice2freezej " + _outputDir.toString() + d.getName(); } private String getIndexTargetKey(Index i) { - return "slice2freezej " + _outputDir.toString() + i.getName(); + return "slice2freezej " + _outputDir.toString() + i.getName(); } private File _translator = null; public class Dict { - private String _name; - private String _key; - private String _value; - - public void - setName(String name) - { - _name = name; - } - - public String - getName() - { - return _name; - } - - public void - setKey(String key) - { - _key = key; - } - - public String - getKey() - { - return _key; - } - - public void - setValue(String value) - { - _value = value; - } - - public String - getValue() - { - return _value; - } + private String _name; + private String _key; + private String _value; + + public void + setName(String name) + { + _name = name; + } + + public String + getName() + { + return _name; + } + + public void + setKey(String key) + { + _key = key; + } + + public String + getKey() + { + return _key; + } + + public void + setValue(String value) + { + _value = value; + } + + public String + getValue() + { + return _value; + } } public class Dictindex { - private String _name; - private String _member; - private boolean _caseSensitive = true; - - public void - setName(String name) - { - _name = name; - } - - public String - getName() - { - return _name; - } - - public void - setMember(String member) - { - _member = member; - } - - public String - getMember() - { - return _member; - } - - public void - setCasesensitive(boolean caseSensitive) - { - _caseSensitive = caseSensitive; - } - - public boolean - getCasesensitive() - { - return _caseSensitive; - } + private String _name; + private String _member; + private boolean _caseSensitive = true; + + public void + setName(String name) + { + _name = name; + } + + public String + getName() + { + return _name; + } + + public void + setMember(String member) + { + _member = member; + } + + public String + getMember() + { + return _member; + } + + public void + setCasesensitive(boolean caseSensitive) + { + _caseSensitive = caseSensitive; + } + + public boolean + getCasesensitive() + { + return _caseSensitive; + } } public class Index { - private String _name; - private String _type; - private String _member; - private boolean _caseSensitive = true; - - public void - setName(String name) - { - _name = name; - } - - public String - getName() - { - return _name; - } - - public void - setType(String type) - { - _type = type; - } - - public String - getType() - { - return _type; - } - - public void - setMember(String member) - { - _member = member; - } - - public String - getMember() - { - return _member; - } - - public void - setCasesensitive(boolean caseSensitive) - { - _caseSensitive = caseSensitive; - } - - public boolean - getCasesensitive() - { - return _caseSensitive; - } + private String _name; + private String _type; + private String _member; + private boolean _caseSensitive = true; + + public void + setName(String name) + { + _name = name; + } + + public String + getName() + { + return _name; + } + + public void + setType(String type) + { + _type = type; + } + + public String + getType() + { + return _type; + } + + public void + setMember(String member) + { + _member = member; + } + + public String + getMember() + { + return _member; + } + + public void + setCasesensitive(boolean caseSensitive) + { + _caseSensitive = caseSensitive; + } + + public boolean + getCasesensitive() + { + return _caseSensitive; + } } private java.util.List _dicts = new java.util.LinkedList(); diff --git a/java/ant/Slice2JavaTask.java b/java/ant/Slice2JavaTask.java index 460291e1c6f..97db610a637 100644 --- a/java/ant/Slice2JavaTask.java +++ b/java/ant/Slice2JavaTask.java @@ -105,10 +105,10 @@ public class Slice2JavaTask extends SliceTask throw new BuildException("No fileset specified"); } - // - // Read the set of dependencies for this task. - // - java.util.HashMap dependencies = readDependencies(); + // + // Read the set of dependencies for this task. + // + java.util.HashMap dependencies = readDependencies(); // // Compose a list of the files that need to be translated. A @@ -130,15 +130,15 @@ public class Slice2JavaTask extends SliceTask { File slice = new File(fileset.getDir(getProject()), files[i]); - SliceDependency depend = (SliceDependency)dependencies.get(getTargetKey(slice.toString())); - if(depend == null || !depend.isUpToDate()) - { + SliceDependency depend = (SliceDependency)dependencies.get(getTargetKey(slice.toString())); + if(depend == null || !depend.isUpToDate()) + { buildList.addElement(slice); } - else - { + else + { log("skipping " + files[i]); - } + } } } @@ -231,30 +231,30 @@ public class Slice2JavaTask extends SliceTask cmd.append(" --checksum " + _checksum); } - // - // Add --stream - // + // + // Add --stream + // if(_stream) { cmd.append(" --stream"); } - // - // Add --meta - // - if(!_meta.isEmpty()) - { - java.util.Iterator i = _meta.iterator(); - while(i.hasNext()) - { - SliceMeta m = (SliceMeta)i.next(); - cmd.append(" --meta " + m.getValue()); - } - } - - // - // Add --ice - // + // + // Add --meta + // + if(!_meta.isEmpty()) + { + java.util.Iterator i = _meta.iterator(); + while(i.hasNext()) + { + SliceMeta m = (SliceMeta)i.next(); + cmd.append(" --meta " + m.getValue()); + } + } + + // + // Add --ice + // if(_ice) { cmd.append(" --ice"); @@ -300,7 +300,7 @@ public class Slice2JavaTask extends SliceTask // // Update the dependencies. // - cmd = new StringBuffer("--depend"); + cmd = new StringBuffer("--depend"); // // Add include directives @@ -340,49 +340,49 @@ public class Slice2JavaTask extends SliceTask } } - // - // It's not possible anymore to re-use the same output property since Ant 1.5.x. so we use a - // unique property name here. Perhaps we should output the dependencies to a file instead. - // - final String outputProperty = "slice2java.depend." + System.currentTimeMillis(); + // + // It's not possible anymore to re-use the same output property since Ant 1.5.x. so we use a + // unique property name here. Perhaps we should output the dependencies to a file instead. + // + final String outputProperty = "slice2java.depend." + System.currentTimeMillis(); - task = (ExecTask)getProject().createTask("exec"); + task = (ExecTask)getProject().createTask("exec"); task.setFailonerror(true); - arg = task.createArg(); + arg = task.createArg(); arg.setLine(cmd.toString()); task.setExecutable(translator); - task.setOutputproperty(outputProperty); + task.setOutputproperty(outputProperty); task.execute(); - // - // Update dependency file. - // - java.util.List newDependencies = parseDependencies(getProject().getProperty(outputProperty)); - p = newDependencies.iterator(); - while(p.hasNext()) - { - SliceDependency dep = (SliceDependency)p.next(); - dependencies.put(getTargetKey(dep._dependencies[0]), dep); - } - - writeDependencies(dependencies); + // + // Update dependency file. + // + java.util.List newDependencies = parseDependencies(getProject().getProperty(outputProperty)); + p = newDependencies.iterator(); + while(p.hasNext()) + { + SliceDependency dep = (SliceDependency)p.next(); + dependencies.put(getTargetKey(dep._dependencies[0]), dep); + } + + writeDependencies(dependencies); } } private String getTargetKey(String slice) { - // - // Since the dependency file can be shared by several slice - // tasks we need to make sure that each dependency has a - // unique key. We use the name of the task, the output - // directory and the name of the slice file to be compiled. - // - // If there's two slice2java tasks using the same dependency - // file, with the same output dir and which compiles the same - // slice file they'll use the same dependency. - // - return "slice2java " + _outputDir.toString() + " " + slice; + // + // Since the dependency file can be shared by several slice + // tasks we need to make sure that each dependency has a + // unique key. We use the name of the task, the output + // directory and the name of the slice file to be compiled. + // + // If there's two slice2java tasks using the same dependency + // file, with the same output dir and which compiles the same + // slice file they'll use the same dependency. + // + return "slice2java " + _outputDir.toString() + " " + slice; } private File _translator; diff --git a/java/ant/SliceTask.java b/java/ant/SliceTask.java index 51f84f9a55b..bb2115fa591 100644 --- a/java/ant/SliceTask.java +++ b/java/ant/SliceTask.java @@ -58,7 +58,7 @@ public class SliceTask extends org.apache.tools.ant.Task _dependencyFile = null; _outputDir = null; _outputDirString = null; - _caseSensitive = false; + _caseSensitive = false; _ice = false; _includePath = null; } @@ -145,10 +145,10 @@ public class SliceTask extends org.apache.tools.ant.Task public void addConfiguredMeta(SliceMeta meta) { - if(meta.getValue().length() > 0) - { - _meta.add(meta); - } + if(meta.getValue().length() > 0) + { + _meta.add(meta); + } } // @@ -157,48 +157,48 @@ public class SliceTask extends org.apache.tools.ant.Task protected java.util.HashMap readDependencies() { - if(_dependencyFile == null) - { - if(_outputDir != null) - { - _dependencyFile = new File(_outputDir, ".depend"); - } - else - { - _dependencyFile = new File(".depend"); - } - } - - try - { - java.io.ObjectInputStream in = new java.io.ObjectInputStream(new java.io.FileInputStream(_dependencyFile)); - java.util.HashMap dependencies = (java.util.HashMap)in.readObject(); - in.close(); - return dependencies; - } - catch(java.io.IOException ex) - { - } - catch(java.lang.ClassNotFoundException ex) - { - } - - return new java.util.HashMap(); + if(_dependencyFile == null) + { + if(_outputDir != null) + { + _dependencyFile = new File(_outputDir, ".depend"); + } + else + { + _dependencyFile = new File(".depend"); + } + } + + try + { + java.io.ObjectInputStream in = new java.io.ObjectInputStream(new java.io.FileInputStream(_dependencyFile)); + java.util.HashMap dependencies = (java.util.HashMap)in.readObject(); + in.close(); + return dependencies; + } + catch(java.io.IOException ex) + { + } + catch(java.lang.ClassNotFoundException ex) + { + } + + return new java.util.HashMap(); } protected void writeDependencies(java.util.HashMap dependencies) { - try - { - java.io.ObjectOutputStream out = new java.io.ObjectOutputStream(new FileOutputStream(_dependencyFile)); - out.writeObject(dependencies); - out.close(); - } - catch(java.io.IOException ex) - { - throw new BuildException("Unable to write dependencies in file " + _dependencyFile.getPath() + ": " + ex); - } + try + { + java.io.ObjectOutputStream out = new java.io.ObjectOutputStream(new FileOutputStream(_dependencyFile)); + out.writeObject(dependencies); + out.close(); + } + catch(java.io.IOException ex) + { + throw new BuildException("Unable to write dependencies in file " + _dependencyFile.getPath() + ": " + ex); + } } // @@ -208,22 +208,22 @@ public class SliceTask extends org.apache.tools.ant.Task protected java.util.List parseDependencies(String allDependencies) { - java.util.List dependencies = new java.util.LinkedList(); - try - { - BufferedReader in = new BufferedReader(new StringReader(allDependencies)); - StringBuffer depline = new StringBuffer(); - String line; - - while((line = in.readLine()) != null) - { - if(line.endsWith("\\")) - { - depline.append(line.substring(0, line.length() - 1)); - } - else - { - depline.append(line); + java.util.List dependencies = new java.util.LinkedList(); + try + { + BufferedReader in = new BufferedReader(new StringReader(allDependencies)); + StringBuffer depline = new StringBuffer(); + String line; + + while((line = in.readLine()) != null) + { + if(line.endsWith("\\")) + { + depline.append(line.substring(0, line.length() - 1)); + } + else + { + depline.append(line); // // It's easier to split up the filenames if we first convert Windows @@ -250,43 +250,43 @@ public class SliceTask extends org.apache.tools.ant.Task ++pos; } - // - // Split the dependencies up into filenames. Note that filenames containing - // spaces are escaped and the initial file may have escaped colons + // + // Split the dependencies up into filenames. Note that filenames containing + // spaces are escaped and the initial file may have escaped colons // (e.g., "C\:/Program\ Files/..."). // - java.util.ArrayList l = new java.util.ArrayList(); + java.util.ArrayList l = new java.util.ArrayList(); StringBuffer file = new StringBuffer(); pos = 0; - while(pos < chars.length) - { - if(Character.isWhitespace(chars[pos])) - { - if(file.length() > 0) - { - l.add(file.toString()); - file = new StringBuffer(); - } - } + while(pos < chars.length) + { + if(Character.isWhitespace(chars[pos])) + { + if(file.length() > 0) + { + l.add(file.toString()); + file = new StringBuffer(); + } + } else if(chars[pos] != '\\') // Skip backslash of an escaped character. { file.append(chars[pos]); } - ++pos; - } + ++pos; + } if(file.length() > 0) { l.add(file.toString()); } - // - // Create SliceDependency. We need to remove the trailing colon from the first file. + // + // 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(); + // + 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 == depend._dependencies[0].length() - 1); depend._dependencies[0] = depend._dependencies[0].substring(0, pos); @@ -294,57 +294,57 @@ public class SliceTask extends org.apache.tools.ant.Task { depend._dependencies[i] = new File(depend._dependencies[i]).toString(); } - dependencies.add(depend); - - depline = new StringBuffer(); - } - } - } - catch(java.io.IOException ex) - { - throw new BuildException("Unable to read dependencies from slice translator: " + ex); - } - - return dependencies; + dependencies.add(depend); + + depline = new StringBuffer(); + } + } + } + catch(java.io.IOException ex) + { + throw new BuildException("Unable to read dependencies from slice translator: " + ex); + } + + return dependencies; } protected String getIceHome() { - // - // _iceHome used to be set in the constructor. It appears that the - // current project isn't available at that point and consequently, the - // properties that allow us to find the ice translators based on the - // contents the 'ice.dir' property in the ant projects aren't available - // yet. - // - if(_iceHome == null) - { - // - // Check for the presence of the ICE_HOME environment variable. - // - java.util.Vector env = Execute.getProcEnvironment(); - java.util.Enumeration e = env.elements(); - while(e.hasMoreElements()) - { - String entry = (String)e.nextElement(); - if(entry.startsWith("ICE_HOME=")) - { - _iceHome = entry.substring(entry.indexOf('=') + 1); - break; - } - } - - if(_iceHome == null) - { - if(getProject().getProperties().containsKey("ice.bin.dir")) - { - _iceHome = (String)getProject().getProperties().get("ice.bin.dir"); - } - } - } - return _iceHome; + // + // _iceHome used to be set in the constructor. It appears that the + // current project isn't available at that point and consequently, the + // properties that allow us to find the ice translators based on the + // contents the 'ice.dir' property in the ant projects aren't available + // yet. + // + if(_iceHome == null) + { + // + // Check for the presence of the ICE_HOME environment variable. + // + java.util.Vector env = Execute.getProcEnvironment(); + java.util.Enumeration e = env.elements(); + while(e.hasMoreElements()) + { + String entry = (String)e.nextElement(); + if(entry.startsWith("ICE_HOME=")) + { + _iceHome = entry.substring(entry.indexOf('=') + 1); + break; + } + } + + if(_iceHome == null) + { + if(getProject().getProperties().containsKey("ice.bin.dir")) + { + _iceHome = (String)getProject().getProperties().get("ice.bin.dir"); + } + } + } + return _iceHome; } // @@ -361,37 +361,37 @@ public class SliceTask extends org.apache.tools.ant.Task // protected class SliceDependency implements java.io.Serializable { - private void writeObject(java.io.ObjectOutputStream out) - throws java.io.IOException + private void writeObject(java.io.ObjectOutputStream out) + throws java.io.IOException { - out.writeObject(_dependencies); - out.writeLong(_timeStamp); - } + out.writeObject(_dependencies); + out.writeLong(_timeStamp); + } - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, java.lang.ClassNotFoundException + private void readObject(java.io.ObjectInputStream in) + throws java.io.IOException, java.lang.ClassNotFoundException { - _dependencies = (String[])in.readObject(); - _timeStamp = in.readLong(); - } + _dependencies = (String[])in.readObject(); + _timeStamp = in.readLong(); + } - public boolean - isUpToDate() + public boolean + isUpToDate() { - for(int i = 0; i < _dependencies.length; ++i) - { - File dep = new File(_dependencies[i]); - if(!dep.exists() || _timeStamp < dep.lastModified()) - { - return false; - } - } - - return true; - } - - public String[] _dependencies; - public long _timeStamp; + for(int i = 0; i < _dependencies.length; ++i) + { + File dep = new File(_dependencies[i]); + if(!dep.exists() || _timeStamp < dep.lastModified()) + { + return false; + } + } + + return true; + } + + public String[] _dependencies; + public long _timeStamp; } protected File _dependencyFile; |