<?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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.jackrabbit.vault</groupId>
    <artifactId>parent</artifactId>
    <version>3.8.0</version>
    <relativePath>parent/pom.xml</relativePath>
  </parent>
  <groupId>org.apache.jackrabbit.vault</groupId>
  <artifactId>jackrabbit-filevault</artifactId>
  <version>3.8.0</version>
  <packaging>pom</packaging>
  <name>Apache Jackrabbit FileVault (Reactor Project)</name>
  <licenses>
    <license>
      <name>Apache-2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <modules>
    <module>target-osgi-environment</module>
    <module>parent</module>
    <module>vault-core</module>
    <module>vault-core-it</module>
    <module>vault-diff</module>
    <module>vault-rcp</module>
    <module>vault-davex</module>
    <module>vault-vlt</module>
    <module>vault-cli</module>
    <module>vault-hook-example</module>
    <module>vault-hook-externalclass-test</module>
    <module>vault-sync</module>
    <module>vault-validation</module>
  </modules>
  <distributionManagement>
    <site>
      <id>jackrabbit.filevault.site-deploy</id>
      <url>scm:svn:https://svn.apache.org/repos/asf/jackrabbit/site/live/filevault</url>
    </site>
  </distributionManagement>
  <properties>
    <project.build.outputTimestamp>2024-08-01T07:14:26Z</project.build.outputTimestamp>
    <sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/vault-coverage-aggregate/target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
  </properties>
  <build>
    <resources>
      <resource>
        <directory>src/site/markdown</directory>
        <includes>
          <include>*.png</include>
          <include>*.jpg</include>
          <include>*.jpeg</include>
          <include>*.gif</include>
        </includes>
      </resource>
    </resources>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <windowtitle>Apache Jackrabbit FileVault ${project.version} API</windowtitle>
            <doctitle>Apache Jackrabbit FileVault ${project.version} API</doctitle>
            <excludePackageNames>org.apache.jackrabbit.vault.cli*,org.apache.jackrabbit.vault.davex,*.impl*,org.apache.jackrabbit.vault.util.xml,org.apache.jackrabbit.vault.vlt.actions,org.apache.jackrabbit.vault.vlt.meta.*,org.apache.jackrabbit.vault.packaging.hotfix,org.apache.jackrabbit.vault.validation.impl*,org.apache.jackrabbit.vault.validation.spi.impl</excludePackageNames>
            <reportOutputDirectory>${basedir}/vault-doc/target/site</reportOutputDirectory>
            <detectLinks>true</detectLinks>
            <detectJavaApiLink>true</detectJavaApiLink>
            <links>
              <link>https://s.apache.org/jcr-2.0-javadoc</link>
              <link>https://jackrabbit.apache.org/api/2.20</link>
              <link>https://jackrabbit.apache.org/oak/docs/apidocs</link>
            </links>
            <validateLinks>true</validateLinks>
            <doclint>all</doclint>
            <verbose>false</verbose>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <configuration>
            <excludesFile>${project.basedir}/.ratignore</excludesFile>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <configuration>
          <generateReports>true</generateReports>
          <skip>false</skip>
          <relativizeDecorationLinks>false</relativizeDecorationLinks>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-scm-publish-plugin</artifactId>
        <executions>
          <execution>
            <id>scm-publish</id>
            <phase>site-deploy</phase>
            <goals>
              <goal>publish-scm</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <content>target/site</content>
          <checkinComment>@trivial: Site checkin for project ${project.name}-${project.version}</checkinComment>
          <ignorePathsToDelete>
            <ignorePathToDelete>apidocs</ignorePathToDelete>
          </ignorePathsToDelete>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <phase>pre-site</phase>
            <goals>
              <goal>resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/site</outputDirectory>
            </configuration>
          </execution>
          <execution>
            <id>copy-xsds</id>
            <phase>pre-site</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <resources>
                <resource>
                  <directory>vault-validation/src/main/resources</directory>
                  <includes>
                    <include>*.xsd</include>
                  </includes>
                </resource>
              </resources>
              <outputDirectory>${project.build.directory}/site/xsd</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <reportSets>
          <reportSet>
            <id>aggregate</id>
            <reports>
              <report>aggregate</report>
            </reports>
            <inherited>false</inherited>
          </reportSet>
          <reportSet>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>team</report>
              <report>mailing-lists</report>
              <report>ci-management</report>
              <report>issue-management</report>
              <report>licenses</report>
              <report>dependency-info</report>
              <report>scm</report>
              <report>distribution-management</report>
            </reports>
          </reportSet>
        </reportSets>
        <configuration>
          <artifactId>org.apache.jackrabbit.vault</artifactId>
          <packaging>jar</packaging>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
  <profiles>
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>aggregate-jar</id>
                <phase>package</phase>
                <goals>
                  <goal>aggregate-jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>check-release-notes-updated</id>
                <phase>validate</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <fail message="RELEASE-NOTES.txt doesn't contain the version to be released (${project.version}), it needs to be updated prior to each release manually!">
                      <condition>
                        <not>
                          <resourcecontains resource="${basedir}/RELEASE-NOTES.txt" substring="${project.version}" />
                        </not>
                      </condition>
                    </fail>
                  </target>
                </configuration>
              </execution>
              <execution>
                <id>prepare-staging-in-asf-dist</id>
                <phase>deploy</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <mkdir dir="${basedir}/target/${project.version}" />
                    <copy flatten="true" todir="${basedir}/target/${project.version}">
                      <fileset dir="${basedir}">
                        <include name="RELEASE-NOTES.txt" />
                        <include name="target/*-source-release.zip*" />
                      </fileset>
                    </copy>
                    <echo file="${basedir}/target/vote.txt">From: ${username}@apache.org
To: dev@jackrabbit.apache.org
Subject: [VOTE] Release Apache Jackrabbit FileVault ${project.version}

A candidate for the Jackrabbit FileVault ${project.version} release is available at:

https://dist.apache.org/repos/dist/dev/jackrabbit/filevault/${project.version}/

The release candidate is a zip archive of the sources in:

https://github.com/apache/jackrabbit-filevault/tree/jackrabbit-filevault-${project.version}/

The release notes can be found in JIRA at https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12314920&amp;version=....

The command for running automated checks against this release candidate is:
$ sh check-release.sh filevault ${project.version}
(leveraging the script from https://dist.apache.org/repos/dist/dev/jackrabbit/check-release.sh)

A staged Maven repository is available for review at:

https://repository.apache.org/content/repositories/orgapachejackrabbit-...

Please vote on releasing this package as Apache Jackrabbit FileVault ${project.version}.
The vote is open for a minimum of 72 hours during business days and passes
if a majority of at least three +1 Jackrabbit PMC votes are cast.
The vote fails if not enough votes are cast after 1 week (5 business days).

[ ] +1 Release this package as Apache Jackrabbit FileVault ${project.version}
[ ] -1 Do not release this package because...${line.separator}</echo>
                    <echo />
                    <echo>The release candidate has been prepared in:

${basedir}/target/${project.version}

Please deploy it to https://dist.apache.org/repos/dist/dev/jackrabbit/filevault:

cd /path/to/jackrabbit-dev/filevault
mv ${basedir}/target/${project.version} ${project.version}
svn add ${project.version}
svn commit -m 'Apache Jackrabbit FileVault ${project.version} release candidate' ${project.version}

A release vote template has been generated for you:

file://${basedir}/target/vote.txt</echo>
                    <echo />
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>jacoco-report</id>
      <modules>
        <module>vault-coverage-aggregate</module>
      </modules>
    </profile>
  </profiles>
</project>
