peterreilly 2004/11/22 02:48:57
Modified: src/main/org/apache/tools/ant/types/selectors
SignedSelector.java
src/main/org/apache/tools/ant/types defaults.properties
src/main/org/apache/tools/ant/taskdefs defaults.properties
Added: src/main/org/apache/tools/ant/taskdefs/condition
IsSigned.java
Removed: src/main/org/apache/tools/ant/taskdefs IsSigned.java
ConditionAndTask.java
Log:
remove issigned task, make it a condition only
Revision Changes Path
1.2 +1 -1
ant/src/main/org/apache/tools/ant/types/selectors/SignedSelector.java
Index: SignedSelector.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/types/selectors/SignedSelector.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SignedSelector.java 22 Nov 2004 10:07:22 -0000 1.1
+++ SignedSelector.java 22 Nov 2004 10:48:57 -0000 1.2
@@ -18,7 +18,7 @@
package org.apache.tools.ant.types.selectors;
import java.io.File;
import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.taskdefs.IsSigned;
+import org.apache.tools.ant.taskdefs.condition.IsSigned;
/**
* Selector that chooses files based on whether they are signed or not.
1.30 +1 -0
ant/src/main/org/apache/tools/ant/types/defaults.properties
Index: defaults.properties
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/types/defaults.properties,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- defaults.properties 22 Nov 2004 10:07:22 -0000 1.29
+++ defaults.properties 22 Nov 2004 10:48:57 -0000 1.30
@@ -34,5 +34,6 @@
propertyset=org.apache.tools.ant.types.PropertySet
assertions=org.apache.tools.ant.types.Assertions
concatfilter=org.apache.tools.ant.filters.ConcatFilter
+issigned=org.apache.tools.ant.taskdefs.condition.IsSigned
ispingable=org.apache.tools.ant.taskdefs.optional.condition.IsPingable
mavenrepository=org.apache.tools.ant.taskdefs.optional.repository.MavenRepository
1.162 +0 -1
ant/src/main/org/apache/tools/ant/taskdefs/defaults.properties
Index: defaults.properties
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/defaults.properties,v
retrieving revision 1.161
retrieving revision 1.162
diff -u -r1.161 -r1.162
--- defaults.properties 22 Nov 2004 10:07:22 -0000 1.161
+++ defaults.properties 22 Nov 2004 10:48:57 -0000 1.162
@@ -80,7 +80,6 @@
presetdef=org.apache.tools.ant.taskdefs.PreSetDef
macrodef=org.apache.tools.ant.taskdefs.MacroDef
nice=org.apache.tools.ant.taskdefs.Nice
-issigned=org.apache.tools.ant.taskdefs.IsSigned
libraries=org.apache.tools.ant.taskdefs.repository.Libraries
# optional tasks
1.1
ant/src/main/org/apache/tools/ant/taskdefs/condition/IsSigned.java
Index: IsSigned.java
===================================================================
/*
* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.tools.ant.taskdefs.condition;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.types.DataType;
import java.io.File;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.Enumeration;
/**
* Checks whether a jarfile is signed: if the name of the
* signature is passed, the file is checked for presence of that
* particular signature; otherwise the file is checked for the
* existence of any signature.
*/
public class IsSigned extends DataType implements Condition {
private static final String SIG_START = "META-INF/";
private static final String SIG_END = ".SF";
private String name;
private File file;
/**
* The jarfile that is to be tested for the presence
* of a signature.
*
* @param file jarfile to be tested.
*/
public void setFile(File file) {
this.file = file;
}
/**
* The signature name to check jarfile for.
*
* @param name signature to look for.
*/
public void setName(String name) {
this.name = name;
}
/**
* Returns <CODE>true</code> if the file exists and is signed with
* the signature specified, or, if <CODE>name</code> wasn't
* specified, if the file contains a signature.
* @return true if the file is signed.
*/
public boolean eval() {
if (file == null) {
throw new BuildException("The file attribute must be set.");
}
if (file != null && !file.exists()) {
log("The file \"" + file.getAbsolutePath()
+ "\" does not exist.", Project.MSG_VERBOSE);
return false;
}
ZipFile jarFile = null;
try {
jarFile = new ZipFile(file);
if (null == name) {
Enumeration entries = jarFile.entries();
while (entries.hasMoreElements()) {
String name = ((ZipEntry)
entries.nextElement()).getName();
if (name.startsWith(SIG_START) && name.endsWith(SIG_END))
{
log("File \"" + file.getAbsolutePath()
+ "\" is signed.", Project.MSG_VERBOSE);
return true;
}
}
return false;
} else {
boolean shortSig = jarFile.getEntry(SIG_START
+ name.toUpperCase()
+ SIG_END) != null;
boolean longSig = jarFile.getEntry(SIG_START
+ name.substring(0, 8).toUpperCase()
+ SIG_END) != null;
if (shortSig || longSig) {
log("File \"" + file.getAbsolutePath()
+ "\" is signed.", Project.MSG_VERBOSE);
return true;
} else {
return false;
}
}
} catch (IOException e) {
log("Got IOException reading file \"" + file.getAbsolutePath()
+ "\"" + e, Project.MSG_VERBOSE);
return false;
} finally {
if (jarFile != null) {
try {
jarFile.close();
} catch (IOException e) {
// Ignored
}
}
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]