<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<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">
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>21</version>
  </parent>

  <groupId>org.apache.jspwiki</groupId>
  <artifactId>jspwiki-site</artifactId>
  <modelVersion>4.0.0</modelVersion>
  <name>Apache JSPWiki static site generator</name>
  <version>1.0.0-SNAPSHOT</version>
  
  <description>Apache JSPWiki static site generator</description>
  <inceptionYear>2001</inceptionYear>
  <url>http://jspwiki.apache.org/</url>
  
  <properties>
    <jbake.dest>${project.build.directory}/content</jbake.dest>
    <plugin.enforcer>1.4.1</plugin.enforcer>
    <plugin.resources>3.1.0</plugin.resources>
    <plugin.japicmp.version>0.14.0</plugin.japicmp.version>
    <plugin.japicmp.jspwiki-new>2.11.0.M6</plugin.japicmp.jspwiki-new>
    <plugin.japicmp.jspwiki-old>2.10.5</plugin.japicmp.jspwiki-old>
    <plugin.jbake>0.0.9</plugin.jbake>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <version.freemarker>2.3.30</version.freemarker>
    <version.jbake-core>2.5.1</version.jbake-core>
    <version.jdk>1.8</version.jdk>
    <version.maven>3.5.0</version.maven>
    <version.pegdown>1.6.0</version.pegdown>
  </properties> 

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforcer-validations</id>
            <goals><goal>enforce</goal></goals>
          </execution>
        </executions>
      </plugin>
      
      <plugin>
        <groupId>br.com.ingenieux</groupId>
        <artifactId>jbake-maven-plugin</artifactId>
      </plugin>
      
      <plugin>
        <groupId>com.github.siom79.japicmp</groupId>
        <artifactId>japicmp-maven-plugin</artifactId>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${plugin.resources}</version>
          <executions>
            <execution>
              <id>copy-resources</id>
              <phase>process-resources</phase>
              <goals>
                <goal>copy-resources</goal>
              </goals>
              <configuration>
                <outputDirectory>${project.build.directory}/content/japicmp/${plugin.japicmp.jspwiki-new}</outputDirectory>
                <resources>          
                  <resource>
                    <directory>${project.build.directory}/japicmp</directory>
                  </resource>
                </resources>
              </configuration>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>${plugin.enforcer}</version>
          <configuration>
            <fail>true</fail>
            <rules>
              <requireJavaVersion>
                <message>MUST USE JDK ${version.jdk}</message>
                <version>${version.jdk}</version>
              </requireJavaVersion>
              <requireMavenVersion>
                <message>JBAKE REQUIRES MAVEN AT LEAST MAVEN ${version.maven}</message>
                <version>[version.maven,)</version>
              </requireMavenVersion>
            </rules>
          </configuration>
        </plugin>
        
        <plugin>
          <groupId>br.com.ingenieux</groupId>
          <artifactId>jbake-maven-plugin</artifactId>
          <version>${plugin.jbake}</version>
          <configuration>
            <outputDirectory>${jbake.dest}</outputDirectory>
          </configuration>
          <executions>
            <execution>
              <id>generate-site</id>
              <phase>generate-resources</phase>
              <goals><goal>generate</goal></goals>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>org.freemarker</groupId>
              <artifactId>freemarker</artifactId>
              <version>${version.freemarker}</version>
            </dependency>
            <dependency>
              <groupId>org.jbake</groupId>
              <artifactId>jbake-core</artifactId>
              <version>${version.jbake-core}</version>
            </dependency>
            <dependency>
              <groupId>org.pegdown</groupId>
              <artifactId>pegdown</artifactId>
              <version>${version.pegdown}</version>
            </dependency>
          </dependencies>
        </plugin>
        
        <plugin>
          <groupId>com.github.siom79.japicmp</groupId>
          <artifactId>japicmp-maven-plugin</artifactId>
          <version>${plugin.japicmp.version}</version>
          <configuration>
            <parameter>
              <ignoreMissingClasses>true</ignoreMissingClasses>
              <includes>
                <include>org.apache.wiki</include>
              </includes>
              <skipXmlReport>true</skipXmlReport>
            </parameter>
          </configuration>
          <executions>
            <execution>
              <id>cmp-jspwiki-markdown</id>
              <phase>generate-resources</phase>
              <goals><goal>cmp</goal></goals>
              <configuration>
                <htmlTitle>Binary compatibility between jspwiki-markdown ${plugin.japicmp.jspwiki-new} and ${plugin.japicmp.jspwiki-old}</htmlTitle>
                <oldVersion>
                  <dependency>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>jspwiki-markdown</artifactId>
                    <version>${plugin.japicmp.jspwiki-old}</version>
                    <type>jar</type>
                  </dependency>
                </oldVersion>
                <newVersion>
                  <dependency>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>jspwiki-markdown</artifactId>
                    <version>${plugin.japicmp.jspwiki-new}</version>
                    <type>jar</type>
                  </dependency>
                </newVersion>
              </configuration>
            </execution>
            <execution>
              <id>cmp-jspwiki-util</id>
              <phase>generate-resources</phase>
              <goals><goal>cmp</goal></goals>
              <configuration>
                <htmlTitle>Binary compatibility between jspwiki-util ${plugin.japicmp.jspwiki-new} and ${plugin.japicmp.jspwiki-old}</htmlTitle>
                <oldVersion>
                  <dependency>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>jspwiki-war</artifactId>
                    <version>${plugin.japicmp.jspwiki-old}</version>
                    <type>jar</type>
                    <classifier>classes</classifier>
                  </dependency>
                </oldVersion>
                <newVersion>
                  <dependency>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>jspwiki-util</artifactId>
                    <version>${plugin.japicmp.jspwiki-new}</version>
                    <type>jar</type>
                  </dependency>
                </newVersion>
              </configuration>
            </execution>
            <execution>
              <id>cmp-jspwiki-main</id>
              <phase>generate-resources</phase>
              <goals><goal>cmp</goal></goals>
              <configuration>
                <htmlTitle>Binary compatibility between jspwiki-main ${plugin.japicmp.jspwiki-new} and ${plugin.japicmp.jspwiki-old}</htmlTitle>
                <oldVersion>
                  <dependency>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>jspwiki-war</artifactId>
                    <version>${plugin.japicmp.jspwiki-old}</version>
                    <type>jar</type>
                    <classifier>classes</classifier>
                  </dependency>
                </oldVersion>
                <newVersion>
                  <dependency>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>jspwiki-main</artifactId>
                    <version>${plugin.japicmp.jspwiki-new}</version>
                    <type>jar</type>
                  </dependency>
                </newVersion>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
