<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.abdera</groupId>
  <artifactId>abdera</artifactId>
  <packaging>pom</packaging>
  <name>Apache Abdera</name>  
  <version>1.1.2</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-1.0</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/abdera/java/tags/abdera-1.0</developerConnection>
    <url>http://svn.apache.org/repos/asf/abdera/java/tags/abdera-1.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>org.apache.abdera.util,org.apache.abdera.ext.*.impl,org.apache.abdera.parser.**,org.apache.abdera.security.**</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.5</source>
          <target>1.5</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 Abdera</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>
            </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>org.apache.abdera.util,org.apache.abdera.ext.*.impl,org.apache.abdera.parser.**,org.apache.abdera.security.**</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>
  						</excludes>
  					</configuration>
  				</plugin>
  			</plugins>
  		</build>
  	</profile>
  </profiles>


  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.1</version>  
        <scope>test</scope>
      </dependency>
      
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.0.4</version>  
      </dependency>
      
      <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>3.1</version>  
      </dependency>
         
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.4</version>  
      </dependency>
      
      <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-api</artifactId>
        <version>1.2.10</version>  
      </dependency>

      <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-impl</artifactId>
        <version>1.2.10</version>  

      <exclusions>
        <exclusion>
          <groupId>javax.mail</groupId>
          <artifactId>mail</artifactId>
        </exclusion>
        <exclusion>
          <groupId>stax</groupId>
          <artifactId>stax-api</artifactId>
        </exclusion>
      </exclusions>
      </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>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-activation_1.0.2_spec</artifactId>
        <version>1.1</version>  
      </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>xml-security</groupId>
        <artifactId>xmlsec</artifactId>
        <version>1.3.0</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>1.3.04</version>  
      </dependency>
      
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>  
      </dependency>
      
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.8.5</version>
        <scope>test</scope>
      </dependency>
      
    </dependencies>
  </dependencyManagement>
  
  <modules>
    <module>bundle</module>
    <module>core</module>
    <module>dependencies/i18n</module>
    <module>parser</module>
    <module>security</module>
    <module>server</module>
    <module>client</module>
    <module>adapters</module>
    <module>extensions</module>
    <module>spring</module>
    <module>examples</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>
