<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>
  <groupId>de.mannheim.ids</groupId>
  <artifactId>FCS-WS</artifactId>
  <packaging>war</packaging>
  <version>1.0.3</version>
  <name>Federated Content Search Webservice</name>
  
  <dependencies>
  	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.12</version>
	</dependency>	
	<dependency>
        <groupId>eu.clarin.weblicht</groupId>
        <artifactId>wlfxb</artifactId>
        <version>1.4.0</version>
    </dependency>       
  	<dependency>
   	  <groupId>javax.servlet</groupId>
   	  <artifactId>servlet-api</artifactId>
   	  <version>2.5</version>
   	  <scope>provided</scope>
    </dependency>
    <dependency>
    	<groupId>com.sun.jersey</groupId>
    	<artifactId>jersey-server</artifactId>
    	<version>1.13</version>
    </dependency>
    <dependency>
    	<groupId>com.sun.jersey</groupId>
    	<artifactId>jersey-servlet</artifactId>
    	<version>1.19.4</version>
    </dependency>    
    <dependency>
  	  <groupId>org.apache.httpcomponents</groupId>
  	  <artifactId>httpclient</artifactId>
  	  <version>4.5.8</version>
    </dependency>    
    <!-- <dependency>
   	  <groupId>org.slf4j</groupId>
   	  <artifactId>slf4j-simple</artifactId>
   	  <version>1.7.6</version>
    </dependency> -->
    <dependency>
	  <groupId>org.slf4j</groupId>
	  <artifactId>slf4j-log4j12</artifactId>
	  <version>1.7.26</version>
	</dependency>
    <dependency>
    	<groupId>org.apache.commons</groupId>
    	<artifactId>commons-lang3</artifactId>
    	<version>3.9</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>FCS-WS</finalName>
    <plugins>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
          <configuration>
              <source>1.8</source>
              <target>1.8</target>
          </configuration>
      </plugin>
    </plugins>    
  </build>
</project>
