This is an automated email from the ASF dual-hosted git repository.

grossws pushed a commit to branch add-bom-1x
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 8b703201f640b4c5eccd836e35e13c59d5d42bcb
Author: Konstantin Gribov <[email protected]>
AuthorDate: Sat Apr 24 02:36:36 2021 +0300

    [TIKA-3368] Add tika-bom module
    
    Fixes #TIKA-3368
---
 README.md        |  43 +++++++++++++++++++++-
 pom.xml          |   1 +
 tika-bom/pom.xml | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 151 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 0838024..f300a12 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,48 @@ To build Tika from source, use the following command in the 
main directory:
 The build consists of a number of components, including a standalone runnable 
jar that you can use to try out Tika features. You can run it like this:
 
     java -jar tika-app/target/tika-app-*.jar --help
-    
+
+Maven Dependencies
+==================
+
+Apache Tika provides *Bill of Material* (BOM) artifact to align Tika module 
versions and simplify version management.
+
+If you use Apache Maven:
+
+```xml
+<project>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+       <groupId>org.apache.tika</groupId>
+       <artifactId>tika-bom</artifactId>
+       <version>1.27</version>
+       <type>pom</type>
+       <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.tika</groupId>
+      <artifactId>tika-parsers</artifactId>
+      <!-- version not required since BOM included -->
+    </dependency>
+  </dependencies>
+</project>
+```
+
+For Gradle:
+```kotlin
+dependencies {
+  implementation(platform("org.apache.tika:tika-bom:1.27"))
+
+  // version not required since bom (platform in Gradle terms)
+  implementation("org.apache.tika:tika-parsers")
+}
+```
+
 Contributing via Github
 =======================
 To contribute a patch, follow these instructions (note that installing
diff --git a/pom.xml b/pom.xml
index 8e8f2c8..48ff68c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,6 +36,7 @@
 
   <modules>
     <module>tika-parent</module>
+    <module>tika-bom</module>
     <module>tika-core</module>
     <module>tika-parsers</module>
     <module>tika-bundle</module>
diff --git a/tika-bom/pom.xml b/tika-bom/pom.xml
new file mode 100644
index 0000000..13dbd86
--- /dev/null
+++ b/tika-bom/pom.xml
@@ -0,0 +1,108 @@
+<?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
+
+    https://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/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.tika</groupId>
+    <artifactId>tika-parent</artifactId>
+    <version>1.27-SNAPSHOT</version>
+    <relativePath>../tika-parent/pom.xml</relativePath>
+  </parent>
+
+  <artifactId>tika-bom</artifactId>
+  <packaging>pom</packaging>
+  <name>Apache Tika BOM</name>
+  <url>https://tika.apache.org/</url>
+
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-core</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-serialization</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-translate</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-xmp</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-java7</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+
+      <!-- Tika parsers -->
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-parsers</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-bundle</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-dl</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-nlp</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+
+      <!-- Tika language detection modules -->
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-langdetect</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-eval</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-fuzzing</artifactId>
+        <version>1.27-SNAPSHOT</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+</project>
\ No newline at end of file

Reply via email to