Browse Source

javadoc correction to ExecTask

Submitted by:	Jesse Glick <Jesse.Glick@netbeans.com>

Make Path use getCanonicalPath throughout.

Submitted by:	Vincent Bergbauer <vincent_bergbauer@yahoo.com>

Remove deprecation warnings in SignJar

Submitted by:	KC Baltz <KBaltz@responsenetworks.com>

Give user a clue if the classic compiler can not be found.

Submitted by:	Erik Meade <emeade@geekfarm.org>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@268128 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 24 years ago
parent
commit
1375c85ac2
6 changed files with 67 additions and 39 deletions
  1. +14
    -0
      WHATSNEW
  2. +1
    -1
      docs/index.html
  3. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/ExecTask.java
  4. +3
    -1
      src/main/org/apache/tools/ant/taskdefs/Javac.java
  5. +21
    -31
      src/main/org/apache/tools/ant/taskdefs/SignJar.java
  6. +27
    -5
      src/main/org/apache/tools/ant/types/Path.java

+ 14
- 0
WHATSNEW View File

@@ -1,4 +1,18 @@
Changes from Ant 1.2 to the current sources
===========================================

Other changes:
--------------

* New tasks: propertyfile

Fixed bugs:
-----------

* <signjar> doesn't use deprectated methods anymore.

Changes from Ant 1.1 to Ant 1.2 Changes from Ant 1.1 to Ant 1.2
===============================


Changes that could break older environments: Changes that could break older environments:
-------------------------------------------- --------------------------------------------


+ 1
- 1
docs/index.html View File

@@ -26,7 +26,7 @@
<li>Dave Walend (<a href="mailto:dwalend@cs.tufts.edu">dwalend@cs.tufts.edu</a>)</li> <li>Dave Walend (<a href="mailto:dwalend@cs.tufts.edu">dwalend@cs.tufts.edu</a>)</li>
</ul> </ul>


<p>Version 1.2 - 2000/10/24</p>
<p>Version 1.3 - 2000/10/27</p>


<hr> <hr>
<h2>Table of Contents</h2> <h2>Table of Contents</h2>


+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/ExecTask.java View File

@@ -101,7 +101,7 @@ public class ExecTask extends Task {
} }


/** /**
* Only execute the process if <code>os.name</code> includes this string.
* Only execute the process if <code>os.name</code> is included in this string.
*/ */
public void setOs(String os) { public void setOs(String os) {
this.os = os; this.os = os;


+ 3
- 1
src/main/org/apache/tools/ant/taskdefs/Javac.java View File

@@ -481,7 +481,9 @@ public class Javac extends MatchingTask {
} }
} }
catch (ClassNotFoundException ex) { catch (ClassNotFoundException ex) {
throw new BuildException("Cannot use classic compiler, as it is not available", location);
throw new BuildException("Cannot use classic compiler, as it is not available"+
" A common solution is to set the environment variable"+
" JAVA_HOME to your jdk directory.", location);
} }
catch (Exception ex) { catch (Exception ex) {
if (ex instanceof BuildException) { if (ex instanceof BuildException) {


+ 21
- 31
src/main/org/apache/tools/ant/taskdefs/SignJar.java View File

@@ -150,67 +150,57 @@ public class SignJar extends Task {


final StringBuffer sb = new StringBuffer(); final StringBuffer sb = new StringBuffer();


sb.append("jarsigner ");

final ExecTask cmd = (ExecTask) project.createTask("exec");
cmd.setExecutable("jarsigner");
if (null != keystore) { if (null != keystore) {
sb.append("-keystore \"");
sb.append(keystore);
sb.append("\" ");
cmd.createArg().setValue("-keystore");
cmd.createArg().setValue(keystore);
} }


if (null != storepass) { if (null != storepass) {
sb.append("-storepass \"");
sb.append(storepass);
sb.append("\" ");
cmd.createArg().setValue("-storepass");
cmd.createArg().setValue(storepass);
} }


if (null != storetype) { if (null != storetype) {
sb.append("-storetype \"");
sb.append(storetype);
sb.append("\" ");
cmd.createArg().setValue("-storetype");
cmd.createArg().setValue(storetype);
} }


if (null != keypass) { if (null != keypass) {
sb.append("-keypass \"");
sb.append(keypass);
sb.append("\" ");
cmd.createArg().setValue("-keypass");
cmd.createArg().setValue(keypass);
} }


if (null != sigfile) { if (null != sigfile) {
sb.append("-sigfile \"");
sb.append(sigfile);
sb.append("\" ");
cmd.createArg().setValue("-sigfile");
cmd.createArg().setValue(sigfile);
} }


if (null != signedjar) { if (null != signedjar) {
sb.append("-signedjar \"");
sb.append(signedjar);
sb.append("\" ");
cmd.createArg().setValue("-signedjar");
cmd.createArg().setValue(signedjar);
} }


if (verbose) { if (verbose) {
sb.append("-verbose ");
cmd.createArg().setValue("-verbose");
} }


if (internalsf) { if (internalsf) {
sb.append("-internalsf ");
cmd.createArg().setValue("-internalsf");
} }


if (sectionsonly) { if (sectionsonly) {
sb.append("-sectionsonly ");
cmd.createArg().setValue("-sectionsonly");
} }


sb.append('\"');
sb.append(jar);
sb.append("\" ");
cmd.createArg().setValue(jar);
sb.append('\"');
sb.append(alias);
sb.append("\" ");

cmd.createArg().setValue(alias);


log("Signing Jar : " + (new File(jar)).getAbsolutePath()); log("Signing Jar : " + (new File(jar)).getAbsolutePath());
final ExecTask cmd = (ExecTask) project.createTask("exec");
cmd.setCommand(new Commandline(sb.toString()));
cmd.setFailonerror(true); cmd.setFailonerror(true);
cmd.setTaskName( getTaskName() ); cmd.setTaskName( getTaskName() );
cmd.execute(); cmd.execute();


+ 27
- 5
src/main/org/apache/tools/ant/types/Path.java View File

@@ -60,6 +60,7 @@ import org.apache.tools.ant.Project;
import org.apache.tools.ant.PathTokenizer; import org.apache.tools.ant.PathTokenizer;


import java.io.File; import java.io.File;
import java.io.IOException;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import java.util.Stack; import java.util.Stack;
@@ -111,7 +112,16 @@ public class Path extends DataType implements Cloneable {
private String[] parts; private String[] parts;


public void setLocation(File loc) { public void setLocation(File loc) {
parts = new String[] {translateFile(loc.getAbsolutePath())};
try {
parts = new String[] {translateFile(loc.getCanonicalPath())};
} catch(IOException e) {
// XXX I'd like to log something here but if I don't
// have a Project I can't
if (project != null) {
project.log(e.getMessage(), Project.MSG_WARN);
}
parts = new String[] {translateFile(loc.getAbsolutePath())};
}
} }


public void setPath(String path) { public void setPath(String path) {
@@ -294,9 +304,15 @@ public class Path extends DataType implements Cloneable {
String[] s = ds.getIncludedFiles(); String[] s = ds.getIncludedFiles();
File dir = fs.getDir(project); File dir = fs.getDir(project);
for (int j=0; j<s.length; j++) { for (int j=0; j<s.length; j++) {
addUnlessPresent(result,
translateFile((new File(dir, s[j])).getAbsolutePath()));
}
String canonicalPath;
File f = new File(dir, s[j]);
try {
canonicalPath = f.getCanonicalPath();
} catch(IOException e) {
canonicalPath = f.getAbsolutePath();
}
addUnlessPresent(result, translateFile(canonicalPath));
}
} }
} }
String[] res = new String[result.size()]; String[] res = new String[result.size()];
@@ -430,7 +446,13 @@ public class Path extends DataType implements Cloneable {
*/ */
private static String resolveFile(Project project, String relativeName) { private static String resolveFile(Project project, String relativeName) {
if (project != null) { if (project != null) {
return project.resolveFile(relativeName).getAbsolutePath();
File f = project.resolveFile(relativeName);
try {
return f.getCanonicalPath();
} catch(IOException e) {
project.log(e.getMessage(), Project.MSG_WARN);
return f.getAbsolutePath();
}
} }
return relativeName; return relativeName;
} }


Loading…
Cancel
Save