This is an automated email from the ASF dual-hosted git repository. kdoran pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi-standard-libraries.git
The following commit(s) were added to refs/heads/master by this push: new 790c215 NIFILIBS-1 Setup root pom, README, LICENSE, & NOTICE 790c215 is described below commit 790c215cd73aed7b10e25ea660dbecd94409331a Author: Bryan Bende <bbe...@apache.org> AuthorDate: Mon Sep 23 13:38:22 2019 -0400 NIFILIBS-1 Setup root pom, README, LICENSE, & NOTICE --- .gitignore | 17 +++ LICENSE | 202 ++++++++++++++++++++++++++ NOTICE | 5 + README.md | 60 ++++++++ checkstyle.xml | 79 ++++++++++ pom.xml | 444 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 807 insertions(+) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1e9336f --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +target +.project +.settings +.classpath +nbactions.xml +nb-configuration.xml +.DS_Store +.metadata +.recommenders + +# Intellij +.idea/ +*.iml +*.iws +*~ + +.vscode/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..d4089c7 --- /dev/null +++ b/NOTICE @@ -0,0 +1,5 @@ +Apache NiFi Standard Libraries +Copyright 2019 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/README.md b/README.md index 3c7fae8..965e212 100644 --- a/README.md +++ b/README.md @@ -1 +1,61 @@ +<!-- + 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. +--> # Apache NiFi Standard Libraries + +A collection of standard implementations used across the NiFi ecosystem. + +## Table of Contents + +- [Getting Started](#getting-started) +- [License](#license) + +## Getting Started + +### Requirements + +* JDK 1.8 for building +* JRE >= 1.8 for running +* Maven 3.1.0, or newer +* Recent git client + +### Building + +1) Clone the repo + + git clone https://git-wip-us.apache.org/repos/asf/nifi-standard-libraries.git + cd nifi-standard-libraries + git checkout master + +2) Build the project + + cd nifi-standard-libraries + mvn clean install + +## License + +Except as otherwise noted this software is licensed under the +[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) + +Licensed 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. \ No newline at end of file diff --git a/checkstyle.xml b/checkstyle.xml new file mode 100644 index 0000000..2a351cf --- /dev/null +++ b/checkstyle.xml @@ -0,0 +1,79 @@ +<!DOCTYPE module PUBLIC + "-//Puppy Crawl//DTD Check Configuration 1.3//EN" + "https://checkstyle.org/dtds/configuration_1_3.dtd"> +<module name="Checker"> + <property name="charset" value="UTF-8" /> + <property name="severity" value="warning" /> + <!-- Checks for whitespace --> + <!-- See https://checkstyle.sf.net/config_whitespace.html --> + <module name="FileTabCharacter"> + <property name="eachLine" value="true" /> + </module> + <module name="TreeWalker"> + <module name="RegexpSinglelineJava"> + <property name="format" value="\s+$" /> + <property name="message" value="Line has trailing whitespace." /> + </module> + <module name="RegexpSinglelineJava"> + <!--suppress UnresolvedMavenProperty --> + <property name="format" value="[@]see\s+[{][@]link" /> + <!--suppress UnresolvedMavenProperty --> + <property name="message" value="Javadoc @see does not need @link: pick one or the other." /> + </module> + <module name="OuterTypeFilename" /> + <module name="LineLength"> + <!-- needs extra, because Eclipse formatter ignores the ending left + brace --> + <property name="max" value="200" /> + <property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://" /> + </module> + <module name="AvoidStarImport" /> + <module name="UnusedImports"> + <property name="processJavadoc" value="true" /> + </module> + <module name="NoLineWrap" /> + <module name="LeftCurly" /> + <module name="RightCurly" /> + <module name="RightCurly"> + <property name="option" value="alone_or_singleline" /> + <property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT" /> + </module> + <module name="SeparatorWrap"> + <property name="tokens" value="DOT" /> + <property name="option" value="nl" /> + </module> + <module name="SeparatorWrap"> + <property name="tokens" value="COMMA" /> + <property name="option" value="EOL" /> + </module> + <module name="PackageName"> + <property name="format" value="^[a-z]+(\.[a-z][a-zA-Z0-9]*)*$" /> + </module> + <module name="MethodTypeParameterName"> + <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" /> + </module> + <module name="MethodParamPad" /> + <module name="OperatorWrap"> + <property name="option" value="NL" /> + <property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, QUESTION, SL, SR, STAR " /> + </module> + <module name="AnnotationLocation"> + <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" /> + </module> + <module name="AnnotationLocation"> + <property name="tokens" value="VARIABLE_DEF" /> + <property name="allowSamelineMultipleAnnotations" value="true" /> + </module> + <module name="NonEmptyAtclauseDescription" /> + <module name="JavadocMethod"> + <property name="allowUndeclaredRTE" value="true" /> + <property name="allowMissingJavadoc" value="true" /> + <property name="allowMissingParamTags" value="true" /> + <property name="allowMissingThrowsTags" value="true" /> + <property name="allowMissingReturnTag" value="true" /> + <property name="allowedAnnotations" value="Override,Test,BeforeClass,AfterClass,Before,After" /> + <property name="allowThrowsTagsForSubclasses" value="true" /> + </module> + <module name="SingleLineJavadoc" /> + </module> +</module> \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..c0590f6 --- /dev/null +++ b/pom.xml @@ -0,0 +1,444 @@ +<?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</groupId> + <artifactId>apache</artifactId> + <version>21</version> + <relativePath /> + </parent> + + <groupId>org.apache.nifi.stdlibs</groupId> + <artifactId>nifi-standard-libraries</artifactId> + <version>0.1.0-SNAPSHOT</version> + <packaging>pom</packaging> + + <name>NiFi Standard Libraries</name> + <description>A collection of standard implementations used across the NiFi ecosystem.</description> + + <modules> + </modules> + + <!-- NOTE: Update to specific sub-site when available --> + <url>https://nifi.apache.org</url> + + <organization> + <name>Apache NiFi Project</name> + <url>https://nifi.apache.org/</url> + </organization> + + <licenses> + <license> + <name>Apache License, Version 2.0</name> + <url>https://www.apache.org/licenses/LICENSE-2.0</url> + </license> + </licenses> + + <mailingLists> + <mailingList> + <name>Dev</name> + <subscribe>dev-subscr...@nifi.apache.org</subscribe> + <unsubscribe>dev-unsubscr...@nifi.apache.org</unsubscribe> + <post>d...@nifi.apache.org</post> + <archive>https://mail-archives.apache.org/mod_mbox/nifi-dev</archive> + </mailingList> + <mailingList> + <name>Users</name> + <subscribe>users-subscr...@nifi.apache.org</subscribe> + <unsubscribe>users-unsubscr...@nifi.apache.org</unsubscribe> + <post>us...@nifi.apache.org</post> + <archive>https://mail-archives.apache.org/mod_mbox/nifi-users</archive> + </mailingList> + <mailingList> + <name>Commits</name> + <subscribe>commits-subscr...@nifi.apache.org</subscribe> + <unsubscribe>commits-unsubscr...@nifi.apache.org</unsubscribe> + <post>commits@nifi.apache.org</post> + <archive>https://mail-archives.apache.org/mod_mbox/nifi-commits</archive> + </mailingList> + </mailingLists> + + <scm> + <connection>scm:git:git://gitbox.apache.org/repos/asf/nifi-standard-libraries.git</connection> + <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/nifi-standard-libraries.git</developerConnection> + <url>https://gitbox.apache.org/repos/asf/nifi-standard-libraries.git</url> + <tag>HEAD</tag> + </scm> + + <issueManagement> + <system>JIRA</system> + <url>https://issues.apache.org/jira/browse/NIFILIBS</url> + </issueManagement> + + <properties> + <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> + <maven.min-version>3.1.1</maven.min-version> + <maven.surefire.arguments /> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <inceptionYear>2019</inceptionYear> + </properties> + + <repositories> + <repository> + <id>central</id> + <!-- This should be at top, it makes maven try the central repo + first and then others and hence faster dep resolution --> + <name>Maven Repository</name> + <url>https://repo1.maven.org/maven2</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>apache-repo</id> + <name>Apache Repository</name> + <url>https://repository.apache.org/content/repositories/releases</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>jcenter</id> + <url>https://jcenter.bintray.com</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + <releases> + <enabled>true</enabled> + </releases> + </repository> + </repositories> + + <pluginRepositories> + <pluginRepository> + <id>jcenter-releases</id> + <name>jcenter</name> + <url>https://jcenter.bintray.com</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </pluginRepository> + </pluginRepositories> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.2</version> + <configuration> + <fork>true</fork> + <optimize>true</optimize> + <showDeprecation>true</showDeprecation> + <showWarnings>true</showWarnings> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.18</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>2.18</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-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-release-plugin</artifactId> + <version>2.5.3</version> + <configuration> + <useReleaseProfile>true</useReleaseProfile> + <releaseProfiles>apache-release</releaseProfiles> + <autoVersionSubmodules>true</autoVersionSubmodules> + <goals>deploy</goals> + <!--suppress UnresolvedMavenProperty --> + <tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat> + <pushChanges>false</pushChanges> + <localCheckout>true</localCheckout> + </configuration> + <executions> + <execution> + <id>default</id> + <goals> + <goal>perform</goal> + </goals> + <configuration> + <pomFileName>pom.xml</pomFileName> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>3.0.0</version> + <dependencies> + <dependency> + <groupId>com.puppycrawl.tools</groupId> + <artifactId>checkstyle</artifactId> + <version>8.21</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </pluginManagement> + + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.8</source> + <target>1.8</target> + </configuration> + </plugin> + <plugin> + <groupId>org.sonatype.plugins</groupId> + <artifactId>nexus-staging-maven-plugin</artifactId> + <version>1.6.5</version> + <extensions>true</extensions> + <configuration> + <stagingProgressTimeoutMinutes>15</stagingProgressTimeoutMinutes> + <serverId>repository.apache.org</serverId> + <nexusUrl>https://repository.apache.org/</nexusUrl> + </configuration> + </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> + <requireMavenVersion> + <version>${maven.min-version}</version> + </requireMavenVersion> + </rules> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <configuration> + <configLocation>checkstyle.xml</configLocation> + <violationSeverity>warning</violationSeverity> + <includeTestSourceDirectory>true</includeTestSourceDirectory> + </configuration> + </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> + </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> + <!-- 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> + <!-- Performs execution of Integration Tests using the Maven FailSafe Plugin. The view of integration tests + in this context are those tests loading a full web server with API war with no mocks. --> + <id>integration-tests</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <executions> + <execution> + <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. + 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> + </profiles> + +</project>