summaryrefslogtreecommitdiff
path: root/java/ant/Slice2FreezeJTask.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/ant/Slice2FreezeJTask.java')
-rw-r--r--java/ant/Slice2FreezeJTask.java902
1 files changed, 451 insertions, 451 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();