<?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.    
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
  
  <parent>
    <groupId>org.apache.uima</groupId>
    <artifactId>uimaj-parent</artifactId>
    <version>2.7.0</version>
    <relativePath>../uimaj-parent/pom.xml</relativePath>
  </parent>

	<artifactId>uimaj-ep-launcher</artifactId>
	<packaging>jar</packaging> 
	<name>Apache UIMA Eclipse: ${project.artifactId}</name>
  <!-- continuation lines need to start in col 1 else manifest has extra blanks -->
  <description>Adds launch support for Analysis Engines </description>
  <url>${uimaWebsiteUrl}</url>

  <!-- Special inheritance note
       even though the <scm> element that follows is exactly the 
       same as those in super poms, it cannot be inherited because 
       there is some special code that incorrectly computes the 
       connection elements from the chain of parent poms, if this is omitted. 
       
       Keeping this a bit factored allows cutting/pasting the <scm>
       element, and just changing the following two properties -->  
  <scm>
    <connection>
      scm:svn:http://svn.apache.org/repos/asf/uima/uimaj/tags/uimaj-2.7.0/uimaj-ep-launcher
    </connection>
    <developerConnection>
      scm:svn:https://svn.apache.org/repos/asf/uima/uimaj/tags/uimaj-2.7.0/uimaj-ep-launcher
    </developerConnection>
    <url>
      http://svn.apache.org/viewvc/uima/uimaj/tags/uimaj-2.7.0/uimaj-ep-launcher
    </url>
  </scm>
  
  <properties>
    <uimaScmProject>${project.artifactId}</uimaScmProject>
  </properties>
  
	<dependencies>
    <!-- depending on the ep-runtime doesn't work without manual intervention because
         eclipse:eclipse on the ep-runtime doesn't mark the embedded things as "exported".
         It doesn't matter which scope - compile or provided - is used, both fail
      
         Other posts indicate that plugins should have explicit dependencies, anyway.
         And, it lets these plugins work when the library plugin is "open" in the same workspace.
      -->
    <!--dependency>
      <groupId>org.apache.uima</groupId>
      <artifactId>uimaj-ep-runtime</artifactId>
      <version>${uimaj-release-eclipse-version}</version>
      <scope>compile</scope>       
    </dependency-->
    
    <dependency>
      <groupId>org.apache.uima</groupId>
      <artifactId>uimaj-core</artifactId>
      <version>${project.parent.version}</version>
      <scope>compile</scope>
    </dependency>
    
    <!-- next dependency is commented out due to Maven 2.0.7 throwing NPE 
         Might be related to http://jira.codehaus.org/browse/MNG-3086 -->
		<!--dependency>
			<groupId>org.eclipse.ui</groupId>
			<artifactId>org.eclipse.ui</artifactId>
			<version>3.2.0</version>
			<scope>provided</scope>
		</dependency-->
    		<dependency>
			<groupId>org.eclipse.swt</groupId>
			<artifactId>org.eclipse.swt.win32.win32.x86</artifactId>
      <!-- changing the lower version number to 3.2.0, 
           was 3.3.0 
           because only 3.2.0 and 3.2.1 are in 
           repo -->
			<version>[3.2.0.0,4.0.0)</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.eclipse.jdt</groupId>
			<artifactId>org.eclipse.jdt.debug.ui</artifactId>
			<version>3.2.0</version>
			<scope>provided</scope>
		</dependency>
    
    <!-- dependencies added to overcome 3.6 maven central corrupted upload -->
    <dependency>
      <groupId>org.eclipse.core</groupId>
      <artifactId>org.eclipse.core.filesystem</artifactId>
      <version>1.0.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.core</groupId>
      <artifactId>org.eclipse.core.resources</artifactId>
      <version>3.2.1</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.core</groupId>
      <artifactId>org.eclipse.core.runtime</artifactId>
      <version>3.2.0</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.equinox</groupId>
      <artifactId>org.eclipse.equinox.common</artifactId>
      <version>[3.3.0.0,4.0.0)</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.osgi</groupId>
      <artifactId>org.eclipse.osgi</artifactId>
      <version>3.2.1</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.core</groupId>
      <artifactId>org.eclipse.core.expressions</artifactId>
      <version>3.2.1</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.core</groupId>
      <artifactId>org.eclipse.core.variables</artifactId>
      <version>3.1.100</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.ant</groupId>
      <artifactId>org.eclipse.ant.core</artifactId>
      <version>3.1.100</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.equinox</groupId>
      <artifactId>org.eclipse.equinox.registry</artifactId>
      <version>3.2.1</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.core</groupId>
      <artifactId>org.eclipse.core.jobs</artifactId>
      <version>3.2.0</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.equinox</groupId>
      <artifactId>org.eclipse.equinox.preferences</artifactId>
      <version>3.2.1</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.core</groupId>
      <artifactId>org.eclipse.core.contenttype</artifactId>
      <version>3.2.0</version>
      <scope>provided</scope>      
    </dependency>
    <dependency>
      <groupId>org.eclipse.core</groupId>
      <artifactId>org.eclipse.core.runtime.compatibility.auth</artifactId>
      <version>3.2.0</version>
      <scope>provided</scope>      
    </dependency>  
	</dependencies>
  
	<build>  
    <!-- don't use artifactId as first part of finalName, follow instead the eclipse convention -->  
		<finalName>org.apache.uima.launcher_${parsedVersion.osgiVersion}</finalName>   	    
		<plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <configuration>
          <instructions>
            <!-- turn off "uses" generation because Eclipse 3.2.x doesn't work with them -->
            <_nouses>true</_nouses>
            <Export-Package>
              org.apache.uima.ep_launcher
            </Export-Package>
             
            <!-- handle split packages in Eclipse.
               We do this by using Require-Bundle, and excluding from the Import-Package those
                 split packages covered by those bundles - this is required by OSGi.
                                
                org.eclipse.core.runtime has combined apis (that were split in later 
                  point releases of 3.x)
            -->
            <!-- NOTE: ANY CONTINUATION LINES for Require-Bundle MUST START IN Col1 else manifest is potentially wrong -->
            <Require-Bundle>org.eclipse.core.runtime</Require-Bundle>
            <Import-Package>
              !org.eclipse.core.runtime,                 
			  org.eclipse.core.resources,
			  org.eclipse.core.runtime.model,
			  org.eclipse.core.variables,
			  org.eclipse.core.commands.common,
			  org.eclipse.debug.core,
			  org.eclipse.debug.ui,
			  org.eclipse.debug.ui.sourcelookup,
			  org.eclipse.debug.core.model,
			  org.eclipse.jdt.debug.ui.launchConfigurations,
			  org.eclipse.jdt.launching,
			  org.eclipse.jface.layout,
			  org.eclipse.jface.preference,
			  org.eclipse.jface.viewers,
			  org.eclipse.jface.window,
			  org.eclipse.jface.dialogs,
			  org.eclipse.swt,
			  org.eclipse.swt.events,
			  org.eclipse.swt.layout,
			  org.eclipse.swt.widgets,
			  org.eclipse.ui,
			  org.eclipse.ui.dialogs,
			  org.eclipse.ui.model,
			  org.eclipse.ui.plugin,
			  org.osgi.framework;version="1.3"
            </Import-Package>
			<Bundle-SymbolicName>org.apache.uima.launcher;singleton:=true</Bundle-SymbolicName>
			<Bundle-Activator>org.apache.uima.ep_launcher.LauncherPlugin</Bundle-Activator>
            <Eclipse-AutoStart>true</Eclipse-AutoStart>
          </instructions>
        </configuration>
      </plugin>      		
		</plugins>
	</build>
</project>