<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>org.apache.abdera2</groupId>
  <artifactId>abdera2</artifactId>
  <packaging>pom</packaging>
  <name>Apache Abdera2</name>  
  <version>2.0-SNAPSHOT</version>    
  <description>Atom Specification Implementation</description>
  <inceptionYear>2006</inceptionYear>
  <url>http://abdera.apache.org</url>
  
  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
  </organization>
  
  <issueManagement>
    <system>JIRA</system>
    <url>https://issues.apache.org/jira/browse/ABDERA</url>
  </issueManagement>
  
  <mailingLists>
    <mailingList>
     <name>Abdera Developer List</name>
     <subscribe>dev-subscribe@abdera.apache.org</subscribe>
     <unsubscribe>dev-unsubscribe@abdera.apache.org</unsubscribe>
     <post>dev@abdera.apache.org</post>
     <archive>http://mail-archives.apache.org/mod_mbox/abdera-dev/</archive>
   </mailingList>
   <mailingList>
     <name>Abdera User List</name>
     <subscribe>user-subscribe@abdera.apache.org</subscribe>
     <unsubscribe>user-unsubscribe@abdera.apache.org</unsubscribe>
     <post>user@abdera.apache.org</post>
     <archive>http://mail-archives.apache.org/mod_mbox/abdera-user/</archive>
   </mailingList>
   <mailingList>
     <name>Abdera Source Control List</name>
     <subscribe>commits-subscribe@abdera.apache.org</subscribe>
     <unsubscribe>commits-unsubscribe@abdera.apache.org</unsubscribe>
     <archive>http://mail-archives.apache.org/mod_mbox/abdera-commits/</archive>
   </mailingList>
  </mailingLists>
  
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  
  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/abdera/java/tags/abdera-2.0</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/abdera/java/tags/abdera-2.0</developerConnection>
    <url>http://svn.apache.org/repos/asf/abdera/java/tags/abdera-2.0</url>
  </scm>
  
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.7</version>
        <configuration>
          <source>1.5</source>				
          <links>
            <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
          </links>
          <aggregate>true</aggregate>
          <excludePackageNames></excludePackageNames>
        </configuration>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <aggregate>true</aggregate>
        </configuration>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.6</version>
      </plugin>
      
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.4</version>
      </plugin>
    </plugins>
  </reporting>
  
  <build>
 
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
      </configuration>
    </plugin>
    
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.2</version>  
      <configuration>
        <archive>
          <manifestEntries>
            <Specification-Title>${project.name}</Specification-Title>
            <Specification-Vendor>The Apache Software Foundation</Specification-Vendor>
            <Specification-Version>${project.version}</Specification-Version>
            <Implementation-Title>${project.name}</Implementation-Title>
            <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
            <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
            <Implementation-Version>${project.version}</Implementation-Version>
          </manifestEntries>
        </archive>
      </configuration>
    </plugin>
    
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-release-plugin</artifactId>
      <version>2.1</version>
      <configuration>
        <tagBase>https://svn.apache.org/repos/asf/abdera/java/tags</tagBase>
        <useReleaseProfile>false</useReleaseProfile>
        <preparationGoals>clean install</preparationGoals>
        <goals>deploy</goals>
        <arguments>-Pdeploy</arguments>
        <autoVersionSubmodules>true</autoVersionSubmodules>
      </configuration>
    </plugin>
    
    <plugin>
      <artifactId>maven-remote-resources-plugin</artifactId>
      <version>1.0</version>  
      <executions>
        <execution>
          <id>compile</id>
          <goals>
            <goal>process</goal>
          </goals>
          <configuration>
            <resourceBundles>
              <resourceBundle>org.apache:apache-jar-resource-bundle:1.3</resourceBundle>
            </resourceBundles>
            <supplementalModels>
              <supplementalModel>${topDir}/etc/notice-supplements.xml</supplementalModel>
            </supplementalModels>
            <properties>
              <projectName>Apache Abdera2</projectName>
            </properties>
          </configuration>
        </execution>
      </executions>
    </plugin>
      
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>cobertura-maven-plugin</artifactId>
      <version>2.4</version>
      <executions>
        <execution>
          <goals>
            <goal>clean</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-source-plugin</artifactId>
      <version>2.1.2</version>
      <executions>
        <execution>
          <id>attach-sources</id>
          <phase>verify</phase>
          <goals>
            <goal>jar</goal>
          </goals>
        </execution>
      </executions>
    </plugin>

	  <plugin>
		  <groupId>org.apache.felix</groupId>
		  <artifactId>maven-bundle-plugin</artifactId>
		  <version>2.1.0</version>
		  <extensions>true</extensions>
		  <inherited>true</inherited>
		  <configuration>
			  <instructions>
				  <Export-Package>${abdera.osgi.exports}</Export-Package>
				  <Import-Package>${abdera.osgi.imports}</Import-Package>
				  <Embed-Dependency>${abdera.osgi.embed.dependencies}</Embed-Dependency>
	        <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
			  </instructions>
	      <versions>
	        <abdera.osgi.version.clean>${project.version}</abdera.osgi.version.clean>
	      </versions>
		  </configuration>
	    <executions>
	      <execution>
	        <phase>generate-sources</phase>
	        <goals>
	          <goal>cleanVersions</goal>
	        </goals>
	      </execution>
		  </executions>
	  </plugin>
    
  </plugins>

  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.6</version>
        <configuration>      
          <excludes>
            <exclude>**/*TestSuite*</exclude>
            <exclude>**/*$*</exclude>
            <exclude>**/TestAdapter*</exclude>
            <exclude>**/TestChannelServlet*</exclude>
          </excludes>
        </configuration>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-gpg-plugin</artifactId>
        <version>1.1</version>
        <executions>
          <execution>
            <id>sign-artifacts</id>
            <phase>verify</phase>
            <goals>
              <goal>sign</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>0.6</version>
      </plugin> 
      
      <plugin>
        <groupId>com.google.code.maven-license-plugin</groupId>
        <artifactId>maven-license-plugin</artifactId>
        <version>1.4.0</version>  
        <configuration>
          <basedir>${basedir}</basedir>
          <header>${basedir}/etc/license.txt</header>
          <quiet>false</quiet>
          <failIfMissing>true</failIfMissing>
        </configuration>
      </plugin>
    </plugins>
  </pluginManagement>
 
  </build>
  
  <profiles>
    <profile>
      <id>java6</id>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
              <source>1.6</source>
              <target>1.6</target>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.7</version>
            <configuration>
              <source>1.6</source>        
              <links>
                <link>http://java.sun.com/javase/6/docs/api/</link>
              </links>
              <aggregate>true</aggregate>
              <excludePackageNames></excludePackageNames>
            </configuration>
          </plugin>
        </plugins>
      </reporting>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
              <source>1.6</source>
              <target>1.6</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    
    </profile>
  	<profile>
  		<id>deploy</id>
  		<modules>
  			<module>distribution</module>
  		</modules>
  	</profile>
  	<profile>
  		<id>no-online-tests</id>
  		<activation>
  			<property>
  				<name>offline-tests</name>
  				<value>false</value>
  			</property>
  		</activation>
  		<build>
  			<plugins>
  				<plugin>
  					<artifactId>maven-surefire-plugin</artifactId>
  					<configuration>
  						<excludes>
  							<exclude>**/*TestSuite*</exclude>
  							<exclude>**/*$*</exclude>
  							<exclude>**/*TestAdapter*</exclude>
  							<exclude>**/FeedValidatorTest.java</exclude>
  							<exclude>**/DSigThirdPartyVerifyTest.java</exclude>
  							<exclude>**/AtomConformanceTest.java</exclude>
                <exclude>**/TestChannelServlet*</exclude>
  						</excludes>
  					</configuration>
  				</plugin>
  			</plugins>
  		</build>
  	</profile>
  </profiles>

  <repositories>
    <repository>
      <id>java.net2</id>
      <name>Repository hosting the jee6 artifacts</name>
      <url>http://download.java.net/maven/2</url>
    </repository>
  </repositories> 

  <dependencyManagement>
    <dependencies>

      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.5</version>  
      </dependency>

      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.1.2</version>
      </dependency>
      
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpmime</artifactId>
        <version>4.1.2</version>
      </dependency>
      
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>4.1.2</version>
      </dependency>
         
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient-cache</artifactId>
        <version>4.1.2</version>
      </dependency>

      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>1.7.1</version>
      </dependency>

      <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom</artifactId>
        <version>1.2.12</version>
      </dependency>

      <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-impl</artifactId>
        <version>1.2.12</version>  
        <exclusions>
          <exclusion>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
          </exclusion>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>  
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-activation_1.1_spec</artifactId>
        <version>1.1</version>  
      </dependency>
            
      <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.ibm.icu</groupId>
        <artifactId>icu4j</artifactId>
        <version>4.8.1.1</version>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.9</version>
        <scope>test, compile, package</scope>
      </dependency>
            
      <dependency>
        <groupId>org.codehaus.woodstox</groupId>
        <artifactId>wstx-asl</artifactId>
        <version>3.2.6</version>  
        <scope>runtime</scope>	    
        <exclusions>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      
      <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>1.1.1</version>  
        <exclusions>
          <exclusion>
            <groupId>jdom</groupId>
            <artifactId>jdom</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xom</groupId>
            <artifactId>xom</artifactId>
          </exclusion>          
          <exclusion>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      
      <dependency>
        <groupId>org.apache.santuario</groupId>
        <artifactId>xmlsec</artifactId>
        <version>1.4.5</version>  
      </dependency>
      
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.9.1</version>  
      </dependency>
            
      <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>2.0.2</version>  
      </dependency>
      
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>8.0.0.v20110901</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>8.0.0.v20110901</version>
      </dependency>
      
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.8.5</version>
      </dependency>
      
      <dependency>
          <groupId>org.easymock</groupId>
          <artifactId>easymock</artifactId>
          <version>3.0</version>
      </dependency>
      
    </dependencies>
  </dependencyManagement>
  
  <modules>
    <module>common</module>
    <module>core</module>
    <module>server</module>
    <module>activities</module>
    <module>client</module>
    <module>ext</module>
    <module>security</module>
    <module>test</module>
  </modules>
  
  <distributionManagement>
    <snapshotRepository>
      <id>apache.snapshots</id>
      <name>Apache Development Snapshot Repository</name>
      <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
    </snapshotRepository>

    <repository>
      <id>apache.releases</id>
      <name>Apache Release Distribution Repository</name>
      <url>scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
    </repository>
  </distributionManagement>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <jetty.version>6.1.24</jetty.version>
    <easymock.version>3.0</easymock.version>
    <topDir>${basedir}</topDir>
    <abdera.osgi.imports>${abdera.osgi.abdera.imports},${abdera.osgi.default.imports}</abdera.osgi.imports>
	<abdera.osgi.exports>${abdera.osgi.default.exports};version=${project.version};-noimport:=true</abdera.osgi.exports>
    <abdera.osgi.abdera.imports>org.apache.abdera.*;version="[$(version;===;${abdera.osgi.version.clean}),$(version;==+;${abdera.osgi.version.clean}))"</abdera.osgi.abdera.imports>
    <abdera.osgi.default.imports>*</abdera.osgi.default.imports>
	<abdera.osgi.default.exports>org.apache.abdera.*</abdera.osgi.default.exports>
	<abdera.osgi.embed.dependencies></abdera.osgi.embed.dependencies>
  </properties>
  
</project>
