<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>About UIMA PEAR Plugin</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US">
<h2>UIMA PEAR Plugin</h2>

<h3>License</h3>
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.

<br>
<H3>Overview</H3>
<p>PEAR helps UIMA developers to package UIMA components as PEAR files. Using PEAR files is the standard way to package UIMA components for distribution, download, and further processing by other tools.

<H3>Instructions</H3>
<p>1. Create a project (e.g. JAVA project) for all the files needed for your UIMA component
<br>2. Select "Add UIMA Nature" from the context menu (right-click) of your project
<br>3. Finish implementing and testing your component including all the required files such as external libraries and resources, and delegate analysis engines (in the case of an aggregate analysis engine)
<br>4. Select "Generate PEAR file" from the context menu (right-click) of your project, to open the PEAR Export wizard.
<br>5. Follow the instructions on the wizard to generate the PEAR file


</body>
</html>
