<?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>

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

  <properties>
    <tomee.version>8.0.10</tomee.version>
    <jbake.http>false</jbake.http>
    <jbake.pdf>false</jbake.pdf>

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

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
<!--    <dependency>-->
<!--      <groupId>org.asciidoctor</groupId>-->
<!--      <artifactId>asciidoctorj-pdf</artifactId>-->
<!--      <version>1.5.0-alpha.11</version>-->
<!--    </dependency>-->
    <dependency>
      <groupId>org.asciidoctor</groupId>
      <artifactId>asciidoctorj</artifactId>
      <version>1.5.8.1</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-json_1.1_spec</artifactId>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>org.apache.johnzon</groupId>
      <artifactId>johnzon-jaxrs</artifactId>
      <version>1.2.11</version>
    </dependency>
    <dependency>
      <groupId>org.apache.johnzon</groupId>
      <artifactId>johnzon-jsonb</artifactId>
      <version>1.2.11</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-rs-client</artifactId>
      <version>3.4.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.tomee</groupId>
      <artifactId>javaee-api</artifactId>
      <version>8.0-5</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.tomitribe</groupId>
      <artifactId>tomitribe-tio</artifactId>
      <version>0.5</version>
    </dependency>
    <dependency>
      <groupId>org.tomitribe</groupId>
      <artifactId>swizzle</artifactId>
      <version>1.1</version>
    </dependency>
    <!-- required for DownloadsNG.java -->
    <dependency>
      <groupId>org.apache.tika</groupId>
      <artifactId>tika-parsers</artifactId>
      <version>1.17</version>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.6.0</version>
        <executions>
          <execution>
            <id>tomee-site</id>
            <phase>compile</phase>
            <goals>
              <goal>java</goal>
            </goals>
            <configuration>
              <includeProjectDependencies>true</includeProjectDependencies>
              <mainClass>org.apache.tomee.website.JBake</mainClass>
              <arguments>
                <argument>${project.basedir}/src/main/jbake/</argument>
                <argument>${project.build.directory}/${project.build.finalName}</argument>
                <argument>${jbake.http}</argument>
                <argument>${jbake.pdf}</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>publish</id>
            <phase>pre-site</phase>
            <goals>
              <goal>java</goal>
            </goals>
            <configuration>
              <includeProjectDependencies>true</includeProjectDependencies>
              <mainClass>org.apache.tomee.website.SvnPub</mainClass>
              <arguments>
                <argument>${site.password}</argument>
                <argument>${site.message}</argument>
              </arguments>
            </configuration>
          </execution>
        </executions>
      </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>
