<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/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <parent>
	<groupId>org.apache.juddi</groupId>
	<artifactId>juddi-style-parent</artifactId>
	<version>1.0.1-SNAPSHOT</version>
	<relativePath>../../pom.xml</relativePath>
  </parent>
  <artifactId>juddi-docbook-style</artifactId>
  <packaging>jdocbook-style</packaging>
  <name>Apache jUDDI Documentation Style</name>
  <description>CSS and images to style XHTML Apache jUDDI Documentation.</description>
  <pluginRepositories>
		<pluginRepository>
			<id>repository.jboss.org</id>
			<name>JBoss Repository</name>
			<layout>default</layout>
			<url>https://repository.jboss.org/nexus/content/repositories/releases/</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>
  <build>
    <plugins>
      <plugin>
        <groupId>org.jboss.maven.plugins</groupId>
        <artifactId>maven-jdocbook-style-plugin</artifactId>
        <version>2.0.0</version>
        <extensions>true</extensions>
      </plugin>
    </plugins>

    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-webdav</artifactId>
        <version>1.0-beta-2</version>
      </extension>
    </extensions>
  </build>
 

</project>
