You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/07/06 12:09:27 UTC
svn commit: rev 22618 - in avalon/trunk/tools/magic: . src/main/org/apache/avalon/tools src/main/org/apache/avalon/tools/tasks
Author: mcconnell
Date: Tue Jul 6 03:09:26 2004
New Revision: 22618
Added:
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/UnbarTask.java
Modified:
avalon/trunk/tools/magic/build.xml
avalon/trunk/tools/magic/setup.xml
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/antlib.xml
Log:
Inital steps on an unbar task.
Modified: avalon/trunk/tools/magic/build.xml
==============================================================================
--- avalon/trunk/tools/magic/build.xml (original)
+++ avalon/trunk/tools/magic/build.xml Tue Jul 6 03:09:26 2004
@@ -19,7 +19,7 @@
</target>
<target name="package" depends="standard.package">
- <x:bar name="avalon-tools.bar"/>
+ <x:bar/>
</target>
<target name="install" depends="standard.install">
@@ -59,6 +59,10 @@
<x:svn href="https://svn.apache.org/repos/asf/avalon/trunk/tools/magic"/>
<x:license file="../../central/system/license/LICENSE.TXT"/>
</x:gump>
+ </target>
+
+ <target name="unbar">
+ <x:unbar bar="target/deliverables/bars/${project.short-filename}.bar"/>
</target>
</project>
Modified: avalon/trunk/tools/magic/setup.xml
==============================================================================
--- avalon/trunk/tools/magic/setup.xml (original)
+++ avalon/trunk/tools/magic/setup.xml Tue Jul 6 03:09:26 2004
@@ -5,7 +5,7 @@
<property file="install.properties"/>
<property name="magic.install.host" value="http://www.dpml.net"/>
- <property name="magic.bar" value="avalon-tools.bar"/>
+ <property name="magic.bar" value="avalon-tools-magic.bar"/>
<property name="magic.group" value="avalon/tools"/>
<property name="magic.bar.dir" value="${magic.group}/bars"/>
<property name="magic.bar.path" value="${magic.bar.dir}/${magic.bar}"/>
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/antlib.xml
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/antlib.xml (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/antlib.xml Tue Jul 6 03:09:26 2004
@@ -17,6 +17,7 @@
<taskdef name="info" classname="org.apache.avalon.tools.tasks.AnnounceTask"/>
<taskdef name="artifact" classname="org.apache.avalon.tools.tasks.ArtifactTask"/>
<taskdef name="bar" classname="org.apache.avalon.tools.tasks.BarTask"/>
+ <taskdef name="unbar" classname="org.apache.avalon.tools.tasks.UnbarTask"/>
<taskdef name="javadoc" classname="org.apache.avalon.tools.tasks.JavadocTask"/>
<taskdef name="publish" classname="org.apache.avalon.tools.tasks.PublishTask"/>
<taskdef name="property" classname="org.apache.avalon.tools.tasks.PropertyTask"/>
Added: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/UnbarTask.java
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/UnbarTask.java Tue Jul 6 03:09:26 2004
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2004 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.avalon.tools.tasks;
+
+import org.apache.avalon.tools.model.Definition;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Task;
+import org.apache.tools.ant.taskdefs.Jar;
+import org.apache.tools.ant.taskdefs.Manifest;
+import org.apache.tools.ant.taskdefs.ManifestException;
+import org.apache.tools.ant.types.FileSet;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Unpack a bar file into a repository.
+ *
+ * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
+ * @version $Revision: 1.2 $ $Date: 2004/03/17 10:30:09 $
+ */
+public class UnbarTask extends Task
+{
+ public static final String BAR_EXT = "bar";
+
+ private File m_cache;
+ private File m_bar;
+
+ public void setRepository( final File cache )
+ {
+ m_cache = cache;
+ }
+
+ public void setBar( final File bar )
+ {
+ if( bar.exists() )
+ {
+ m_bar = bar;
+ }
+ else
+ {
+ final String error =
+ "Bar file not found: " + bar;
+ throw new BuildException( error );
+ }
+ }
+
+ private File getRepository()
+ {
+ if( null == m_cache )
+ {
+ return getDefaultRepository();
+ }
+ else
+ {
+ return m_cache;
+ }
+ }
+
+ private File getBar()
+ {
+ if( null == m_bar )
+ {
+ final String error =
+ "You must declare the 'bar' filename.";
+ throw new BuildException( error );
+ }
+ else
+ {
+ return m_bar;
+ }
+ }
+
+ private File getDefaultRepository()
+ {
+ String cache = getProject().getProperty( "magic.cache" );
+ if( null != cache )
+ {
+ return new File( cache );
+ }
+ else
+ {
+ return getProject().getBaseDir();
+ }
+ }
+
+ public void execute() throws BuildException
+ {
+ log( "bar: " + getBar() );
+ log( "cache: " + getRepository() );
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org