<?xml version="1.0" encoding="UTF-8"?>
<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</groupId>
    <artifactId>apache</artifactId>
    <version>21</version>
    <relativePath><!--Resolve on repository--></relativePath>
  </parent>

  <groupId>org.apache.tomee</groupId>
  <artifactId>site-javadoc</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>Apache TomEE :: javadoc</name>

  <properties>
    <tomee.version>7.0.3</tomee.version>

    <site.message>notset</site.message>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!-- Javadoc & Asciidoclet -->
    <javadoc.version>3.1.1</javadoc.version>
    <asciidoclet.version>1.5.6</asciidoclet.version>
  </properties>

  <dependencies>
<!--    <dependency>-->
<!--      <groupId>org.apache.geronimo.specs</groupId>-->
<!--      <artifactId>geronimo-json_1.0_spec</artifactId>-->
<!--      <version>1.0-alpha-1</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.apache.johnzon</groupId>-->
<!--      <artifactId>johnzon-jaxrs</artifactId>-->
<!--      <version>0.9.5</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.apache.cxf</groupId>-->
<!--      <artifactId>cxf-rt-rs-client</artifactId>-->
<!--      <version>3.1.8</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.apache.tomee</groupId>-->
<!--      <artifactId>javaee-api</artifactId>-->
<!--      <version>7.0-1</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.apache.tomee</groupId>-->
<!--      <artifactId>tomee-embedded</artifactId>-->
<!--      <version>${tomee.version}</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.jbake</groupId>-->
<!--      <artifactId>jbake-core</artifactId>-->
<!--      <version>2.4.0</version>-->
<!--      <exclusions>-->
<!--        <exclusion>-->
<!--          <groupId>org.slf4j</groupId>-->
<!--          <artifactId>jul-to-slf4j</artifactId>-->
<!--        </exclusion>-->
<!--      </exclusions>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.codehaus.groovy</groupId>-->
<!--      <artifactId>groovy</artifactId>-->
<!--      <version>2.3.11</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.codehaus.groovy</groupId>-->
<!--      <artifactId>groovy-templates</artifactId>-->
<!--      <version>2.3.11</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.pegdown</groupId>-->
<!--      <artifactId>pegdown</artifactId>-->
<!--      <version>1.6.0</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.tmatesoft.svnkit</groupId>-->
<!--      <artifactId>svnkit</artifactId>-->
<!--      <version>1.8.15</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.eclipse.jgit</groupId>-->
<!--      <artifactId>org.eclipse.jgit</artifactId>-->
<!--      <version>5.1.3.201810200350-r</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>org.eclipse.jgit</groupId>-->
<!--      <artifactId>org.eclipse.jgit.pgm</artifactId>-->
<!--      <version>5.1.3.201810200350-r</version>-->
<!--    </dependency>-->
<!--    <dependency>-->
<!--      <groupId>args4j</groupId>-->
<!--      <artifactId>args4j</artifactId>-->
<!--      <version>2.33</version>-->
<!--    </dependency>-->
    <dependency>
      <groupId>org.apache.tomee</groupId>
      <artifactId>apache-tomee</artifactId>
      <version>8.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.microprofile.opentracing</groupId>
      <artifactId>microprofile-opentracing-api</artifactId>
      <version>1.3.3</version>
    </dependency>

    <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>5.0.0-M1</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.0.1</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.0.2</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${javadoc.version}</version>
        <configuration>
          <includeDependencySources>true</includeDependencySources>
<!--          <doclet>org.asciidoctor.Asciidoclet</doclet>-->
<!--          <docletArtifact>-->
<!--            <groupId>org.asciidoctor</groupId>-->
<!--            <artifactId>asciidoclet</artifactId>-->
<!--            <version>${asciidoclet.version}</version>-->
<!--          </docletArtifact>-->
<!--          <additionalOptions>-->
<!--            <additionalOption>&#45;&#45;base-dir ${basedir}</additionalOption>-->
<!--            <additionalOption>&#45;&#45;attribute "name=${project.name}"</additionalOption>-->
<!--            <additionalOption>&#45;&#45;attribute "version=${project.version}"</additionalOption>-->
<!--          </additionalOptions>-->
<!--          <additionalOptions>-->
<!--            <additionalOption>-exclude javax.faces:javax.mail</additionalOption>-->
<!--          </additionalOptions>-->
          <doclint>none</doclint> <!-- Doclint is enabled by default in java 8+, this conf is needed disable it till a rewrite of javadoc is done (https://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#format)-->
        </configuration>
      </plugin>
    </plugins>
  </build>


  <repositories>
    <repository>
      <id>svnkit</id>
      <name>SVNKit</name>
      <url>https://maven.tmatesoft.com/content/repositories/releases/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
</project>
