You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by mb...@apache.org on 2007/04/24 14:35:33 UTC
svn commit: r531905 - in /incubator/uima/sandbox/trunk/PearPackagingAntTask:
./ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/apache/uima/
src/main/java/org/apache/uima/pear/ src/main/java/org/apache/uima/...
Author: mbaessler
Date: Tue Apr 24 05:35:32 2007
New Revision: 531905
URL: http://svn.apache.org/viewvc?view=rev&rev=531905
Log:
UIMA-384
initial check-in of the pear packaging ANT task project
JIRA ticket https://issues.apache.org/jira/browse/UIMA-384
Added:
incubator/uima/sandbox/trunk/PearPackagingAntTask/buildSample.xml
incubator/uima/sandbox/trunk/PearPackagingAntTask/pom.xml
incubator/uima/sandbox/trunk/PearPackagingAntTask/src/
incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/
incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/
incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/
incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/apache/
incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/apache/uima/
incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/apache/uima/pear/
incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/apache/uima/pear/tools/
incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/apache/uima/pear/tools/PearPackagingAntTask.java
Added: incubator/uima/sandbox/trunk/PearPackagingAntTask/buildSample.xml
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/PearPackagingAntTask/buildSample.xml?view=auto&rev=531905
==============================================================================
--- incubator/uima/sandbox/trunk/PearPackagingAntTask/buildSample.xml (added)
+++ incubator/uima/sandbox/trunk/PearPackagingAntTask/buildSample.xml Tue Apr 24 05:35:32 2007
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<project name="PearPackagingTask" default="pearPackagingSample" basedir=".">
+
+ <!-- define the classpath settings for the pear packaging task.
+ uimaj-pear-task.jar and uima-core.jar is needed -->
+ <path id="pearTask.classpath">
+ <fileset dir="/home/apache-uima/lib/" includes="uimaj-pear-task.jar"/>
+ <fileset dir="/home/apache-uima/lib/" includes="uima-core.jar"/>
+ </path>
+
+ <!-- pear packaging sample target -->
+ <target name="pearPackagingSample">
+
+ <!-- Define pear packaging task -->
+ <taskdef name="packagePear"
+ classname="org.apache.uima.pear.tools.PearPackagingAntTask"
+ classpathref="pearTask.classpath"/>
+
+ <!-- Sample pear packaging -->
+ <packagePear componentID="SampleAnnotator"
+ mainComponentDesc="desc/mainComponentDesc.xml"
+ classpath="$main_root/pearClasspahtEntry;$main_root/anotherPearClasspahtEntry"
+ datapath="$main_root/resources"
+ mainComponentDir="/home/user/workspace/SampeAnntotator"
+ targetDir="/home/user/pearArchive">
+ <envVar name="ENV_VAR_NO1" value="value1"/>
+ <envVar name="ENV_VAR_NO2" value="value2"/>
+ </packagePear>
+ </target>
+
+</project>
\ No newline at end of file
Added: incubator/uima/sandbox/trunk/PearPackagingAntTask/pom.xml
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/PearPackagingAntTask/pom.xml?view=auto&rev=531905
==============================================================================
--- incubator/uima/sandbox/trunk/PearPackagingAntTask/pom.xml (added)
+++ incubator/uima/sandbox/trunk/PearPackagingAntTask/pom.xml Tue Apr 24 05:35:32 2007
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<project>
+ <parent>
+ <artifactId>uimaj</artifactId>
+ <groupId>org.apache.uima</groupId>
+ <version>2.2-incubating-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>PearPackagingAntTask</artifactId>
+ <name>Apache UIMA PEAR packaging ANT task</name>
+ <version>2.2-incubating-SNAPSHOT</version>
+ <url>http://incubator.apache.org/uima</url>
+ <build>
+ <finalName>uimaj-pear-task</finalName>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>uimaj-core</artifactId>
+ <version>2.2-incubating-SNAPSHOT</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>1.7.0</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Added: incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/apache/uima/pear/tools/PearPackagingAntTask.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/apache/uima/pear/tools/PearPackagingAntTask.java?view=auto&rev=531905
==============================================================================
--- incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/apache/uima/pear/tools/PearPackagingAntTask.java (added)
+++ incubator/uima/sandbox/trunk/PearPackagingAntTask/src/main/java/org/apache/uima/pear/tools/PearPackagingAntTask.java Tue Apr 24 05:35:32 2007
@@ -0,0 +1,177 @@
+/*
+ * 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.uima.pear.tools;
+
+import java.util.ArrayList;
+import java.util.Properties;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Task;
+import org.apache.tools.ant.types.Parameter;
+
+/**
+ * Class to create an ANT task to package a UIMA PEAR file.
+ *
+ * See the example below on how to add the target to your ant build.
+ *
+ * <pre>
+ *
+ * <!-- define the classpath settings for the pear packaging task.
+ * uimaj-pear-task.jar and uima-core.jar is needed -->
+ * <path id="pearTask.classpath">
+ * <fileset dir="/home/apache-uima/lib/" includes="uimaj-pear-task.jar"/>
+ * <fileset dir="/home/apache-uima/lib/" includes="uima-core.jar"/>
+ * </path>
+ *
+ * <!-- pear packaging sample target -->
+ * <target name="pearPackagingSample">
+ *
+ * <!-- Define pear packaging task -->
+ * <taskdef name="packagePear"
+ * classname="org.apache.uima.pear.tools.PearPackagingAntTask"
+ * classpathref="pearTask.classpath"/>
+ *
+ * <!-- Sample pear packaging -->
+ * <packagePear componentID="SampleAnnotator"
+ * mainComponentDesc="desc/mainComponentDesc.xml"
+ * classpath="$main_root/pearClasspahtEntry;$main_root/anotherPearClasspahtEntry"
+ * datapath="$main_root/resources"
+ * mainComponentDir="/home/user/workspace/SampeAnntotator"
+ * targetDir="/home/user/pearArchive">
+ * <envVar name="ENV_VAR_NO1" value="value1"/>
+ * <envVar name="ENV_VAR_NO2" value="value2"/>
+ * </packagePear>
+ * </target>
+ * </pre>
+ *
+ */
+public class PearPackagingAntTask extends Task {
+
+ private String componentID = null;
+
+ private String mainComponentDesc = null;
+
+ private String classpath = null;
+
+ private String datapath = null;
+
+ private String mainComponentDir = null;
+
+ private String targetDir = null;
+
+ private ArrayList params = new ArrayList();
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.tools.ant.Task#execute()
+ */
+ public void execute() throws BuildException {
+ super.execute();
+
+ // get environment variables (<envVar name="ENV_VAR_NO1" value="value1"/>) specified for the pear component
+ Properties props = null;
+ if (this.params.size() > 0) {
+ props = new Properties();
+ for (int i = 0; i < this.params.size(); i++) {
+ Parameter param = (Parameter) this.params.get(i);
+ props.setProperty(param.getName(), param.getValue());
+ }
+ }
+
+ //call pear packager with the ANT defined information
+ try {
+ PackageCreator.generatePearPackage(this.componentID, this.mainComponentDesc, this.classpath,
+ this.datapath, this.mainComponentDir, this.targetDir, props);
+ } catch (PackageCreatorException ex) {
+ throw new BuildException(ex);
+ }
+ }
+
+ /**
+ * add environment variable for the pear component
+ *
+ * @param envVar
+ * environment variable setting
+ */
+ public void addEnvVar(Parameter envVar) {
+ this.params.add(envVar);
+ }
+
+ /**
+ * set classpath for the pear component.
+ *
+ * @param classpath
+ * the classpath to set
+ */
+ public void setClasspath(String classpath) {
+ this.classpath = classpath;
+ }
+
+ /**
+ * set component ID for the pear component
+ *
+ * @param componentID
+ * the componentID to set
+ */
+ public void setComponentID(String componentID) {
+ this.componentID = componentID;
+ }
+
+ /**
+ * the datapath setting for the pear component
+ *
+ * @param datapath
+ * the datapath to set
+ */
+ public void setDatapath(String datapath) {
+ this.datapath = datapath;
+ }
+
+ /**
+ * the main component descriptor for the pear component
+ *
+ * @param mainComponentDesc
+ * the mainComponentDesc to set
+ */
+ public void setMainComponentDesc(String mainComponentDesc) {
+ this.mainComponentDesc = mainComponentDesc;
+ }
+
+ /**
+ * the main component directory for the pear data
+ *
+ * @param mainComponentDir
+ * the mainComponentDir to set
+ */
+ public void setMainComponentDir(String mainComponentDir) {
+ this.mainComponentDir = mainComponentDir;
+ }
+
+ /**
+ * the target directory for the output
+ *
+ * @param targetDir
+ * the targetDir to set
+ */
+ public void setTargetDir(String targetDir) {
+ this.targetDir = targetDir;
+ }
+
+}