From 6ed9702db5834472547eb58d570464bfbb3f5723 Mon Sep 17 00:00:00 2001 From: Peter Donald Date: Sun, 17 Jun 2001 00:45:54 +0000 Subject: [PATCH] Add Add in task to import tasklibraries. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269199 13f79535-47bb-0310-9956-ffa450edef68 --- .../myrmidon/libs/runtime/ImportTask.java | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 proposal/myrmidon/src/java/org/apache/myrmidon/libs/runtime/ImportTask.java diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/libs/runtime/ImportTask.java b/proposal/myrmidon/src/java/org/apache/myrmidon/libs/runtime/ImportTask.java new file mode 100644 index 000000000..dc218bf48 --- /dev/null +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/libs/runtime/ImportTask.java @@ -0,0 +1,61 @@ +/* + * Copyright (C) The Apache Software Foundation. All rights reserved. + * + * This software is published under the terms of the Apache Software License + * version 1.1, a copy of which has been included with this distribution in + * the LICENSE file. + */ +package org.apache.myrmidon.libs.runtime; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import org.apache.avalon.framework.component.ComponentException; +import org.apache.avalon.framework.component.ComponentManager; +import org.apache.avalon.framework.component.Composable; +import org.apache.myrmidon.api.AbstractTask; +import org.apache.myrmidon.api.TaskException; +import org.apache.myrmidon.components.deployer.Deployer; +import org.apache.myrmidon.components.deployer.DeploymentException; + +/** + * Task to import a tasklib. + * + * @author Peter Donald + */ +public class ImportTask + extends AbstractTask + implements Composable +{ + private File m_lib; + private Deployer m_deployer; + + public void compose( final ComponentManager componentManager ) + throws ComponentException + { + m_deployer = (Deployer)componentManager.lookup( Deployer.ROLE ); + } + + public void setLib( final File lib ) + { + m_lib = lib; + } + + public void execute() + throws TaskException + { + if( null == m_lib ) + { + throw new TaskException( "Must specify lib parameter" ); + } + + try + { + m_deployer.deploy( m_lib ); + } + catch( final DeploymentException de ) + { + throw new TaskException( "Error importing tasklib", de ); + } + } +}