diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Pack.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Pack.java | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Pack.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Pack.java deleted file mode 100644 index daabd6ba..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Pack.java +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You 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; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Task; -import org.apache.tools.ant.types.Resource; -import org.apache.tools.ant.types.ResourceCollection; -import org.apache.tools.ant.types.resources.FileProvider; -import org.apache.tools.ant.types.resources.FileResource; - -/** - * Abstract Base class for pack tasks. - * - * @since Ant 1.5 - */ - -public abstract class Pack extends Task { - private static final int BUFFER_SIZE = 8 * 1024; - // CheckStyle:VisibilityModifier OFF - bc - protected File zipFile; - protected File source; - // CheckStyle:VisibilityModifier ON - private Resource src; - - /** - * the required destination file. - * @param zipFile the destination file - */ - public void setZipfile(File zipFile) { - this.zipFile = zipFile; - } - - /** - * the required destination file. - * @param zipFile the destination file - */ - public void setDestfile(File zipFile) { - setZipfile(zipFile); - } - - /** - * the file to compress; required. - * @param src the source file - */ - public void setSrc(File src) { - setSrcResource(new FileResource(src)); - } - - /** - * The resource to pack; required. - * @param src resource to expand - */ - public void setSrcResource(Resource src) { - if (src.isDirectory()) { - throw new BuildException("the source can't be a directory"); - } - FileProvider fp = src.as(FileProvider.class); - if (fp != null) { - source = fp.getFile(); - } else if (!supportsNonFileResources()) { - throw new BuildException("Only FileSystem resources are supported."); - } - this.src = src; - } - - /** - * Set the source resource. - * @param a the resource to pack as a single element Resource collection. - */ - public void addConfigured(ResourceCollection a) { - if (a.size() == 0) { - throw new BuildException("No resource selected, " + getTaskName() - + " needs exactly one resource."); - } - if (a.size() != 1) { - throw new BuildException(getTaskName() - + " cannot handle multiple resources at once. (" + a.size() - + " resources were selected.)"); - } - setSrcResource(a.iterator().next()); - } - - /** - * validation routine - * @throws BuildException if anything is invalid - */ - private void validate() throws BuildException { - if (zipFile == null) { - throw new BuildException("zipfile attribute is required", getLocation()); - } - - if (zipFile.isDirectory()) { - throw new BuildException("zipfile attribute must not " - + "represent a directory!", getLocation()); - } - - if (getSrcResource() == null) { - throw new BuildException("src attribute or nested resource is" - + " required", getLocation()); - } - } - - /** - * validate, then hand off to the subclass - * @throws BuildException on error - */ - public void execute() throws BuildException { - validate(); - - Resource s = getSrcResource(); - if (!s.isExists()) { - log("Nothing to do: " + s.toString() - + " doesn't exist."); - } else if (zipFile.lastModified() < s.getLastModified()) { - log("Building: " + zipFile.getAbsolutePath()); - pack(); - } else { - log("Nothing to do: " + zipFile.getAbsolutePath() - + " is up to date."); - } - } - - /** - * zip a stream to an output stream - * @param in the stream to zip - * @param zOut the output stream - * @throws IOException - */ - private void zipFile(InputStream in, OutputStream zOut) - throws IOException { - byte[] buffer = new byte[BUFFER_SIZE]; - int count = 0; - do { - zOut.write(buffer, 0, count); - count = in.read(buffer, 0, buffer.length); - } while (count != -1); - } - - /** - * zip a file to an output stream - * @param file the file to zip - * @param zOut the output stream - * @throws IOException on error - */ - protected void zipFile(File file, OutputStream zOut) - throws IOException { - zipResource(new FileResource(file), zOut); - } - - /** - * zip a resource to an output stream - * @param resource the resource to zip - * @param zOut the output stream - * @throws IOException on error - */ - protected void zipResource(Resource resource, OutputStream zOut) - throws IOException { - InputStream rIn = resource.getInputStream(); - try { - zipFile(rIn, zOut); - } finally { - rIn.close(); - } - } - - /** - * subclasses must implement this method to do their compression - */ - protected abstract void pack(); - - /** - * The source resource. - * @return the source. - * @since Ant 1.7 - */ - public Resource getSrcResource() { - return src; - } - - /** - * Whether this task can deal with non-file resources. - * - * <p>This implementation returns false.</p> - * @return false. - * @since Ant 1.7 - */ - protected boolean supportsNonFileResources() { - return false; - } -} |