| <?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"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache.nifi</groupId> |
| <artifactId>nifi</artifactId> |
| <version>1.15.0-SNAPSHOT</version> |
| </parent> |
| <groupId>org.apache.nifi.registry</groupId> |
| <artifactId>nifi-registry</artifactId> |
| <version>1.15.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| <description>Provides a central location for storage and management of shared resources across one or more instances |
| of NiFi and/or MiNiFi. |
| </description> |
| <modules> |
| <module>nifi-registry-core</module> |
| <module>nifi-registry-extensions</module> |
| <module>nifi-registry-assembly</module> |
| <module>nifi-registry-toolkit</module> |
| <module>nifi-registry-docker-maven</module> |
| </modules> |
| <properties> |
| <jax.rs.api.version>2.1</jax.rs.api.version> |
| <spring.boot.version>2.5.5</spring.boot.version> |
| <spring.version>5.3.11</spring.version> |
| <spring.security.version>5.5.2</spring.security.version> |
| <flyway.version>6.5.7</flyway.version> |
| <flyway.tests.version>6.4.0</flyway.tests.version> |
| <swagger.ui.version>3.12.0</swagger.ui.version> |
| <testcontainers.version>1.16.0</testcontainers.version> |
| <h2.version>1.4.199</h2.version> |
| <groovy.eclipse.compiler.version>3.4.0-01</groovy.eclipse.compiler.version> |
| <jaxb.version>2.3.2</jaxb.version> |
| <jgit.version>5.13.0.202109080827-r</jgit.version> |
| </properties> |
| |
| <pluginRepositories> |
| <pluginRepository> |
| <id>jcenter-releases</id> |
| <name>jcenter</name> |
| <url>https://jcenter.bintray.com</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </pluginRepository> |
| <pluginRepository> |
| <id>bintray</id> |
| <name>Groovy Bintray</name> |
| <url>https://dl.bintray.com/groovy/maven</url> |
| <releases> |
| <updatePolicy>never</updatePolicy> |
| </releases> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </pluginRepository> |
| </pluginRepositories> |
| |
| <dependencyManagement> |
| <dependencies> |
| <!-- Logging dependencies that will be directly in lib --> |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>javax.servlet-api</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty.toolchain</groupId> |
| <artifactId>jetty-schemas</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-server</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlet</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-webapp</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-servlets</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-annotations</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>apache-jsp</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>apache-jstl</artifactId> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>${logback.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| <version>${org.slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>log4j-over-slf4j</artifactId> |
| <version>${org.slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jul-to-slf4j</artifactId> |
| <version>${org.slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${org.slf4j.version}</version> |
| </dependency> |
| <!-- lib/shared --> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>3.5</version> |
| </dependency> |
| <!-- lib/java11 --> |
| <dependency> |
| <groupId>jakarta.xml.bind</groupId> |
| <artifactId>jakarta.xml.bind-api</artifactId> |
| <version>${jaxb.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jaxb</groupId> |
| <artifactId>jaxb-runtime</artifactId> |
| <version>${jaxb.version}</version> |
| </dependency> |
| <!-- NiFi Registry Modules --> |
| <dependency> |
| <groupId>org.apache.nifi.registry</groupId> |
| <artifactId>nifi-registry-utils</artifactId> |
| <version>1.15.0-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.nifi.registry</groupId> |
| <artifactId>nifi-registry-bootstrap</artifactId> |
| <version>1.15.0-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.nifi.registry</groupId> |
| <artifactId>nifi-registry-runtime</artifactId> |
| <version>1.15.0-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.nifi.registry</groupId> |
| <artifactId>nifi-registry-security-api</artifactId> |
| <version>1.15.0-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.nifi.registry</groupId> |
| <artifactId>nifi-registry-provider-api</artifactId> |
| <version>1.15.0-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.nifi.registry</groupId> |
| <artifactId>nifi-registry-web-ui</artifactId> |
| <type>war</type> |
| <version>1.15.0-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.nifi.registry</groupId> |
| <artifactId>nifi-registry-web-api</artifactId> |
| <type>war</type> |
| <version>1.15.0-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.nifi.registry</groupId> |
| <artifactId>nifi-registry-resources</artifactId> |
| <version>1.15.0-SNAPSHOT</version> |
| <classifier>resources</classifier> |
| <scope>runtime</scope> |
| <type>zip</type> |
| </dependency> |
| <!-- Test dependencies --> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>2.28.2</version> |
| <scope>test</scope> |
| </dependency> |
| <!-- force mockito-core to a newer version --> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy</artifactId> |
| <version>1.9.10</version> |
| </dependency> |
| <!-- force mockito-core to a newer version --> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy-agent</artifactId> |
| <version>1.9.10</version> |
| </dependency> |
| <!-- exclude all transitive groovy deps so that spock uses whatever is directly declared --> |
| <dependency> |
| <groupId>org.spockframework</groupId> |
| <artifactId>spock-core</artifactId> |
| <version>1.3-groovy-2.5</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-test</artifactId> |
| <version>${nifi.groovy.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-eclipse-compiler</artifactId> |
| <version>${groovy.eclipse.compiler.version}</version> |
| <extensions>true</extensions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-war-plugin</artifactId> |
| <version>2.5</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>2.9</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>2.7</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${surefire.version}</version> |
| <configuration> |
| <systemPropertyVariables> |
| <java.awt.headless>true</java.awt.headless> |
| </systemPropertyVariables> |
| <includes> |
| <include>**/*Test.class</include> |
| <include>**/Test*.class</include> |
| <include>**/*Spec.class</include> |
| </includes> |
| <redirectTestOutputToFile>true</redirectTestOutputToFile> |
| <argLine combine.children="append">-Xmx1G -Djava.net.preferIPv4Stack=true |
| ${maven.surefire.arguments} |
| </argLine> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <!-- Force surefire to use JUnit --> |
| <groupId>org.apache.maven.surefire</groupId> |
| <artifactId>surefire-junit4</artifactId> |
| <version>${surefire.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>2.18</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>2.5.2</version> |
| <configuration> |
| <tarLongFileMode>gnu</tarLongFileMode> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>jaxb2-maven-plugin</artifactId> |
| <version>2.5.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>2.4</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.4</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>2.5</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.1.1</version> |
| <configuration> |
| <failOnError>false</failOnError> |
| <quiet>true</quiet> |
| <show>private</show> |
| <encoding>UTF-8</encoding> |
| <quiet>true</quiet> |
| <javadocVersion>1.8</javadocVersion> |
| <additionalJOption>-J-Xmx512m</additionalJOption> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>3.1.1</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>8.31</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <executions> |
| <!-- Only run for tests --> |
| <execution> |
| <id>groovy-tests</id> |
| <goals> |
| <goal>testCompile</goal> |
| </goals> |
| <configuration> |
| <compilerId>groovy-eclipse-compiler</compilerId> |
| </configuration> |
| </execution> |
| </executions> |
| <configuration> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-eclipse-compiler</artifactId> |
| <version>${groovy.eclipse.compiler.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.groovy</groupId> |
| <artifactId>groovy-eclipse-batch</artifactId> |
| <version>${nifi.groovy.version}-01</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-maven</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireSameVersions> |
| <plugins> |
| <plugin>org.apache.maven.plugins:maven-surefire-plugin</plugin> |
| <plugin>org.apache.maven.plugins:maven-failsafe-plugin</plugin> |
| <plugin>org.apache.maven.plugins:maven-surefire-report-plugin</plugin> |
| </plugins> |
| </requireSameVersions> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>nifi-registry-execute-failsafe</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <phase>none</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>nb-configuration.xml</exclude> <!-- courtesy excludes for netbeans users --> |
| <exclude>nbactions.xml</exclude> <!-- courtesy excludes for netbeans users --> |
| <exclude>DEPENDENCIES |
| </exclude> <!-- auto generated file by apache's maven config while building sources.zip --> |
| <exclude>.github/PULL_REQUEST_TEMPLATE.md |
| </exclude> <!-- PR Template for GitHub that does not have a mechanism of including comments --> |
| <exclude>**/resources/banner.txt |
| </exclude> <!-- Console banner text that does not have a mechanism of including comments --> |
| <exclude>src/main/resources/swagger/security-definitions.json |
| </exclude> <!-- A maven-swagger-plugin input file that does not have a mechanism of including comments --> |
| <exclude>.travis-output-filters</exclude> <!-- grep patterns to exclude from travis output --> |
| <exclude>src/test/resources/descriptors/*</exclude> |
| <exclude>checkstyle.xml</exclude> |
| </excludes> |
| </configuration> |
| <dependencies> |
| <!-- workaround for RAT-158 --> |
| <dependency> |
| <groupId>org.apache.maven.doxia</groupId> |
| <artifactId>doxia-core</artifactId> |
| <version>1.6</version> |
| <exclusions> |
| <exclusion> |
| <groupId>xerces</groupId> |
| <artifactId>xercesImpl</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>nifi-registry-skip-windows</id> |
| <activation> |
| <os> |
| <family>Windows</family> |
| </os> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>none</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>none</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <!-- Checks style and licensing requirements. This is a good idea to run |
| for contributions and for the release process. While it would be nice to |
| run always these plugins can considerably slow the build and have proven |
| to create unstable builds in our multi-module project and when building using |
| multiple threads. The stability issues seen with Checkstyle in multi-module |
| builds include false-positives and false negatives. --> |
| <id>contrib-check</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>check-style</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <!-- Enables execution of integration tests managed by the Maven FailSafe plugin. --> |
| <id>nifi-registry-integration-tests</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>nifi-registry-execute-failsafe</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <!-- This profile will disable DocLint which performs strict |
| JavaDoc processing which was introduced in JDK 8, which is required to build nifi-registry. |
| These are technically errors in the JavaDoc, which we need to eventually address. |
| However, without this, artifact generation currently fails. --> |
| <id>disable-doclint</id> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| </activation> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.1.1</version> |
| <configuration> |
| <doclint>none</doclint> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| <profile> |
| <!-- This profile provides configuration to allow NiFi Registry to be compiled on JDKs above 1.8. --> |
| <id>jigsaw</id> |
| <activation> |
| <jdk>(1.8,)</jdk> |
| </activation> |
| <properties> |
| <maven.compiler.source>11</maven.compiler.source> |
| <maven.compiler.target>11</maven.compiler.target> |
| </properties> |
| </profile> |
| </profiles> |
| </project> |