This is an automated email from the ASF dual-hosted git repository. ntimofeev pushed a commit to branch STABLE-4.2 in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/STABLE-4.2 by this push: new fcc2a3f8a CAY-2849 Switch documentation to `hugo-asciidoctorj-extension` fcc2a3f8a is described below commit fcc2a3f8ab70935d282964ed234e91f5d893035b Author: Nikita Timofeev <stari...@gmail.com> AuthorDate: Mon May 27 17:00:41 2024 +0400 CAY-2849 Switch documentation to `hugo-asciidoctorj-extension` --- RELEASE-NOTES.txt | 1 + docs/asciidoc/cayenne-asciidoc-extension/pom.xml | 41 ---- .../cayenne/asciidoc/CayennePostProcessor.java | 207 --------------------- docs/asciidoc/cayenne-guide/pom.xml | 10 +- .../src/docs/asciidoc/cayenne-guide.adoc | 3 +- docs/asciidoc/getting-started-db-first/pom.xml | 10 +- .../docs/asciidoc/getting-started-db-first.adoc | 3 +- docs/asciidoc/getting-started-guide/pom.xml | 10 +- .../src/docs/asciidoc/getting-started-guide.adoc | 3 +- docs/asciidoc/getting-started-rop/pom.xml | 10 +- .../src/docs/asciidoc/getting-started-rop.adoc | 3 +- docs/asciidoc/pom.xml | 16 +- docs/asciidoc/upgrade-guide/pom.xml | 10 +- .../src/docs/asciidoc/upgrade-guide.adoc | 3 +- pom.xml | 1 + 15 files changed, 33 insertions(+), 298 deletions(-) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 8b0912d6f..af7cde304 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -13,6 +13,7 @@ Date: ---------------------------------- Changes/New Features: +CAY-2849 Switch documentation to `hugo-asciidoctorj-extension` CAY-2852 Update velocity-engine-core dependency Bug Fixes: diff --git a/docs/asciidoc/cayenne-asciidoc-extension/pom.xml b/docs/asciidoc/cayenne-asciidoc-extension/pom.xml deleted file mode 100644 index 5c4bb47bf..000000000 --- a/docs/asciidoc/cayenne-asciidoc-extension/pom.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?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"> - <parent> - <artifactId>cayenne-asciidoc-parent</artifactId> - <groupId>org.apache.cayenne.docs</groupId> - <version>4.2.1-SNAPSHOT</version> - </parent> - - <artifactId>cayenne-asciidoc-extension</artifactId> - <packaging>jar</packaging> - <modelVersion>4.0.0</modelVersion> - - <dependencies> - <dependency> - <!-- jsoup HTML parser library @ https://jsoup.org/ --> - <groupId>org.jsoup</groupId> - <artifactId>jsoup</artifactId> - <version>1.14.2</version> - </dependency> - </dependencies> - -</project> \ No newline at end of file diff --git a/docs/asciidoc/cayenne-asciidoc-extension/src/main/java/org/apache/cayenne/asciidoc/CayennePostProcessor.java b/docs/asciidoc/cayenne-asciidoc-extension/src/main/java/org/apache/cayenne/asciidoc/CayennePostProcessor.java deleted file mode 100644 index 67ccaa416..000000000 --- a/docs/asciidoc/cayenne-asciidoc-extension/src/main/java/org/apache/cayenne/asciidoc/CayennePostProcessor.java +++ /dev/null @@ -1,207 +0,0 @@ -/***************************************************************** - * 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. - ****************************************************************/ - -package org.apache.cayenne.asciidoc; - -import java.io.BufferedWriter; -import java.io.IOException; -import java.nio.file.FileSystems; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.StandardOpenOption; -import java.util.Collections; -import java.util.Map; - -import org.asciidoctor.Options; -import org.asciidoctor.ast.Document; -import org.asciidoctor.extension.Postprocessor; -import org.jsoup.Jsoup; - -/** - * <p> - * AsciidoctorJ post processor, that extracts ToC into separate file and optionally can inject content into rendered document. - * Can be used only for HTML backend, will <b>fail</b> if used with PDF. - * <p> - * It is targeted to inject "front-matter" section suitable for cayenne website tools. - * <p> - * Extension controlled by attributes in *.adoc file: - * <ul> - * <li>cayenne-header: header file name or constant "front-matter" that will inject empty front matter markup - * <li>cayenne-header-position [optional]: "top" to inject just above all content or "body" to inject right after >body< tag - * <li>cayenne-footer: footer file name or constant "front-matter" that will inject empty front matter markup - * <li>cayenne-footer-position [optional]: "bottom" to inject just after all content or "body" to inject right before >/body< tag - * </ul> - * - * @since 4.1 - */ -public class CayennePostProcessor extends Postprocessor { - - private static final String FRONT_MATTER = "front-matter"; - private static final String EMPTY_FRONT_MATTER = "---\n---\n\n"; - private static final String POSITION_TOP = "top"; - private static final String POSITION_BODY = "body"; - private static final String POSITION_BOTTOM = "bottom"; - - @SuppressWarnings("unused") - public CayennePostProcessor() { - super(); - } - - @SuppressWarnings("unused") - public CayennePostProcessor(Map<String, Object> config) { - super(config); - } - - public String process(Document document, String output) { - output = extractTableOfContents(document, output); - output = fixupDom(document, output); - output = processHeader(document, output); - output = processFooter(document, output); - return output; - } - - private String fixupDom(Document document, String output) { - org.jsoup.nodes.Document jsoupDoc = Jsoup.parseBodyFragment(output); - - jsoupDoc.select(".icon-note") - .removeClass("icon-note") - .addClass("fa-info-circle") - .addClass("fa-2x"); - - jsoupDoc.select(".icon-tip") - .removeClass("icon-tip") - .addClass("fa-lightbulb-o") - .addClass("fa-2x"); - - jsoupDoc.select("code").forEach(el -> { - String codeClass = el.attr("data-lang"); - if(!codeClass.isEmpty()) { - el.addClass(codeClass); - } - }); - - jsoupDoc.select("div#preamble").remove(); - - return jsoupDoc.body().html(); - } - - protected String extractTableOfContents(Document document, String output) { - int start = output.indexOf("<div id=\"toc\" class=\"toc\">"); - if(start == -1) { - // no toc found, exit - return output; - } - - String tocEndString = "</ul>\n</div>"; - int end = output.indexOf(tocEndString, start); - if(end == -1) { - // bad, no end.. - return output; - } - - end += tocEndString.length() + 1; - - org.jsoup.nodes.Document tocDoc = Jsoup.parseBodyFragment(output.substring(start, end)); - tocDoc.select("ul").addClass("nav"); - tocDoc.select("a").addClass("nav-link"); - tocDoc.select("div#toc").addClass("toc-side"); - String toc = tocDoc.body().html(); - - Object destDir = document.getOptions().get(Options.DESTINATION_DIR); - Object docname = ((Map)document.getOptions().get(Options.ATTRIBUTES)).get("docname"); - - Path path = FileSystems.getDefault().getPath((String) destDir, docname + ".toc.html"); - StandardOpenOption[] options = { - StandardOpenOption.TRUNCATE_EXISTING, - StandardOpenOption.CREATE, - StandardOpenOption.WRITE - }; - try(BufferedWriter br = Files.newBufferedWriter(path, options)) { - br.write(toc, 0, toc.length()); - br.flush(); - } catch (IOException ex) { - ex.printStackTrace(System.err); - } - - if(start == 0) { - return output.substring(end); - } - - return output.substring(0, start) + output.substring(end); - } - - protected String processHeader(Document document, String output) { - String headerFile = (String) document.getAttribute("cayenne-header", ""); - String headerPosition = (String)document.getAttribute("cayenne-header-position", POSITION_TOP); - - if(headerFile.isEmpty()) { - return output; - } - - String header; - // inject empty front matter - if(FRONT_MATTER.equals(headerFile.trim())) { - header = EMPTY_FRONT_MATTER ; - } else { - // treat as a file - header = document.readAsset(headerFile, Collections.emptyMap()); - } - - switch (headerPosition.trim()) { - case POSITION_BODY: { - int bodyStart = output.indexOf("<div id=\"header\">"); - if(bodyStart == -1) { - // no header - return header + output; - } - return output.substring(0, bodyStart) + header + output.substring(bodyStart); - } - - case POSITION_TOP: - default: - return header + output; - } - } - - protected String processFooter(Document document, String output) { - String footerFile = (String) document.getAttribute("cayenne-footer", ""); - String footerPosition = (String)document.getAttribute("cayenne-footer-position", POSITION_BOTTOM); - - if(footerFile.isEmpty()) { - return output; - } - - String footer = document.readAsset(footerFile, Collections.emptyMap()); - - switch (footerPosition.trim()) { - case POSITION_BODY: { - int bodyStart = output.indexOf("</body>"); - if(bodyStart == -1) { - // no footer - return output + footer; - } - return output.substring(0, bodyStart) + footer + output.substring(bodyStart); - } - - case POSITION_BOTTOM: - default: - return output + footer; - } - } -} diff --git a/docs/asciidoc/cayenne-guide/pom.xml b/docs/asciidoc/cayenne-guide/pom.xml index cae452f66..8c542699f 100644 --- a/docs/asciidoc/cayenne-guide/pom.xml +++ b/docs/asciidoc/cayenne-guide/pom.xml @@ -38,9 +38,9 @@ <artifactId>asciidoctor-maven-plugin</artifactId> <dependencies> <dependency> - <groupId>org.apache.cayenne.docs</groupId> - <artifactId>cayenne-asciidoc-extension</artifactId> - <version>${project.version}</version> + <groupId>io.bootique.tools</groupId> + <artifactId>hugo-asciidoctorj-extension</artifactId> + <version>${hugo.asciidoctorj.extension.version}</version> </dependency> </dependencies> @@ -58,7 +58,7 @@ <outputDirectory>${project.build.directory}/tmp/</outputDirectory> <extensions> <extension> - <className>org.apache.cayenne.asciidoc.CayennePostProcessor</className> + <className>io.bootique.tools.asciidoctorj.HugoExtension</className> </extension> </extensions> <attributes> @@ -89,7 +89,6 @@ </goals> <configuration> <backend>html5</backend> - <sourceHighlighter>coderay</sourceHighlighter> <embedAssets>true</embedAssets> <attributes> <toc>left</toc> @@ -106,7 +105,6 @@ </goals> <configuration> <backend>pdf</backend> - <sourceHighlighter>coderay</sourceHighlighter> <attributes> <pagenums /> <toc /> diff --git a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/cayenne-guide.adoc b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/cayenne-guide.adoc index ef689ee4c..9a723acbb 100644 --- a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/cayenne-guide.adoc +++ b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/cayenne-guide.adoc @@ -17,8 +17,7 @@ :sectnums: :sectnumlevels: 2 // use custom header -:cayenne-header: _cayenne-guide/header.html -:cayenne-header-position: body +:hugo-header: _cayenne-guide/header.html // customize final layout //:linkcss: // base path to java code include diff --git a/docs/asciidoc/getting-started-db-first/pom.xml b/docs/asciidoc/getting-started-db-first/pom.xml index 2f8e9943c..6055686f2 100644 --- a/docs/asciidoc/getting-started-db-first/pom.xml +++ b/docs/asciidoc/getting-started-db-first/pom.xml @@ -39,9 +39,9 @@ <dependencies> <!-- Using own extension to inject custom headers --> <dependency> - <groupId>org.apache.cayenne.docs</groupId> - <artifactId>cayenne-asciidoc-extension</artifactId> - <version>${project.version}</version> + <groupId>io.bootique.tools</groupId> + <artifactId>hugo-asciidoctorj-extension</artifactId> + <version>${hugo.asciidoctorj.extension.version}</version> </dependency> </dependencies> @@ -60,7 +60,7 @@ <!-- this will inject header with "front-matter" markup --> <extensions> <extension> - <className>org.apache.cayenne.asciidoc.CayennePostProcessor</className> + <className>io.bootique.tools.asciidoctorj.HugoExtension</className> </extension> </extensions> <attributes> @@ -91,7 +91,6 @@ </goals> <configuration> <backend>html5</backend> - <sourceHighlighter>coderay</sourceHighlighter> <embedAssets>true</embedAssets> <attributes> <toc>left</toc> @@ -108,7 +107,6 @@ </goals> <configuration> <backend>pdf</backend> - <sourceHighlighter>coderay</sourceHighlighter> <attributes> <pagenums /> <toc /> diff --git a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/getting-started-db-first.adoc b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/getting-started-db-first.adoc index 66285ad38..72232ff7f 100644 --- a/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/getting-started-db-first.adoc +++ b/docs/asciidoc/getting-started-db-first/src/docs/asciidoc/getting-started-db-first.adoc @@ -17,8 +17,7 @@ :sectnums: :sectnumlevels: 2 // use custom header -:cayenne-header: _getting-started-db-first/header.html -:cayenne-header-position: body +:hugo-header: _getting-started-db-first/header.html // base path to java code include :cayenne-root: {basedir}/../../.. :java-include-dir: {cayenne-root}/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial diff --git a/docs/asciidoc/getting-started-guide/pom.xml b/docs/asciidoc/getting-started-guide/pom.xml index 21f12dfd4..4df79cc2c 100644 --- a/docs/asciidoc/getting-started-guide/pom.xml +++ b/docs/asciidoc/getting-started-guide/pom.xml @@ -39,9 +39,9 @@ <dependencies> <!-- Using own extension to inject custom headers --> <dependency> - <groupId>org.apache.cayenne.docs</groupId> - <artifactId>cayenne-asciidoc-extension</artifactId> - <version>${project.version}</version> + <groupId>io.bootique.tools</groupId> + <artifactId>hugo-asciidoctorj-extension</artifactId> + <version>${hugo.asciidoctorj.extension.version}</version> </dependency> </dependencies> @@ -60,7 +60,7 @@ <!-- this will inject header with "front-matter" markup --> <extensions> <extension> - <className>org.apache.cayenne.asciidoc.CayennePostProcessor</className> + <className>io.bootique.tools.asciidoctorj.HugoExtension</className> </extension> </extensions> <attributes> @@ -91,7 +91,6 @@ </goals> <configuration> <backend>html5</backend> - <sourceHighlighter>coderay</sourceHighlighter> <embedAssets>true</embedAssets> <attributes> <toc>left</toc> @@ -108,7 +107,6 @@ </goals> <configuration> <backend>pdf</backend> - <sourceHighlighter>coderay</sourceHighlighter> <attributes> <pagenums /> <toc /> diff --git a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/getting-started-guide.adoc b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/getting-started-guide.adoc index 87a401ff3..6593b574a 100644 --- a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/getting-started-guide.adoc +++ b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/getting-started-guide.adoc @@ -17,8 +17,7 @@ :sectnums: :sectnumlevels: 2 // use custom header -:cayenne-header: _getting-started-guide/header.html -:cayenne-header-position: body +:hugo-header: _getting-started-guide/header.html // base path to java code include :cayenne-root: {basedir}/../../.. :java-include-dir: {cayenne-root}/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial diff --git a/docs/asciidoc/getting-started-rop/pom.xml b/docs/asciidoc/getting-started-rop/pom.xml index 119ea8813..703f9db85 100644 --- a/docs/asciidoc/getting-started-rop/pom.xml +++ b/docs/asciidoc/getting-started-rop/pom.xml @@ -37,9 +37,9 @@ <artifactId>asciidoctor-maven-plugin</artifactId> <dependencies> <dependency> - <groupId>org.apache.cayenne.docs</groupId> - <artifactId>cayenne-asciidoc-extension</artifactId> - <version>${project.version}</version> + <groupId>io.bootique.tools</groupId> + <artifactId>hugo-asciidoctorj-extension</artifactId> + <version>${hugo.asciidoctorj.extension.version}</version> </dependency> </dependencies> @@ -57,7 +57,7 @@ <outputDirectory>${project.build.directory}/tmp/</outputDirectory> <extensions> <extension> - <className>org.apache.cayenne.asciidoc.CayennePostProcessor</className> + <className>io.bootique.tools.asciidoctorj.HugoExtension</className> </extension> </extensions> <attributes> @@ -88,7 +88,6 @@ </goals> <configuration> <backend>html5</backend> - <sourceHighlighter>coderay</sourceHighlighter> <embedAssets>true</embedAssets> <attributes> <toc>left</toc> @@ -105,7 +104,6 @@ </goals> <configuration> <backend>pdf</backend> - <sourceHighlighter>coderay</sourceHighlighter> <attributes> <pagenums /> <toc /> diff --git a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/getting-started-rop.adoc b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/getting-started-rop.adoc index 040abffdf..a47e6daa4 100644 --- a/docs/asciidoc/getting-started-rop/src/docs/asciidoc/getting-started-rop.adoc +++ b/docs/asciidoc/getting-started-rop/src/docs/asciidoc/getting-started-rop.adoc @@ -17,8 +17,7 @@ :sectnums: :sectnumlevels: 2 // use custom header -:cayenne-header: _getting-started-rop/header.html -:cayenne-header-position: body +:hugo-header: _getting-started-rop/header.html // customize final layout //:linkcss: // base path to java code include diff --git a/docs/asciidoc/pom.xml b/docs/asciidoc/pom.xml index 9f59f34f2..a3de4dc9b 100644 --- a/docs/asciidoc/pom.xml +++ b/docs/asciidoc/pom.xml @@ -32,7 +32,6 @@ <packaging>pom</packaging> <modules> - <module>cayenne-asciidoc-extension</module> <module>cayenne-guide</module> <module>getting-started-guide</module> <module>getting-started-db-first</module> @@ -42,12 +41,12 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <asciidoctorj.version>1.6.2</asciidoctorj.version> - <asciidoctor.maven.plugin.version>1.5.8</asciidoctor.maven.plugin.version> - <asciidoctorj.pdf.version>1.5.0-alpha.18</asciidoctorj.pdf.version> - <jruby.version>9.2.8.0</jruby.version> + <asciidoctorj.version>2.5.12</asciidoctorj.version> + <asciidoctor.maven.plugin.version>2.2.6</asciidoctor.maven.plugin.version> + <asciidoctorj.pdf.version>2.1.4</asciidoctorj.pdf.version> <cayenne.version>${project.version}</cayenne.version> <cayenne.major.version>4.2</cayenne.major.version> + <hugo.asciidoctorj.extension.version>1.0-M3</hugo.asciidoctorj.extension.version> </properties> <dependencies> @@ -104,14 +103,10 @@ <sectanchors>true</sectanchors> <idprefix /> <!-- set the idprefix to blank --> <idseparator>-</idseparator> + <source-highlighter>coderay</source-highlighter> </attributes> </configuration> <dependencies> - <dependency> - <groupId>org.jruby</groupId> - <artifactId>jruby-complete</artifactId> - <version>${jruby.version}</version> - </dependency> <dependency> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctorj</artifactId> @@ -121,6 +116,7 @@ </plugin> <!-- Move images to proper path for site --> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> diff --git a/docs/asciidoc/upgrade-guide/pom.xml b/docs/asciidoc/upgrade-guide/pom.xml index 0bfa3880d..8ef3e1f94 100644 --- a/docs/asciidoc/upgrade-guide/pom.xml +++ b/docs/asciidoc/upgrade-guide/pom.xml @@ -36,9 +36,9 @@ <artifactId>asciidoctor-maven-plugin</artifactId> <dependencies> <dependency> - <groupId>org.apache.cayenne.docs</groupId> - <artifactId>cayenne-asciidoc-extension</artifactId> - <version>${project.version}</version> + <groupId>io.bootique.tools</groupId> + <artifactId>hugo-asciidoctorj-extension</artifactId> + <version>${hugo.asciidoctorj.extension.version}</version> </dependency> </dependencies> @@ -56,7 +56,7 @@ <outputDirectory>${project.build.directory}/tmp/</outputDirectory> <extensions> <extension> - <className>org.apache.cayenne.asciidoc.CayennePostProcessor</className> + <className>io.bootique.tools.asciidoctorj.HugoExtension</className> </extension> </extensions> <attributes> @@ -87,7 +87,6 @@ </goals> <configuration> <backend>html5</backend> - <sourceHighlighter>coderay</sourceHighlighter> <embedAssets>true</embedAssets> <attributes> <toc>left</toc> @@ -104,7 +103,6 @@ </goals> <configuration> <backend>pdf</backend> - <sourceHighlighter>coderay</sourceHighlighter> <attributes> <pagenums /> <toc /> diff --git a/docs/asciidoc/upgrade-guide/src/docs/asciidoc/upgrade-guide.adoc b/docs/asciidoc/upgrade-guide/src/docs/asciidoc/upgrade-guide.adoc index eb0a80e6c..b80052e95 100644 --- a/docs/asciidoc/upgrade-guide/src/docs/asciidoc/upgrade-guide.adoc +++ b/docs/asciidoc/upgrade-guide/src/docs/asciidoc/upgrade-guide.adoc @@ -17,8 +17,7 @@ :sectnums: :sectnumlevels: 2 // use custom header -:cayenne-header: _upgrade-guide/header.html -:cayenne-header-position: body +:hugo-header: _upgrade-guide/header.html // base path to java code include :cayenne-root: {basedir}/../../.. diff --git a/pom.xml b/pom.xml index e0d9b9da4..39961d27b 100644 --- a/pom.xml +++ b/pom.xml @@ -767,6 +767,7 @@ <version>3.6.0</version> </plugin> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.1.0</version> </plugin>