<?xml version="1.0" encoding="UTF-8"?>

   <!--
    ***************************************************************
    * 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.
    ***************************************************************
   -->
   
<analysisEngineDeploymentDescription 
  xmlns="http://uima.apache.org/resourceSpecifier">
  
  <name>C++ Meeting Annotator</name>
  <description>Deploys the C++ version of the Meeting Annotator</description>
  
  <deployment protocol="jms" provider="activemq">
    <service>
      <custom name="run_top_level_CPP_service_as_separate_process"/>
      <inputQueue endpoint="MeetingAnnotator" brokerURL="${defaultBrokerURL}"/>
      <topDescriptor>
       <import location="MeetingAnnotatorCPP.xml"/>
      </topDescriptor>
      <environmentVariables>
       <!-- Add the location of the MeetingAnnotator to the library search path. -->
       <!-- For ease of testing do so for all platforms and use relative paths.  -->
       <environmentVariable name="Path">src</environmentVariable>
       <environmentVariable name="LD_LIBRARY_PATH">src</environmentVariable>
       <environmentVariable name="DYLD_LIBRARY_PATH">src</environmentVariable>
       <environmentVariable name="UIMACPP_DATAPATH">mydata</environmentVariable>
	</environmentVariables>
    </service>
  </deployment>

</analysisEngineDeploymentDescription>
