NIFI-270 sent an e-mail to dev explaining all the moving parts
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/bc94f716 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/bc94f716 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/bc94f716 Branch: refs/heads/develop Commit: bc94f716c6225122323aa82aa1daff93bdc14f93 Parents: 6f18926 Author: joewitt <joew...@apache.org> Authored: Sat Jan 17 03:18:50 2015 -0500 Committer: joewitt <joew...@apache.org> Committed: Sat Jan 17 03:18:50 2015 -0500 ---------------------------------------------------------------------- DISCLAIMER | 15 - LICENSE | 589 ------------ NOTICE | 14 - README.md | 55 +- maven-plugins/nar-maven-plugin/pom.xml | 273 ------ .../src/main/java/nifi/NarMojo.java | 613 ------------ .../resources/META-INF/plexus/components.xml | 52 - nar-maven-plugin/DISCLAIMER | 15 + nar-maven-plugin/LICENSE | 202 ++++ nar-maven-plugin/NOTICE | 5 + nar-maven-plugin/README.md | 57 ++ nar-maven-plugin/pom.xml | 273 ++++++ .../src/main/java/nifi/NarMojo.java | 613 ++++++++++++ .../resources/META-INF/plexus/components.xml | 52 + nifi/DISCLAIMER | 15 + nifi/LICENSE | 589 ++++++++++++ nifi/NOTICE | 14 + nifi/README.md | 101 ++ nifi/assembly/pom.xml | 12 +- .../assembly/src/main/assembly/dependencies.xml | 8 +- nifi/commons/data-provenance-utils/pom.xml | 4 +- nifi/commons/flowfile-packager/pom.xml | 4 +- nifi/commons/nifi-expression-language/pom.xml | 4 +- nifi/commons/nifi-logging-utils/pom.xml | 4 +- nifi/commons/nifi-properties/pom.xml | 4 +- nifi/commons/nifi-security-utils/pom.xml | 4 +- nifi/commons/nifi-socket-utils/pom.xml | 4 +- nifi/commons/nifi-utils/pom.xml | 4 +- nifi/commons/nifi-web-utils/pom.xml | 4 +- nifi/commons/pom.xml | 2 +- nifi/commons/processor-utilities/pom.xml | 4 +- nifi/commons/wali/pom.xml | 4 +- .../execute-script-processors/pom.xml | 81 -- .../nifi/processors/script/ExecuteScript.java | 566 ----------- .../apache/nifi/scripting/ConverterScript.java | 131 --- .../nifi/scripting/JRubyScriptFactory.java | 46 - .../nifi/scripting/JavaScriptScriptFactory.java | 56 -- .../nifi/scripting/JythonScriptFactory.java | 45 - .../nifi/scripting/OutputStreamHandler.java | 24 - .../org/apache/nifi/scripting/ReaderScript.java | 79 -- .../java/org/apache/nifi/scripting/Script.java | 303 ------ .../nifi/scripting/ScriptEngineFactory.java | 117 --- .../apache/nifi/scripting/ScriptFactory.java | 269 ------ .../org/apache/nifi/scripting/WriterScript.java | 67 -- .../org.apache.nifi.processor.Processor | 15 - .../index.html | 264 ------ .../processors/script/TestExecuteScript.java | 939 ------------------- .../src/test/resources/alwaysFail.js | 24 - .../src/test/resources/alwaysFail.py | 19 - .../src/test/resources/alwaysFail.rb | 21 - .../src/test/resources/ffTest.js | 28 - .../src/test/resources/ffTest.py | 22 - .../src/test/resources/ffTest.rb | 30 - .../src/test/resources/lib/Sub.py | 18 - .../src/test/resources/lib/sub.js | 22 - .../src/test/resources/lib/sub.rb | 17 - .../src/test/resources/loadLocal.js | 30 - .../src/test/resources/loadLocal.py | 26 - .../src/test/resources/loadLocal.rb | 29 - .../src/test/resources/log4j.xml | 54 -- .../src/test/resources/optionalValidators.js | 28 - .../src/test/resources/optionalValidators.py | 22 - .../src/test/resources/optionalValidators.rb | 39 - .../src/test/resources/paramTest.js | 28 - .../src/test/resources/paramTest.py | 26 - .../src/test/resources/paramTest.rb | 31 - .../src/test/resources/parseXml.js | 36 - .../src/test/resources/readTest.js | 30 - .../src/test/resources/readTest.py | 32 - .../src/test/resources/readTest.rb | 30 - .../src/test/resources/readWithParams.js | 32 - .../src/test/resources/readWithParams.py | 32 - .../src/test/resources/readWithParams.rb | 33 - .../src/test/resources/routeTest.js | 41 - .../src/test/resources/routeTest.py | 37 - .../src/test/resources/routeTest.rb | 39 - .../src/test/resources/simpleConverter.js | 45 - .../src/test/resources/simpleConverter.py | 60 -- .../src/test/resources/simpleConverter.rb | 42 - .../src/test/resources/writeTest.js | 26 - .../src/test/resources/writeTest.py | 22 - .../src/test/resources/writeTest.rb | 32 - .../execute-script-bundle/nar/pom.xml | 36 - nifi/nar-bundles/execute-script-bundle/pom.xml | 81 -- .../framework/administration/pom.xml | 4 +- .../framework/client-dto/pom.xml | 2 +- .../cluster-authorization-provider/pom.xml | 2 +- .../framework/cluster-protocol/pom.xml | 2 +- .../framework/cluster-web/pom.xml | 2 +- .../framework-bundle/framework/cluster/pom.xml | 2 +- .../framework-bundle/framework/core-api/pom.xml | 4 +- .../framework-bundle/framework/core/pom.xml | 2 +- .../file-authorization-provider/pom.xml | 4 +- .../framework-bundle/framework/nar/pom.xml | 2 +- .../framework-bundle/framework/pom.xml | 4 +- .../framework/resources/pom.xml | 2 +- .../framework-bundle/framework/runtime/pom.xml | 2 +- .../framework-bundle/framework/security/pom.xml | 4 +- .../framework/site-to-site/pom.xml | 4 +- .../framework/user-actions/pom.xml | 4 +- .../framework/web/custom-ui-utilities/pom.xml | 2 +- .../framework/web/nifi-jetty/pom.xml | 2 +- .../framework/web/nifi-web-api/pom.xml | 2 +- .../framework/web/nifi-web-docs/pom.xml | 2 +- .../framework/web/nifi-web-error/pom.xml | 2 +- .../framework/web/nifi-web-ui/pom.xml | 2 +- .../framework-bundle/framework/web/pom.xml | 2 +- .../web/web-optimistic-locking/pom.xml | 2 +- .../framework/web/web-security/pom.xml | 2 +- nifi/nar-bundles/framework-bundle/nar/pom.xml | 4 +- nifi/nar-bundles/framework-bundle/pom.xml | 34 +- .../hadoop-bundle/hdfs-processors/pom.xml | 2 +- nifi/nar-bundles/hadoop-bundle/nar/pom.xml | 4 +- nifi/nar-bundles/hadoop-bundle/pom.xml | 6 +- .../hadoop-libraries-bundle/nar/pom.xml | 4 +- .../nar-bundles/hadoop-libraries-bundle/pom.xml | 4 +- nifi/nar-bundles/jetty-bundle/pom.xml | 4 +- nifi/nar-bundles/kafka-bundle/kafka-nar/pom.xml | 4 +- .../kafka-bundle/kafka-processors/pom.xml | 2 +- nifi/nar-bundles/kafka-bundle/pom.xml | 2 +- .../monitor-threshold-bundle/nar/pom.xml | 4 +- .../monitor-threshold-bundle/pom.xml | 8 +- .../monitor-threshold-bundle/processor/pom.xml | 2 +- .../monitor-threshold-bundle/ui/pom.xml | 2 +- .../nar/pom.xml | 4 +- .../persistent-provenance-repository/pom.xml | 2 +- .../pom.xml | 6 +- nifi/nar-bundles/pom.xml | 44 +- .../standard-bundle/jms-processors/pom.xml | 2 +- nifi/nar-bundles/standard-bundle/nar/pom.xml | 4 +- nifi/nar-bundles/standard-bundle/pom.xml | 14 +- .../standard-ganglia-reporter/pom.xml | 2 +- .../standard-prioritizers/pom.xml | 2 +- .../standard-bundle/standard-processors/pom.xml | 2 +- .../standard-reporting-tasks/pom.xml | 2 +- .../pom.xml | 2 +- .../distributed-cache-client-service/pom.xml | 2 +- .../distributed-cache-protocol/pom.xml | 2 +- .../distributed-cache-server/pom.xml | 2 +- .../distributed-cache-services-nar/pom.xml | 4 +- .../distributed-cache-services-bundle/pom.xml | 4 +- .../load-distribution-service-api/pom.xml | 4 +- nifi/nar-bundles/standard-services/pom.xml | 4 +- .../ssl-context-bundle/nar/pom.xml | 4 +- .../ssl-context-bundle/pom.xml | 4 +- .../ssl-context-service/pom.xml | 2 +- .../ssl-context-service-api/pom.xml | 2 +- .../standard-services-api-nar/pom.xml | 4 +- .../update-attribute-bundle/model/pom.xml | 2 +- .../update-attribute-bundle/nar/pom.xml | 4 +- .../nar-bundles/update-attribute-bundle/pom.xml | 10 +- .../update-attribute-bundle/processor/pom.xml | 2 +- .../update-attribute-bundle/ui/pom.xml | 2 +- .../nar/pom.xml | 4 +- .../pom.xml | 6 +- .../volatile-provenance-repository/pom.xml | 2 +- nifi/nifi-api/pom.xml | 4 +- nifi/nifi-bootstrap/pom.xml | 2 +- nifi/nifi-docs/pom.xml | 4 +- nifi/nifi-mock/pom.xml | 4 +- nifi/pom.xml | 85 +- 161 files changed, 2172 insertions(+), 6048 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/DISCLAIMER ---------------------------------------------------------------------- diff --git a/DISCLAIMER b/DISCLAIMER deleted file mode 100644 index 0f8e7a1..0000000 --- a/DISCLAIMER +++ /dev/null @@ -1,15 +0,0 @@ -Apache NiFi is an effort undergoing incubation at the Apache Software -Foundation (ASF), sponsored by the Apache Incubator PMC. - -Incubation is required of all newly accepted projects until a further review -indicates that the infrastructure, communications, and decision making process -have stabilized in a manner consistent with other successful ASF projects. - -While incubation status is not necessarily a reflection of the completeness -or stability of the code, it does indicate that the project has yet to be -fully endorsed by the ASF. - -For more information about the incubation status of the Apache NiFi project -you can go to the following page: - -http://nifi.incubator.apache.org/ http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/LICENSE ---------------------------------------------------------------------- diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d10784d..0000000 --- a/LICENSE +++ /dev/null @@ -1,589 +0,0 @@ - - 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. - -APACHE NIFI SUBCOMPONENTS: - -The Apache NiFi project contains subcomponents with separate copyright -notices and license terms. Your use of the source code for the these -subcomponents is subject to the terms and conditions of the following -licenses. - -The binary distribution of this product bundles 'Antlr 3' which is available -under a "3-clause BSD" license. For details see http://www.antlr3.org/license.html - - Copyright (c) 2010 Terence Parr - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - THE POSSIBILITY OF SUCH DAMAGE. - -The binary distribution of this product bundles 'Paranamer Core' which is -available under a "3-clause BSD" license. -For details see http://paranamer.codehaus.org/paranamer - - Copyright (c) 2006 Paul Hammant & ThoughtWorks Inc - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - THE POSSIBILITY OF SUCH DAMAGE. - -The binary distribution of this product bundles 'xmlenc Library' which is -available under The BSD 2-Clause license found here: -http://www.opensource.org/licenses/bsd-license.php -For details http://xmlenc.sourceforge.net - -The binary distribution of this product bundles 'Protocol Buffer Java API' -which is available under The BSD 2-Clause license found here: -http://www.opensource.org/licenses/bsd-license.php -For details http://code.google.com/p/protobuf - -The binary distribution of this product bundles 'JZlib' which is -available under a "3-clause BSD" license. -For details see http://www.jcraft.com/jzlib/ - - Copyright (c) 2000-2011 ymnk, JCraft,Inc. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - - 3. The names of the authors may not be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, - INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The binary distribution of this product bundles 'JSch' which is -available under a "3-clause BSD" license. -For details see http://www.jcraft.com/jsch/ - - Copyright (c) 2002-2014 Atsuhiko Yamanaka, JCraft,Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - - 3. The names of the authors may not be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, - INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -This product bundles 'Javascript D3 Library' which is available under a -"3-clause BSD" license. For details see http://d3js.org/ - - Copyright (c) 2010-2014, Michael Bostock - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * The name Michael Bostock may not be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The binary distribution of this product bundles 'BouncyCastle Provider' -which is available under an MIT style license. -For details see http://www.bouncycastle.org/java.html - - Copyright (c) 2000 - 2013 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org) - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. - -The binary distribution of this product bundles 'SLF4J' which is available -under an MIT style license. -For details see http://www.qos.ch - - Copyright (c) 2004-2013 QOS.ch - All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -This product bundles 'jQuery Grid' which is available under the MIT License. -http://www.opensource.org/licenses/mit-license.php -For details see http://jqgrid.com/ - Copyright (c) 2008, Tony Tomov, t...@trirand.com - -This product bundles 'CodeMirror' which is available under an MIT style license. -For details see http://codemirror.net/doc/compress.html - - Copyright (C) 2014 by Marijn Haverbeke <mari...@gmail.com> and others - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - -This product bundles 'jQuery UI' which is available under an MIT style license. -For details see http://jqueryui.com - - Copyright 2014 jQuery Foundation and other contributors, - http://jqueryui.com/ - - This software consists of voluntary contributions made by many - individuals (AUTHORS.txt, http://jqueryui.com/about) For exact - contribution history, see the revision history and logs, available - at http://jquery-ui.googlecode.com/svn/ - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -This product bundles 'SLICKGRID' which is available under an MIT style license. -For details see http://github.com/mleibman/slickgrid - Copyright (c) 2010 Michael Leibman, http://github.com/mleibman/slickgrid - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -This product bundles 'qTip2' which is available under an MIT style license. -For details see http://qtip2.com - - Copyright (c) 2012 Craig Michael Thompson - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following - conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - OTHER DEALINGS IN THE SOFTWARE. - -This product bundles 'jQuery MiniColors' which is available under the MIT License. -http://opensource.org/licenses/MIT -For details see http://www.abeautifulsite.net/ - Copyright Cory LaViska for A Beautiful Site, LLC. (http://www.abeautifulsite.net/) - -The binary distribution of this product bundles the following libraries: - Expression Languagee 3.0 API, JavaServer Pages(TM) API, - JavaServer Pages(TM) Standard Tag Library API, Expression Language 3.0, - JSP implementation, JavaServer Pages (TM) TagLib Implementation, - Java Servlet API -which are all available under the CDDL 1.0 License. -https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html -For details see https://glassfish.java.net/ - Copyright (c) 2010-2014 Oracle and/or its affiliates. All rights reserved. - -The binary distribution of this product bundles the following libraries: - jersey-core, jersey-json, jersey-server, jersey-servlet, jersey-multipart, - jersey-spring, JAXB RI, JAXB API bundle for GlassFish V3, - MIME streaming extension, JavaMail API (compat) -which are all available under the CDDL 1.1 License. -http://glassfish.java.net/public/CDDL+GPL_1_1.html -For details see https://glassfish.java.net/ - Copyright (c) 2010-2014 Oracle and/or its affiliates. All rights reserved. - -The binary distribution of this product bundles 'H2 Database' which is available -under the MPL 2.0 license. -http://www.h2database.com/html/license.html#mpl2 -For details see http://www.h2database.com - This software contains unmodified binary redistributions for H2 database - engine (http://www.h2database.com/), which is dual licensed and available - under the MPL 2.0 (Mozilla Public License) or under the - EPL 1.0 (Eclipse Public License). - An original copy of the license agreement can be found - at: http://www.h2database.com/html/license.html - -The binary distribution of this product bundles 'Saxon-HE' which is available -under the MPL 2.0 license http://www.mozilla.org/MPL/2.0/ -For details see http://saxonica.com/download/opensource.xml - -The binary distribution of this product bundles 'AspectJ Weaver' which is -available under the EPL 1.0 license http://www.eclipse.org/legal/epl-v10.html -For details see http://www.aspectj.org - -The binary distribution of this product bundles 'Logback' which is available -under the EPL 1.0 license http://www.eclipse.org/legal/epl-v10.html -For details see http://logback.qos.ch - Copyright (C) 1999-2012, QOS.ch. All rights reserved. - -The binary distribution of this product bundles 'XZ for Java' which is available -in the 'public domain'. For details see http://tukaani.org/xz/java.html - -The binary distribution of this product bundles 'AOP Alliance' which is -available in the 'public domain'. -For details see http://aopalliance.sourceforge.net - -This product bundles 'json2.js' which is available in the 'public domain'. -For details see https://github.com/douglascrockford/JSON-js - -This product bundles 'reset.css' which is available in the 'public domain'. -For details see http://meyerweb.com/eric/tools/css/reset/ - http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/NOTICE ---------------------------------------------------------------------- diff --git a/NOTICE b/NOTICE deleted file mode 100644 index 41ecce9..0000000 --- a/NOTICE +++ /dev/null @@ -1,14 +0,0 @@ -Apache NiFi -Copyright 2014 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -Please note that this product bundles software libraries which are covered -by the following "weak copyleft" style licenses including; -CDDL v1.0, CDDL v1.1, MPL v2.0, and EPL v1.0 - -Please note that this product bundles software libraries which are licensed -to the 'public domain'. - -Please see LICENSE for additional copyright and licensing information. http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/README.md ---------------------------------------------------------------------- diff --git a/README.md b/README.md index 5fe3cb4..2f5fad3 100644 --- a/README.md +++ b/README.md @@ -4,35 +4,15 @@ Apache NiFi is a dataflow system based on the concepts of flow-based programming ## Table of Contents -- [Features](#features) - [Getting Started](#getting-started) -- [Getting Help](#getting-help) -- [Requirements](#requirements) - [License](#license) - [Disclaimer](#disclaimer) -## Features - -Apache NiFi supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic. Some of the high-level capabilities and objectives of Apache NiFi include: - -- Web-based user interface for seamless experience between design, control, feedback, and monitoring of data flows -- Highly configurable along several dimensions of quality of service such as loss tolerant versus guaranteed delivery, low latency versus high throughput, and priority based queuing -- Fine-grained data provenance for all data received, forked, joined, cloned, modified, sent, and ultimately dropped as data reaches its configured end-state -- Component-based extension model along well defined interfaces enabling rapid development and effective testing - ## Getting Started -Execute <nifi install dir>/bin/nifi.sh start - -## Getting Help -If you have questions, you can reach out to our mailing list: d...@nifi.incubator.apache.org -([archive](http://mail-archives.apache.org/mod_mbox/incubator-nifi-dev)). -We're also often available in IRC: #nifi on -[irc.freenode.net](http://webchat.freenode.net/?channels=#nifi). - - -## Requirements -* JDK 1.7 or higher +- Build the nar-maven-plugin. Change directory to 'nar-maven-plugin' and +follow the directions found there. +- Build nifi. Change directory to 'nifi' and follow the directions found there. ## License @@ -64,32 +44,3 @@ While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. -## Export Control - -This distribution includes cryptographic software. The country in which you -currently reside may have restrictions on the import, possession, use, and/or -re-export to another country, of encryption software. BEFORE using any -encryption software, please check your country's laws, regulations and -policies concerning the import, possession, or use, and re-export of encryption -software, to see if this is permitted. See <http://www.wassenaar.org/> for more -information. - -The U.S. Government Department of Commerce, Bureau of Industry and Security -(BIS), has classified this software as Export Commodity Control Number (ECCN) -5D002.C.1, which includes information security software using or performing -cryptographic functions with asymmetric algorithms. The form and manner of this -Apache Software Foundation distribution makes it eligible for export under the -License Exception ENC Technology Software Unrestricted (TSU) exception (see the -BIS Export Administration Regulations, Section 740.13) for both object code and -source code. - -The following provides more details on the included cryptographic software: - -Apache NiFi uses BouncyCastle, Jasypt, JCraft Inc., and the built-in -java cryptography libraries for SSL, SSH, and the protection -of sensitive configuration parameters. See -http://bouncycastle.org/about.html -http://www.jasypt.org/faq.html -http://jcraft.com/c-info.html -http://www.oracle.com/us/products/export/export-regulations-345813.html -for more details on each of these libraries cryptography features. http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/maven-plugins/nar-maven-plugin/pom.xml ---------------------------------------------------------------------- diff --git a/maven-plugins/nar-maven-plugin/pom.xml b/maven-plugins/nar-maven-plugin/pom.xml deleted file mode 100644 index 8dea49c..0000000 --- a/maven-plugins/nar-maven-plugin/pom.xml +++ /dev/null @@ -1,273 +0,0 @@ -<?xml version="1.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 - 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/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache</groupId> - <artifactId>apache</artifactId> - <version>16</version> - <relativePath /> - </parent> - <groupId>org.apache.nifi</groupId> - <artifactId>nar-maven-plugin</artifactId> - <version>0.0.2-incubating-SNAPSHOT</version> - <packaging>maven-plugin</packaging> - <name>Apache NiFi NAR Plugin</name> - <description>Apache NiFi Nar Plugin. It is currently a part of the Apache Incubator.</description> - <url>http://nifi.incubator.apache.org/maven-site/</url> - <organization> - <name>Apache NiFi (incubating) Project</name> - <url>http://nifi.incubating.apache.org/</url> - </organization> - <licenses> - <license> - <name>Apache License, Version 2.0</name> - <url>http://www.apache.org/licenses/LICENSE-2.0</url> - </license> - </licenses> - <mailingLists> - <mailingList> - <name>Dev</name> - <subscribe>dev-subscr...@nifi.incubator.apache.org</subscribe> - <unsubscribe>dev-unsubscr...@nifi.incubator.apache.org</unsubscribe> - <post>d...@nifi.incubator.apache.org</post> - <archive>http://mail-archives.apache.org/mod_mbox/incubator-nifi-dev</archive> - </mailingList> - <mailingList> - <name>Commits</name> - <subscribe>commits-subscr...@nifi.incubator.apache.org</subscribe> - <unsubscribe>commits-unsubscr...@nifi.incubator.apache.org</unsubscribe> - <post>commits@nifi.incubator.apache.org</post> - <archive>http://mail-archives.apache.org/mod_mbox/incubator-nifi-commits</archive> - </mailingList> - </mailingLists> - <scm> - <connection>scm:git:git://git.apache.org/incubator-nifi.git</connection> - <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-nifi.git</developerConnection> - <url>https://git-wip-us.apache.org/repos/asf?p=incubator-nifi.git</url> - <tag>HEAD</tag> - </scm> - <issueManagement> - <system>JIRA</system> - <url>https://issues.apache.org/jira/browse/NIFI</url> - </issueManagement> - <properties> - <maven.compiler.source>1.7</maven.compiler.source> - <maven.compiler.target>1.7</maven.compiler.target> - <maven.min-version>3.0.5</maven.min-version> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> - </properties> - <prerequisites> - <maven>${maven.min-version}</maven> - </prerequisites> - <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-resources-plugin</artifactId> - <version>2.7</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.18</version> - <configuration> - <argLine>-Xmx1G</argLine> - </configuration> - </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.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.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <version>1.3.2</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>2.10.1</version> - <configuration> - <failOnError>false</failOnError> - <quiet>true</quiet> - <show>private</show> - <encoding>UTF-8</encoding> - <quiet>true</quiet> - <javadocVersion>1.7</javadocVersion> - <additionalJOption>-J-Xmx512m</additionalJOption> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-release-plugin</artifactId> - <version>2.5.1</version> - <configuration> - <useReleaseProfile>true</useReleaseProfile> - <releaseProfiles>apache-release</releaseProfiles> - <autoVersionSubmodules>true</autoVersionSubmodules> - <goals>deploy</goals> - <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>maven-plugins/nar-maven-plugin/pom.xml</pomFileName> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.5</version> - <configuration> - <archive> - <manifestEntries> - <Implementation-Build>${mvngit.commit.id}</Implementation-Build> - </manifestEntries> - </archive> - </configuration> - </plugin> - </plugins> - </pluginManagement> - <plugins> - <plugin> - <groupId>org.sonatype.plugins</groupId> - <artifactId>nexus-staging-maven-plugin</artifactId> - <version>1.6.5</version> - <extensions>true</extensions> - <configuration> - <serverId>repository.apache.org</serverId> - <nexusUrl>https://repository.apache.org/</nexusUrl> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-plugin-plugin</artifactId> - <executions> - <execution> - <id>default-descriptor</id> - <goals> - <goal>descriptor</goal> - </goals> - <phase>process-classes</phase> - </execution> - <execution> - <id>help-descriptor</id> - <goals> - <goal>helpmojo</goal> - </goals> - <phase>process-classes</phase> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.rat</groupId> - <artifactId>apache-rat-plugin</artifactId> - <configuration> - <excludes> - <exclude>nb-configuration.xml</exclude> - <exclude>nbactions.xml</exclude> - </excludes> - </configuration> - </plugin> - </plugins> - </build> - <dependencies> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - <version>2.2.1</version> - </dependency> - <dependency> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <type>maven-plugin</type> - <version>2.9</version> - </dependency> - <dependency> - <!-- No code from maven-jar-plugin is actually used; it's included - just to simplify the dependencies list. --> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.5</version> - </dependency> - <dependency> - <groupId>org.apache.maven.plugin-tools</groupId> - <artifactId>maven-plugin-annotations</artifactId> - <scope>provided</scope> - <version>3.3</version> - </dependency> - </dependencies> - <profiles> - <profile> - <!-- Automatically check for licenses. - Activate with -P check-licenses --> - <id>check-licenses</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> - </plugins> - </build> - </profile> - </profiles> -</project> http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/maven-plugins/nar-maven-plugin/src/main/java/nifi/NarMojo.java ---------------------------------------------------------------------- diff --git a/maven-plugins/nar-maven-plugin/src/main/java/nifi/NarMojo.java b/maven-plugins/nar-maven-plugin/src/main/java/nifi/NarMojo.java deleted file mode 100644 index 9b70ec0..0000000 --- a/maven-plugins/nar-maven-plugin/src/main/java/nifi/NarMojo.java +++ /dev/null @@ -1,613 +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 - * - * 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. - */ -package nifi; - -import java.io.File; -import java.io.IOException; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import org.apache.maven.archiver.MavenArchiveConfiguration; -import org.apache.maven.archiver.MavenArchiver; -import org.apache.maven.artifact.Artifact; -import org.apache.maven.artifact.DependencyResolutionRequiredException; -import org.apache.maven.artifact.factory.ArtifactFactory; -import org.apache.maven.artifact.installer.ArtifactInstaller; -import org.apache.maven.artifact.metadata.ArtifactMetadataSource; -import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.artifact.repository.ArtifactRepositoryFactory; -import org.apache.maven.artifact.resolver.ArtifactCollector; -import org.apache.maven.artifact.resolver.ArtifactNotFoundException; -import org.apache.maven.artifact.resolver.ArtifactResolutionException; -import org.apache.maven.artifact.resolver.ArtifactResolver; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugin.dependency.utils.DependencyStatusSets; -import org.apache.maven.plugin.dependency.utils.DependencyUtil; -import org.apache.maven.plugin.dependency.utils.filters.DestFileFilter; -import org.apache.maven.plugin.dependency.utils.resolvers.ArtifactsResolver; -import org.apache.maven.plugin.dependency.utils.resolvers.DefaultArtifactsResolver; -import org.apache.maven.plugin.dependency.utils.translators.ArtifactTranslator; -import org.apache.maven.plugin.dependency.utils.translators.ClassifierTypeTranslator; -import org.apache.maven.plugins.annotations.LifecyclePhase; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.plugins.annotations.ResolutionScope; -import org.apache.maven.project.MavenProject; -import org.apache.maven.execution.MavenSession; -import org.apache.maven.plugins.annotations.Component; -import org.apache.maven.project.MavenProjectHelper; -import org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException; -import org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter; -import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter; -import org.apache.maven.shared.artifact.filter.collection.ClassifierFilter; -import org.apache.maven.shared.artifact.filter.collection.FilterArtifacts; -import org.apache.maven.shared.artifact.filter.collection.GroupIdFilter; -import org.apache.maven.shared.artifact.filter.collection.ScopeFilter; -import org.apache.maven.shared.artifact.filter.collection.ProjectTransitivityFilter; -import org.apache.maven.shared.artifact.filter.collection.TypeFilter; -import org.codehaus.plexus.archiver.ArchiverException; -import org.codehaus.plexus.archiver.jar.JarArchiver; -import org.codehaus.plexus.archiver.jar.ManifestException; -import org.codehaus.plexus.archiver.manager.ArchiverManager; -import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.StringUtils; - -/** - * Packages the current project as an Apache NiFi Archive (NAR). - * - * The following code is derived from maven-dependencies-plugin and - * maven-jar-plugin. The functionality of CopyDependenciesMojo and JarMojo was - * simplified to the use case of NarMojo. - * - */ -@Mojo(name = "nar", defaultPhase = LifecyclePhase.PACKAGE, threadSafe = false, requiresDependencyResolution = ResolutionScope.RUNTIME) -public class NarMojo extends AbstractMojo { - - private static final String[] DEFAULT_EXCLUDES = new String[]{"**/package.html"}; - private static final String[] DEFAULT_INCLUDES = new String[]{"**/**"}; - - /** - * POM - * - */ - @Parameter(defaultValue = "${project}", readonly = true, required = true) - protected MavenProject project; - - @Parameter(defaultValue = "${session}", readonly = true, required = true) - protected MavenSession session; - - /** - * List of files to include. Specified as fileset patterns. - */ - @Parameter(property = "includes") - protected String[] includes; - /** - * List of files to exclude. Specified as fileset patterns. - */ - @Parameter(property = "excludes") - protected String[] excludes; - /** - * Name of the generated NAR. - * - */ - @Parameter(alias = "narName", property = "nar.finalName", defaultValue = "${project.build.finalName}", required = true) - protected String finalName; - - /** - * The Jar archiver. - * - * \@\component role="org.codehaus.plexus.archiver.Archiver" roleHint="jar" - */ - @Component(role = org.codehaus.plexus.archiver.Archiver.class, hint = "jar") - private JarArchiver jarArchiver; - /** - * The archive configuration to use. - * - * See <a - * href="http://maven.apache.org/shared/maven-archiver/index.html">the - * documentation for Maven Archiver</a>. - * - */ - @Parameter(property = "archive") - protected final MavenArchiveConfiguration archive = new MavenArchiveConfiguration(); - /** - * Path to the default MANIFEST file to use. It will be used if - * <code>useDefaultManifestFile</code> is set to <code>true</code>. - * - */ - @Parameter(property = "defaultManifestFiles", defaultValue = "${project.build.outputDirectory}/META-INF/MANIFEST.MF", readonly = true, required = true) - protected File defaultManifestFile; - - /** - * Set this to <code>true</code> to enable the use of the - * <code>defaultManifestFile</code>. - * - * @since 2.2 - */ - @Parameter(property = "nar.useDefaultManifestFile", defaultValue = "false") - protected boolean useDefaultManifestFile; - - @Component - protected MavenProjectHelper projectHelper; - - /** - * Whether creating the archive should be forced. - * - */ - @Parameter(property = "nar.forceCreation", defaultValue = "false") - protected boolean forceCreation; - - /** - * Classifier to add to the artifact generated. If given, the artifact will - * be an attachment instead. - * - */ - @Parameter(property = "classifier") - protected String classifier; - - @Component - protected ArtifactInstaller installer; - - @Component - protected ArtifactRepositoryFactory repositoryFactory; - - /** - * This only applies if the classifier parameter is used. - * - */ - @Parameter(property = "mdep.failOnMissingClassifierArtifact", defaultValue = "true", required = false) - protected boolean failOnMissingClassifierArtifact = true; - - /** - * Comma Separated list of Types to include. Empty String indicates include - * everything (default). - * - */ - @Parameter(property = "includeTypes", required = false) - protected String includeTypes; - - /** - * Comma Separated list of Types to exclude. Empty String indicates don't - * exclude anything (default). - * - */ - @Parameter(property = "excludeTypes", required = false) - protected String excludeTypes; - - /** - * Scope to include. An Empty string indicates all scopes (default). - * - */ - @Parameter(property = "includeScope", required = false) - protected String includeScope; - - /** - * Scope to exclude. An Empty string indicates no scopes (default). - * - */ - @Parameter(property = "excludeScope", required = false) - protected String excludeScope; - - /** - * Comma Separated list of Classifiers to include. Empty String indicates - * include everything (default). - * - */ - @Parameter(property = "includeClassifiers", required = false) - protected String includeClassifiers; - - /** - * Comma Separated list of Classifiers to exclude. Empty String indicates - * don't exclude anything (default). - * - */ - @Parameter(property = "excludeClassifiers", required = false) - protected String excludeClassifiers; - - /** - * Specify classifier to look for. Example: sources - * - */ - @Parameter(property = "classifier", required = false) - protected String copyDepClassifier; - - /** - * Specify type to look for when constructing artifact based on classifier. - * Example: java-source,jar,war, nar - * - */ - @Parameter(property = "type", required = false, defaultValue = "nar") - protected String type; - - /** - * Comma separated list of Artifact names too exclude. - * - */ - @Parameter(property = "excludeArtifacts", required = false) - protected String excludeArtifactIds; - - /** - * Comma separated list of Artifact names to include. - * - */ - @Parameter(property = "includeArtifacts", required = false) - protected String includeArtifactIds; - - /** - * Comma separated list of GroupId Names to exclude. - * - */ - @Parameter(property = "excludeArtifacts", required = false) - protected String excludeGroupIds; - - /** - * Comma separated list of GroupIds to include. - * - */ - @Parameter(property = "includeGroupIds", required = false) - protected String includeGroupIds; - - /** - * Directory to store flag files - * - */ - @Parameter(property = "markersDirectory", required = false, defaultValue = "${project.build.directory}/dependency-maven-plugin-markers") - protected File markersDirectory; - - /** - * Overwrite release artifacts - * - */ - @Parameter(property = "overWriteReleases", required = false) - protected boolean overWriteReleases; - - /** - * Overwrite snapshot artifacts - * - */ - @Parameter(property = "overWriteSnapshots", required = false) - protected boolean overWriteSnapshots; - - /** - * Overwrite artifacts that don't exist or are older than the source. - * - */ - @Parameter(property = "overWriteIfNewer", required = false, defaultValue = "true") - protected boolean overWriteIfNewer; - - @Parameter( property = "projectBuildDirectory", required = false, defaultValue = "${project.build.directory}") - protected File projectBuildDirectory; - - /** - * Used to look up Artifacts in the remote repository. - */ - @Component - protected ArtifactFactory factory; - - /** - * Used to look up Artifacts in the remote repository. - * - */ - @Component - protected ArtifactResolver resolver; - - /** - * Artifact collector, needed to resolve dependencies. - * - */ - @Component(role = org.apache.maven.artifact.resolver.ArtifactCollector.class) - protected ArtifactCollector artifactCollector; - - @Component(role = org.apache.maven.artifact.metadata.ArtifactMetadataSource.class) - protected ArtifactMetadataSource artifactMetadataSource; - - /** - * Location of the local repository. - * - */ - @Parameter(property = "localRepository", required = true, readonly = true) - protected ArtifactRepository local; - - /** - * List of Remote Repositories used by the resolver - * - */ - @Parameter(property = "project.remoteArtifactRepositories", required = true, readonly = true) - protected List remoteRepos; - - /** - * To look up Archiver/UnArchiver implementations - * - */ - @Component - protected ArchiverManager archiverManager; - - /** - * Contains the full list of projects in the reactor. - * - */ - @Parameter(property = "reactorProjects", required = true, readonly = true) - protected List reactorProjects; - - /** - * If the plugin should be silent. - * - */ - @Parameter(property = "silent", required = false, defaultValue = "false") - public boolean silent; - - /** - * Output absolute filename for resolved artifacts - * - */ - @Parameter(property = "outputAbsoluteArtifactFilename", defaultValue = "false", required = false) - protected boolean outputAbsoluteArtifactFilename; - - @Override - public void execute() throws MojoExecutionException, MojoFailureException { - copyDependencies(); - makeNar(); - } - - private void copyDependencies() throws MojoExecutionException { - DependencyStatusSets dss = getDependencySets(this.failOnMissingClassifierArtifact); - Set artifacts = dss.getResolvedDependencies(); - - for (Object artifactObj : artifacts) { - copyArtifact((Artifact) artifactObj); - } - - artifacts = dss.getSkippedDependencies(); - for (Object artifactOjb : artifacts) { - Artifact artifact = (Artifact) artifactOjb; - getLog().info(artifact.getFile().getName() + " already exists in destination."); - } - } - - protected void copyArtifact(Artifact artifact) throws MojoExecutionException { - String destFileName = DependencyUtil.getFormattedFileName(artifact, false); - final File destDir = DependencyUtil.getFormattedOutputDirectory(false, false, false, false, false, getDependenciesDirectory(), artifact); - final File destFile = new File(destDir, destFileName); - copyFile(artifact.getFile(), destFile); - } - - protected Artifact getResolvedPomArtifact(Artifact artifact) { - Artifact pomArtifact = this.factory.createArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), "", "pom"); - // Resolve the pom artifact using repos - try { - this.resolver.resolve(pomArtifact, this.remoteRepos, this.local); - } catch (ArtifactResolutionException | ArtifactNotFoundException e) { - getLog().info(e.getMessage()); - } - return pomArtifact; - } - - protected ArtifactsFilter getMarkedArtifactFilter() { - return new DestFileFilter(this.overWriteReleases, this.overWriteSnapshots, this.overWriteIfNewer, false, false, false, false, false, getDependenciesDirectory()); - } - - protected DependencyStatusSets getDependencySets(boolean stopOnFailure) throws MojoExecutionException { - // add filters in well known order, least specific to most specific - FilterArtifacts filter = new FilterArtifacts(); - - filter.addFilter(new ProjectTransitivityFilter(project.getDependencyArtifacts(), false)); - filter.addFilter(new ScopeFilter(this.includeScope, this.excludeScope)); - filter.addFilter(new TypeFilter(this.includeTypes, this.excludeTypes)); - filter.addFilter(new ClassifierFilter(this.includeClassifiers, this.excludeClassifiers)); - filter.addFilter(new GroupIdFilter(this.includeGroupIds, this.excludeGroupIds)); - filter.addFilter(new ArtifactIdFilter(this.includeArtifactIds, this.excludeArtifactIds)); - - // explicitly filter our nar dependencies - filter.addFilter(new TypeFilter("", "nar")); - - // start with all artifacts. - Set artifacts = project.getArtifacts(); - - // perform filtering - try { - artifacts = filter.filter(artifacts); - } catch (ArtifactFilterException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - - // transform artifacts if classifier is set - final DependencyStatusSets status; - if (StringUtils.isNotEmpty(copyDepClassifier)) { - status = getClassifierTranslatedDependencies(artifacts, stopOnFailure); - } else { - status = filterMarkedDependencies(artifacts); - } - - return status; - } - - protected DependencyStatusSets getClassifierTranslatedDependencies(Set artifacts, boolean stopOnFailure) throws MojoExecutionException { - Set unResolvedArtifacts = new HashSet(); - Set resolvedArtifacts = artifacts; - DependencyStatusSets status = new DependencyStatusSets(); - - // possibly translate artifacts into a new set of artifacts based on the - // classifier and type - // if this did something, we need to resolve the new artifacts - if (StringUtils.isNotEmpty(copyDepClassifier)) { - ArtifactTranslator translator = new ClassifierTypeTranslator(this.copyDepClassifier, this.type, this.factory); - artifacts = translator.translate(artifacts, getLog()); - - status = filterMarkedDependencies(artifacts); - - // the unskipped artifacts are in the resolved set. - artifacts = status.getResolvedDependencies(); - - // resolve the rest of the artifacts - ArtifactsResolver artifactsResolver = new DefaultArtifactsResolver(this.resolver, this.local, - this.remoteRepos, stopOnFailure); - resolvedArtifacts = artifactsResolver.resolve(artifacts, getLog()); - - // calculate the artifacts not resolved. - unResolvedArtifacts.addAll(artifacts); - unResolvedArtifacts.removeAll(resolvedArtifacts); - } - - // return a bean of all 3 sets. - status.setResolvedDependencies(resolvedArtifacts); - status.setUnResolvedDependencies(unResolvedArtifacts); - - return status; - } - - protected DependencyStatusSets filterMarkedDependencies(Set artifacts) throws MojoExecutionException { - // remove files that have markers already - FilterArtifacts filter = new FilterArtifacts(); - filter.clearFilters(); - filter.addFilter(getMarkedArtifactFilter()); - - Set unMarkedArtifacts; - try { - unMarkedArtifacts = filter.filter(artifacts); - } catch (ArtifactFilterException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - - // calculate the skipped artifacts - Set skippedArtifacts = new HashSet(); - skippedArtifacts.addAll(artifacts); - skippedArtifacts.removeAll(unMarkedArtifacts); - - return new DependencyStatusSets(unMarkedArtifacts, null, skippedArtifacts); - } - - protected void copyFile(File artifact, File destFile) throws MojoExecutionException { - try { - getLog().info("Copying " + (this.outputAbsoluteArtifactFilename ? artifact.getAbsolutePath() : artifact.getName()) + " to " + destFile); - FileUtils.copyFile(artifact, destFile); - } catch (Exception e) { - throw new MojoExecutionException("Error copying artifact from " + artifact + " to " + destFile, e); - } - } - - private File getClassesDirectory() { - final File outputDirectory = projectBuildDirectory; - return new File(outputDirectory, "classes"); - } - - private File getDependenciesDirectory() { - return new File(getClassesDirectory(), "META-INF/bundled-dependencies"); - } - - private void makeNar() throws MojoExecutionException { - File narFile = createArchive(); - - if (classifier != null) { - projectHelper.attachArtifact(project, "nar", classifier, narFile); - } else { - project.getArtifact().setFile(narFile); - } - } - - public File createArchive() throws MojoExecutionException { - final File outputDirectory = projectBuildDirectory; - File narFile = getNarFile(outputDirectory, finalName, classifier); - MavenArchiver archiver = new MavenArchiver(); - archiver.setArchiver(jarArchiver); - archiver.setOutputFile(narFile); - archive.setForced(forceCreation); - - try { - File contentDirectory = getClassesDirectory(); - if (!contentDirectory.exists()) { - getLog().warn("NAR will be empty - no content was marked for inclusion!"); - } else { - archiver.getArchiver().addDirectory(contentDirectory, getIncludes(), getExcludes()); - } - - File existingManifest = defaultManifestFile; - if (useDefaultManifestFile && existingManifest.exists() && archive.getManifestFile() == null) { - getLog().info("Adding existing MANIFEST to archive. Found under: " + existingManifest.getPath()); - archive.setManifestFile(existingManifest); - } - - // automatically add the artifact id to the manifest - archive.addManifestEntry("Nar-Id", project.getArtifactId()); - - // look for a nar dependency - String narDependency = getNarDependency(); - if (narDependency != null) { - archive.addManifestEntry("Nar-Dependency-Id", narDependency); - } - - archiver.createArchive(session, project, archive); - return narFile; - } catch (ArchiverException | MojoExecutionException | ManifestException | IOException | DependencyResolutionRequiredException e) { - throw new MojoExecutionException("Error assembling NAR", e); - } - } - - private String[] getIncludes() { - if (includes != null && includes.length > 0) { - return includes; - } - return DEFAULT_INCLUDES; - } - - private String[] getExcludes() { - if (excludes != null && excludes.length > 0) { - return excludes; - } - return DEFAULT_EXCLUDES; - } - - protected File getNarFile(File basedir, String finalName, String classifier) { - if (classifier == null) { - classifier = ""; - } else if (classifier.trim().length() > 0 && !classifier.startsWith("-")) { - classifier = "-" + classifier; - } - - return new File(basedir, finalName + classifier + ".nar"); - } - - private String getNarDependency() throws MojoExecutionException { - String narDependency = null; - - // get nar dependencies - FilterArtifacts filter = new FilterArtifacts(); - filter.addFilter(new TypeFilter("nar", "")); - - // start with all artifacts. - Set artifacts = project.getArtifacts(); - - // perform filtering - try { - artifacts = filter.filter(artifacts); - } catch (ArtifactFilterException e) { - throw new MojoExecutionException(e.getMessage(), e); - } - - // ensure there is a single nar dependency - if (artifacts.size() > 1) { - throw new MojoExecutionException("Each NAR represents a ClassLoader. A NAR dependency allows that NAR's ClassLoader to be " - + "used as the parent of this NAR's ClassLoader. As a result, only a single NAR dependency is allowed."); - } else if (artifacts.size() == 1) { - final Artifact artifact = (Artifact) artifacts.iterator().next(); - narDependency = artifact.getArtifactId(); - } - - return narDependency; - } -} http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/maven-plugins/nar-maven-plugin/src/main/resources/META-INF/plexus/components.xml ---------------------------------------------------------------------- diff --git a/maven-plugins/nar-maven-plugin/src/main/resources/META-INF/plexus/components.xml b/maven-plugins/nar-maven-plugin/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 0680d18..0000000 --- a/maven-plugins/nar-maven-plugin/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.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 - 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. ---> -<component-set> - <components> - <component> - <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role> - <role-hint>nar</role-hint> - <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation> - <configuration> - <lifecycles> - <lifecycle> - <id>default</id> - <phases> - <process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources> - <compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile> - <process-test-resources>org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources> - <test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile> - <test>org.apache.maven.plugins:maven-surefire-plugin:test</test> - <package>org.apache.nifi:nar-maven-plugin:nar</package> - <install>org.apache.maven.plugins:maven-install-plugin:install</install> - <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy> - </phases> - </lifecycle> - </lifecycles> - </configuration> - </component> - <component> - <role>org.apache.maven.artifact.handler.ArtifactHandler</role> - <role-hint>nar</role-hint> - <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation> - <configuration> - <type>nar</type> - <language>java</language> - <addedToClasspath>false</addedToClasspath> - <includesDependencies>true</includesDependencies> - </configuration> - </component> - </components> -</component-set> http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nar-maven-plugin/DISCLAIMER ---------------------------------------------------------------------- diff --git a/nar-maven-plugin/DISCLAIMER b/nar-maven-plugin/DISCLAIMER new file mode 100644 index 0000000..0f8e7a1 --- /dev/null +++ b/nar-maven-plugin/DISCLAIMER @@ -0,0 +1,15 @@ +Apache NiFi is an effort undergoing incubation at the Apache Software +Foundation (ASF), sponsored by the Apache Incubator PMC. + +Incubation is required of all newly accepted projects until a further review +indicates that the infrastructure, communications, and decision making process +have stabilized in a manner consistent with other successful ASF projects. + +While incubation status is not necessarily a reflection of the completeness +or stability of the code, it does indicate that the project has yet to be +fully endorsed by the ASF. + +For more information about the incubation status of the Apache NiFi project +you can go to the following page: + +http://nifi.incubator.apache.org/