<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</groupId>
    <artifactId>apache</artifactId>
    <version>11</version>
  </parent>
  <groupId>org.apache.abdera</groupId>
  <artifactId>abdera</artifactId>
  <packaging>pom</packaging>
  <name>Apache Abdera</name>  
  <version>1.2-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-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>**/DSigThirdPartyVerifyTest.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.14-SNAPSHOT</version>  
      </dependency>

      <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-impl</artifactId>
        <version>1.2.14-SNAPSHOT</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.1_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>
