<!--
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.    
-->

<assembly>
  <id>bin</id>
  <formats>
    <format>tar.gz</format>  
    <!--format>dir</format-->
  </formats>
  
  <baseDirectory>apache-uima-ducc-${project.version}</baseDirectory> 
  <includeBaseDirectory>true</includeBaseDirectory>

    
   
   <dependencySets>
    
	<!-- xstream is in lib/apache-camel --> 

    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>org.kohsuke:libpam4j</include>
      </includes>
      <outputDirectory>lib/libpam4j</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>net.java.dev.jna:jna</include>
      </includes>
      <outputDirectory>lib/jna</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>


    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>org.apache.uima:uima-ducc-common</include>
        <include>org.apache.uima:uima-ducc-transport</include>
        <include>org.apache.uima:uima-ducc-agent</include>
        <include>org.apache.uima:uima-ducc-cli</include>
        <include>org.apache.uima:uima-ducc-pm</include>
        <include>org.apache.uima:uima-ducc-pullservice</include>
        <include>org.apache.uima:uima-ducc-rm</include>
        <include>org.apache.uima:uima-ducc-sm</include>
        <include>org.apache.uima:uima-ducc-orchestrator</include>
        <include>org.apache.uima:uima-ducc-web</include>
        <include>org.apache.uima:uima-ducc-container</include>
        <include>org.apache.uima:uima-ducc-database</include>
        <include>org.apache.uima:uima-ducc-workitem-v2</include>
        <include>org.apache.uima:uima-ducc-workitem-v3</include>
 
      </includes>      
      <outputFileNameMapping>${artifact.artifactId}-${project.version}.jar</outputFileNameMapping>
      <outputDirectory>lib/uima-ducc</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

    <!-- Put examples jar one level down as not used by daemons -->
    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>org.apache.uima:uima-ducc-examples</include>
      </includes>      
      <outputFileNameMapping>${artifact.artifactId}-${project.version}.jar</outputFileNameMapping>
      <outputDirectory>lib/uima-ducc/examples</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

    <!-- Put user jar one level down to isolate it -->
    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>org.apache.uima:uima-ducc-user</include>
         <!--include>org.apache.uima:uima-ducc-pullservice</include-->
      </includes>      
      <outputFileNameMapping>${artifact.artifactId}-${project.version}.jar</outputFileNameMapping>
      <outputDirectory>lib/uima-ducc/user</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>
       
    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>org.apache.uima:uima-ducc-workitem-v2:jar:</include>
        <include>org.apache.uima:uima-ducc-workitem-v3:jar:</include>
      </includes>      
      <outputFileNameMapping>${artifact.artifactId}.jar</outputFileNameMapping>
      <outputDirectory>lib/uima-ducc/workitem</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>
   <!-- Google GSon -->   
    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>com.google.code.gson:gson</include>
      </includes>      
      <outputDirectory>lib/google-gson</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

    <!-- HTTP Support for the broker is now in the UIMA-AS 2.6.0 package -->

    <!-- log4j is also in apache-uima/apache-activemq/lib/optional but that is not in all classpaths -->
    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>log4j:log4j</include>
      </includes>      
      <outputDirectory>lib/apache-log4j</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>


    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>com.datastax.cassandra:cassandra-driver-core</include>
        <!--include>com.datastax.cassandra:cassandra-driver-dse</include-->
        <include>com.datastax.cassandra:cassandra-driver-mapping</include>
        <include>io.netty:netty-buffer</include>
        <include>io.netty:netty-codec</include>
        <include>io.netty:netty-common</include>
        <include>io.netty:netty-handler</include>
        <include>io.netty:netty-transport</include>
        <include>com.codahale.metrics:metrics-core</include>
        <include>org.xerial.snappy:snappy-java</include>
        <include>net.jpountz.lz4:lz4</include>
        <include>org.hdrhistogram:HdrHistogram</include>
      </includes>      
      <outputDirectory>lib/cassandra</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

    <!-- Need the latest lz4 in the cassandra-server package-->
    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>net.jpountz.lz4:lz4</include>
      </includes>      
      <outputDirectory>cassandra-server/lib</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

	<!-- xmlbeans is in UIMA-AS package -->
    
    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>com.google.guava:guava</include>
      </includes>      
      <outputDirectory>lib/guava</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>joda-time:joda-time</include>
      </includes>      
      <outputDirectory>lib/joda-time</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

	<!-- Only used by some daemons -->
    <!-- dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>commons-codec:commons-codec</include>
        <include>org.apache.httpcomponents:httpcore</include>
        <include>org.apache.httpcomponents:httpclient</include>
      </includes>      
      <outputDirectory>lib/http-client</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet-->


	<!-- Combine the shared common jars -->
    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>commons-cli:commons-cli</include>
        <include>commons-collections:commons-collections</include>
        <include>commons-lang:commons-lang</include>
        <!-- include>commons-pool:commons-pool</include-->
      </includes>      
      <outputDirectory>lib/apache-commons</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

	<!-- Not part of the UIMA-AS package, but are not used by DUCC?
    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>org.apache.activemq:activemq-pool</include>
        <include>org.apache.activemq:activemq-jaas</include>
      </includes>      
      <outputDirectory>apache-uima/apache-activemq/lib</outputDirectory>
      <useTransitiveDependencies>false</useTransitiveDependencies>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>
	-->

    <dependencySet>
      <useStrictFiltering>true</useStrictFiltering>
      <includes>
        <include>org.apache.camel:camel-core</include>
        <include>org.apache.camel:camel-context</include>
        <include>org.apache.camel:camel-http</include>
        <include>org.apache.camel:camel-http-common</include>
        <include>org.apache.camel:camel-http4</include>
        <include>org.apache.camel:camel-jetty</include>
        <include>org.apache.camel:camel-jetty9</include>
        <include>org.apache.camel:camel-jetty-common</include>
        <include>org.apache.camel:camel-jms</include>
        <include>org.apache.camel:camel-mina</include>
        <include>org.apache.camel:camel-spring</include>
        <include>org.apache.camel:camel-xmlbeans</include>
        <include>org.apache.camel:camel-xstream</include>
        <!--include>com.thoughtworks.xstream:xstream</include-->
        <include>org.apache.mina:mina-core</include>
        <!--include>xmlpull:xmlpull</include-->

        <include>org.apache.camel:camel-servlet</include>
        <include>org.apache.camel:camel-stream</include>
        <include>org.apache.camel:camel-test-spring</include>
        <include>org.apache.camel:camel-test</include>
		<!--  The last 4 do not appear to be used - no classes loaded from them -->

      </includes>      
      <outputDirectory>lib/apache-camel</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <fileMode>644</fileMode> 
      <directoryMode>755</directoryMode>        
    </dependencySet>

	<!-- springframework and slf4j are now part of the UIMA-AS package -->

   </dependencySets>

  <!-- Add other files - scripts, documentation, examples -->
  <fileSets>

    <!-- UIMA-AS (includes UIMA SDK & ActiveMQ) -->
    <fileSet>
      <directory>target/uima-as/apache-uima-as-${org.apache.uima.as.version}</directory>
      <outputDirectory>apache-uima</outputDirectory>
      <!--fileMode>755</fileMode-->
      <directoryMode>755</directoryMode>        
    </fileSet>

	<!-- Put the DUCC broker configuration files in ACTIVEMQ -->
    <fileSet>
      <directory>src/main/config/</directory>
      <outputDirectory>apache-uima/apache-activemq/conf</outputDirectory>
      <includes>
        <include>activemq*</include>
      </includes>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>
    
    <!--  For binary tarbal include LICENSE and NOTICE.  -->
    <fileSet>
      <directory>src/main/legal/</directory>
      <outputDirectory></outputDirectory>
      <includes>
        <include>LICENSE</include>
        <include>NOTICE</include>
      </includes>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>
    
    <fileSet>
      <directory>target</directory>
      <outputDirectory></outputDirectory>
      <includes>
        <include>README</include>
        <include>RELEASE_NOTES.html</include>
      </includes>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>
    <!--      JETTY  -->
    <fileSet>
      <directory>target/jetty/jetty-distribution-${jetty.version}/lib</directory>
      <outputDirectory>webserver/lib</outputDirectory>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <!--    CASSANDRA server -->
    <!-- The conf files are replaced with modified ones and a later version of lz4 is required -->
    <fileSet>
      <directory>target/cassandra/apache-cassandra-${cassandra.server.version}</directory>
      <outputDirectory>cassandra-server</outputDirectory>
      <excludes>
        <exclude>javadac/*</exclude>
        <exclude>conf/cassandra-env.sh</exclude>
        <exclude>conf/cassandra.yaml</exclude>
        <exclude>bin/cassandra</exclude>
        <exclude>lib/lz4*</exclude>
      </excludes>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <!-- Slightly modified Cassandra configuration files -->
    <fileSet>
      <directory>src/main/config</directory>
      <outputDirectory>cassandra-server/conf</outputDirectory>
      <includes>
        <include>cassandra-env.sh</include>
        <include>cassandra.yaml</include>
        <include>cassandra.yaml.local</include>
        <include>cassandra.yaml.remote</include>
      </includes>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <!-- Log full Java command -->
    <fileSet>
      <directory>src/main/config</directory>
      <outputDirectory>cassandra-server/bin</outputDirectory>
      <includes>
        <include>cassandra</include>
      </includes>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <!--    Unversioned CLI jar -->
    <fileSet>
      <directory>uima-ducc-cli/target</directory>
      <outputDirectory>lib</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
      <includes>
        <include>uima-ducc-cli.jar</include>
      </includes>
    </fileSet>
    
    
    <fileSet>
      <directory>src/main/resources</directory>
      <outputDirectory>resources</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>
      <excludes>
		<exclude>private/*</exclude>
		<exclude>private</exclude>
	  </excludes>
    </fileSet>

    <fileSet>
      <directory>src/main/resources/private</directory>
      <outputDirectory>resources.private</outputDirectory>
      <fileMode>600</fileMode>
      <directoryMode>700</directoryMode>
      <includes />
    </fileSet>

    <fileSet>
      <directory></directory>
      <outputDirectory></outputDirectory>
      <includes>
        <include>issuesFixed/**</include>
        <!--include>target/README</include>
        <include>target/RELEASE_NOTES.html</include-->
        <!-- Temporarily disable the include below for 1.1.0-Ducc release -->
        <!-- JIRAs bug prevents more than 100 jiras in the report produced -->
        <!-- by maven changes plugin. Workaround is to generate report     -->
        <!-- manually and add it to the svn                                -->
        <!-- include>issuesFixed/**</include -->
      </includes>
      <!-- The NOTICE and LICENSE for binary distro will be copied from src/main/legal  -->
      <excludes>
         <exclude>NOTICE</exclude>
         <exclude>LICENSE</exclude>
      </excludes>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>
     
    </fileSet>

    <!--fileSet>
      <directory>issuesFixed</directory>
      <outputDirectory>issuesFixed</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>
    </fileSet-->


    <fileSet>
      <directory>src/main/admin</directory>
      <outputDirectory>admin</outputDirectory>
      <fileMode>750</fileMode>
      <directoryMode>750</directoryMode>
      <excludes>
	<exclude>*.pyc</exclude>
      </excludes>
    </fileSet>

    <fileSet>
      <directory>src/main/scripts</directory>
      <outputDirectory>bin</outputDirectory>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>
      <excludes>
	<exclude>*.pyc</exclude>
      </excludes>
    </fileSet>

    <fileSet>
      <directory>uima-ducc-spawn/src</directory>
      <outputDirectory>duccling/src</outputDirectory>
      <fileMode>750</fileMode>
      <directoryMode>755</directoryMode>
      <includes />
      <excludes />
    </fileSet>

    <fileSet>
      <directory>uima-ducc-spawn</directory>
      <outputDirectory>duccling</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>
      <includes>
        <include>README*</include>
      </includes>
      <excludes />
    </fileSet>

    <fileSet>
      <directory>uima-ducc-web/src/main/webapp/etc</directory>
      <outputDirectory>webserver/etc</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <fileSet>
      <directory>uima-ducc-web/src/main/webapp/root</directory>
      <outputDirectory>webserver/root</outputDirectory>
      <excludes>
         <exclude>opensources/DataTables-${datatables.version}/media/original/**</exclude>
         <exclude>opensources/DataTables-${datatables.version}/media/images/sort*</exclude>
         <exclude>opensources/DataTables-${datatables.version}media/images/*.psd</exclude>
         <exclude>opensources/**/*.txt</exclude>
      </excludes>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>
   
    <fileSet>
      <directory>uima-ducc-web/src/main/webapp/root/opensources/DataTables-${datatables.version}/media/images/</directory>
      <outputDirectory>webserver/root/opensources/DataTables-${datatables.version}/media/images/sort</outputDirectory>
      <includes>
        <include>sort*</include>
      </includes>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>
    
    <fileSet>
      <!--  build up the sample code resources  -->
      <directory>uima-ducc-examples/src/main/resources/org/apache/uima/ducc/sampleapps</directory>
      <outputDirectory>examples/sampleapps/descriptors</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>             
    </fileSet>
    
    <fileSet>
      <!--  Set up sample pinger registrations   -->
      <directory>uima-ducc-examples/src/main/resources/ping</directory>
      <outputDirectory>examples/ping</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>              
    </fileSet>



    <fileSet>
      <!-- build up the verification test jobs -->
      <directory>uima-ducc-examples/src/main/resources/sleepjobs</directory>
      <outputDirectory>examples/simple</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <fileSet>
      <!-- build up the verification scripting -->
      <directory>uima-ducc-examples/src/main/bin</directory>
      <outputDirectory>examples/bin</outputDirectory>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <fileSet>
      <!-- build up the verification scripting -->
      <directory>uima-ducc-examples/src/main/scripts</directory>
      <outputDirectory>examples/systemtest</outputDirectory>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>
    
    <fileSet>
      <!-- build up the verification test jobs -->
      <directory>uima-ducc-examples/src/main/resources/org/apache/uima/ducc/test</directory>
      <outputDirectory>examples/simple/resources</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>

    <fileSet>
      <!-- build up the verification test source -->
      <directory>uima-ducc-examples/src/main/java</directory>
      <outputDirectory>examples/src</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <fileSet>
      <!-- build up the verification test source -->
      <directory>uima-ducc-examples/src/main/systemtest</directory>
      <outputDirectory>examples/systemtest</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <fileSet>
      <!-- build up the reliable directory -->
      <directory>uima-ducc-examples/src/main/reliable</directory>
      <outputDirectory>examples/reliable</outputDirectory>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <fileSet>
      <!-- build up the uima-ducc-vm ("live" demo) directory -->
      <directory>uima-ducc-examples/src/main/uima-ducc-vm</directory>
      <outputDirectory>examples/uima-ducc-vm</outputDirectory>
      <fileMode>755</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <fileSet>
      <!-- build up the webserver directory -->
      <directory>uima-ducc-duccdocs/target/site/duccbook-html</directory>
      <outputDirectory>webserver/root/doc</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
      <includes>
        <include>*.css</include>
        <include>*.html</include>
      </includes>
    </fileSet>

  <fileSet>
      <!-- build up the webserver directory -->
      <directory>uima-ducc-duccdocs/target/site/duccbook-html/images</directory>
      <outputDirectory>webserver/root/doc/images</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
      <includes>
        <include>*.jpg</include>
        <include>*.png</include>
      </includes>
    </fileSet>


  <fileSet>
      <!-- build up the webserver directory -->
      <directory>uima-ducc-duccdocs/src/site/tex/duccbook/images/ducc-webserver</directory>
      <outputDirectory>webserver/root/doc/images/ducc-webserver</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
      <includes>
        <include>*.jpg</include>
        <include>*.png</include>
      </includes>
    </fileSet>
  
  <fileSet>
      <!-- add javadocs to the webserver directory -->
      <directory>target/site/apidocs</directory>
      <outputDirectory>webserver/root/doc/api</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>
    
    
    <fileSet>
      <directory>uima-ducc-duccdocs/target/site/duccbook-pdf</directory>
      <outputDirectory>docs/d</outputDirectory>
      <includes>
        <include>*.pdf</include>
      </includes>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>
    
    <fileSet>
      <directory>uima-ducc-duccdocs/target/site/duccbook-html</directory>
      <outputDirectory>docs/d</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <fileSet>
      <directory>target/site/apidocs</directory>
      <outputDirectory>docs/d/api</outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>

    <fileSet>
      <directory>uima-ducc-duccdocs/target/site/duccbook-install</directory>
      <outputDirectory></outputDirectory>
      <fileMode>644</fileMode>
      <directoryMode>755</directoryMode>        
    </fileSet>
  </fileSets>
  
  <files>
  
    
      <file>
      <source>src/main/cglib/com.springsource.net.sf.cglib-${cglib.version}.jar</source>
      <outputDirectory>lib/springframework</outputDirectory>
      <destName>com.springsource.net.sf.cglib-${cglib.version}.jar</destName>
      <fileMode>644</fileMode>
    </file>
    
    <file>
      <source>uima-ducc-common/src/main/java/org/apache/uima/ducc/common/internationalization/Messages.properties</source>
      <outputDirectory>resources</outputDirectory>
      <destName>Messages.properties</destName>
      <fileMode>644</fileMode>
    </file>
    
   </files>
</assembly>
