aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/Pack.java
diff options
context:
space:
mode:
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.java212
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;
- }
-}