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]