aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/manual/antexternal.html
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/manual/antexternal.html')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/manual/antexternal.html160
1 files changed, 0 insertions, 160 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/manual/antexternal.html b/framework/src/ant/apache-ant-1.9.6/manual/antexternal.html
deleted file mode 100644
index 02d2f7b5..00000000
--- a/framework/src/ant/apache-ant-1.9.6/manual/antexternal.html
+++ /dev/null
@@ -1,160 +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.
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<link rel="stylesheet" type="text/css" href="stylesheets/style.css">
-<title>InputHandler</title>
-</head>
-
-<body>
-<h1>Using Apache Ant&trade; Tasks Outside of Ant</h1>
-
-<h2>Rationale</h2>
-
-<p>Apache Ant provides a rich set of tasks for buildfile creators and
-administrators. But what about programmers? Can the functionality
-provided by Ant tasks be used in java programs?</p>
-
-<p>Yes, and its quite easy. Before getting into the details, however,
-we should mention the pros and cons of this approach:
-
-<h3>Pros</h3>
-
-<table cellpadding="0" margin="0" border="1">
-<tr>
-<td><b>Robust</b></td>
-<td>
-Ant tasks are very robust. They have been banged on by many people.
-Ant tasks have been used in many different contexts, and have
-therefore been instrumented to take care of a great many boundary
-conditions and potentially obscure errors.
-</td>
-</tr>
-<tr>
-<td><b>Cross Platform</b></td>
-<td>
-Ant tasks are cross platform. They have been tested on all of the
-volume platforms, and several rather unusual ones (Netware and OS/390, to
-name a few).
-</td>
-</tr>
-<tr>
-<td><b>Community Support</b></td>
-<td>
-Using Ant tasks means you have less of your own code to support. Ant
-code is supported by the entire Apache Ant community.
-</td>
-</tr>
-</table>
-
-<h3>Cons</h3>
-
-<table cellpadding="0" margin="0" border="1">
-<tr>
-<td><b>Dependency on Ant Libraries</b></td>
-<td>
-Obviously, if you use an Ant task in your code, you will have to add
-"ant.jar" to your path. Of course, you could use a code optimizer to
-remove the unnecessary classes, but you will still probably require a
-chunk of the Ant core.
-</td>
-</tr>
-<tr>
-<td><b>Loss of Flexibility</b></td>
-<td>
-At some point, if you find yourself having to modify the Ant code, it
-probably makes more sense to "roll your own." Of course, you can
-still steal some code snippets and good ideas. This is the beauty of
-open source!
-</td>
-</tr>
-</table>
-
-
-<h2>Example</h2>
-
-<p>Let's say you want to unzip a zip file programmatically from java
-into a certain directory. Of course you could write your own routine
-to do this, but why not use the Ant task that has already been written?</p>
-
-<p>In my example, I wanted to be able to unzip a file from within an
-XSLT Transformation. XSLT Transformers can be extended by plugging in
-static methods in java. I therefore need a function something like
-this:</p>
-
-<pre>
-/**
- * Unzip a zip file into a given directory.
- *
- * @param zipFilepath A pathname representing a local zip file
- * @param destinationDir where to unzip the archive to
- */
- static public void unzip(String zipFilepath, String destinationDir)
-</pre>
-
-<p>
-The Ant task to perform this function is
-<code>org.apache.tools.ant.taskdefs.Expand</code>. All we have to do
-is create a dummy Ant <code>Project</code> and <code>Target</code>,
-set the <code>Task</code> parameters that would normally be set in a
-buildfile, and call <code>execute()</code>.</p>
-
-<p>First, let's make sure we have the proper includes:</p>
-
-<pre>
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.taskdefs.Expand;
-import java.io.File;
-</pre>
-
-<p>The function call is actually quite simple:</p>
-
-<pre>
-static public void unzip(String zipFilepath, String destinationDir) {
-
- final class Expander extends Expand {
- public Expander() {
- project = new Project();
- project.init();
- taskType = "unzip";
- taskName = "unzip";
- target = new Target();
- }
- }
- Expander expander = new Expander();
- expander.setSrc(new File(zipfile));
- expander.setDest(new File(destdir));
- expander.execute();
-</pre>
-
-<p>In actual practice, you will probably want to add your own error
-handling code and you may not want to use a local inner class.
-However, the point of the example is to show how an Ant task can be
-called programmatically in relatively few lines of code.</p>
-
-<p>The question you are probably asking yourself at this point is:
-<i>How would I know which classes and methods have to be called in
-order to set up a dummy Project and Target?</i> The answer is: you
-don't. Ultimately, you have to be willing to get your feet wet and
-read the source code. The above example is merely designed to whet
-your appetite and get you started. Go for it!</p>
-
-
-</html>