<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>com.lunatech.jax-doclets</groupId>
		<artifactId>parent</artifactId>
		<version>0.10.2</version>
	</parent>

	<artifactId>doclets</artifactId>
	<groupId>com.lunatech.jax-doclets</groupId>
	<packaging>jar</packaging>

	<name>jax-doclets doclets</name>
	<description>jax-doclets allows you to generate JavaDoc documentation for specific Java annotation-based extensions.</description>

	<dependencies>
		<dependency>
			<groupId>javax.ws.rs</groupId>
			<artifactId>jsr311-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.0-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.resteasy</groupId>
			<artifactId>resteasy-jaxrs</artifactId>
      <optional>true</optional>
		</dependency>
		<!-- Do no remove the following two dependencies because they are required by hibernate-core which is
		     used as docletArtifact and the javadoc plugin can't resolve them because it doesn't use our own
		     repo list. It only uses central and they are not there. So we depend on them here so that Maven
		     will download them and the javadoc plugin can resolve them.
		-->
		<dependency>
			<groupId>javax.security</groupId>
			<artifactId>jacc</artifactId>
			<scope>provided</scope>
			<version>1.0</version>
		</dependency>
		<dependency>
			<groupId>javax.security</groupId>
			<artifactId>jaas</artifactId>
			<scope>provided</scope>
			<version>1.0.01</version>
		</dependency>
	</dependencies>
	
	<!-- Only depend on the tools.jar for the Sun JDK. See http://maven.apache.org/general.html#tools-jar-dependency -->
	<profiles>
		<profile>
			<id>default-tools-sun.jar</id>
			<activation>
				<property>
					<name>java.vendor</name>
					<value>Sun Microsystems Inc.</value>
				</property>
			</activation>
			<dependencies>
				<dependency>
					<groupId>com.sun</groupId>
					<artifactId>tools</artifactId>
				</dependency>
			</dependencies>
		</profile>
        <profile>
            <id>default-tools-oracle.jar</id>
            <activation>
                <property>
                    <name>java.vendor</name>
                    <value>Oracle Corporation</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.sun</groupId>
                    <artifactId>tools</artifactId>
                </dependency>
            </dependencies>
        </profile>
	</profiles>
	
	<build>
		<plugins>
			<!-- Just because our classes are named with Test in there doesn't mean they are unit tests -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.9</version>
				<configuration>
					<excludes>
						<exclude>**/*.java</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
      			<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.8</version>
				<executions>
					<execution>
						<id>jaxb</id>
						<phase>integration-test</phase>
						<goals>
							<goal>test-javadoc</goal>
						</goals>
						<configuration>
							<doclet>com.lunatech.doclets.jax.jaxb.JAXBDoclet</doclet>
 							<docletPath>${basedir}/target/doclets-${version}.jar</docletPath>
							<destDir>jaxbdocs</destDir>
							<reportOutputDirectory>${project.build.directory}</reportOutputDirectory>
							<header>
								<![CDATA[
									<a href="http://www.lunatech-labs.com"><img class="logo" src="http://www.lunatech-labs.com/sites/default/themes/labs/images/web/logo.png" /></a>
								]]>
							</header>
							<stylesheetfile>${basedir}/src/test/resources/test.css</stylesheetfile>
							<links>
								<link>http://java.sun.com/javase/7/docs/api/</link>
							</links>
							<additionalparam>-disablejsontypename -jsonconvention mapped</additionalparam>
						</configuration>
					</execution>
					<execution>
						<id>jpa</id>
						<phase>integration-test</phase>
						<goals>
							<goal>test-javadoc</goal>
						</goals>
						<configuration>
							<debug>true</debug>
							<doclet>com.lunatech.doclets.jax.jpa.JPADoclet</doclet>
 							<docletPath>:a:${basedir}/target/doclets-${version}.jar</docletPath>
 							<docletArtifacts>
	 							<docletArtifact>
									<groupId>org.hibernate.javax.persistence</groupId>
									<artifactId>hibernate-jpa-2.0-api</artifactId>
									<version>1.0.1.Final</version> 							
 								</docletArtifact>
								<docletArtifact>
									<groupId>org.hibernate</groupId>
									<artifactId>hibernate-core</artifactId>
									<version>3.3.0.GA</version>
								</docletArtifact>
 								<!-- This is not used but necessary in conjunction with the :a: trick in docletPath
 								     to avoid a Maven bug in the doclet path -->
	 							<docletArtifact>
									<groupId>javax.ws.rs</groupId>
									<artifactId>jsr311-api</artifactId>
									<version>1.1</version> 							
 								</docletArtifact>
 							</docletArtifacts>
							<destDir>jpadocs</destDir>
							<reportOutputDirectory>${project.build.directory}</reportOutputDirectory>
							<header>
								<![CDATA[
									<a href="http://www.lunatech-labs.com"><img class="logo" src="http://www.lunatech-labs.com/sites/default/themes/labs/images/web/logo.png" /></a>
								]]>
							</header>
							<stylesheetfile>${basedir}/src/test/resources/test.css</stylesheetfile>
							<links>
								<link>http://java.sun.com/javase/7/docs/api/</link>
							</links>
						</configuration>
					</execution>
					<execution>
						<id>jaxrs</id>
						<phase>integration-test</phase>
						<goals>
							<goal>test-javadoc</goal>
						</goals>
						<configuration>
							<doclet>com.lunatech.doclets.jax.jaxrs.JAXRSDoclet</doclet>
 							<docletPath>:a:${basedir}/target/doclets-${version}.jar</docletPath>
 							<docletArtifacts>
	 							<docletArtifact>
									<groupId>javax.ws.rs</groupId>
									<artifactId>jsr311-api</artifactId>
									<version>1.1</version> 							
 								</docletArtifact>
 								<docletArtifact>
									<groupId>org.jboss.resteasy</groupId>
									<artifactId>resteasy-jaxrs</artifactId>
 									<version>2.0.0.GA</version>
 								</docletArtifact>
 							</docletArtifacts>
							<additionalparam>-jaxrscontext rest</additionalparam>
							<destDir>jaxrsdocs</destDir>
							<reportOutputDirectory>${project.build.directory}</reportOutputDirectory>
							<header>
								<![CDATA[
									<a href="http://www.lunatech-labs.com"><img class="logo" src="http://www.lunatech-labs.com/sites/default/themes/labs/images/web/logo.png" /></a>
								]]>
							</header>
							<stylesheetfile>${basedir}/src/test/resources/test.css</stylesheetfile>
							<links>
								<link>../jaxbdocs/</link>
								<link>http://java.sun.com/javase/7/docs/api/</link>
							</links>
						</configuration>
					</execution>
					<execution>
						<id>jaxrs-minimal</id>
						<phase>integration-test</phase>
						<goals>
							<goal>test-javadoc</goal>
						</goals>
						<configuration>
							<doclet>com.lunatech.doclets.jax.jaxrs.JAXRSDoclet</doclet>
 							<docletPath>:a:${basedir}/target/doclets-${version}.jar</docletPath>
 							<docletArtifacts>
	 							<docletArtifact>
									<groupId>javax.ws.rs</groupId>
									<artifactId>jsr311-api</artifactId>
									<version>1.1</version> 							
 								</docletArtifact>
 								<docletArtifact>
									<groupId>org.jboss.resteasy</groupId>
									<artifactId>resteasy-jaxrs</artifactId>
 									<version>2.0.0.GA</version>
 								</docletArtifact>
 							</docletArtifacts>
							<destDir>jaxrsdocs-minimal</destDir>
							<reportOutputDirectory>${project.build.directory}</reportOutputDirectory>
						</configuration>
					</execution>
					<execution>
						<id>jaxrs-pojo</id>
						<phase>integration-test</phase>
						<goals>
							<goal>test-javadoc</goal>
						</goals>
						<configuration>
							<doclet>com.lunatech.doclets.jax.jaxrs.JAXRSDoclet</doclet>
							<docletPath>:a:${basedir}/target/doclets-${version}.jar</docletPath>
							<docletArtifacts>
								<docletArtifact>
									<groupId>javax.ws.rs</groupId>
									<artifactId>jsr311-api</artifactId>
									<version>1.1</version>							
								</docletArtifact>
								<docletArtifact>
									<groupId>org.jboss.resteasy</groupId>
									<artifactId>resteasy-jaxrs</artifactId>
									<version>2.0.0.GA</version>
								</docletArtifact>
							</docletArtifacts>
							<destDir>jaxrsdocs-pojo</destDir>
							<reportOutputDirectory>${project.build.directory}</reportOutputDirectory>
							<additionalparam>-jaxrscontext rest -disablejavascriptexample -enablepojojson -matchingresourcesonly com\.lunatech\..*\.pojo\..* -matchingpojonamesonly com\.lunatech\..*\.pojo\..*</additionalparam>
						</configuration>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<groupId>javax.ws.rs</groupId>
						<artifactId>jsr311-api</artifactId>
						<version>1.1</version>
					</dependency>
	 				<dependency>
						<groupId>org.hibernate.javax.persistence</groupId>
						<artifactId>hibernate-jpa-2.0-api</artifactId>
						<version>1.0.1.Final</version> 							
 					</dependency>
					<dependency>
						<groupId>org.hibernate</groupId>
						<artifactId>hibernate-core</artifactId>
						<version>3.6.0.Final</version>
					</dependency>
				</dependencies>
			</plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.1.2</version>
                <configuration>
                    <archive>
                        <index>true</index>
                        <manifest>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                        </manifest>
                        <manifestEntries>
                            <Implementation-URL>${project.url}</Implementation-URL>
                            <Java-Version>${java.version}</Java-Version>
                            <Java-Vendor>${java.vendor}</Java-Vendor>
                            <Os-Name>${os.name}</Os-Name>
                            <Os-Arch>${os.arch}</Os-Arch>
                            <Os-Version>${os.version}</Os-Version>
                            <Scm-Url>${project.scm.url}</Scm-Url>
                            <Scm-Connection>${project.scm.connection}</Scm-Connection>
                            <Scm-Revision>${buildNumber}</Scm-Revision>
                            <Build-Timestamp>${build.datetime}</Build-Timestamp>
                            <Specification-Vendor>JBoss (http://www.jboss.org/)</Specification-Vendor>
                            <Implementation-URL>http://www.jboss.org/</Implementation-URL>
                            <Implementation-Vendor>JBoss by Red Hat, Inc</Implementation-Vendor>
                            <Implementation-Vendor-Id>http://www.jboss.org/</Implementation-Vendor-Id>
                        </manifestEntries>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
		</plugins>
	</build>
</project>
