TIKA-4265 -- add the maven build cache extension
diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml
new file mode 100644
index 0000000..bc625a2
--- /dev/null
+++ b/.mvn/extensions.xml
@@ -0,0 +1,28 @@
+<?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.
+-->
+
+<extensions>
+ <extension>
+ <groupId>org.apache.maven.extensions</groupId>
+ <artifactId>maven-build-cache-extension</artifactId>
+ <version>1.2.0</version>
+ </extension>
+</extensions>
\ No newline at end of file
diff --git a/.mvn/maven-build-cache-config.xml b/.mvn/maven-build-cache-config.xml
new file mode 100644
index 0000000..5de4681
--- /dev/null
+++ b/.mvn/maven-build-cache-config.xml
@@ -0,0 +1,168 @@
+<!--
+-
+ 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.
+-->
+<!-- this is pretty much the default build cache config from
+https://maven.apache.org/extensions/maven-build-cache-extension/maven-build-cache-config.xml -->
+<cache
+ xsi:schemaLocation="http://maven.apache.org/BUILD-CACHE-CONFIG/1.0.0 https://maven.apache.org/xsd/build-cache-config-1.0.0.xsd">
+ <!--
+
+ Template Maven build cache configuration
+
+ -->
+ <configuration>
+ <enabled>true</enabled>
+ <hashAlgorithm>SHA-256</hashAlgorithm>
+ <validateXml>true</validateXml>
+ <remote enabled="false">
+ <url>http://host:port</url>
+ </remote>
+ <local>
+ <maxBuildsCached>3</maxBuildsCached>
+ </local>
+ <projectVersioning adjustMetaInf="true"/>
+ </configuration>
+ <input>
+ <global>
+ <!-- If not defined, default glob is "*" -->
+ <glob>
+ {*.java,*.groovy,*.yaml,*.svcd,*.proto,*assembly.xml,assembly*.xml,*logback.xml,*.vm,*.ini,*.jks,*.properties,*.sh,*.bat}
+ </glob>
+ <includes>
+ <!--
+ By default, project sources and resources directories are included (src/main/java and src/main/resources)
+ -->
+ <!--
+ In this example, the goal is to include a wider range of src directories (like src/main/assembly or src/main/groovy)
+ -->
+ <include>src/</include>
+ </includes>
+ <excludes>
+ <!--
+ We don't want a static "hash" pom resolution (it would conflict the will to adjust the version in the manifest),
+ -->
+ <!--
+ we exclude this specific file (as it is already by default since it is not in an include folder
+ -->
+ <!--
+ The need to rebuild a project based on the pom is already computed with some intelligence by the extension.
+ -->
+ <exclude>pom.xml</exclude>
+ <!--
+ Also excluding everything located in this project specific folder
+ -->
+ <exclude>src/main/javagen/**</exclude>
+ </excludes>
+ </global>
+ <plugins>
+ <plugin artifactId="codegen">
+ <effectivePom>
+ <excludeProperties>
+ <excludeProperty>111</excludeProperty>
+ </excludeProperties>
+ </effectivePom>
+ <dirScan mode="auto">
+ <excludes>
+ <exclude tagName="outputDirectory"/>
+ <exclude tagName="directory"/>
+ </excludes>
+ <tagScanConfigs>
+ <tagScanConfig tagName="someProperty" glob="*.java" recursive="false"/>
+ </tagScanConfigs>
+ </dirScan>
+ <executions>
+ <execution>
+ <execIds>
+ <execId>1</execId>
+ <execId>2</execId>
+ </execIds>
+ <dirScan mode="auto">
+ <includes>
+ <include tagName="protolocation" recursive="false" glob="*.proto"/>
+ </includes>
+ </dirScan>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </input>
+ <executionControl>
+ <runAlways>
+ <plugins>
+ <plugin artifactId="maven-failsafe-plugin"/>
+ </plugins>
+ <executions>
+ <execution artifactId="maven-deploy-plugin">
+ <execIds>
+ <execId>my-execution-id</execId>
+ </execIds>
+ </execution>
+ </executions>
+ <goalsLists>
+ <goalsList artifactId="maven-install-plugin">
+ <goals>
+ <goal>install</goal>
+ </goals>
+ </goalsList>
+ <goalsList artifactId="maven-deploy-plugin">
+ <goals>
+ <goal>deploy</goal>
+ </goals>
+ </goalsList>
+ <goalsList artifactId="bb-sdk-codegen">
+ <goals>
+ <goal>deploy-local</goal>
+ </goals>
+ </goalsList>
+ </goalsLists>
+ </runAlways>
+ <reconcile logAllProperties="true">
+ <plugins>
+ <plugin artifactId="maven-compiler-plugin" goal="compile">
+ <reconciles>
+ <reconcile propertyName="source"/>
+ <reconcile propertyName="target"/>
+ <reconcile propertyName="debug"/>
+ <reconcile propertyName="debuglevel"/>
+ </reconciles>
+ <!-- include-list of logged properties-->
+ <logs>
+ <log propertyName="includes"/>
+ <log propertyName="excludes"/>
+ <log propertyName="argLine"/>
+ </logs>
+ </plugin>
+ <plugin artifactId="duplicate-finder-maven-plugin" goal="check">
+ <reconciles>
+ <reconcile propertyName="skip" skipValue="true"/>
+ <reconcile propertyName="quiet" skipValue="true"/>
+ </reconciles>
+ </plugin>
+ <plugin artifactId="maven-enforcer-plugin" goal="enforce">
+ <reconciles>
+ <reconcile propertyName="skip" skipValue="true"/>
+ </reconciles>
+ <!-- exclude-listed from logging properties-->
+ <nologs>
+ <nolog propertyName="redundantProperty"/>
+ <nolog propertyName="redundantProperty2"/>
+ </nologs>
+ </plugin>
+ </plugins>
+ </reconcile>
+ </executionControl>
+</cache>
diff --git a/README.md b/README.md
index 88fe59c..47d799b 100644
--- a/README.md
+++ b/README.md
@@ -131,6 +131,11 @@
4. mvn clean install -Dossindex.skip -Dtest=\!UnpackerResourceTest#testPDFImages
```
+To disable the build cache:
+```
+4. mvn clean install -Dmaven.build.cache.enabled=false
+```
+
License (see also LICENSE.txt)
==============================