summaryrefslogtreecommitdiff
path: root/java/ant/SliceTask.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2004-07-14 18:02:47 +0000
committerMark Spruiell <mes@zeroc.com>2004-07-14 18:02:47 +0000
commitd8cc706364e3c7f0707f28260aa4adaf9049ff4d (patch)
treeb679c7251faea48af5a87f2263bcc84d758cefa1 /java/ant/SliceTask.java
parentrevising Java dependency output (diff)
downloadice-d8cc706364e3c7f0707f28260aa4adaf9049ff4d.tar.bz2
ice-d8cc706364e3c7f0707f28260aa4adaf9049ff4d.tar.xz
ice-d8cc706364e3c7f0707f28260aa4adaf9049ff4d.zip
changing slice2java dependency output format
Diffstat (limited to 'java/ant/SliceTask.java')
-rw-r--r--java/ant/SliceTask.java43
1 files changed, 22 insertions, 21 deletions
diff --git a/java/ant/SliceTask.java b/java/ant/SliceTask.java
index 1601c23c05e..3a7a986ee10 100644
--- a/java/ant/SliceTask.java
+++ b/java/ant/SliceTask.java
@@ -227,42 +227,40 @@ public class SliceTask extends org.apache.tools.ant.Task
//
// Split the dependencies up into filenames. Note that filenames containing
- // spaces are escaped (e.g., "C:/Program\ Files/...").
- //
- // We skip the initial file (which is not a complete path) that is terminated
- // with a colon.
+ // spaces are escaped (e.g., "C:/Program\ Files/..."), and the initial file
+ // may have escaped colons.
//
String str = depline.toString();
int len = str.length();
java.util.ArrayList l = new java.util.ArrayList();
int start = -1;
- int pos = str.indexOf(':') + 1;
- assert(pos > 0);
+ int pos = 0;
+ StringBuffer file = new StringBuffer();
while(pos < len)
{
char ch = str.charAt(pos);
if(Character.isWhitespace(ch))
{
- if(start != -1)
+ if(file.length() > 0)
{
- l.add(str.substring(start, pos));
- start = -1;
+ l.add(file.toString());
+ file = new StringBuffer();
}
}
- else if(ch == '\\') // Ignore escaped character.
- {
- ++pos;
- }
- else if(start == -1)
- {
- start = pos;
- }
+ else
+ {
+ if(ch == '\\') // Ignore escaped character.
+ {
+ ++pos;
+ }
+ file.append(ch);
+ }
++pos;
}
- if(start != -1);
- {
- l.add(str.substring(start));
- }
+ if(file.length() > 0)
+ {
+ l.add(file.toString());
+ }
//
// Create SliceDependency. We need to remove the trailing colon from the first file.
@@ -271,6 +269,9 @@ public class SliceTask extends org.apache.tools.ant.Task
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);
+ depend._dependencies[0] = depend._dependencies[0].substring(0, pos);
dependencies.add(depend);
depline = new StringBuffer();