You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2015/01/17 09:19:07 UTC
[1/6] incubator-nifi git commit: NIFI-270 sent an e-mail to dev
explaining all the moving parts
Repository: incubator-nifi
Updated Branches:
refs/heads/NIFI-270-2 [created] bc94f716c
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/kafka-bundle/kafka-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/kafka-bundle/kafka-processors/pom.xml b/nifi/nar-bundles/kafka-bundle/kafka-processors/pom.xml
index 8cad323..d863954 100644
--- a/nifi/nar-bundles/kafka-bundle/kafka-processors/pom.xml
+++ b/nifi/nar-bundles/kafka-bundle/kafka-processors/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>kafka-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/kafka-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/kafka-bundle/pom.xml b/nifi/nar-bundles/kafka-bundle/pom.xml
index 146db12..8c95ea8 100644
--- a/nifi/nar-bundles/kafka-bundle/pom.xml
+++ b/nifi/nar-bundles/kafka-bundle/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/monitor-threshold-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/monitor-threshold-bundle/nar/pom.xml b/nifi/nar-bundles/monitor-threshold-bundle/nar/pom.xml
index 480b5ee..3b50904 100644
--- a/nifi/nar-bundles/monitor-threshold-bundle/nar/pom.xml
+++ b/nifi/nar-bundles/monitor-threshold-bundle/nar/pom.xml
@@ -17,11 +17,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>monitor-threshold-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>monitor-threshold-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>MonitorThreshold-NAR</name>
<packaging>nar</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/monitor-threshold-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/monitor-threshold-bundle/pom.xml b/nifi/nar-bundles/monitor-threshold-bundle/pom.xml
index a19153c..90ea105 100644
--- a/nifi/nar-bundles/monitor-threshold-bundle/pom.xml
+++ b/nifi/nar-bundles/monitor-threshold-bundle/pom.xml
@@ -17,11 +17,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>monitor-threshold-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>MonitorThreshold-Bundle</name>
<packaging>pom</packaging>
@@ -38,13 +38,13 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>monitor-threshold-processor</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>monitor-threshold-ui</artifactId>
<type>war</type>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/monitor-threshold-bundle/processor/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/monitor-threshold-bundle/processor/pom.xml b/nifi/nar-bundles/monitor-threshold-bundle/processor/pom.xml
index 256f878..be840a0 100644
--- a/nifi/nar-bundles/monitor-threshold-bundle/processor/pom.xml
+++ b/nifi/nar-bundles/monitor-threshold-bundle/processor/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>monitor-threshold-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>monitor-threshold-processor</artifactId>
<name>MonitorThreshold-Processor</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/monitor-threshold-bundle/ui/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/monitor-threshold-bundle/ui/pom.xml b/nifi/nar-bundles/monitor-threshold-bundle/ui/pom.xml
index af63349..acdb461 100644
--- a/nifi/nar-bundles/monitor-threshold-bundle/ui/pom.xml
+++ b/nifi/nar-bundles/monitor-threshold-bundle/ui/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>monitor-threshold-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>monitor-threshold-ui</artifactId>
<packaging>war</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/persistent-provenance-repository-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/persistent-provenance-repository-bundle/nar/pom.xml b/nifi/nar-bundles/persistent-provenance-repository-bundle/nar/pom.xml
index b58ecb8..204b54e 100644
--- a/nifi/nar-bundles/persistent-provenance-repository-bundle/nar/pom.xml
+++ b/nifi/nar-bundles/persistent-provenance-repository-bundle/nar/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>persistent-provenance-repository-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>persistent-provenance-repository-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>nar</packaging>
<name>Persistent Provenance Repository Nar</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/persistent-provenance-repository-bundle/persistent-provenance-repository/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/persistent-provenance-repository-bundle/persistent-provenance-repository/pom.xml b/nifi/nar-bundles/persistent-provenance-repository-bundle/persistent-provenance-repository/pom.xml
index 122a977..74d2328 100644
--- a/nifi/nar-bundles/persistent-provenance-repository-bundle/persistent-provenance-repository/pom.xml
+++ b/nifi/nar-bundles/persistent-provenance-repository-bundle/persistent-provenance-repository/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>persistent-provenance-repository-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>persistent-provenance-repository</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/persistent-provenance-repository-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/persistent-provenance-repository-bundle/pom.xml b/nifi/nar-bundles/persistent-provenance-repository-bundle/pom.xml
index 92dfc3b..6776c55 100644
--- a/nifi/nar-bundles/persistent-provenance-repository-bundle/pom.xml
+++ b/nifi/nar-bundles/persistent-provenance-repository-bundle/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>persistent-provenance-repository-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>Persistent Provenance Repository Bundle</name>
<packaging>pom</packaging>
@@ -35,7 +35,7 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>persistent-provenance-repository</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/pom.xml b/nifi/nar-bundles/pom.xml
index d21a3bd..058926c 100644
--- a/nifi/nar-bundles/pom.xml
+++ b/nifi/nar-bundles/pom.xml
@@ -20,12 +20,12 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>pom</packaging>
<name>NiFi :: Nar Bundles Parent</name>
@@ -40,93 +40,93 @@
<module>standard-services</module>
<module>update-attribute-bundle</module>
<module>volatile-provenance-repository-bundle</module>
- <module>kafka-bundle</module>
+ <module>kafka-bundle</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>load-distribution-service</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>distributed-cache-client-service</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>distributed-cache-client-service-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>ssl-context-service-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>load-distribution-service-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>distributed-cache-protocol</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>distributed-cache-server</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>ssl-context-service</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>http-context-map-api</artifactId>
- <version>${project.version}</version>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>http-context-map-api</artifactId>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>http-context-map</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>http-context-map</artifactId>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>volatile-provenance-repository</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<!-- The following dependencies are marked provided because they must be provided by the container. Nars can assume they are there-->
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-runtime</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-properties</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-bundle/jms-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-bundle/jms-processors/pom.xml b/nifi/nar-bundles/standard-bundle/jms-processors/pom.xml
index 6e8e379..a28d96a 100644
--- a/nifi/nar-bundles/standard-bundle/jms-processors/pom.xml
+++ b/nifi/nar-bundles/standard-bundle/jms-processors/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-standard-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-bundle/nar/pom.xml b/nifi/nar-bundles/standard-bundle/nar/pom.xml
index 06f9727..15c5649 100644
--- a/nifi/nar-bundles/standard-bundle/nar/pom.xml
+++ b/nifi/nar-bundles/standard-bundle/nar/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-standard-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-standard-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Standard NAR</name>
<packaging>nar</packaging>
<description>NiFi Standard Extensions NAR</description>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-bundle/pom.xml b/nifi/nar-bundles/standard-bundle/pom.xml
index 306fd3d..018e7cc 100644
--- a/nifi/nar-bundles/standard-bundle/pom.xml
+++ b/nifi/nar-bundles/standard-bundle/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-standard-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Standard Bundle</name>
<packaging>pom</packaging>
<description>NiFi Standard Extensions Bundle</description>
@@ -42,27 +42,27 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-processors</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-prioritizers</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-reporting-tasks</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-ganglia-reporter</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>jms-processors</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-bundle/standard-ganglia-reporter/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-bundle/standard-ganglia-reporter/pom.xml b/nifi/nar-bundles/standard-bundle/standard-ganglia-reporter/pom.xml
index 4e7a5a2..48d8f13 100644
--- a/nifi/nar-bundles/standard-bundle/standard-ganglia-reporter/pom.xml
+++ b/nifi/nar-bundles/standard-bundle/standard-ganglia-reporter/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-standard-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-bundle/standard-prioritizers/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-bundle/standard-prioritizers/pom.xml b/nifi/nar-bundles/standard-bundle/standard-prioritizers/pom.xml
index f7b1692..f22eb84 100644
--- a/nifi/nar-bundles/standard-bundle/standard-prioritizers/pom.xml
+++ b/nifi/nar-bundles/standard-bundle/standard-prioritizers/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-standard-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-bundle/standard-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-bundle/standard-processors/pom.xml b/nifi/nar-bundles/standard-bundle/standard-processors/pom.xml
index f4cd2a0..edc13ce 100644
--- a/nifi/nar-bundles/standard-bundle/standard-processors/pom.xml
+++ b/nifi/nar-bundles/standard-bundle/standard-processors/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-standard-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>standard-processors</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-bundle/standard-reporting-tasks/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-bundle/standard-reporting-tasks/pom.xml b/nifi/nar-bundles/standard-bundle/standard-reporting-tasks/pom.xml
index 605614b..dd578bf 100644
--- a/nifi/nar-bundles/standard-bundle/standard-reporting-tasks/pom.xml
+++ b/nifi/nar-bundles/standard-bundle/standard-reporting-tasks/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-standard-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>standard-reporting-tasks</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/distributed-cache-client-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/distributed-cache-client-service-api/pom.xml b/nifi/nar-bundles/standard-services/distributed-cache-client-service-api/pom.xml
index 1a7241f..401a06c 100644
--- a/nifi/nar-bundles/standard-services/distributed-cache-client-service-api/pom.xml
+++ b/nifi/nar-bundles/standard-services/distributed-cache-client-service-api/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-services-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>distributed-cache-client-service-api</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-client-service/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-client-service/pom.xml b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-client-service/pom.xml
index 22d7c5b..df84383 100644
--- a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-client-service/pom.xml
+++ b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-client-service/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>distributed-cache-services-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>distributed-cache-client-service</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-protocol/pom.xml b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-protocol/pom.xml
index 99ba060..8bc984d 100644
--- a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-protocol/pom.xml
+++ b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-protocol/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>distributed-cache-services-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>distributed-cache-protocol</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-server/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-server/pom.xml b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-server/pom.xml
index 0e14a57..43c61f2 100644
--- a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-server/pom.xml
+++ b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-server/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>distributed-cache-services-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>distributed-cache-server</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-services-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-services-nar/pom.xml b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-services-nar/pom.xml
index 8a34581..5cb5403 100644
--- a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-services-nar/pom.xml
+++ b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/distributed-cache-services-nar/pom.xml
@@ -17,11 +17,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>distributed-cache-services-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>distributed-cache-services-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>Distributed Cache Services NAR</name>
<packaging>nar</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/pom.xml b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/pom.xml
index f499831..1e9dfa8 100644
--- a/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/pom.xml
+++ b/nifi/nar-bundles/standard-services/distributed-cache-services-bundle/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-services-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>distributed-cache-services-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>Distributed Cache Services Bundle</name>
<packaging>pom</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/load-distribution-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/load-distribution-service-api/pom.xml b/nifi/nar-bundles/standard-services/load-distribution-service-api/pom.xml
index c939e95..53329d0 100644
--- a/nifi/nar-bundles/standard-services/load-distribution-service-api/pom.xml
+++ b/nifi/nar-bundles/standard-services/load-distribution-service-api/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-services-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>load-distribution-service-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Load Distribution Service API</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/pom.xml b/nifi/nar-bundles/standard-services/pom.xml
index 047d642..2b8eaca 100644
--- a/nifi/nar-bundles/standard-services/pom.xml
+++ b/nifi/nar-bundles/standard-services/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>standard-services-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Standard Services Parent</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/ssl-context-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/ssl-context-bundle/nar/pom.xml b/nifi/nar-bundles/standard-services/ssl-context-bundle/nar/pom.xml
index ec1e937..240dc0a 100644
--- a/nifi/nar-bundles/standard-services/ssl-context-bundle/nar/pom.xml
+++ b/nifi/nar-bundles/standard-services/ssl-context-bundle/nar/pom.xml
@@ -17,11 +17,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>ssl-context-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>ssl-context-service-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>SSL Context Services Nar</name>
<packaging>nar</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/ssl-context-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/ssl-context-bundle/pom.xml b/nifi/nar-bundles/standard-services/ssl-context-bundle/pom.xml
index 305e242..986af71 100644
--- a/nifi/nar-bundles/standard-services/ssl-context-bundle/pom.xml
+++ b/nifi/nar-bundles/standard-services/ssl-context-bundle/pom.xml
@@ -17,11 +17,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-services-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>ssl-context-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>pom</packaging>
<name>SSL Context Bundle</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/ssl-context-bundle/ssl-context-service/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/ssl-context-bundle/ssl-context-service/pom.xml b/nifi/nar-bundles/standard-services/ssl-context-bundle/ssl-context-service/pom.xml
index 9e18e57..0453408 100644
--- a/nifi/nar-bundles/standard-services/ssl-context-bundle/ssl-context-service/pom.xml
+++ b/nifi/nar-bundles/standard-services/ssl-context-bundle/ssl-context-service/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>ssl-context-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>ssl-context-service</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/ssl-context-service-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/ssl-context-service-api/pom.xml b/nifi/nar-bundles/standard-services/ssl-context-service-api/pom.xml
index e71cabb..5480437 100644
--- a/nifi/nar-bundles/standard-services/ssl-context-service-api/pom.xml
+++ b/nifi/nar-bundles/standard-services/ssl-context-service-api/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-services-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>ssl-context-service-api</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/standard-services/standard-services-api-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/standard-services/standard-services-api-nar/pom.xml b/nifi/nar-bundles/standard-services/standard-services-api-nar/pom.xml
index 18cb7c8..f4355b7 100644
--- a/nifi/nar-bundles/standard-services/standard-services-api-nar/pom.xml
+++ b/nifi/nar-bundles/standard-services/standard-services-api-nar/pom.xml
@@ -17,11 +17,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-services-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>standard-services-api-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>Standard Services API Nar</name>
<packaging>nar</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/update-attribute-bundle/model/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/update-attribute-bundle/model/pom.xml b/nifi/nar-bundles/update-attribute-bundle/model/pom.xml
index 691a80e..692d1e3 100644
--- a/nifi/nar-bundles/update-attribute-bundle/model/pom.xml
+++ b/nifi/nar-bundles/update-attribute-bundle/model/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-model</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/update-attribute-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/update-attribute-bundle/nar/pom.xml b/nifi/nar-bundles/update-attribute-bundle/nar/pom.xml
index 8a5a5c7..4f4f727 100644
--- a/nifi/nar-bundles/update-attribute-bundle/nar/pom.xml
+++ b/nifi/nar-bundles/update-attribute-bundle/nar/pom.xml
@@ -17,11 +17,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>update-attribute-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>Update Attribute Nar</name>
<packaging>nar</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/update-attribute-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/update-attribute-bundle/pom.xml b/nifi/nar-bundles/update-attribute-bundle/pom.xml
index 2848400..579c438 100644
--- a/nifi/nar-bundles/update-attribute-bundle/pom.xml
+++ b/nifi/nar-bundles/update-attribute-bundle/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>update-attribute-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>Update Attribute Bundle</name>
<packaging>pom</packaging>
@@ -38,18 +38,18 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-model</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-processor</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-ui</artifactId>
<type>war</type>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/update-attribute-bundle/processor/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/update-attribute-bundle/processor/pom.xml b/nifi/nar-bundles/update-attribute-bundle/processor/pom.xml
index edef669..74c8bac 100644
--- a/nifi/nar-bundles/update-attribute-bundle/processor/pom.xml
+++ b/nifi/nar-bundles/update-attribute-bundle/processor/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-processor</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/update-attribute-bundle/ui/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/update-attribute-bundle/ui/pom.xml b/nifi/nar-bundles/update-attribute-bundle/ui/pom.xml
index 458027f..1fd3385 100644
--- a/nifi/nar-bundles/update-attribute-bundle/ui/pom.xml
+++ b/nifi/nar-bundles/update-attribute-bundle/ui/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>update-attribute-ui</artifactId>
<packaging>war</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/volatile-provenance-repository-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/volatile-provenance-repository-bundle/nar/pom.xml b/nifi/nar-bundles/volatile-provenance-repository-bundle/nar/pom.xml
index bfa9daa..b28ea3a 100644
--- a/nifi/nar-bundles/volatile-provenance-repository-bundle/nar/pom.xml
+++ b/nifi/nar-bundles/volatile-provenance-repository-bundle/nar/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>volatile-provenance-repository-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>volatile-provenance-repository-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>nar</packaging>
<name>volatile-provenance-repository-nar</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/volatile-provenance-repository-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/volatile-provenance-repository-bundle/pom.xml b/nifi/nar-bundles/volatile-provenance-repository-bundle/pom.xml
index 5d8c5ba..cd9822f 100644
--- a/nifi/nar-bundles/volatile-provenance-repository-bundle/pom.xml
+++ b/nifi/nar-bundles/volatile-provenance-repository-bundle/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>volatile-provenance-repository-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>Volatile Provenance Repository</name>
<packaging>pom</packaging>
@@ -36,7 +36,7 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>volatile-provenance-repository</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/volatile-provenance-repository-bundle/volatile-provenance-repository/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/volatile-provenance-repository-bundle/volatile-provenance-repository/pom.xml b/nifi/nar-bundles/volatile-provenance-repository-bundle/volatile-provenance-repository/pom.xml
index 854bf31..5bfadb0 100644
--- a/nifi/nar-bundles/volatile-provenance-repository-bundle/volatile-provenance-repository/pom.xml
+++ b/nifi/nar-bundles/volatile-provenance-repository-bundle/volatile-provenance-repository/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>volatile-provenance-repository-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>volatile-provenance-repository</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nifi-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-api/pom.xml b/nifi/nifi-api/pom.xml
index 4d334b9..7e34f30 100644
--- a/nifi/nifi-api/pom.xml
+++ b/nifi/nifi-api/pom.xml
@@ -19,11 +19,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
<name>NiFi Api</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nifi-bootstrap/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-bootstrap/pom.xml b/nifi/nifi-bootstrap/pom.xml
index b82adb3..936637a 100644
--- a/nifi/nifi-bootstrap/pom.xml
+++ b/nifi/nifi-bootstrap/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-bootstrap</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nifi-docs/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-docs/pom.xml b/nifi/nifi-docs/pom.xml
index 5884f14..bb0cc70 100644
--- a/nifi/nifi-docs/pom.xml
+++ b/nifi/nifi-docs/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-docs</artifactId>
@@ -54,7 +54,7 @@
<imagesdir>./images</imagesdir>
<icons>font</icons>
<toc>true</toc>
- <docVersion>0.0.1-SNAPSHOT</docVersion>
+ <docVersion>${project.version}</docVersion>
<sectanchors>true</sectanchors>
<idprefix/>
<idseparator>-</idseparator>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nifi-mock/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nifi-mock/pom.xml b/nifi/nifi-mock/pom.xml
index c79e6da..5b0e391 100644
--- a/nifi/nifi-mock/pom.xml
+++ b/nifi/nifi-mock/pom.xml
@@ -19,11 +19,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-mock</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Mock</name>
<dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/pom.xml b/nifi/pom.xml
index 78a81ad..ff3ee0e 100644
--- a/nifi/pom.xml
+++ b/nifi/pom.xml
@@ -23,7 +23,7 @@
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Apache NiFi (incubating) Parent</name>
<description>Apache NiFi is a dataflow system based on the concepts of flow-based programming. It is currently a part of the Apache Incubator.</description>
@@ -82,10 +82,10 @@
<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>
- <org.slf4j.version>1.7.8</org.slf4j.version>
+ <org.slf4j.version>1.7.10</org.slf4j.version>
<jetty.version>9.2.5.v20141112</jetty.version>
- <lucene.version>4.10.2</lucene.version>
- <spring.version>4.1.2.RELEASE</spring.version>
+ <lucene.version>4.10.3</lucene.version>
+ <spring.version>4.1.4.RELEASE</spring.version>
<spring.security.version>3.2.5.RELEASE</spring.security.version>
<jersey.version>1.18.3</jersey.version>
</properties>
@@ -216,7 +216,7 @@
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
- <version>9.6.0-3</version>
+ <version>9.6.0-4</version>
</dependency>
<dependency>
<groupId>stax</groupId>
@@ -461,7 +461,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
- <version>2.2</version>
+ <version>2.3</version>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>
@@ -471,7 +471,7 @@
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
- <version>2.6</version>
+ <version>2.7</version>
</dependency>
<dependency>
<groupId>com.yammer.metrics</groupId>
@@ -489,11 +489,6 @@
<version>5.10.0</version>
</dependency>
<dependency>
- <groupId>org.hornetq</groupId>
- <artifactId>hornetq-jms-client</artifactId>
- <version>2.4.5.Final</version>
- </dependency>
- <dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>${lucene.version}</version>
@@ -622,57 +617,57 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-web-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-expression-language</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>custom-ui-utilities</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>flowfile-packager</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-socket-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>data-provenance-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-runtime</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-bootstrap</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-resources</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<classifier>resources</classifier>
<scope>runtime</scope>
<type>zip</type>
@@ -680,7 +675,7 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-docs</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<classifier>resources</classifier>
<scope>runtime</scope>
<type>zip</type>
@@ -688,116 +683,116 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>volatile-provenance-repository-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>persistent-provenance-repository-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>standard-services-api-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>ssl-context-service-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>distributed-cache-services-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-standard-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-jetty-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>update-attribute-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>monitor-threshold-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>hadoop-libraries-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>hadoop-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>kafka-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<type>nar</type>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-properties</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-security-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-logging-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-processor-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-mock</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>wali</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
@@ -1002,7 +997,7 @@
<plugin>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-maven-plugin</artifactId>
- <version>0.0.1-incubating-SNAPSHOT</version>
+ <version>0.0.2-incubating-SNAPSHOT</version>
<extensions>true</extensions>
</plugin>
</plugins>
[2/6] incubator-nifi git commit: NIFI-270 sent an e-mail to dev
explaining all the moving parts
Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/log4j.xml b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/log4j.xml
deleted file mode 100644
index d984dff..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- 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.
--->
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
- <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
- <param name="Target" value="System.out"/>
- <param name="Threshold" value="DEBUG"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d{MM-dd-yy HH:mm:ss.SSS} %-5p %c{2} %x - %m%n"/>
- </layout>
-
- </appender>
-
- <logger name="org.nifi.model.processor.FlowFileProcessor" additivity="false">
- <level value="INFO"/>
- <appender-ref ref="CONSOLE"/>
- </logger>
-
- <logger name="junit.TestableAppender" additivity="false">
- <level value="TRACE"/>
- <appender-ref ref="CONSOLE"/>
- </logger>
-
- <logger name="org.nifi.model.processor.impl.ScriptRunnerProcessor" additivity="false">
- <level value="WARN"/>
- <appender-ref ref="CONSOLE"/>
- </logger>
-
- <logger name="org.nifi.model.processor.impl.ScriptRunnerProcessorTest" additivity="false">
- <level value="INFO"/>
- <appender-ref ref="CONSOLE"/>
- </logger>
-
- <root>
- <level value="INFO"/>
- <appender-ref ref="CONSOLE" />
- </root>
-
-</log4j:configuration>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.js
deleted file mode 100644
index cf7c551..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.js
+++ /dev/null
@@ -1,28 +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.
- */
-with (Scripting) {
- var instance = new WriterScript({
- getPropertyDescriptors: function () {
- i = new PropertyDescriptor.Builder().name("int").description("an int").required(true).addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR).build();
- u = new PropertyDescriptor.Builder().name("url").description("a url").required(true).addValidator(StandardValidators.URL_VALIDATOR).build();
- s = new PropertyDescriptor.Builder().name("nonEmpty").description("a non empty property").required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build();
- return [i, u, s];
- }
- });
-
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.py
deleted file mode 100644
index 9f1a43d..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.py
+++ /dev/null
@@ -1,22 +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.
-class SimpleJythonReader(ReaderScript):
- def getPropertyDescriptors( self ):
- nev = PropertyDescriptor.Builder().name("nonEmpty").required(1).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build()
- iv = PropertyDescriptor.Builder().name("int").required(1).addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR).build()
- uv = PropertyDescriptor.Builder().name("url").required(1).addValidator(StandardValidators.URL_VALIDATOR).build()
- return [nev, iv, uv]
-
-instance = SimpleJythonReader()
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.rb
deleted file mode 100644
index 3fa53b4..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/optionalValidators.rb
+++ /dev/null
@@ -1,39 +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.
-class SimpleJRubyReader < ReaderScript
- field_reader :FAIL_RELATIONSHIP, :SUCCESS_RELATIONSHIP, :logger
-
- def getPropertyDescriptors
- logger.debug("Defining descriptors");
- i = StandardValidators::INTEGER_VALIDATOR
- u = StandardValidators::URL_VALIDATOR
- s = StandardValidators::NON_EMPTY_VALIDATOR
- intPropDesc = PropertyDescriptor::Builder.new().name("int").required(true).addValidator(i).build()
- urlPropDesc = PropertyDescriptor::Builder.new().name("url").required(true).addValidator(u).build()
- nonEmptyPropDesc = PropertyDescriptor::Builder.new().name("nonEmpty").addValidator(s).build()
- return [intPropDesc, urlPropDesc, nonEmptyPropDesc]
- end
-
- def route( input )
- logger.debug("Routing input");
- input.to_io.each_line do |line|
- return FAIL_RELATIONSHIP if line.match /^sed/i
- end
-
- return SUCCESS_RELATIONSHIP
- end
-end
-$logger.debug("Creating SimpleJRubyReader with props" + @properties.to_s)
-SimpleJRubyReader.new
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.js
deleted file mode 100644
index c00537a..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.js
+++ /dev/null
@@ -1,28 +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.
- */
-with (Scripting) {
- var instance = new WriterScript({
- process: function (input, output) {
- var str = IOUtils.toString(input);
- var last = str.split("\n").pop() + "\n";
- for (var i = 0; i < instance.getProperty("repeat"); i++) {
- IOUtils.write(last, output);
- }
- output.flush();
- }
- });
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.py
deleted file mode 100644
index 3495e4a..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.py
+++ /dev/null
@@ -1,26 +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.
-class ParamUsingWriter(WriterScript):
- def process ( self, input, output ):
- last = FileUtil.wrap(input).readlines()[-1] + '\n'
- writer = FileUtil.wrap(output)
- times = int(self.getProperty("repeat"))
- lines = [last] * times
-
- writer.writelines(lines)
-
- writer.close()
-
-instance = ParamUsingWriter()
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.rb
deleted file mode 100644
index 7c2eb23..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/paramTest.rb
+++ /dev/null
@@ -1,31 +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.
-class ParamUsingWriter < WriterScript
- def process ( input, output )
- reader = input.to_io
- writer = output.to_io
-
- last = reader.readlines.last
-
- getProperty("repeat").to_i.times do
- writer << last + "\n"
- end
-
- writer.close
- reader.close
- end
-end
-
-ParamUsingWriter.new
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/parseXml.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/parseXml.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/parseXml.js
deleted file mode 100644
index 901e158..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/parseXml.js
+++ /dev/null
@@ -1,36 +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.
- */
-with (Scripting) {
- var instance = new WriterScript({
- process: function (istream, ostream) {
- var str = IOUtils.toString(istream);
- var obj = new XML(str);
- print(obj)
- var good = obj.b.(@good == "true");
- if (good.length() == 0) {
- instance.setRoute(Script.FAIL_RELATIONSHIP);
- IOUtils.write(str, ostream);
- } else {
- instance.setRoute(Script.SUCCESS_RELATIONSHIP);
- for each (var goodStr in good) {
- IOUtils.write(goodStr, ostream);
- }
- }
- ostream.flush();
- }
- });
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.js
deleted file mode 100644
index f5d3ecc..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.js
+++ /dev/null
@@ -1,30 +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.
- */
-with (Scripting) {
-
- var instance = new ReaderScript({
- route: function (input) {
- str = IOUtils.toString(input);
- if (str.match(/sed do/i)) {
- return Script.FAIL_RELATIONSHIP;
- } else {
- return Script.SUCCESS_RELATIONSHIP;
- }
- }
- });
- logger.debug("Got a logger and properties" + properties);
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.py
deleted file mode 100644
index 91e6ca7..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.py
+++ /dev/null
@@ -1,32 +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.
-import os, re, subprocess
-
-class SimpleJythonReader(ReaderScript):
- def route(self, input):
- logger.info("In route")
- returnid = os.system("c:\\cygwin\\bin\\echo GOOD")
- fname = self.getAttribute("filename")
- counter = self.getAttribute("counter")
- fname = fname + '.' + counter
- self.setAttribute("filename", fname)
- for line in FileUtil.wrap(input):
- if re.match("^sed",line): return self.FAIL_RELATIONSHIP
-
- return self.SUCCESS_RELATIONSHIP
-
-
-
-instance = SimpleJythonReader()
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.rb
deleted file mode 100644
index c10765d..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readTest.rb
+++ /dev/null
@@ -1,30 +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.
-class SimpleJRubyReader < ReaderScript
- field_reader :FAIL_RELATIONSHIP, :SUCCESS_RELATIONSHIP, :logger, :attributes
-
- def route( input )
- logger.info("Route Input")
- input.to_io.each_line do |line|
- return FAIL_RELATIONSHIP if line.match /^sed/i
- end
-
- attributes.put("filename", "NewFileNameFromReadTest")
- return SUCCESS_RELATIONSHIP
- end
-end
-$logger.info("Logger is made available in shared variables...however, the SimpleJRubyReader.logger is not set till after this script returns")
-
-SimpleJRubyReader.new
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.js
deleted file mode 100644
index e34ad5f..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.js
+++ /dev/null
@@ -1,32 +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.
- */
-with (Scripting) {
- var instance = new ReaderScript({
- route: function (input) {
- var str = IOUtils.toString(input);
- var expr = instance.getProperty("expr");
- filename = instance.attributes.get("filename");
- instance.setAttribute("filename", filename + ".modified");
- if (str.match(expr)) {
- return Script.FAIL_RELATIONSHIP;
- } else {
- return Script.SUCCESS_RELATIONSHIP;
- }
- }
- });
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.py
deleted file mode 100644
index 23e55af..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.py
+++ /dev/null
@@ -1,32 +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.
-import re
-
-class SimpleJythonReader(ReaderScript):
- def getPropertyDescriptors( self ):
- nev = StandardValidators.NON_EMPTY_VALIDATOR
- return [PropertyDescriptor.Builder().name("expr").required(1).addValidator(nev).build()]
-
- def route( self, input ):
- expr = self.getProperty("expr")
- filename = self.getAttribute("filename")
- self.setAttribute("filename", filename + ".modified")
- for line in FileUtil.wrap(input):
- if re.match(expr, line): return self.FAIL_RELATIONSHIP
-
- return self.SUCCESS_RELATIONSHIP
-
-instance = SimpleJythonReader()
-
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.rb
deleted file mode 100644
index 308b652..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/readWithParams.rb
+++ /dev/null
@@ -1,33 +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.
-class SimpleJRubyReader < ReaderScript
- field_reader :FAIL_RELATIONSHIP, :SUCCESS_RELATIONSHIP, :properties, :attributes
-
- def route( input )
- expr = properties.get "expr"
- raise "Must specify the 'expr' property!" if expr.nil?
- filename = attributes.get "filename"
- setAttribute("filename", filename + ".modified")
- input.to_io.each_line do |line|
- return FAIL_RELATIONSHIP if line.match expr
- end
-
- return SUCCESS_RELATIONSHIP
- end
-end
-
-$logger.debug("Can access logger and properties via shared instance variables...props = " + @properties.to_s)
-SimpleJRubyReader.new
-
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.js
deleted file mode 100644
index 47ef546..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.js
+++ /dev/null
@@ -1,41 +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.
- */
-with (Scripting) {
- var a = new Relationship.Builder().name("a").description("some good stuff").build()
- var b = new Relationship.Builder().name("b").description("some other stuff").build()
- var c = new Relationship.Builder().name("c").description("some bad stuff").build()
- var instance = new ReaderScript({
- getExceptionRoute: function () {
- return c;
- },
- getRelationships: function () {
- return [a, b, c];
- },
- route: function (input) {
- var str = IOUtils.toString(input);
- var lines = str.split("\n");
- for (var line in lines) {
- if (lines[line].match(/^bad/i)) {
- return b;
- } else if (lines[line].match(/^sed/i)) {
- throw "That's no good!";
- }
- }
- return a;
- }
- });
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.py
deleted file mode 100644
index ed5408a..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.py
+++ /dev/null
@@ -1,37 +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.
-import re
-
-class RoutingReader(ReaderScript):
- A = Relationship.Builder().name("a").description("some good stuff").build()
- B = Relationship.Builder().name("b").description("some other stuff").build()
- C = Relationship.Builder().name("c").description("some bad stuff").build()
-
- def getRelationships(self):
- return [self.A,self.B,self.C]
-
- def getExceptionRoute(self):
- return self.C
-
- def route( self, input ):
- for line in FileUtil.wrap(input):
- if re.match("^bad", line, re.IGNORECASE):
- return self.B
- if re.match("^sed", line):
- raise RuntimeError("That's no good!")
-
- return self.A
-
-instance = RoutingReader()
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.rb
deleted file mode 100644
index 38249ae..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/routeTest.rb
+++ /dev/null
@@ -1,39 +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.
-class SimpleJRubyReader < ReaderScript
-
- @@a = Relationship::Builder.new().name("a").description("some good stuff").build()
- @@b = Relationship::Builder.new().name("b").description("some bad stuff").build()
- @@c = Relationship::Builder.new().name("c").description("some other stuff").build()
-
- def getRelationships
- return [@@a, @@b, @@c]
- end
-
- def getExceptionRoute
- @@c
- end
-
- def route( input )
- input.to_io.each_line do |line|
- return @@b if line.match /^bad/i
- raise "That's no good!" if line.match /^sed/i
- end
-
- @@a
- end
-end
-
-SimpleJRubyReader.new
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.js
deleted file mode 100644
index 72bb80e..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.js
+++ /dev/null
@@ -1,45 +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.
- */
-with (Scripting) {
-
- var instance = new ConverterScript({
- convert: function (input) {
- var buffReader = new java.io.BufferedReader(new java.io.InputStreamReader(input));
- instance.createFlowFile("firstLine", Script.FAIL_RELATIONSHIP, function (output) {
- var out = new java.io.BufferedWriter(new java.io.OutputStreamWriter(output));
- var firstLine = buffReader.readLine();
- out.write(firstLine, 0, firstLine.length());
- out.flush();
- out.close();
- });
-
- instance.createFlowFile("otherLines", Script.SUCCESS_RELATIONSHIP, function (output) {
- var out = new java.io.BufferedWriter(new java.io.OutputStreamWriter(output));
- var line = buffReader.readLine();
- while (line != null) {
- out.write(line, 0, line.length());
- out.newLine();
- line = buffReader.readLine();
- }
- out.flush();
- out.close();
- });
- }
-
- });
- logger.debug("Processor props" + properties)
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.py
deleted file mode 100644
index d52368e..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.py
+++ /dev/null
@@ -1,60 +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.
-from org.python.core.io import TextIOWrapper,BufferedReader,BufferedWriter,StreamIO
-from org.apache.nifi.scripting import OutputStreamHandler
-
-class WriteFirstLine(OutputStreamHandler):
- def __init__(self, wrappedIn):
- self.wrappedIn = wrappedIn
-
- def write(self, output):
- streamOut = StreamIO(output, False)
- bufWrtr = BufferedWriter(streamOut, 8192)
- wrappedOut = TextIOWrapper(bufWrtr)
- wrappedOut.write(self.wrappedIn.readline(8192))
- wrappedOut.flush()
- wrappedOut.close()
-
-class WriteOtherLines(OutputStreamHandler):
- def __init__(self, wrappedIn):
- self.wrappedIn = wrappedIn
-
- def write(self, output):
- streamOut = StreamIO(output, False)
- bufWrtr = BufferedWriter(streamOut, 8192)
- wrappedOut = TextIOWrapper(bufWrtr)
- line = self.wrappedIn.readline(8192)
- while line != '':
- wrappedOut.write(line)
- line = self.wrappedIn.readline(8192)
- wrappedOut.flush()
- wrappedOut.close()
-
-class SimpleConverter(ConverterScript):
-
- def convert(self, input):
- streamIn = StreamIO(input, False)
- bufRdr = BufferedReader(streamIn, 8192)
- wrappedIn = TextIOWrapper(bufRdr)
-
- writeFirstLine = WriteFirstLine(wrappedIn)
- self.createFlowFile("firstLine", self.FAIL_RELATIONSHIP, writeFirstLine)
-
- writeOtherLines = WriteOtherLines(wrappedIn)
- self.createFlowFile("otherLines", self.SUCCESS_RELATIONSHIP, writeOtherLines)
-
-instance = SimpleConverter()
-
-
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.rb
deleted file mode 100644
index f333294..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/simpleConverter.rb
+++ /dev/null
@@ -1,42 +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.
-java_import 'org.apache.nifi.scripting.OutputStreamHandler'
-class SimpleConverter < ConverterScript
- field_reader :FAIL_RELATIONSHIP, :SUCCESS_RELATIONSHIP, :logger, :attributes
-
- def convert(input)
- in_io = input.to_io
- createFlowFile("firstLine", FAIL_RELATIONSHIP, OutputStreamHandler.impl do |method, out|
- out_io = out.to_io
- out_io << in_io.readline.to_java_bytes
- out_io.close
- logger.debug("Wrote data to failure...this message logged with logger from super class")
- end)
-
- createFlowFile("otherLines", SUCCESS_RELATIONSHIP, OutputStreamHandler.impl do |method, out|
- out_io = out.to_io
- in_io.each_line { |line|
- out_io << line
- }
- out_io.close
- logger.debug("Wrote data to success...this message logged with logger from super class")
- end)
- in_io.close
- end
-
-end
-
-$logger.debug("Creating SimpleConverter...this message logged with logger from shared variables")
-SimpleConverter.new
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.js
deleted file mode 100644
index 1e055b7..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.js
+++ /dev/null
@@ -1,26 +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.
- */
-with (Scripting) {
- var instance = new WriterScript({
- process: function (input, output) {
- var str = IOUtils.toString(input);
- IOUtils.write(str.split("\n").pop(), output);
- output.flush();
- }
- });
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.py
deleted file mode 100644
index c563b66..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.py
+++ /dev/null
@@ -1,22 +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.
-class SimpleWriter(WriterScript):
- def process( self, input, output ):
- last = FileUtil.wrap(input).readlines()[-1]
- writer = FileUtil.wrap(output)
- writer.write(last)
- writer.close()
-
-instance = SimpleWriter()
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.rb
deleted file mode 100644
index 5be4553..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/writeTest.rb
+++ /dev/null
@@ -1,32 +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.
-class SimpleJRubyRunner < WriterScript
- def process( input, output )
- in_io = input.to_io
- out_io = output.to_io
-
- last = nil
- in_io.each_line do |line|
- last = line
- end
-
- out_io << last unless last.nil?
-
- in_io.close
- out_io.close
- end
-end
-
-SimpleJRubyRunner.new
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/nar/pom.xml b/nifi/nar-bundles/execute-script-bundle/nar/pom.xml
deleted file mode 100644
index 1cc28dc..0000000
--- a/nifi/nar-bundles/execute-script-bundle/nar/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<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">
- <!--
- 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.
- -->
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.nifi</groupId>
- <artifactId>execute-script-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
-
- <artifactId>execute-script-nar</artifactId>
- <name>Execute Script NAR</name>
- <packaging>nar</packaging>
- <description>NiFi Script Running NAR</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>execute-script-processors</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/pom.xml b/nifi/nar-bundles/execute-script-bundle/pom.xml
deleted file mode 100644
index b3abb36..0000000
--- a/nifi/nar-bundles/execute-script-bundle/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<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">
- <!--
- 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.
- -->
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nar-container-common</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
-
- <artifactId>execute-script-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
-
- <name>Execute Script Bundle</name>
- <packaging>pom</packaging>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-processor-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-stream-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-core-flowfile-attributes</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-mock</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jruby</groupId>
- <artifactId>jruby</artifactId>
- <version>1.7.16.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.python</groupId>
- <artifactId>jython-standalone</artifactId>
- <version>2.7-b3</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>2.4</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <modules>
- <module>execute-script-processors</module>
- <module>nar</module>
- </modules>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/administration/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/administration/pom.xml b/nifi/nar-bundles/framework-bundle/framework/administration/pom.xml
index b5dd171..9522fff 100644
--- a/nifi/nar-bundles/framework-bundle/framework/administration/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/administration/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-administration</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Administration</name>
<build>
<resources>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/client-dto/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/client-dto/pom.xml b/nifi/nar-bundles/framework-bundle/framework/client-dto/pom.xml
index 924e83a..a6dda99 100644
--- a/nifi/nar-bundles/framework-bundle/framework/client-dto/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/client-dto/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>client-dto</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/cluster-authorization-provider/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/cluster-authorization-provider/pom.xml b/nifi/nar-bundles/framework-bundle/framework/cluster-authorization-provider/pom.xml
index b8960c3..87ab54d 100644
--- a/nifi/nar-bundles/framework-bundle/framework/cluster-authorization-provider/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/cluster-authorization-provider/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>cluster-authorization-provider</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/cluster-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/cluster-protocol/pom.xml b/nifi/nar-bundles/framework-bundle/framework/cluster-protocol/pom.xml
index 5351085..bad5a29 100644
--- a/nifi/nar-bundles/framework-bundle/framework/cluster-protocol/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/cluster-protocol/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>framework-cluster-protocol</artifactId>
<packaging>jar</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/cluster-web/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/cluster-web/pom.xml b/nifi/nar-bundles/framework-bundle/framework/cluster-web/pom.xml
index a7c39c6..f6d9d2a 100644
--- a/nifi/nar-bundles/framework-bundle/framework/cluster-web/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/cluster-web/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>framework-cluster-web</artifactId>
<packaging>jar</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/cluster/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/cluster/pom.xml b/nifi/nar-bundles/framework-bundle/framework/cluster/pom.xml
index 6712802..a06ef94 100644
--- a/nifi/nar-bundles/framework-bundle/framework/cluster/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/cluster/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>framework-cluster</artifactId>
<packaging>jar</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/core-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/core-api/pom.xml b/nifi/nar-bundles/framework-bundle/framework/core-api/pom.xml
index 63645f3..f8d8e13 100644
--- a/nifi/nar-bundles/framework-bundle/framework/core-api/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/core-api/pom.xml
@@ -18,10 +18,10 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>core-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Core API</name>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/core/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/core/pom.xml b/nifi/nar-bundles/framework-bundle/framework/core/pom.xml
index 47b52ea..e8214bf 100644
--- a/nifi/nar-bundles/framework-bundle/framework/core/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/core/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>framework-core</artifactId>
<packaging>jar</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/file-authorization-provider/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/file-authorization-provider/pom.xml b/nifi/nar-bundles/framework-bundle/framework/file-authorization-provider/pom.xml
index 6912108..4a9096f 100644
--- a/nifi/nar-bundles/framework-bundle/framework/file-authorization-provider/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/file-authorization-provider/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>file-authorization-provider</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi File Authorization Provider</name>
<build>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/nar/pom.xml b/nifi/nar-bundles/framework-bundle/framework/nar/pom.xml
index 2cf3297..c7f2088 100644
--- a/nifi/nar-bundles/framework-bundle/framework/nar/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/nar/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-nar</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/pom.xml b/nifi/nar-bundles/framework-bundle/framework/pom.xml
index f8ccdd0..e63ecad 100644
--- a/nifi/nar-bundles/framework-bundle/framework/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/pom.xml
@@ -18,10 +18,10 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>pom</packaging>
<name>NiFi Framework</name>
<modules>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/resources/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/resources/pom.xml b/nifi/nar-bundles/framework-bundle/framework/resources/pom.xml
index ea25529..761789a 100644
--- a/nifi/nar-bundles/framework-bundle/framework/resources/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/resources/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-resources</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/runtime/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/runtime/pom.xml b/nifi/nar-bundles/framework-bundle/framework/runtime/pom.xml
index defa994..0475f2f 100644
--- a/nifi/nar-bundles/framework-bundle/framework/runtime/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/runtime/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-runtime</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/security/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/security/pom.xml b/nifi/nar-bundles/framework-bundle/framework/security/pom.xml
index bbecec6..aa87acc 100644
--- a/nifi/nar-bundles/framework-bundle/framework/security/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/security/pom.xml
@@ -17,11 +17,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-security</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Security</name>
<description>Contains security functionality common to NiFi.</description>
<dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/site-to-site/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/site-to-site/pom.xml b/nifi/nar-bundles/framework-bundle/framework/site-to-site/pom.xml
index 81a9146..1c8d2c0 100644
--- a/nifi/nar-bundles/framework-bundle/framework/site-to-site/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/site-to-site/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>site-to-site</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Site-to-Site</name>
<dependencies>
<dependency> <!-- This can be removed after testing.... -->
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/user-actions/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/user-actions/pom.xml b/nifi/nar-bundles/framework-bundle/framework/user-actions/pom.xml
index ae74d34..23b4054 100644
--- a/nifi/nar-bundles/framework-bundle/framework/user-actions/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/user-actions/pom.xml
@@ -18,10 +18,10 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-user-actions</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi User Actions</name>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/web/custom-ui-utilities/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/web/custom-ui-utilities/pom.xml b/nifi/nar-bundles/framework-bundle/framework/web/custom-ui-utilities/pom.xml
index 400b92d..0e49b9e 100644
--- a/nifi/nar-bundles/framework-bundle/framework/web/custom-ui-utilities/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/web/custom-ui-utilities/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>custom-ui-utilities</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/web/nifi-jetty/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/web/nifi-jetty/pom.xml b/nifi/nar-bundles/framework-bundle/framework/web/nifi-jetty/pom.xml
index f896479..b295391 100644
--- a/nifi/nar-bundles/framework-bundle/framework/web/nifi-jetty/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/web/nifi-jetty/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-jetty</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-api/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-api/pom.xml b/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-api/pom.xml
index 518cb0c..a18e432 100644
--- a/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-api/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-api/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-web-api</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-docs/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-docs/pom.xml b/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-docs/pom.xml
index 307c2bd..9882259 100644
--- a/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-docs/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-docs/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-web-docs</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-error/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-error/pom.xml b/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-error/pom.xml
index fcd4d2f..7c58c96 100644
--- a/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-error/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-error/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-web-error</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-ui/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-ui/pom.xml b/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-ui/pom.xml
index 3eee5a0..cffefaf 100644
--- a/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-ui/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/web/nifi-web-ui/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-web</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/web/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/web/pom.xml b/nifi/nar-bundles/framework-bundle/framework/web/pom.xml
index 12fda97..9ef6ad1 100644
--- a/nifi/nar-bundles/framework-bundle/framework/web/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/web/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>web-parent</artifactId>
<packaging>pom</packaging>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/web/web-optimistic-locking/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/web/web-optimistic-locking/pom.xml b/nifi/nar-bundles/framework-bundle/framework/web/web-optimistic-locking/pom.xml
index 02a9002..8baf89a 100644
--- a/nifi/nar-bundles/framework-bundle/framework/web/web-optimistic-locking/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/web/web-optimistic-locking/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-optimistic-locking</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/framework/web/web-security/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/framework/web/web-security/pom.xml b/nifi/nar-bundles/framework-bundle/framework/web/web-security/pom.xml
index ba13ab7..7b58174 100644
--- a/nifi/nar-bundles/framework-bundle/framework/web/web-security/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/framework/web/web-security/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>web-security</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/nar/pom.xml b/nifi/nar-bundles/framework-bundle/nar/pom.xml
index 5d28c6d..c92b6ea 100644
--- a/nifi/nar-bundles/framework-bundle/nar/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/nar/pom.xml
@@ -17,11 +17,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-framework-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-framework-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Framework Nar</name>
<packaging>nar</packaging>
<description>NiFi: Framework Nar</description>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/framework-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/framework-bundle/pom.xml b/nifi/nar-bundles/framework-bundle/pom.xml
index f4f499e..b900c6d 100644
--- a/nifi/nar-bundles/framework-bundle/pom.xml
+++ b/nifi/nar-bundles/framework-bundle/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-framework-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Framework Bundle</name>
<packaging>pom</packaging>
<description>NiFi: Framework Bundle</description>
@@ -37,77 +37,77 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>framework-cluster-protocol</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>framework-cluster-web</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>file-authorization-provider</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>cluster-authorization-provider</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>framework-cluster</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-runtime</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>client-dto</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-security</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>core-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>site-to-site</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>framework-core</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-user-actions</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-administration</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-jetty</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>web-optimistic-locking</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/hadoop-bundle/hdfs-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/hadoop-bundle/hdfs-processors/pom.xml b/nifi/nar-bundles/hadoop-bundle/hdfs-processors/pom.xml
index 0325535..20d45ef 100644
--- a/nifi/nar-bundles/hadoop-bundle/hdfs-processors/pom.xml
+++ b/nifi/nar-bundles/hadoop-bundle/hdfs-processors/pom.xml
@@ -18,7 +18,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>hadoop-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>hdfs-processors</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/hadoop-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/hadoop-bundle/nar/pom.xml b/nifi/nar-bundles/hadoop-bundle/nar/pom.xml
index 426ca86..6ab9ec0 100644
--- a/nifi/nar-bundles/hadoop-bundle/nar/pom.xml
+++ b/nifi/nar-bundles/hadoop-bundle/nar/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>hadoop-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>hadoop-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>nar</packaging>
<name>Hadoop NAR</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/hadoop-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/hadoop-bundle/pom.xml b/nifi/nar-bundles/hadoop-bundle/pom.xml
index 89a12e9..1267615 100644
--- a/nifi/nar-bundles/hadoop-bundle/pom.xml
+++ b/nifi/nar-bundles/hadoop-bundle/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>hadoop-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Hadoop Bundle</name>
@@ -38,7 +38,7 @@
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>hdfs-processors</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/hadoop-libraries-bundle/nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/hadoop-libraries-bundle/nar/pom.xml b/nifi/nar-bundles/hadoop-libraries-bundle/nar/pom.xml
index 3e54051..8599703 100644
--- a/nifi/nar-bundles/hadoop-libraries-bundle/nar/pom.xml
+++ b/nifi/nar-bundles/hadoop-libraries-bundle/nar/pom.xml
@@ -18,12 +18,12 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>hadoop-libraries-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>hadoop-libraries-nar</artifactId>
<packaging>nar</packaging>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>Hadoop Libraries NAR</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/hadoop-libraries-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/hadoop-libraries-bundle/pom.xml b/nifi/nar-bundles/hadoop-libraries-bundle/pom.xml
index 15055d8..78c7b2f 100644
--- a/nifi/nar-bundles/hadoop-libraries-bundle/pom.xml
+++ b/nifi/nar-bundles/hadoop-libraries-bundle/pom.xml
@@ -18,12 +18,12 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
<artifactId>hadoop-libraries-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Hadoop Libraries Bundle</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/jetty-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/jetty-bundle/pom.xml b/nifi/nar-bundles/jetty-bundle/pom.xml
index 6586f09..97504f1 100644
--- a/nifi/nar-bundles/jetty-bundle/pom.xml
+++ b/nifi/nar-bundles/jetty-bundle/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nar-bundle-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-jetty-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Jetty Bundle</name>
<packaging>nar</packaging>
<description>NiFi: Jetty Bundle</description>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/kafka-bundle/kafka-nar/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/kafka-bundle/kafka-nar/pom.xml b/nifi/nar-bundles/kafka-bundle/kafka-nar/pom.xml
index 8dfefdd..1e0362d 100644
--- a/nifi/nar-bundles/kafka-bundle/kafka-nar/pom.xml
+++ b/nifi/nar-bundles/kafka-bundle/kafka-nar/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>kafka-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>kafka-nar</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Kafka NAR</name>
<packaging>nar</packaging>
<description>NiFi NAR for interacting with Apache Kafka</description>
[4/6] incubator-nifi git commit: NIFI-270 sent an e-mail to dev
explaining all the moving parts
Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/README.md
----------------------------------------------------------------------
diff --git a/nifi/README.md b/nifi/README.md
new file mode 100644
index 0000000..d9f7e53
--- /dev/null
+++ b/nifi/README.md
@@ -0,0 +1,101 @@
+# Apache NiFi
+
+Apache NiFi is a dataflow system based on the concepts of flow-based programming. It is currently apart of the Apache Incubator.
+
+## Table of Contents
+
+- [Features](#features)
+- [Getting Started](#getting-started)
+- [Getting Help](#getting-help)
+- [Requirements](#requirements)
+- [License](#license)
+- [Disclaimer](#disclaimer)
+- [Export Control] (#export-control)
+
+## 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
+
+To build:
+- Execute 'mvn clean install' or for parallel build execute 'mvn -T 2.0C clean install'
+
+To start NiFi:
+- Change directory to 'assembly'. In the target directory there should be a build of nifi.
+- Unpack the build wherever you like or use the already unpacked build. '<install_location>/bin/nifi.sh start'
+- Direct your browser to http://localhost:8080/nifi/
+
+## Getting Help
+If you have questions, you can reach out to our mailing list: dev@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
+
+## 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.
+
+## Disclaimer
+
+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.
+
+## 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/nifi/assembly/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/assembly/pom.xml b/nifi/assembly/pom.xml
index 2c1d59a..5803a8d 100644
--- a/nifi/assembly/pom.xml
+++ b/nifi/assembly/pom.xml
@@ -18,10 +18,10 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>pom</packaging>
<name>NiFi Release</name>
<description>This is the assembly Apache NiFi (incubating)</description>
@@ -385,16 +385,16 @@
<directory>/opt/nifi/nifi-${project.version}</directory>
<sources>
<source>
- <location>../../LICENSE</location>
+ <location>../LICENSE</location>
</source>
<source>
- <location>../../NOTICE</location>
+ <location>../NOTICE</location>
</source>
<source>
- <location>../../DISCLAIMER</location>
+ <location>../DISCLAIMER</location>
</source>
<source>
- <location>../../README.md</location>
+ <location>../README.md</location>
<destination>README</destination>
</source>
</sources>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/assembly/src/main/assembly/dependencies.xml
----------------------------------------------------------------------
diff --git a/nifi/assembly/src/main/assembly/dependencies.xml b/nifi/assembly/src/main/assembly/dependencies.xml
index 0f218a8..3481b0a 100644
--- a/nifi/assembly/src/main/assembly/dependencies.xml
+++ b/nifi/assembly/src/main/assembly/dependencies.xml
@@ -109,28 +109,28 @@
</dependencySets>
<files>
<file>
- <source>../../README.md</source>
+ <source>../README.md</source>
<outputDirectory>./</outputDirectory>
<destName>README</destName>
<fileMode>0644</fileMode>
<filtered>true</filtered>
</file>
<file>
- <source>../../DISCLAIMER</source>
+ <source>../DISCLAIMER</source>
<outputDirectory>./</outputDirectory>
<destName>DISCLAIMER</destName>
<fileMode>0644</fileMode>
<filtered>true</filtered>
</file>
<file>
- <source>../../LICENSE</source>
+ <source>../LICENSE</source>
<outputDirectory>./</outputDirectory>
<destName>LICENSE</destName>
<fileMode>0644</fileMode>
<filtered>true</filtered>
</file>
<file>
- <source>../../NOTICE</source>
+ <source>../NOTICE</source>
<outputDirectory>./</outputDirectory>
<destName>NOTICE</destName>
<fileMode>0644</fileMode>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/data-provenance-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/data-provenance-utils/pom.xml b/nifi/commons/data-provenance-utils/pom.xml
index 0024b70..983c40a 100644
--- a/nifi/commons/data-provenance-utils/pom.xml
+++ b/nifi/commons/data-provenance-utils/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>data-provenance-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
<name>data-provenance-utils</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/flowfile-packager/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/flowfile-packager/pom.xml b/nifi/commons/flowfile-packager/pom.xml
index 9cf4ba8..6e8d58d 100644
--- a/nifi/commons/flowfile-packager/pom.xml
+++ b/nifi/commons/flowfile-packager/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>flowfile-packager</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
<name>FlowFile Packager</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/nifi-expression-language/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/nifi-expression-language/pom.xml b/nifi/commons/nifi-expression-language/pom.xml
index 196c048..ca1a2a7 100644
--- a/nifi/commons/nifi-expression-language/pom.xml
+++ b/nifi/commons/nifi-expression-language/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-expression-language</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
<name>NiFi Expression Language</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/nifi-logging-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/nifi-logging-utils/pom.xml b/nifi/commons/nifi-logging-utils/pom.xml
index a6c3f44..febcceb 100644
--- a/nifi/commons/nifi-logging-utils/pom.xml
+++ b/nifi/commons/nifi-logging-utils/pom.xml
@@ -19,11 +19,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-logging-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Logging Utils</name>
<description>Utilities for logging</description>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/nifi-properties/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/nifi-properties/pom.xml b/nifi/commons/nifi-properties/pom.xml
index 43ef7c2..9d608a7 100644
--- a/nifi/commons/nifi-properties/pom.xml
+++ b/nifi/commons/nifi-properties/pom.xml
@@ -19,11 +19,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-properties</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Properties</name>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/nifi-security-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/nifi-security-utils/pom.xml b/nifi/commons/nifi-security-utils/pom.xml
index 0eaaeb4..8d323e4 100644
--- a/nifi/commons/nifi-security-utils/pom.xml
+++ b/nifi/commons/nifi-security-utils/pom.xml
@@ -18,11 +18,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-security-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Security Utils</name>
<description>Contains security functionality.</description>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/nifi-socket-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/nifi-socket-utils/pom.xml b/nifi/commons/nifi-socket-utils/pom.xml
index efb5a8e..cc2a2b6 100644
--- a/nifi/commons/nifi-socket-utils/pom.xml
+++ b/nifi/commons/nifi-socket-utils/pom.xml
@@ -19,11 +19,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-socket-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Socket Utils</name>
<description>Utilities for socket communication</description>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/nifi-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/nifi-utils/pom.xml b/nifi/commons/nifi-utils/pom.xml
index c5c2a68..7f2dc42 100644
--- a/nifi/commons/nifi-utils/pom.xml
+++ b/nifi/commons/nifi-utils/pom.xml
@@ -19,11 +19,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
<name>NiFi Utils</name>
<!--
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/nifi-web-utils/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/nifi-web-utils/pom.xml b/nifi/commons/nifi-web-utils/pom.xml
index 63d6e57..647459c 100644
--- a/nifi/commons/nifi-web-utils/pom.xml
+++ b/nifi/commons/nifi-web-utils/pom.xml
@@ -19,11 +19,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-web-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<name>NiFi Web Utils</name>
<dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/pom.xml b/nifi/commons/pom.xml
index 19a7ae0..f85e337 100644
--- a/nifi/commons/pom.xml
+++ b/nifi/commons/pom.xml
@@ -20,7 +20,7 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<groupId>org.apache.nifi</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/processor-utilities/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/processor-utilities/pom.xml b/nifi/commons/processor-utilities/pom.xml
index 2e952de..523b98e 100644
--- a/nifi/commons/processor-utilities/pom.xml
+++ b/nifi/commons/processor-utilities/pom.xml
@@ -19,11 +19,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>nifi-processor-utils</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
<name>NiFi Processor Utils</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/commons/wali/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/commons/wali/pom.xml b/nifi/commons/wali/pom.xml
index 347c8cc..0d653f8 100644
--- a/nifi/commons/wali/pom.xml
+++ b/nifi/commons/wali/pom.xml
@@ -19,11 +19,11 @@
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-commons-parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
</parent>
<artifactId>wali</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
<name>WALI : Write-Ahead Log Implementation</name>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/pom.xml
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/pom.xml b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/pom.xml
deleted file mode 100644
index a5d3d11..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<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">
- <!--
- 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.
- -->
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.nifi</groupId>
- <artifactId>execute-script-bundle</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>execute-script-processors</artifactId>
- <description>NiFi Processors to Run Scripts</description>
- <name>NiFi Script Execution Processors</name>
- <dependencies>
-
- <dependency>
- <groupId>org.jruby</groupId>
- <artifactId>jruby</artifactId>
- <exclusions>
- <exclusion>
- <artifactId>jnr-netdb</artifactId>
- <groupId>com.github.jnr</groupId>
- </exclusion>
- <exclusion>
- <artifactId>jnr-posix</artifactId>
- <groupId>com.github.jnr</groupId>
- </exclusion>
- <exclusion>
- <artifactId>jffi</artifactId>
- <groupId>com.github.jnr</groupId>
- </exclusion>
- <exclusion>
- <artifactId>nailgun-server</artifactId>
- <groupId>com.martiansoftware</groupId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.python</groupId>
- <artifactId>jython-standalone</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-mock</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-processor-utils</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-core-flowfile-attributes</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.nifi</groupId>
- <artifactId>nifi-stream-utils</artifactId>
- </dependency>
- </dependencies>
-</project>
-
-
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/processors/script/ExecuteScript.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/processors/script/ExecuteScript.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/processors/script/ExecuteScript.java
deleted file mode 100644
index 9058cf4..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/processors/script/ExecuteScript.java
+++ /dev/null
@@ -1,566 +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 org.apache.nifi.processors.script;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicReference;
-
-import javax.script.ScriptException;
-
-import org.apache.nifi.components.PropertyDescriptor;
-import org.apache.nifi.components.ValidationContext;
-import org.apache.nifi.components.ValidationResult;
-import org.apache.nifi.components.Validator;
-import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.io.BufferedInputStream;
-import org.apache.nifi.io.BufferedOutputStream;
-import org.apache.nifi.processor.AbstractProcessor;
-import org.apache.nifi.processor.ProcessContext;
-import org.apache.nifi.processor.ProcessSession;
-import org.apache.nifi.processor.ProcessorInitializationContext;
-import org.apache.nifi.processor.Relationship;
-import org.apache.nifi.processor.annotation.CapabilityDescription;
-import org.apache.nifi.processor.annotation.EventDriven;
-import org.apache.nifi.processor.annotation.Tags;
-import org.apache.nifi.processor.exception.ProcessException;
-import org.apache.nifi.processor.io.InputStreamCallback;
-import org.apache.nifi.processor.io.StreamCallback;
-import org.apache.nifi.processor.util.StandardValidators;
-import org.apache.nifi.scripting.ConverterScript;
-import org.apache.nifi.scripting.ReaderScript;
-import org.apache.nifi.scripting.Script;
-import org.apache.nifi.scripting.ScriptFactory;
-import org.apache.nifi.scripting.WriterScript;
-
-/**
- * <!-- Processor Documentation ================================================== -->
- * <h2>Description:</h2>
- * <p>
- * This processor provides the capability to execute scripts in various
- * scripting languages, and passes into the scripts the input stream and output
- * stream(s) representing an incoming flow file and any created flow files. The
- * processor is designed to be thread safe, so multiple concurrent tasks may
- * execute against a single script. The processor provides a framework which
- * enables script writers to implement 3 different types of scripts:
- * <ul>
- * ReaderScript - which enables stream-based reading of a FlowFile's
- * content</br> WriterScript - which enables stream-based reading and
- * writing/modifying of a FlowFile's content</br> ConverterScript - which
- * enables stream-based reading a FlowFile's content and stream-based writing to
- * newly created FlowFiles</br>
- * </ul>
- * Presently, the processor supports 3 scripting languages: Ruby, Python, and
- * JavaScript. The processor is built on the javax.script API which enables
- * ScriptEngine discovery, thread management, and encapsulates much of the low
- * level bridging-code that enables Java to Script language integration. Thus,
- * it is designed to be easily extended to other scripting languages. </br> The
- * attributes of a FlowFile and properties of the Processor are exposed to the
- * script by either a variable in the base class or a getter method. A script
- * may declare new Processor Properties and different Relationships via
- * overriding the getPropertyDescriptors and getRelationships methods,
- * respectively.
- * </p>
- * <p>
- * <strong>Properties:</strong>
- * </p>
- * <p>
- * In the list below, the names of required properties appear in bold. Any other
- * properties (not in bold) are considered optional. If a property has a default
- * value, it is indicated. If a property supports the use of the NiFi Expression
- * Language (or simply, "expression language"), that is also indicated. Of
- * particular note: This processor allows scripts to define additional Processor
- * properties, which will not be initially visible. Once the processor's
- * configuration is validated, script defined properties will become visible,
- * and may affect the validity of the processor.
- * </p>
- * <ul>
- * <li>
- * <strong>Script File Name</strong>
- * <ul>
- * <li>Script location, can be relative or absolute path.</li>
- * <li>Default value: no default</li>
- * <li>Supports expression language: false</li>
- * </ul>
- * </li>
- * <li>
- * <strong>Script Check Interval</strong>
- * <ul>
- * <li>The time period between checking for updates to a script.</li>
- * <li>Default value: 15 sec</li>
- * <li>Supports expression language: false</li>
- * </ul>
- * </li>
- * </ul>
- *
- * <p>
- * <strong>Relationships:</strong>
- * </p>
- * <p>
- * The initial 'out of the box' relationships are below. Of particular note is
- * the ability of a script to change the set of relationships. However, any
- * relationships defined by the script will not be visible until the processor's
- * configuration has been validated. Once done, new relationships will become
- * visible.
- * </p>
- * <ul>
- * <li>
- * success
- * <ul>
- * <li>Used when a file is successfully processed by a script.</li>
- * </ul>
- * </li>
- * <li>
- * failure
- * <ul>
- * <li>Used when an error occurs while processing a file with a script.</li>
- * </ul>
- * </li>
- * </ul>
- *
- * <p>
- * <strong>Example Scripts:</strong>
- * </p>
- * <ul>
- * JavaScript example - the 'with' statement imports packages defined in the
- * framework. Since the 'instance' variable is intended to be local scope (not
- * global), it must be named 'instance' as it it not passed back to the
- * processor upon script evaluation and must be fetched. If you make it global,
- * you can name it whatever you'd like...but this is intended to be
- * multi-threaded so do so at your own risk. Presently, there are issues with
- * the JavaScript scripting engine that prevent sub-classing the base classes in
- * the Processor's Java framework. So, what is actually happening is an instance
- * of the ReaderScript is created with a provided callback object. When we are
- * able to move to a more competent scripting engine, the code below will remain
- * the same, but the 'instance' variable will actually be a sub-class of
- * ReaderScript.
- *
- * <pre>
- * with (Scripting) {
- * var instance = new ReaderScript({
- * route : function(input) {
- * var str = IOUtils.toString(input);
- * var expr = instance.getProperty("expr");
- * filename = instance.attributes.get("filename");
- * instance.setAttribute("filename", filename + ".modified");
- * if (str.match(expr)) {
- * return Script.FAIL_RELATIONSHIP;
- * } else {
- * return Script.SUCCESS_RELATIONSHIP;
- * }
- * }
- * });
- * }
- * </pre>
- *
- * Ruby example - the 'OutputStreamHandler' is an interface which is called when
- * creating flow files.
- *
- * <pre>
- * java_import 'org.apache.nifi.scripting.OutputStreamHandler'
- * class SimpleConverter < ConverterScript
- * field_reader :FAIL_RELATIONSHIP, :SUCCESS_RELATIONSHIP, :logger, :attributes
- *
- * def convert(input)
- * in_io = input.to_io
- * createFlowFile("firstLine", FAIL_RELATIONSHIP, OutputStreamHandler.impl do |method, out|
- * out_io = out.to_io
- * out_io << in_io.readline.to_java_bytes
- * out_io.close
- * logger.debug("Wrote data to failure...this message logged with logger from super class")
- * end)
- *
- * createFlowFile("otherLines", SUCCESS_RELATIONSHIP, OutputStreamHandler.impl do |method, out|
- * out_io = out.to_io
- * in_io.each_line { |line|
- * out_io << line
- * }
- * out_io.close
- * logger.debug("Wrote data to success...this message logged with logger from super class")
- * end)
- * in_io.close
- * end
- *
- * end
- *
- * $logger.debug("Creating SimpleConverter...this message logged with logger from shared variables")
- * SimpleConverter.new
- * </pre>
- *
- * Python example - The difficulty with Python is that it does not return
- * objects upon script evaluation, so the instance of the Script class must be
- * fetched by name. Thus, you must define a variable called 'instance'.
- *
- * <pre>
- * import re
- *
- * class RoutingReader(ReaderScript):
- * A = Relationship.Builder().name("a").description("some good stuff").build()
- * B = Relationship.Builder().name("b").description("some other stuff").build()
- * C = Relationship.Builder().name("c").description("some bad stuff").build()
- *
- * def getRelationships(self):
- * return [self.A,self.B,self.C]
- *
- * def getExceptionRoute(self):
- * return self.C
- *
- * def route( self, input ):
- * for line in FileUtil.wrap(input):
- * if re.match("^bad", line, re.IGNORECASE):
- * return self.B
- * if re.match("^sed", line):
- * raise RuntimeError("That's no good!")
- *
- * return self.A
- *
- * instance = RoutingReader()
- * </pre>
- *
- * </ul>
- * <p>
- * <strong>Shared Variables</strong>
- * </p>
- * <ul>
- * <li>logger : global scope</li>
- * <li>properties : local/instance scope</li>
- * </ul>
- * <p>
- * <strong>Script API:</strong>
- * </p>
- * <ul>
- * <li>getAttribute(String) : String</li>
- * <li>getAttributes() : Map(String,String)</li>
- * <li>getExceptionRoute() : Relationship</li>
- * <li>getFileName() : String</li>
- * <li>getFlowFileEntryDate() : Calendar</li>
- * <li>getFlowFileSize() : long</li>
- * <li>getProperties() : Map(String, String)</li>
- * <li>getProperty(String) : String</li>
- * <li>getPropertyDescriptors() : List(PropertyDescriptor)</li>
- * <li>getRelationships() : Collection(Relationship)</li>
- * <li>getRoute() : Relationship</li>
- * <li>setRoute(Relationship)</li>
- * <li>setAttribute(String, String)</li>
- * <li>validate() : Collection(String)</li>
- * </ul>
- * <p>
- * <strong>ReaderScript API:</strong>
- * </p>
- * <ul>
- * <li>route(InputStream) : Relationship</li>
- * </ul>
- * <p>
- * <strong>WriterScript API:</strong>
- * </p>
- * <ul>
- * <li>process(InputStream, OutputStream)</li>
- * </ul>
- * <p>
- * <strong>ConverterScript API:</strong>
- * </p>
- * <ul>
- * <li>convert(InputStream)</li>
- * <li>createFlowFile(String, Relationship, OutputStreamHandler)</li>
- * </ul>
- * <p>
- * <strong>OutputStreamHandler API:</strong>
- * </p>
- * <ul>
- * <li>write(OutputStream)</li>
- * </ul>
- */
-@EventDriven
-@Tags({"script", "ruby", "python", "javascript", "execute"})
-@CapabilityDescription("Execute scripts in various scripting languages, and passes into the scripts the input stream and output stream(s) "
- + "representing an incoming flow file and any created flow files.")
-public class ExecuteScript extends AbstractProcessor {
-
- private final AtomicBoolean doCustomValidate = new AtomicBoolean(true);
- private final AtomicReference<Set<Relationship>> relationships = new AtomicReference<>();
- private final AtomicReference<List<PropertyDescriptor>> propertyDescriptors = new AtomicReference<>();
- private volatile ScriptFactory scriptFactory;
- private volatile Relationship exceptionRoute;
-
- /**
- * Script location, can be relative or absolute path -- passed as-is to
- * {@link File#File(String) File constructor}
- */
- public static final PropertyDescriptor SCRIPT_FILE_NAME = new PropertyDescriptor.Builder()
- .name("Script File Name")
- .description("Script location, can be relative or absolute path")
- .required(true)
- .addValidator(new Validator() {
-
- @Override
- public ValidationResult validate(String subject, String input, ValidationContext context) {
- ValidationResult result = StandardValidators.FILE_EXISTS_VALIDATOR.validate(subject, input, context);
- if (result.isValid()) {
- int dotPos = input.lastIndexOf('.');
- if (dotPos < 1) {
- result = new ValidationResult.Builder()
- .subject(subject)
- .valid(false)
- .explanation("Filename must have an extension")
- .input(input)
- .build();
- }
- }
- return result;
- }
- })
- .build();
-
- static final PropertyDescriptor SCRIPT_CHECK_INTERVAL = new PropertyDescriptor.Builder()
- .name("Script Check Interval")
- .addValidator(StandardValidators.TIME_PERIOD_VALIDATOR)
- .description("The time period between checking for updates to a script")
- .required(true)
- .defaultValue("15 sec")
- .build();
-
- @Override
- protected void init(ProcessorInitializationContext context) {
- Set<Relationship> empty = Collections.emptySet();
- relationships.set(empty);
- ArrayList<PropertyDescriptor> propDescs = new ArrayList<>();
- propDescs.add(SCRIPT_FILE_NAME);
- propDescs.add(SCRIPT_CHECK_INTERVAL);
- propertyDescriptors.set(Collections.unmodifiableList(propDescs));
- scriptFactory = new ScriptFactory(getLogger());
- }
-
- @Override
- public List<PropertyDescriptor> getSupportedPropertyDescriptors() {
- return propertyDescriptors.get();
- }
-
- @Override
- protected PropertyDescriptor getSupportedDynamicPropertyDescriptor(String propertyDescriptorName) {
- return new PropertyDescriptor.Builder()
- .name(propertyDescriptorName)
- .dynamic(true)
- .addValidator(Validator.VALID)
- .build();
- }
-
- @Override
- public void onPropertyModified(PropertyDescriptor descriptor, String oldValue, String newValue) {
- doCustomValidate.set(true);
- }
-
- @Override
- public Set<Relationship> getRelationships() {
- return relationships.get();
- }
-
- /**
- * Called by framework.
- *
- * Returns a list of reasons why this processor cannot be run.
- * @return
- */
- @Override
- protected Collection<ValidationResult> customValidate(ValidationContext validationContext) {
- if (doCustomValidate.getAndSet(false)) {
- long interval = validationContext.getProperty(SCRIPT_CHECK_INTERVAL).asTimePeriod(TimeUnit.MILLISECONDS);
- scriptFactory.setScriptCheckIntervalMS(interval);
- List<ValidationResult> results = new ArrayList<>();
- String file = validationContext.getProperty(SCRIPT_FILE_NAME).getValue();
- try {
- Script s = scriptFactory.getScript(file);
-
- // set the relationships of the processor
- relationships.set(new HashSet<>(s.getRelationships()));
-
- // need to get script's prop. descs. and validate. May, or may not, have dynamic
- // props already...depends if this is the first time the processor is being configured.
- Map<PropertyDescriptor, String> properties = validationContext.getProperties();
-
- // need to compare props, if any, against script-expected props that are required.
- // script may be expecting required props that are not known, or some props may have invalid
- // values.
- // processor may be configured with dynamic props that the script will use...but does not declare which would
- // be a bad thing
- List<PropertyDescriptor> scriptPropDescs = s.getPropertyDescriptors();
- getLogger().debug("Script is {}", new Object[]{s});
- getLogger().debug("Script file name is {}", new Object[]{s.getFileName()});
- getLogger().debug("Script Prop Descs are: {}", new Object[]{scriptPropDescs.toString()});
- getLogger().debug("Thread is: {}", new Object[]{Thread.currentThread().toString()});
- for (PropertyDescriptor propDesc : scriptPropDescs) {
- // need to check for missing props
- if (propDesc.isRequired() && !properties.containsKey(propDesc)) {
- results.add(new ValidationResult.Builder()
- .subject("Script Properties")
- .valid(false)
- .explanation("Missing Property " + propDesc.getName())
- .build());
-
- // need to validate current value against script provided validator
- } else if (properties.containsKey(propDesc)) {
- String value = properties.get(propDesc);
- ValidationResult result = propDesc.validate(value, validationContext);
- if (!result.isValid()) {
- results.add(result);
- }
- } // else it is an optional prop according to the script and it is not specified by
- // the configuration of the processor
- }
-
- // need to update the known prop desc's with what we just got from the script
- List<PropertyDescriptor> pds = new ArrayList<>(propertyDescriptors.get());
- pds.addAll(scriptPropDescs);
- propertyDescriptors.set(Collections.unmodifiableList(pds));
-
- if (results.isEmpty()) {
- // so needed props are supplied and individually validated, now validate script
- Collection<String> reasons;
- reasons = s.validate();
- if (null == reasons) {
- getLogger().warn("Script had invalid return value for validate(), ignoring.");
- } else {
- for (String reason : reasons) {
- ValidationResult result = new ValidationResult.Builder()
- .subject("ScriptValidation")
- .valid(false)
- .explanation(reason)
- .build();
- results.add(result);
- }
- }
- }
-
- // get the exception route
- exceptionRoute = s.getExceptionRoute();
-
- return results;
- } catch (ScriptException | IOException | NoSuchMethodException e) {
- doCustomValidate.set(true);
- results.add(new ValidationResult.Builder()
- .subject("ScriptValidation")
- .valid(false)
- .explanation("Cannot create script due to " + e.getMessage())
- .input(file)
- .build());
- getLogger().error("Cannot create script due to " + e, e);
- return results;
- }
- }
- return null;
- }
-
- @Override
- public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException {
- FlowFile flowFile = session.get();
- if (flowFile == null) {
- return; // fail-fast if there is no work to do
- }
-
- final String scriptFileName = context.getProperty(SCRIPT_FILE_NAME).getValue();
- // doing this cloning because getProperties does not initialize props that have only their default values
- // must do a getProperty for that value to be initialized
- Map<String, String> props = new HashMap<>();
- for (PropertyDescriptor propDesc : context.getProperties().keySet()) {
- if (propDesc.isExpressionLanguageSupported()) {
- props.put(propDesc.getName(), context.getProperty(propDesc).evaluateAttributeExpressions(flowFile).getValue());
- } else {
- props.put(propDesc.getName(), context.getProperty(propDesc).getValue());
- }
- }
- Script script = null;
- try {
- final Script finalScript = scriptFactory.getScript(scriptFileName, props, flowFile);
- script = finalScript;
- if (finalScript instanceof ReaderScript) {
- session.read(flowFile, new InputStreamCallback() {
-
- @Override
- public void process(InputStream in) throws IOException {
- try {
- ((ReaderScript) finalScript).process(new BufferedInputStream(in));
- } catch (NoSuchMethodException | ScriptException e) {
- getLogger().error("Failed to execute ReaderScript", e);
- throw new IOException(e);
- }
- }
- });
- } else if (finalScript instanceof WriterScript) {
- flowFile = session.write(flowFile, new StreamCallback() {
-
- @Override
- public void process(InputStream in, OutputStream out) throws IOException {
- try {
- ((WriterScript) finalScript).process(new BufferedInputStream(in), new BufferedOutputStream(out));
- out.flush();
- } catch (NoSuchMethodException | ScriptException e) {
- getLogger().error("Failed to execute WriterScript", e);
- throw new IOException(e);
- }
- }
- });
- } else if (finalScript instanceof ConverterScript) {
- ((ConverterScript) finalScript).process(session);
-
- // Note that these scripts don't pass the incoming FF through,
- // they always create new outputs
- session.remove(flowFile);
- return;
- } else {
- // only thing we can do is assume script has already run and done it's thing, so just transfer the incoming
- // flowfile
- getLogger().debug("Successfully executed script from {}", new Object[]{scriptFileName});
- }
-
- // update flow file attributes
- flowFile = session.putAllAttributes(flowFile, finalScript.getAttributes());
- Relationship route = finalScript.getRoute();
- if (null == route) {
- session.remove(flowFile);
- getLogger().info("Removing flowfile {}", new Object[]{flowFile});
- } else {
- session.transfer(flowFile, route);
- getLogger().info("Transferring flowfile {} to {}", new Object[]{flowFile, route});
- }
- } catch (ScriptException | IOException e) {
- getLogger().error("Failed to create script from {} with flowFile {}. Rolling back session.",
- new Object[]{scriptFileName, flowFile}, e);
- throw new ProcessException(e);
- } catch (Exception e) {
- if (null != script) {
- getLogger().error("Failed to execute script from {}. Transferring flow file {} to {}",
- new Object[]{scriptFileName, flowFile, exceptionRoute}, e);
- session.transfer(flowFile, exceptionRoute);
- } else {
- getLogger().error("Failed to execute script from {} with flowFile {}. Rolling back session",
- new Object[]{scriptFileName, flowFile}, e);
- throw new ProcessException(e);
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ConverterScript.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ConverterScript.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ConverterScript.java
deleted file mode 100644
index 7be47a8..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ConverterScript.java
+++ /dev/null
@@ -1,131 +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 org.apache.nifi.scripting;
-
-import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-
-import javax.script.Invocable;
-import javax.script.ScriptException;
-
-import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.flowfile.attributes.CoreAttributes;
-import org.apache.nifi.io.BufferedInputStream;
-import org.apache.nifi.processor.ProcessSession;
-import org.apache.nifi.processor.Relationship;
-import org.apache.nifi.processor.io.InputStreamCallback;
-import org.apache.nifi.processor.io.OutputStreamCallback;
-
-/**
- * <p>
- * Script authors should extend this class if they want to perform complex
- * conversions in a NiFi processor.
- * </p>
- *
- * <p>
- * Scripts must implement {@link #convert(FileInputStream)}. This method may
- * create new FlowFiles and pass them to one or more routes. The input FlowFile
- * will be removed from the repository after execution of this method completes.
- * </p>
- *
- * <p>
- * In general, the {@link #convert(FileInputStream)} will read from the supplied
- * stream, then create one or more output sinks and route the result to the
- * relationship of choice using
- * {@link #routeStream(ByteArrayOutputStream, String, String)} or
- * {@link #routeBytes(byte[], String, String)}.
- *
- * <p>
- * Implement {@link #getProcessorRelationships()} to allow writing to
- * relationships other than <code>success</code> and <code>failure</code>. The
- * {@link #getRoute()} superclass method is *not* used by Converter Scripts.
- * </p>
- *
- */
-public class ConverterScript extends Script {
-
- private ProcessSession session; // used to create files
- private Object convertCallback;
-
- public ConverterScript() {
-
- }
-
- public ConverterScript(Object... callbacks) {
- super(callbacks);
- for (Object callback : callbacks) {
- if (callback instanceof Map<?, ?>) {
- convertCallback = convertCallback == null && ((Map<?, ?>) callback).containsKey("convert") ? callback : convertCallback;
- }
- }
- }
-
- // Subclasses should implement this to define basic logic
- protected void convert(InputStream stream) throws NoSuchMethodException, ScriptException {
- if (convertCallback != null) {
- ((Invocable) engine).invokeMethod(convertCallback, "convert", stream);
- }
- }
-
- /**
- * Owning processor uses this method to kick off handling of a single file
- *
- * @param aSession the owning processor's Repository (needed to make new
- * files)
- */
- public void process(ProcessSession aSession) {
- this.session = aSession;
- this.session.read(this.flowFile, new InputStreamCallback() {
-
- @Override
- public void process(InputStream in) throws IOException {
- BufferedInputStream stream = new BufferedInputStream(in);
- try {
- convert(stream);
- } catch (NoSuchMethodException | ScriptException e) {
- logger.error("Failed to execute 'convert' function in script", e);
- throw new IOException(e);
- }
- }
- });
- }
-
- // this should go back to protected once we get Nashorn
- public void createFlowFile(final String flowFileName, final Relationship relationship, final OutputStreamHandler handler) {
- FlowFile result = session.create(this.flowFile);
- result = session.putAttribute(result, CoreAttributes.FILENAME.key(), flowFileName);
- try {
- result = session.write(result, new OutputStreamCallback() {
-
- @Override
- public void process(OutputStream out) throws IOException {
- handler.write(out);
- }
- });
- this.logger.info("Transfer flow file {} to {}", new Object[]{result, relationship});
- session.transfer(result, relationship);
- } catch (Exception e) {
- this.logger.error("Could not create new flow file from script", e);
- session.remove(result);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JRubyScriptFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JRubyScriptFactory.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JRubyScriptFactory.java
deleted file mode 100644
index 883b688..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JRubyScriptFactory.java
+++ /dev/null
@@ -1,46 +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 org.apache.nifi.scripting;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.commons.io.FileUtils;
-
-public enum JRubyScriptFactory {
-
- INSTANCE;
-
- private static final String PRELOADS = "include Java\n"
- + "\n"
- + "java_import 'org.apache.nifi.components.PropertyDescriptor'\n"
- + "java_import 'org.apache.nifi.components.Validator'\n"
- + "java_import 'org.apache.nifi.processor.util.StandardValidators'\n"
- + "java_import 'org.apache.nifi.processor.Relationship'\n"
- + "java_import 'org.apache.nifi.logging.ProcessorLog'\n"
- + "java_import 'org.apache.nifi.scripting.ReaderScript'\n"
- + "java_import 'org.apache.nifi.scripting.WriterScript'\n"
- + "java_import 'org.apache.nifi.scripting.ConverterScript'\n"
- + "\n";
-
- public String getScript(File scriptFile) throws IOException {
- StringBuilder sb = new StringBuilder();
- sb.append(PRELOADS)
- .append(FileUtils.readFileToString(scriptFile, "UTF-8"));
- return sb.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JavaScriptScriptFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JavaScriptScriptFactory.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JavaScriptScriptFactory.java
deleted file mode 100644
index 774fb1f..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JavaScriptScriptFactory.java
+++ /dev/null
@@ -1,56 +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 org.apache.nifi.scripting;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
-
-public enum JavaScriptScriptFactory {
-
- INSTANCE;
-
- private static final String PRELOADS = "var Scripting = JavaImporter(\n"
- + " Packages.org.apache.nifi.components,\n"
- + " Packages.org.apache.nifi.processor.util,\n"
- + " Packages.org.apache.nifi.processor,\n"
- + " Packages.org.apache.nifi.logging,\n"
- + " Packages.org.apache.nifi.scripting,\n"
- + " Packages.org.apache.commons.io);\n"
- + "var readFile = function (file) {\n"
- + " var script = Packages.org.apache.commons.io.FileUtils.readFileToString("
- + " new java.io.File($PATH, file)"
- + " );\n"
- + " return \"\" + script;\n"
- + "}\n"
- + "var require = function (file){\n"
- + " var exports={}, module={};\n"
- + " module.__defineGetter__('id', function(){return file;});"
- + " eval(readFile(file));\n"
- + " return exports;\n"
- + "}\n";
-
- public String getScript(File scriptFile) throws IOException {
- StringBuilder sb = new StringBuilder();
- final String parent = StringUtils.replace(scriptFile.getParent(), "\\", "/");
- sb.append(PRELOADS).append("var $PATH = \"").append(parent).append("\"\n")
- .append(FileUtils.readFileToString(scriptFile, "UTF-8"));
- return sb.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JythonScriptFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JythonScriptFactory.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JythonScriptFactory.java
deleted file mode 100644
index 6b40b5e..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/JythonScriptFactory.java
+++ /dev/null
@@ -1,45 +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 org.apache.nifi.scripting;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.commons.io.FileUtils;
-
-public enum JythonScriptFactory {
-
- INSTANCE;
-
- private final static String PRELOADS = "from org.python.core.util import FileUtil\n"
- + "from org.apache.nifi.components import PropertyDescriptor\n"
- + "from org.apache.nifi.components import Validator\n"
- + "from org.apache.nifi.processor.util import StandardValidators\n"
- + "from org.apache.nifi.processor import Relationship\n"
- + "from org.apache.nifi.logging import ProcessorLog\n"
- + "from org.apache.nifi.scripting import ReaderScript\n"
- + "from org.apache.nifi.scripting import WriterScript\n"
- + "from org.apache.nifi.scripting import ConverterScript\n";
-
- public String getScript(File scriptFile) throws IOException {
- StringBuilder sb = new StringBuilder();
- sb.append(PRELOADS)
- .append(FileUtils.readFileToString(scriptFile, "UTF-8"));
-
- return sb.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/OutputStreamHandler.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/OutputStreamHandler.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/OutputStreamHandler.java
deleted file mode 100644
index d879722..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/OutputStreamHandler.java
+++ /dev/null
@@ -1,24 +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 org.apache.nifi.scripting;
-
-import java.io.OutputStream;
-
-public interface OutputStreamHandler {
-
- void write(OutputStream out);
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ReaderScript.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ReaderScript.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ReaderScript.java
deleted file mode 100644
index b1d89c0..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ReaderScript.java
+++ /dev/null
@@ -1,79 +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 org.apache.nifi.scripting;
-
-import java.io.InputStream;
-import java.util.Map;
-
-import javax.script.Invocable;
-import javax.script.ScriptException;
-
-import org.apache.nifi.processor.Relationship;
-
-/**
- * <p>
- * Script authors should extend this class if they want to follow the "reader"
- * paradigm for NiFi processors.
- * </p>
- *
- * <p>
- * User scripts should implement {@link #route(InputStream)}. <code>route</code>
- * uses a returned relationship name to determine where FlowFiles go. Scripts
- * may also implement {@link #getProcessorRelationships()} to specify available
- * relationship names.
- * </p>
- *
- */
-public class ReaderScript extends Script {
-
- private Object routeCallback;
-
- public ReaderScript(Object... callbacks) {
- super(callbacks);
- for (Object callback : callbacks) {
- if (callback instanceof Map<?, ?>) {
- routeCallback = routeCallback == null && ((Map<?, ?>) callback).containsKey("route") ? callback : routeCallback;
- }
- }
- }
-
- public ReaderScript() {
-
- }
-
- // Simple helper
- public void process(InputStream input) throws NoSuchMethodException, ScriptException {
- lastRoute = route(input);
- }
-
- /**
- * Subclasses should examine the provided inputstream, then determine which
- * relationship the file will be sent down and return its name.
- *
- *
- * @param in a Java InputStream containing the incoming FlowFile.
- * @return a relationship name
- * @throws ScriptException
- * @throws NoSuchMethodException
- */
- public Relationship route(InputStream in) throws NoSuchMethodException, ScriptException {
- Relationship relationship = null;
- Invocable invocable = (Invocable) this.engine;
- relationship = (Relationship) invocable.invokeMethod(routeCallback, "route", in);
- return relationship;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/Script.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/Script.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/Script.java
deleted file mode 100644
index 786f541..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/Script.java
+++ /dev/null
@@ -1,303 +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 org.apache.nifi.scripting;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.script.Invocable;
-import javax.script.ScriptEngine;
-import javax.script.ScriptException;
-
-import org.apache.nifi.components.PropertyDescriptor;
-import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.logging.ProcessorLog;
-import org.apache.nifi.processor.Relationship;
-
-/**
- * <p>
- * Base class for all scripts. In this framework, only ScriptEngines that
- * implement javax.script.Invocable are supported.
- *
- * </p>
- *
- */
-public class Script {
-
- public static final Relationship SUCCESS_RELATIONSHIP = new Relationship.Builder()
- .name("success")
- .description("Destination of successfully created flow files")
- .build();
- public static final Relationship FAIL_RELATIONSHIP = new Relationship.Builder()
- .name("failure")
- .description("Destination of flow files when a error occurs in the script")
- .build();
-
- static final Set<Relationship> RELATIONSHIPS;
-
- static {
- Set<Relationship> rels = new HashSet<>();
- rels.add(FAIL_RELATIONSHIP);
- rels.add(SUCCESS_RELATIONSHIP);
- RELATIONSHIPS = Collections.unmodifiableSet(rels);
- }
-
- FlowFile flowFile = null;
- ScriptEngine engine = null;
-
- protected Map<String, String> properties = new HashMap<>();
- protected Relationship lastRoute = SUCCESS_RELATIONSHIP;
- protected ProcessorLog logger;
- protected String scriptFileName;
- protected Map<String, String> attributes = new HashMap<>();
- protected long flowFileSize = 0;
- protected long flowFileEntryDate = System.currentTimeMillis();
-
- // the following are needed due to an inadequate JavaScript ScriptEngine. It will not allow
- // subclassing a Java Class, only implementing a Java Interface. So, the syntax of JavaScript
- // scripts looks like subclassing, but actually is just constructing a Script instance and
- // passing in functions as args to the constructor. When we move to Nashorn JavaScript ScriptEngine
- // in Java 8, we can get rid of these and revert the subclasses of this class to abstract.
- protected Object propDescCallback;
- protected Object relationshipsCallback;
- protected Object validateCallback;
- protected Object exceptionRouteCallback;
-
- /**
- * Create a Script without any parameters
- */
- public Script() {
- }
-
- public Script(Object... callbacks) {
- for (Object callback : callbacks) {
- if (callback instanceof Map<?, ?>) {
- propDescCallback = propDescCallback == null && ((Map<?, ?>) callback).containsKey("getPropertyDescriptors") ? callback
- : propDescCallback;
- relationshipsCallback = relationshipsCallback == null && ((Map<?, ?>) callback).containsKey("getRelationships") ? callback
- : relationshipsCallback;
- validateCallback = validateCallback == null && ((Map<?, ?>) callback).containsKey("validate") ? callback : validateCallback;
- exceptionRouteCallback = exceptionRouteCallback == null && ((Map<?, ?>) callback).containsKey("getExceptionRoute") ? callback
- : exceptionRouteCallback;
- }
- }
- }
-
- /**
- * Specify a set of properties with corresponding NiFi validators.
- *
- * Subclasses that do not override this method will still have access to all
- * properties via the "properties" field
- *
- * @return a list of PropertyDescriptors
- * @throws ScriptException
- * @throws NoSuchMethodException
- */
- @SuppressWarnings("unchecked")
- public List<PropertyDescriptor> getPropertyDescriptors() throws NoSuchMethodException, ScriptException {
- if (propDescCallback != null) {
- return (List<PropertyDescriptor>) ((Invocable) engine).invokeMethod(propDescCallback, "getPropertyDescriptors", (Object) null);
- }
- return Collections.emptyList();
- }
-
- /**
- * Specify a set of reasons why this processor should be invalid.
- *
- * Subclasses that do not override this method will depend only on
- * individual property validators as specified in
- * {@link #getPropertyDescriptors()}.
- *
- * @return a Collection of messages to display to the user, or an empty
- * Collection if the processor configuration is OK.
- * @throws ScriptException
- * @throws NoSuchMethodException
- */
- @SuppressWarnings("unchecked")
- public Collection<String> validate() throws NoSuchMethodException, ScriptException {
- if (validateCallback != null) {
- return (Collection<String>) ((Invocable) engine).invokeMethod(validateCallback, "validate", (Object) null);
- }
- return Collections.emptyList();
- }
-
- void setFlowFile(FlowFile ff) {
- flowFile = ff;
- if (null != ff) {
- // have to clone because ff.getAttributes is unmodifiable
- this.attributes = new HashMap<>(ff.getAttributes());
- this.flowFileSize = ff.getSize();
- this.flowFileEntryDate = ff.getEntryDate();
- }
- }
-
- void setProperties(Map<String, String> map) {
- properties = new HashMap<>(map);
- }
-
- /**
- * Required to access entire properties map -- Jython (at least) won't let
- * you read the member variable without a getter
- *
- * @return entire parameter map
- */
- // change back to protected when we get nashorn
- public Map<String, String> getProperties() {
- return properties;
- }
-
- /**
- * Get the named parameter. Some scripting languages make a method call
- * easier than accessing a member field, so this is a convenience method to
- * look up values in the properties field.
- *
- * @param key a hash key
- * @return the value pointed at by the key specified
- */
- public String getProperty(String key) {
- return properties.get(key);
- }
-
- /**
- * Name the various relationships by which a file can leave this processor.
- * Subclasses may override this method to change available relationships.
- *
- * @return a collection of relationship names
- * @throws ScriptException
- * @throws NoSuchMethodException
- */
- @SuppressWarnings("unchecked")
- public Collection<Relationship> getRelationships() throws NoSuchMethodException, ScriptException {
- if (relationshipsCallback != null) {
- return (Collection<Relationship>) ((Invocable) engine).invokeMethod(relationshipsCallback, "getRelationships", (Object) null);
- }
- return RELATIONSHIPS;
- }
-
- /**
- * Determine what do with a file that has just been processed.
- *
- * After a script runs its "read" or "write" method, it should update the
- * "lastRoute" field to specify the relationship to which the resulting file
- * will be sent.
- *
- * @return a relationship name
- */
- public Relationship getRoute() {
- return lastRoute;
- }
-
- // Required because of a potential issue in Rhino -- protected methods are visible in
- // subclasses but protected fields (like "lastRoute") are not
- // change back to protected when we get nashorn
- public void setRoute(Relationship route) {
- lastRoute = route;
- }
-
- /**
- * Determine where to send a file if an exception is thrown during
- * processing.
- *
- * Subclasses may override this method to use a different relationship, or
- * to determine the relationship dynamically. Returning null causes the file
- * to be deleted instead.
- *
- * Defaults to "failure".
- *
- * @return the name of the relationship to use in event of an exception, or
- * null to delete the file.
- * @throws ScriptException
- * @throws NoSuchMethodException
- */
- public Relationship getExceptionRoute() throws NoSuchMethodException, ScriptException {
- if (exceptionRouteCallback != null) {
- return (Relationship) ((Invocable) engine).invokeMethod(exceptionRouteCallback, "getExceptionRoute", (Object) null);
- }
- return FAIL_RELATIONSHIP;
- }
-
- /*
- * Some scripting languages make a method call easier than accessing a member field, so this is a convenience method to get
- * the incoming flow file size.
- */
- // Change back to protected when we get nashorn
- public long getFlowFileSize() {
- return flowFileSize;
- }
-
- /*
- * Some scripting languages make a method call easier than accessing a member field, so this is a convenience method to get
- * entry date of the flow file.
- */
- // Change back to protected when we get nashorn
- public long getFlowFileEntryDate() {
- return flowFileEntryDate;
- }
-
- void setLogger(ProcessorLog logger) {
- this.logger = logger;
- }
-
- /*
- * Required so that scripts in some languages can read access the attribute. Jython (at least) won't let you read the member
- * variable without a getter
- */
- protected ProcessorLog getLogger() {
- return this.logger;
- }
-
- void setFileName(String scriptFileName) {
- this.scriptFileName = scriptFileName;
- }
-
- public String getFileName() {
- return this.scriptFileName;
- }
-
- // this one's public because it's needed by ExecuteScript to update the flow file's attributes AFTER processing is done
- public Map<String, String> getAttributes() {
- return this.attributes;
- }
-
- /*
- * Some scripting languages make a method call easier than accessing a member field, so this is a convenience method to look
- * up values in the attributes field.
- */
- // Change back to protected when we get nashorn
- public String getAttribute(String key) {
- return this.attributes.get(key);
- }
-
- /*
- * Some scripting languages make a method call easier than accessing a member field, so this is a convenience method to set
- * key/value pairs in the attributes field.
- */
- // Change back to protected when we get nashorn
- public void setAttribute(String key, String value) {
- this.attributes.put(key, value);
- }
-
- void setEngine(ScriptEngine scriptEngine) {
- this.engine = scriptEngine;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ScriptEngineFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ScriptEngineFactory.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ScriptEngineFactory.java
deleted file mode 100644
index 6f38886..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ScriptEngineFactory.java
+++ /dev/null
@@ -1,117 +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 org.apache.nifi.scripting;
-
-import java.io.File;
-import java.util.concurrent.ConcurrentHashMap;
-
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-import javax.script.ScriptException;
-
-import org.apache.commons.lang3.StringUtils;
-import org.jruby.embed.PropertyName;
-
-public class ScriptEngineFactory {
-
- private static final String THREADING = "THREADING";
- private static final String MULTITHREADED = "MULTITHREADED";
- private static final String STATELESS = "STATELESS";
- private static final String THREAD_ISOLATED = "THREAD-ISOLATED";
- final static ScriptEngineManager scriptEngMgr;
-
- static {
- System.setProperty(PropertyName.LOCALCONTEXT_SCOPE.toString(), "singlethread");
- System.setProperty(PropertyName.COMPILEMODE.toString(), "jit");
- System.setProperty(PropertyName.COMPATVERSION.toString(), "JRuby1.9");
- System.setProperty(PropertyName.LOCALVARIABLE_BEHAVIOR.toString(), "transient");
- System.setProperty("compile.invokedynamic", "false");
- System.setProperty(PropertyName.LAZINESS.toString(), "true");
- scriptEngMgr = new ScriptEngineManager();
- }
- final ConcurrentHashMap<String, ScriptEngine> threadSafeEngines = new ConcurrentHashMap<>();
-
- ScriptEngine getEngine(String extension) {
- ScriptEngine engine = threadSafeEngines.get(extension);
- if (null == engine) {
- engine = scriptEngMgr.getEngineByExtension(extension);
- if (null == engine) {
- throw new IllegalArgumentException("No ScriptEngine exists for extension " + extension);
- }
-
- Object threading = engine.getFactory().getParameter(THREADING);
- // the MULTITHREADED status means that the scripts need to be careful about sharing state
- if (THREAD_ISOLATED.equals(threading) || STATELESS.equals(threading) || MULTITHREADED.equals(threading)) {
- ScriptEngine cachedEngine = threadSafeEngines.putIfAbsent(extension, engine);
- if (null != cachedEngine) {
- engine = cachedEngine;
- }
- }
- }
- return engine;
- }
-
- ScriptEngine getNewEngine(File scriptFile, String extension) throws ScriptException {
- ScriptEngine engine = scriptEngMgr.getEngineByExtension(extension);
- if (null == engine) {
- throw new IllegalArgumentException("No ScriptEngine exists for extension " + extension);
- }
- // Initialize some paths
- StringBuilder sb = new StringBuilder();
- switch (extension) {
- case "rb":
- String parent = scriptFile.getParent();
- parent = StringUtils.replace(parent, "\\", "/");
- sb.append("$:.unshift '")
- .append(parent)
- .append("'\n")
- .append("$:.unshift File.join '")
- .append(parent)
- .append("', 'lib'\n");
- engine.eval(sb.toString());
-
- break;
- case "py":
- parent = scriptFile.getParent();
- parent = StringUtils.replace(parent, "\\", "/");
- String lib = parent + "/lib";
- sb.append("import sys\n").append("sys.path.append('").append(parent)
- .append("')\n").append("sys.path.append('")
- .append(lib)
- .append("')\n")
- .append("__file__ = '")
- .append(scriptFile.getAbsolutePath())
- .append("'\n");
- engine.eval(sb.toString());
- break;
- default:
- break;
- }
-
- Object threading = engine.getFactory().getParameter(THREADING);
- // the MULTITHREADED status means that the scripts need to be careful about sharing state
- if (THREAD_ISOLATED.equals(threading) || STATELESS.equals(threading) || MULTITHREADED.equals(threading)) {
- // replace prior instance if any
- threadSafeEngines.put(extension, engine);
- }
- return engine;
- }
-
- boolean isThreadSafe(String scriptExtension) {
- return threadSafeEngines.containsKey(scriptExtension);
- }
-}
[6/6] incubator-nifi git commit: NIFI-270 sent an e-mail to dev
explaining all the moving parts
Posted by jo...@apache.org.
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/NIFI-270-2
Commit: bc94f716c6225122323aa82aa1daff93bdc14f93
Parents: 6f18926
Author: joewitt <jo...@apache.org>
Authored: Sat Jan 17 03:18:50 2015 -0500
Committer: joewitt <jo...@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, tony@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 <ma...@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: dev@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-subscribe@nifi.incubator.apache.org</subscribe>
- <unsubscribe>dev-unsubscribe@nifi.incubator.apache.org</unsubscribe>
- <post>dev@nifi.incubator.apache.org</post>
- <archive>http://mail-archives.apache.org/mod_mbox/incubator-nifi-dev</archive>
- </mailingList>
- <mailingList>
- <name>Commits</name>
- <subscribe>commits-subscribe@nifi.incubator.apache.org</subscribe>
- <unsubscribe>commits-unsubscribe@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/
[3/6] incubator-nifi git commit: NIFI-270 sent an e-mail to dev
explaining all the moving parts
Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ScriptFactory.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ScriptFactory.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ScriptFactory.java
deleted file mode 100644
index da18606..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/ScriptFactory.java
+++ /dev/null
@@ -1,269 +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 org.apache.nifi.scripting;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.security.DigestInputStream;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
-
-import javax.script.Bindings;
-import javax.script.Compilable;
-import javax.script.CompiledScript;
-import javax.script.ScriptContext;
-import javax.script.ScriptEngine;
-import javax.script.ScriptException;
-import javax.script.SimpleBindings;
-
-import org.apache.nifi.flowfile.FlowFile;
-import org.apache.nifi.io.BufferedInputStream;
-import org.apache.nifi.logging.ProcessorLog;
-
-import org.apache.commons.io.FileUtils;
-
-/**
- * While this is a 'factory', it is not a singleton because we want a factory
- * per processor. This factory has state, all of which belong to only one
- * processor.
- *
- */
-public class ScriptFactory {
-
- private final ScriptEngineFactory engineFactory = new ScriptEngineFactory();
- private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
- private final ReadLock readLock = lock.readLock();
- private final WriteLock writeLock = lock.writeLock();
- private final ProcessorLog logger;
-
- private volatile CompiledScript compiledScript;
- private volatile String scriptText;
- private volatile byte[] md5Hash;
- private volatile long lastTimeChecked;
- private volatile String scriptFileName;
- private volatile long scriptCheckIntervalMS = 15000;
-
- public ScriptFactory(ProcessorLog logger) {
- this.logger = logger;
- }
-
- public void setScriptCheckIntervalMS(long msecs) {
- this.scriptCheckIntervalMS = msecs;
- }
-
- /**
- * @param aScriptFileName
- * @param properties
- * @param flowFile
- * @return
- * @throws IOException
- * @throws ScriptException
- */
- public Script getScript(final String aScriptFileName, final Map<String, String> properties, final FlowFile flowFile)
- throws IOException, ScriptException {
- final Script instance;
- long now = System.currentTimeMillis();
- readLock.lock();
- try {
- if (!aScriptFileName.equals(this.scriptFileName)) {
- readLock.unlock();
- writeLock.lock();
- try {
- if (!aScriptFileName.equals(this.scriptFileName)) {
- // need to get brand new engine
- compiledScript = null;
- this.md5Hash = getMD5Hash(aScriptFileName);
- this.lastTimeChecked = now;
- this.scriptFileName = aScriptFileName;
- updateEngine();
- } // else another thread beat me to the change...so just get a script
- } finally {
- readLock.lock();
- writeLock.unlock();
- }
- } else if (lastTimeChecked + scriptCheckIntervalMS < now) {
- readLock.unlock();
- writeLock.lock();
- try {
- if (lastTimeChecked + scriptCheckIntervalMS < now) {
- byte[] md5 = getMD5Hash(this.scriptFileName);
- if (!MessageDigest.isEqual(md5Hash, md5)) {
- // need to get brand new engine
- compiledScript = null;
- updateEngine();
- this.md5Hash = md5;
- } // else no change to script, so just update time checked
- this.lastTimeChecked = now;
- } // else another thread beat me to the check...so just get a script
- } finally {
- readLock.lock();
- writeLock.unlock();
- }
- }
- try {
- instance = getScriptInstance(properties);
- instance.setFileName(this.scriptFileName);
- instance.setProperties(properties);
- instance.setLogger(logger);
- instance.setFlowFile(flowFile);
- } catch (ScriptException e) {
- // need to reset state to enable re-initialization
- this.lastTimeChecked = 0;
- this.scriptFileName = null;
- throw e;
- }
- } finally {
- readLock.unlock();
- }
-
- return instance;
-
- }
-
- public Script getScript(String aScriptFileName) throws ScriptException, IOException {
- Map<String, String> props = new HashMap<>();
- return getScript(aScriptFileName, props, null);
- }
-
- private byte[] getMD5Hash(String aScriptFileName) throws FileNotFoundException, IOException {
- byte[] messageDigest = null;
- try (FileInputStream fis = new FileInputStream(aScriptFileName);
- DigestInputStream dis = new DigestInputStream(new BufferedInputStream(fis), MessageDigest.getInstance("MD5"))) {
-
- byte[] bytes = new byte[8192];
- while (dis.read(bytes) != -1) {
- // do nothing...just computing the md5 hash
- }
- messageDigest = dis.getMessageDigest().digest();
- } catch (NoSuchAlgorithmException swallow) {
- // MD5 is a legitimate format
- }
- return messageDigest;
- }
-
- private String getScriptText(File scriptFile, String extension) throws IOException {
- final String script;
- switch (extension) {
- case "rb":
- script = JRubyScriptFactory.INSTANCE.getScript(scriptFile);
- break;
-
- case "js":
- script = JavaScriptScriptFactory.INSTANCE.getScript(scriptFile);
- break;
-
- case "py":
- script = JythonScriptFactory.INSTANCE.getScript(scriptFile);
- break;
-
- default:
- script = FileUtils.readFileToString(scriptFile);
- }
- return script;
- }
-
- private Script getScriptInstance(final Map<String, String> properties) throws ScriptException {
-
- Map<String, Object> localThreadVariables = new HashMap<>();
- final String extension = getExtension(scriptFileName);
- String loggerVariableKey = getVariableName("GLOBAL", "logger", extension);
- localThreadVariables.put(loggerVariableKey, logger);
- String propertiesVariableKey = getVariableName("INSTANCE", "properties", extension);
- localThreadVariables.put(propertiesVariableKey, properties);
- localThreadVariables.put(ScriptEngine.FILENAME, scriptFileName);
- final Bindings bindings = new SimpleBindings(localThreadVariables);
- final ScriptEngine scriptEngine = engineFactory.getEngine(extension);
- Script instance;
- if (compiledScript == null) {
- instance = (Script) scriptEngine.eval(scriptText, bindings);
- if (instance == null) { // which it will be for python and also for local variables in javascript
- instance = (Script) scriptEngine.eval("instance", bindings);
- }
- } else {
- instance = (Script) compiledScript.eval(bindings);
- if (instance == null) { // which it will be for python and also for local variables in javascript
- instance = (Script) compiledScript.getEngine().eval("instance", bindings);
- }
- }
- instance.setEngine(scriptEngine);
- return instance;
- }
-
- /*
- * Must have writeLock when calling this!!!!
- */
- private void updateEngine() throws IOException, ScriptException {
- final String extension = getExtension(scriptFileName);
- // if engine is thread safe, it's being reused...if it's a JrubyEngine it
- File scriptFile = new File(this.scriptFileName);
- ScriptEngine scriptEngine = engineFactory.getNewEngine(scriptFile, extension);
- scriptText = getScriptText(scriptFile, extension);
- Map<String, Object> localThreadVariables = new HashMap<>();
- String loggerVariableKey = getVariableName("GLOBAL", "logger", extension);
- localThreadVariables.put(loggerVariableKey, logger);
- String propertiesVariableKey = getVariableName("INSTANCE", "properties", extension);
- localThreadVariables.put(propertiesVariableKey, new HashMap<String, String>());
- localThreadVariables.put(ScriptEngine.FILENAME, scriptFileName);
- if (scriptEngine instanceof Compilable) {
- Bindings bindings = new SimpleBindings(localThreadVariables);
- scriptEngine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
- compiledScript = ((Compilable) scriptEngine).compile(scriptText);
- }
- logger.debug("Updating Engine!!");
- }
-
- private String getVariableName(String scope, String variableName, String extension) {
- String result;
- switch (extension) {
- case "rb":
- switch (scope) {
- case "GLOBAL":
- result = '$' + variableName;
- break;
- case "INSTANCE":
- result = '@' + variableName;
- break;
- default:
- result = variableName;
- break;
- }
-
- break;
-
- default:
- result = variableName;
- break;
- }
- return result;
- }
-
- private String getExtension(String aScriptFileName) {
- int dotPos = aScriptFileName.lastIndexOf('.');
- if (dotPos < 1) {
- throw new IllegalArgumentException("Script file name must have an extension");
- }
- final String extension = aScriptFileName.substring(dotPos + 1);
- return extension;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/WriterScript.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/WriterScript.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/WriterScript.java
deleted file mode 100644
index 7eef98b..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/java/org/apache/nifi/scripting/WriterScript.java
+++ /dev/null
@@ -1,67 +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 org.apache.nifi.scripting;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-
-import javax.script.Invocable;
-import javax.script.ScriptException;
-
-/**
- * <p>
- * Script authors should extend this class if they want to follow the
- * "processCallback" paradigm for NiFi processors.
- * </p>
- *
- * <p>
- * At a minimum, scripts must implement
- * <code>process(FileInputStream, FileOutputStream)</code>.
- * </p>
- *
- * <p>
- * By default, all files processed will be sent to the relationship
- * <em>success</em>, unless the scriptFileName raises an exception, in which
- * case the file will be sent to <em>failure</em>. Implement
- * {@link #getProcessorRelationships()} and/or {@link #getRoute()} to change
- * this behavior.
- * </p>
- *
- */
-public class WriterScript extends Script {
-
- private Object processCallback;
-
- public WriterScript() {
-
- }
-
- public WriterScript(Object... callbacks) {
- super(callbacks);
- for (Object callback : callbacks) {
- if (callback instanceof Map<?, ?>) {
- processCallback = processCallback == null && ((Map<?, ?>) callback).containsKey("process") ? callback : processCallback;
- }
- }
- }
-
- public void process(InputStream in, OutputStream out) throws NoSuchMethodException, ScriptException {
- Invocable inv = (Invocable) engine;
- inv.invokeMethod(processCallback, "process", in, out);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor
deleted file mode 100644
index 20a3982..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor
+++ /dev/null
@@ -1,15 +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.
-org.apache.nifi.processors.script.ExecuteScript
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/resources/docs/org.apache.nifi.processors.script.ExecuteScript/index.html
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/resources/docs/org.apache.nifi.processors.script.ExecuteScript/index.html b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/resources/docs/org.apache.nifi.processors.script.ExecuteScript/index.html
deleted file mode 100644
index acb47c5..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/main/resources/docs/org.apache.nifi.processors.script.ExecuteScript/index.html
+++ /dev/null
@@ -1,264 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <!--
- 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.
- -->
- <head>
- <meta charset="utf-8" />
- <title>ExecuteScript</title>
-
- <link rel="stylesheet" href="../../css/component-usage.css" type="text/css" />
- </head>
-
- <body>
- <!-- Processor Documentation ================================================== -->
- <h2>Description:</h2>
- <p>
- This processor provides the capability to execute scripts in various scripting languages, and passes into the scripts
- the input stream and output stream(s) representing an incoming flow file and any created flow files. The processor is designed to be
- thread safe, so multiple concurrent tasks may execute against a single script. The processor provides a framework which enables
- script writers to implement 3 different types of scripts:
- <ul>
- ReaderScript - which enables stream-based reading of a FlowFile's content</br>
- WriterScript - which enables stream-based reading and writing/modifying of a FlowFile's content</br>
- ConverterScript - which enables stream-based reading a FlowFile's content and stream-based writing to newly created FlowFiles</br>
- </ul>
- Presently, the processor supports 3 scripting languages: Ruby, Python, and JavaScript. The processor is built on the
- javax.script API which enables ScriptEngine discovery, thread management, and encapsulates much of the low level bridging-code that
- enables Java to Script language integration. Thus, it is designed to be easily extended to other scripting languages. </br>
- The attributes of a FlowFile and properties of the Processor are exposed to the script by either a variable in the base class or
- a getter method. A script may declare new Processor Properties and different Relationships via overriding the getPropertyDescriptors
- and getRelationships methods, respectively.
- </p>
- The processor provides some boilerplate script to aid in the creation of the three different types of scripts. For example,
- the processor provides import statements for classes commonly used within a processor.
- <pre>
- 'org.apache.nifi.components.PropertyDescriptor'
- 'org.apache.nifi.components.Validator'
- 'org.apache.nifi.processor.util.StandardValidators'
- 'org.apache.nifi.processor.Relationship'
- 'org.apache.nifi.logging.ProcessorLog'
- 'org.apache.nifi.scripting.ReaderScript'
- 'org.apache.nifi.scripting.WriterScript'
- 'org.apache.nifi.scripting.ConverterScript'
- </pre>
- The processor appends to the script's execution path the parent directory of the specified script file and a sub-directory
- called 'lib', which may be useful for supporting scripts. </p>
-<p>
- <strong>Shared Variables</strong>
-</p>
-The following variables are provided as shared variables for the scripts:
-<ul>
- <li>logger
- <ul>
- <li> The processor's logger </li>
- <li> Scope is GLOBAL, thus in Ruby the syntax is $logger</li>
- </ul>
- </li>
- <li>properties
- <ul>
- <li> A Map of the processor's configuration properties; key and value are strings</li>
- <li> Scope is INSTANCE, thus in Ruby the syntax is @properties</li>
- </ul>
- </li>
-</ul>
-<p>
- <strong>Properties:</strong>
-</p>
-<p>
- In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered
- optional. If a property has a default value, it is indicated. If a property supports the use of the NiFi Expression Language
- (or simply, "expression language"), that is also indicated. Of particular note: This processor allows scripts to define additional
- Processor properties, which will not be initially visible. Once the processor's configuration is validated, script defined properties
- will become visible, and may affect the validity of the processor.
-</p>
-<ul>
- <li>
- <strong>Script File Name</strong>
- <ul>
- <li>Script location, can be relative or absolute path.</li>
- <li>Default value: no default</li>
- <li>Supports expression language: false</li>
- </ul>
- </li>
- <li>
- <strong>Script Check Interval</strong>
- <ul>
- <li>The time period between checking for updates to a script.</li>
- <li>Default value: 15 sec</li>
- <li>Supports expression language: false</li>
- </ul>
- </li>
-</ul>
-
-<p>
- <strong>Relationships:</strong>
-</p>
-<p>
- The initial 'out of the box' relationships are below. Of particular note is the ability of a script to change the set of
- relationships. However, any relationships defined by the script will not be visible until the processor's configuration has been
- validated. Once done, new relationships will become visible.
-</p>
-<ul>
- <li>
- success
- <ul>
- <li>Used when a file is successfully processed by a script.</li>
- </ul>
- </li>
- <li>
- failure
- <ul>
- <li>Used when an error occurs while processing a file with a script.</li>
- </ul>
- </li>
-</ul>
-
-<p>
- <strong>Example Scripts:</strong>
-</p>
-<ul>
- JavaScript example - the 'with' statement imports packages defined in the framework and limits the importing to the local scope,
- rather than global. The 'Scripting' variable uses the JavaImporter class within JavaScript. Since the 'instance' variable is intended to
- be local scope (not global), it must be named 'instance' as it it not passed back to the processor upon script evaluation and must be
- fetched. If you make it global, you can name it whatever you'd like...but this is intended to be multi-threaded so do so at your own
- risk.</p>
-Presently, there are issues with the JavaScript scripting engine that prevent sub-classing the base classes in the Processor's Java
-framework. So, what is actually happening is an instance of the ReaderScript is created with a provided callback object. When we are able
-to move to a more competent scripting engine (supposedly in Java 8), the code below will remain the same, but the 'instance' variable
-will actually be a sub-class of ReaderScript.
-<pre>
- with (Scripting) {
- var instance = new ReaderScript({
- route : function(input) {
- var str = IOUtils.toString(input);
- var expr = instance.getProperty("expr");
- filename = instance.attributes.get("filename");
- instance.setAttribute("filename", filename + ".modified");
- if (str.match(expr)) {
- return Script.FAIL_RELATIONSHIP;
- } else {
- return Script.SUCCESS_RELATIONSHIP;
- }
- }
- });
- }
-</pre>
-Ruby example - the 'OutputStreamHandler' is an interface which is called when creating flow files.
-<pre>
- java_import 'org.apache.nifi.scripting.OutputStreamHandler'
- class SimpleConverter < ConverterScript
- field_reader :FAIL_RELATIONSHIP, :SUCCESS_RELATIONSHIP, :logger, :attributes
-
- def convert(input)
- in_io = input.to_io
- createFlowFile("firstLine", FAIL_RELATIONSHIP, OutputStreamHandler.impl do |method, out|
- out_io = out.to_io
- out_io << in_io.readline.to_java_bytes
- out_io.close
- logger.debug("Wrote data to failure...this message logged with logger from super class")
- end)
-
- createFlowFile("otherLines", SUCCESS_RELATIONSHIP, OutputStreamHandler.impl do |method, out|
- out_io = out.to_io
- in_io.each_line { |line|
- out_io << line
- }
- out_io.close
- logger.debug("Wrote data to success...this message logged with logger from super class")
- end)
- in_io.close
- end
-
- end
-
- $logger.debug("Creating SimpleConverter...this message logged with logger from shared variables")
- SimpleConverter.new
-</pre>
-Python example - The difficulty with Python is that it does not return objects upon script evaluation, so the instance of the Script
-class must be fetched by name. Thus, you must define a variable called 'instance'.
-<pre>
- import re
-
- class RoutingReader(ReaderScript):
- A = Relationship.Builder().name("a").description("some good stuff").build()
- B = Relationship.Builder().name("b").description("some other stuff").build()
- C = Relationship.Builder().name("c").description("some bad stuff").build()
-
- def getRelationships(self):
- return [self.A,self.B,self.C]
-
- def getExceptionRoute(self):
- return self.C
-
- def route( self, input ):
- logger.info("Executing route")
- for line in FileUtil.wrap(input):
- if re.match("^bad", line, re.IGNORECASE):
- return self.B
- if re.match("^sed", line):
- raise RuntimeError("That's no good!")
-
- return self.A
- logger.debug("Constructing instance")
- instance = RoutingReader()
-
-</pre>
-</ul>
-<p>
- <strong>Script API:</strong>
-</p>
-<ul>
- <li>getAttribute(String) : String</li>
- <li>getAttributes() : Map(String,String)</li>
- <li>getExceptionRoute() : Relationship</li>
- <li>getFileName() : String</li>
- <li>getFlowFileEntryDate() : Calendar</li>
- <li>getFlowFileSize() : long</li>
- <li>getProperties() : Map(String, String)</li>
- <li>getProperty(String) : String</li>
- <li>getPropertyDescriptors() : List(PropertyDescriptor)</li>
- <li>getRelationships() : Collection(Relationship)</li>
- <li>getRoute() : Relationship</li>
- <li>setRoute(Relationship)</li>
- <li>setAttribute(String, String)</li>
- <li>validate() : Collection(String)</li>
-</ul>
-<p>
- <strong>ReaderScript API:</strong>
-</p>
-<ul>
- <li>route(InputStream) : Relationship</li>
-</ul>
-<p>
- <strong>WriterScript API:</strong>
-</p>
-<ul>
- <li>process(InputStream, OutputStream)</li>
-</ul>
-<p>
- <strong>ConverterScript API:</strong>
-</p>
-<ul>
- <li>convert(InputStream)</li>
- <li>createFlowFile(String, Relationship, OutputStreamHandler)</li>
-</ul>
-<p>
- <strong>OutputStreamHandler API:</strong>
-</p>
-<ul>
- <li>write(OutputStream)</li>
-</ul>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/java/org/apache/nifi/processors/script/TestExecuteScript.java
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/java/org/apache/nifi/processors/script/TestExecuteScript.java b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/java/org/apache/nifi/processors/script/TestExecuteScript.java
deleted file mode 100644
index 3a34769..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/java/org/apache/nifi/processors/script/TestExecuteScript.java
+++ /dev/null
@@ -1,939 +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 org.apache.nifi.processors.script;
-
-import org.apache.nifi.processors.script.ExecuteScript;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.nifi.processor.Relationship;
-import org.apache.nifi.util.MockFlowFile;
-import org.apache.nifi.util.TestRunner;
-import org.apache.nifi.util.TestRunners;
-
-import org.apache.commons.io.FileUtils;
-import org.junit.Before;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author unattributed
- *
- */
-public class TestExecuteScript {
-
- static Logger LOG;
-
- static {
- System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "info");
- System.setProperty("org.slf4j.simpleLogger.showDateTime", "true");
- System.setProperty("org.slf4j.simpleLogger.log.nifi.processors.script.ExecuteScript", "trace");
- System.setProperty("org.slf4j.simpleLogger.log.nifi.processors.script.TestExecuteScript", "debug");
- System.setProperty("org.slf4j.simpleLogger.log.nifi.processors.AbstractProcessor", "debug");
- LOG = LoggerFactory.getLogger(TestExecuteScript.class);
- }
-
- private TestRunner controller;
-
- private final String multiline = "Lorem ipsum dolor sit amet,\n"
- + "consectetur adipisicing elit,\n"
- + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n"
- + "Ut enim ad minim veniam,\n"
- + "quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n"
- + "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\n"
- + "Excepteur sint occaecat cupidatat non proident,\n"
- + "sunt in culpa qui officia deserunt mollit anim id est laborum.";
-
- /**
- * Create a mock SingleProcessorController using our processor and pass data
- * to it via byte array. Returns the Sink that provides access to any files
- * that pass out of the processor
- */
- @Before
- public void setupEach() throws IOException {
- controller = TestRunners.newTestRunner(ExecuteScript.class);
- controller.setValidateExpressionUsage(false);
-
- // copy all scripts to target directory and run from there. some python
- // scripts create .class files that end up in src/test/resources.
- FileUtils.copyDirectory(new File("src/test/resources"), new File("target/test-scripts"));
- }
-
- // Fail if the specified relationship does not contain exactly one file
- // with the expected value
- private void assertRelationshipContents(String expected, String relationship) {
- controller.assertTransferCount(relationship, 1);
- MockFlowFile ff = controller.getFlowFilesForRelationship(relationship).get(0);
- ff.assertContentEquals(expected);
- }
-
- // Fail if the specified relationship does not contain specified number of files
- // with the expected value
- private void assertRelationshipContents(String expected, String relationship, int count) {
- controller.assertTransferCount(relationship, count);
- MockFlowFile ff = controller.getFlowFilesForRelationship(relationship).get(count - 1);
- ff.assertContentEquals(expected);
- }
-
- // ////////////////////////////////////
- // General tests
- @Test(expected = IllegalArgumentException.class)
- public void failOnBadName() {
- LOG.info("Supplying bad script file names");
-
- // None of these should result in actually setting the property, because they're non-existent / bad files
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "not/really.rb");
- controller.assertNotValid();
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "fakey/fake.js");
- controller.assertNotValid();
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "pom.xml");
- controller.assertNotValid();
- }
-
- // ////////////////////////////////////
- // Ruby script tests
- @Test
- public void testSimpleReadR() {
- LOG.info("Ruby script: fail file based on reading contents");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readTest.rb");
- controller.setThreadCount(2);
- controller.run(2);
-
- assertRelationshipContents(multiline, "failure");
- assertRelationshipContents("This stuff is fine", "success");
-
- controller.getFlowFilesForRelationship("success").get(0).assertAttributeEquals("filename", "NewFileNameFromReadTest");
- }
-
- @Test
- public void testParamReadR() {
- LOG.info("Ruby script: Failing file based on reading contents");
-
- Map<String, String> attrs1 = new HashMap<>();
- attrs1.put("filename", "StuffIsFine.txt");
- Map<String, String> attrs2 = new HashMap<>();
- attrs2.put("filename", "multiline.txt");
- controller.enqueue("This stuff is fine".getBytes(), attrs1);
- controller.enqueue(multiline.getBytes(), attrs2);
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readWithParams.rb");
- controller.setProperty("expr", "rehenderit");
- controller.run(2);
-
- assertRelationshipContents(multiline, "failure");
- assertRelationshipContents("This stuff is fine", "success");
- }
-
- @Test
- public void testWriteLastLineR() {
- LOG.info("Running Ruby script to output last line of file");
-
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/writeTest.rb");
- controller.run();
-
- List<MockFlowFile> files = controller.getFlowFilesForRelationship("success");
-
- assertEquals("Process did not generate an output file", 1, files.size());
-
- byte[] blob = files.get(0).toByteArray();
- String[] lines = new String(blob).split("\n");
-
- assertEquals("File had more than one line", 1, lines.length);
- assertEquals("sunt in culpa qui officia deserunt mollit anim id est laborum.", lines[0]);
- }
-
- @Test
- public void testWriteOptionalParametersR() {
- LOG.info("Ruby script that uses optional parameters");
-
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/paramTest.rb");
- controller.setProperty("repeat", "3");
- controller.run();
-
- List<MockFlowFile> files = controller.getFlowFilesForRelationship("success");
-
- assertEquals("Process did not generate an output file", 1, files.size());
-
- byte[] blob = files.get(0).toByteArray();
- String[] lines = new String(blob).split("\n");
-
- assertEquals("File did not have 3 lines", 3, lines.length);
- assertEquals("sunt in culpa qui officia deserunt mollit anim id est laborum.", lines[0]);
- }
-
- @Test
- public void testSetupOptionalValidationR() {
- LOG.info("Ruby script creating validators for optional properties");
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/optionalValidators.rb");
- controller.assertNotValid();
- controller.setProperty("int", "abc");
- controller.assertNotValid();
- controller.setProperty("url", "not@valid");
- controller.assertNotValid();
- controller.setProperty("nonEmpty", "");
- controller.assertNotValid();
-
- controller.setProperty("int", "123");
- controller.setProperty("url", "http://localhost");
- controller.setProperty("nonEmpty", "abc123");
- controller.assertValid();
- }
-
- @Test
- public void testTwoScriptsSameThreadSameClassName() {
- LOG.info("Test 2 different scripts with the same ruby class name");
-
- Map<String, String> attrs1 = new HashMap<>();
- attrs1.put("filename", "StuffIsFine.txt");
- Map<String, String> attrs2 = new HashMap<>();
- attrs2.put("filename", "multiline.txt");
-
- controller.enqueue("This stuff is fine".getBytes(), attrs1);
- controller.enqueue(multiline.getBytes(), attrs2);
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readWithParams.rb");
- controller.setProperty("expr", "rehenderit");
- controller.run(2);
-
- assertRelationshipContents(multiline, "failure");
- assertRelationshipContents("This stuff is fine", "success");
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/optionalValidators.rb");
- controller.assertNotValid();
- controller.setProperty("int", "abc");
- controller.assertNotValid();
- controller.setProperty("url", "not@valid");
- controller.assertNotValid();
- controller.setProperty("nonEmpty", "");
- controller.assertNotValid();
-
- controller.setProperty("int", "123");
- controller.setProperty("url", "http://localhost");
- controller.setProperty("nonEmpty", "abc123");
- controller.assertValid();
- }
-
- @Test
- public void testUpdateScriptR() throws Exception {
- LOG.info("Test one script with updated class");
-
- File testFile = File.createTempFile("script", ".rb");
- File original = new File("target/test-scripts/readWithParams.rb");
- FileUtils.copyFile(original, testFile);
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, testFile.getPath());
- controller.assertValid();
- original = new File("target/test-scripts/optionalValidators.rb");
- FileUtils.copyFile(original, testFile);
- controller.setProperty(ExecuteScript.SCRIPT_CHECK_INTERVAL, "5 secs");
- Thread.sleep(6000);
-
- controller.assertNotValid();
- controller.setProperty("int", "abc");
- controller.assertNotValid();
- controller.setProperty("url", "not@valid");
- controller.assertNotValid();
- controller.setProperty("nonEmpty", "");
- controller.assertNotValid();
-
- controller.setProperty("int", "123");
- controller.setProperty("url", "http://localhost");
- controller.setProperty("nonEmpty", "abc123");
- controller.assertValid();
- FileUtils.deleteQuietly(testFile);
- }
-
- @Test
- public void testMultiThreadExecR() {
- LOG.info("Ruby script 20 threads: Failing file based on reading contents");
-
- Map<String, String> attrs1 = new HashMap<>();
- attrs1.put("filename", "StuffIsFine.txt");
- Map<String, String> attrs2 = new HashMap<>();
- attrs2.put("filename", "multiline.txt");
- controller.setThreadCount(20);
- for (int i = 0; i < 10; i++) {
- controller.enqueue("This stuff is fine".getBytes(), attrs1);
- controller.enqueue(multiline.getBytes(), attrs2);
- }
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readWithParams.rb");
- controller.setProperty("expr", "rehenderit");
- controller.run(20);
-
- controller.assertTransferCount("failure", 10);
- controller.assertTransferCount("success", 10);
- for (int i = 0; i < 10; i++) {
- MockFlowFile ff = controller.getFlowFilesForRelationship("failure").get(i);
- ff.assertContentEquals(multiline);
- assertTrue(ff.getAttribute("filename").endsWith("modified"));
- ff = controller.getFlowFilesForRelationship("success").get(i);
- ff.assertContentEquals("This stuff is fine");
- assertTrue(ff.getAttribute("filename").endsWith("modified"));
- }
-
- }
-
- @Test
- public void testManualValidationR() {
- LOG.info("Ruby script defining manual validator");
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/alwaysFail.rb");
- controller.assertNotValid();
- }
-
- @Test
- public void testGetRelationshipsR() {
- LOG.info("Ruby script: getRelationships");
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/routeTest.rb");
- // at this point, the script has not been instantiated so the processor simply returns an empty set
- Set<Relationship> rels = controller.getProcessor().getRelationships();
- assertEquals(0, rels.size());
- // this will instantiate the script
- controller.assertValid();
- // this will call the script
- rels = controller.getProcessor().getRelationships();
- assertEquals(3, rels.size());
- }
-
- @Test
- public void testGetExceptionRouteR() {
- LOG.info("Ruby script defining route taken in event of exception");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue("Bad things go to 'b'.".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/routeTest.rb");
-
- controller.run(3);
-
- assertRelationshipContents("This stuff is fine", "a");
- assertRelationshipContents("Bad things go to 'b'.", "b");
- assertRelationshipContents(multiline, "c");
-
- }
-
- @Test
- public void testSimpleConverterR() {
- LOG.info("Running Ruby converter script");
-
- for (int i = 0; i < 20; i++) {
- controller.enqueue(multiline.getBytes());
- }
-
- controller.setThreadCount(20);
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/simpleConverter.rb");
- controller.run(20);
-
- List<MockFlowFile> successFiles = controller.getFlowFilesForRelationship("success");
- List<MockFlowFile> failFiles = controller.getFlowFilesForRelationship("failure");
-
- assertEquals("Process did not generate 20 SUCCESS files", 20, successFiles.size());
- assertEquals("Process did not generate 20 FAILURE files", 20, failFiles.size());
-
- MockFlowFile sFile = successFiles.get(19);
- MockFlowFile fFile = failFiles.get(19);
-
- byte[] blob = fFile.toByteArray();
- String[] lines = new String(blob).split("\n");
-
- assertEquals("File had more than one line", 1, lines.length);
- assertEquals("Lorem ipsum dolor sit amet,", lines[0]);
-
- blob = sFile.toByteArray();
- lines = new String(blob).split("\n");
-
- assertEquals("SUCCESS had wrong number of lines", 7, lines.length);
- assertEquals("consectetur adipisicing elit,", lines[0]);
- }
-
- @Test
- public void testLoadLocalR() {
- LOG.info("Ruby: load another script file");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/loadLocal.rb");
- controller.run(2);
-
- assertRelationshipContents(multiline, "failure");
- assertRelationshipContents("This stuff is fine", "success");
- }
-
- @Test
- public void testFlowFileR() {
- LOG.info("Ruby: get FlowFile properties");
-
- controller.enqueue(multiline.getBytes());
- HashMap<String, String> meta = new HashMap<String, String>();
- meta.put("evict", "yup");
- controller.enqueue("This would be plenty long but it's also evicted.".getBytes(), meta);
- controller.enqueue("This is too short".getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/ffTest.rb");
- controller.run(3);
-
- assertRelationshipContents(multiline, "success");
- assertRelationshipContents("This is too short", "failure");
- assertRelationshipContents("This would be plenty long but it's also evicted.", "evict");
- }
-
- // //////////////////////////////////// // JS tests
- @Test
- public void testSimpleReadJS() {
- LOG.info("Javascript: fail file based on reading contents");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readTest.js");
- controller.run(2);
-
- assertRelationshipContents(multiline, "failure");
- assertRelationshipContents("This stuff is fine", "success");
- }
-
- @Test
- public void testParamReadJS() {
- LOG.info("Javascript: read contents and fail based on parameter");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readWithParams.js");
- controller.setProperty("expr", "sed do");
- controller.run(2);
-
- assertRelationshipContents(multiline, "failure");
- assertRelationshipContents("This stuff is fine", "success");
- }
-
- @Test
- public void testWriteLastLineJS() {
- LOG.info("Running Javascript to output last line of file");
-
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/writeTest.js");
- controller.run();
-
- List<MockFlowFile> sunkFiles = controller.getFlowFilesForRelationship("success");
-
- assertEquals("Process did not generate an output file", 1, sunkFiles.size());
-
- MockFlowFile sunkFile = sunkFiles.iterator().next();
- byte[] blob = sunkFile.toByteArray();
- String[] lines = new String(blob).split("\n");
-
- assertEquals("File had more than one line", 1, lines.length);
- assertEquals("sunt in culpa qui officia deserunt mollit anim id est laborum.", lines[0]);
- }
-
- @Test
- public void testWriteOptionalParametersJS() {
- LOG.info("Javascript processCallback that uses optional parameters");
-
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/paramTest.js");
- controller.setProperty("repeat", "3");
- controller.run();
-
- List<MockFlowFile> sunkFiles = controller.getFlowFilesForRelationship("success");
-
- assertEquals("Process did not generate an output file", 1, sunkFiles.size());
-
- MockFlowFile sunkFile = sunkFiles.iterator().next();
- byte[] blob = sunkFile.toByteArray();
- String[] lines = new String(blob).split("\n");
-
- assertEquals("File did not have 3 lines", 3, lines.length);
- assertEquals("sunt in culpa qui officia deserunt mollit anim id est laborum.", lines[0]);
- }
-
- @Test
- public void testSetupOptionalValidationJS() {
- LOG.info("Javascript creating validators for optional properties");
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/optionalValidators.js");
- controller.setProperty("int", "abc");
- controller.setProperty("url", "not@valid");
- controller.setProperty("nonEmpty", "");
- assertEquals(2, controller.getProcessor().getPropertyDescriptors().size());
- controller.assertNotValid(); // due to invalid values above
- assertEquals(5, controller.getProcessor().getPropertyDescriptors().size());
-
- controller.setProperty("int", "123");
- controller.setProperty("url", "http://localhost");
- controller.setProperty("nonEmpty", "abc123");
- assertEquals(5, controller.getProcessor().getPropertyDescriptors().size());
- controller.assertValid();
- }
-
- @Test
- public void testManualValidationJS() {
- LOG.info("Javascript defining manual validator");
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/alwaysFail.js");
- controller.assertNotValid();
- }
-
- @Test
- public void testGetExceptionRouteJS() {
- LOG.info("Javascript defining route taken in event of exception");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue("Bad things go to 'b'.".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/routeTest.js");
-
- controller.run(3);
-
- assertRelationshipContents("This stuff is fine", "a");
- assertRelationshipContents("Bad things go to 'b'.", "b");
- assertRelationshipContents(multiline, "c");
-
- }
-
- @Test
- public void testSimpleConverterJS() {
- LOG.info("Running Javascript converter script");
-
- for (int i = 0; i < 20; i++) {
- controller.enqueue(multiline.getBytes());
- }
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/simpleConverter.js");
- controller.run(20);
-
- List<MockFlowFile> successFiles = controller.getFlowFilesForRelationship("success");
- List<MockFlowFile> failFiles = controller.getFlowFilesForRelationship("failure");
-
- assertEquals("Process did not generate 20 SUCCESS files", 20, successFiles.size());
- assertEquals("Process did not generate 20 FAILURE file", 20, failFiles.size());
-
- MockFlowFile sFile = successFiles.get(19);
- MockFlowFile fFile = failFiles.get(0);
-
- byte[] blob = sFile.toByteArray();
- String[] lines = new String(blob).split("\n");
-
- assertEquals("SUCCESS had wrong number of lines", 7, lines.length);
- assertTrue(lines[0].startsWith("consectetur adipisicing elit,"));
-
- blob = fFile.toByteArray();
- lines = new String(blob).split("\n");
-
- assertEquals("File had more than one line", 1, lines.length);
- assertTrue(lines[0].startsWith("Lorem ipsum dolor sit amet,"));
- }
-
- @Test
- public void testLoadLocalJS() {
- LOG.info("Javascript: load another script file");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/loadLocal.js");
- controller.run(2);
-
- assertRelationshipContents(multiline, "failure");
- assertRelationshipContents("This stuff is fine", "success");
- }
-
- @Test
- public void testXMLJS() {
- LOG.info("Javascript: native XML parser");
-
- controller.enqueue("<a><b foo='bar'>Bad</b><b good='true'>Good</b><b good='false'>Bad</b></a>".getBytes());
- controller.enqueue("<a><b>Hello</b><b>world</b></a>".getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/parseXml.js");
- controller.run(2);
-
- assertRelationshipContents("Good", "success");
- assertRelationshipContents("<a><b>Hello</b><b>world</b></a>", "failure");
- }
-
- @Test
- public void testFlowFileJS() {
- LOG.info("JavaScript: get FlowFile properties");
-
- controller.enqueue("This is too short".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/ffTest.js");
- controller.run(2);
-
- assertRelationshipContents(multiline, "success");
- assertRelationshipContents("This is too short", "failure");
- }
-
- @Test
- public void testMultiThreadExecJS() {
- LOG.info("JavaScript script 20 threads: Failing file based on reading contents");
-
- Map<String, String> attrs1 = new HashMap<>();
- attrs1.put("filename", "StuffIsFine.txt");
- Map<String, String> attrs2 = new HashMap<>();
- attrs2.put("filename", "multiline.txt");
- controller.setThreadCount(20);
- for (int i = 0; i < 10; i++) {
- controller.enqueue("This stuff is fine".getBytes(), attrs1);
- controller.enqueue(multiline.getBytes(), attrs2);
- }
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readWithParams.js");
- controller.setProperty("expr", "rehenderit");
- controller.run(20);
-
- controller.assertTransferCount("failure", 10);
- controller.assertTransferCount("success", 10);
- for (int i = 0; i < 10; i++) {
- MockFlowFile ff = controller.getFlowFilesForRelationship("failure").get(i);
- ff.assertContentEquals(multiline);
- assertTrue(ff.getAttribute("filename").endsWith("modified"));
- ff = controller.getFlowFilesForRelationship("success").get(i);
- ff.assertContentEquals("This stuff is fine");
- assertTrue(ff.getAttribute("filename").endsWith("modified"));
- }
- }
-
- @Test
- public void testUpdateScriptJS() throws Exception {
- LOG.info("Test one script with updated class");
-
- File testFile = File.createTempFile("script", ".js");
- File original = new File("target/test-scripts/readWithParams.js");
- FileUtils.copyFile(original, testFile);
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, testFile.getPath());
- controller.assertValid();
- original = new File("target/test-scripts/optionalValidators.js");
- FileUtils.copyFile(original, testFile);
- controller.setProperty(ExecuteScript.SCRIPT_CHECK_INTERVAL, "5 secs");
- Thread.sleep(6000);
-
- controller.assertNotValid();
- controller.setProperty("int", "abc");
- controller.assertNotValid();
- controller.setProperty("url", "not@valid");
- controller.assertNotValid();
- controller.setProperty("nonEmpty", "");
- controller.assertNotValid();
-
- controller.setProperty("int", "123");
- controller.setProperty("url", "http://localhost");
- controller.setProperty("nonEmpty", "abc123");
- controller.assertValid();
- FileUtils.deleteQuietly(testFile);
- }
-
- // ////////////////////////////////// // Python script tests
- @Test
- public void testSimpleReadP() {
- LOG.info("Python script: fail file based on reading contents");
-
- for (int i = 0; i < 20; i++) {
- Map<String, String> attr1 = new HashMap<>();
- attr1.put("filename", "FineStuff");
- attr1.put("counter", Integer.toString(i));
- Map<String, String> attr2 = new HashMap<>();
- attr2.put("filename", "MultiLine");
- attr2.put("counter", Integer.toString(i));
- controller.enqueue("This stuff is fine".getBytes(), attr1);
- controller.enqueue(multiline.getBytes(), attr2);
- }
-
- controller.setThreadCount(40);
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readTest.py");
- controller.run(40);
-
- assertRelationshipContents(multiline, "failure", 20);
- assertRelationshipContents("This stuff is fine", "success", 20);
-
- List<MockFlowFile> fails = controller.getFlowFilesForRelationship("failure");
- List<MockFlowFile> successes = controller.getFlowFilesForRelationship("success");
- for (int i = 0; i < 20; i++) {
- assertTrue(fails.get(i).getAttribute("filename").matches("^.*\\d+$"));
- assertTrue(successes.get(i).getAttribute("filename").matches("^.*\\d+$"));
- }
- }
-
- @Test
- public void testParamReadP() {
- LOG.info("Python script: read contents and fail based on parameter");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readWithParams.py");
- controller.setProperty("expr", "sed do");
- controller.run(2);
-
- assertRelationshipContents(multiline, "failure");
- assertRelationshipContents("This stuff is fine", "success");
- }
-
- @Test
- public void testWriteLastLineP() {
- LOG.info("Running Python script to output last line of file");
-
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/writeTest.py");
- controller.run();
-
- List<MockFlowFile> sunkFiles = controller.getFlowFilesForRelationship("success");
-
- assertEquals("Process did not generate an output file", 1, sunkFiles.size());
-
- MockFlowFile sunkFile = sunkFiles.iterator().next();
- byte[] blob = sunkFile.toByteArray();
- String[] lines = new String(blob).split("\n");
-
- assertEquals("File had more than one line", 1, lines.length);
- assertEquals("sunt in culpa qui officia deserunt mollit anim id est laborum.", lines[0]);
- }
-
- @Test
- public void testWriteOptionalParametersP() {
- LOG.info("Python script processCallback that uses optional parameters");
-
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/paramTest.py");
- controller.setProperty("repeat", "3");
- controller.run();
-
- List<MockFlowFile> sunkFiles = controller.getFlowFilesForRelationship("success");
-
- assertEquals("Process did not generate an output file", 1, sunkFiles.size());
-
- MockFlowFile sunkFile = sunkFiles.iterator().next();
- byte[] blob = sunkFile.toByteArray();
- String[] lines = new String(blob).split("\n");
-
- assertEquals("File did not have 3 lines", 3, lines.length);
- assertTrue(lines[2].startsWith("sunt in culpa qui officia deserunt mollit anim id est laborum."));
- }
-
- @Test
- public void testManualValidationP() {
- LOG.info("Python defining manual validator");
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/alwaysFail.py");
- controller.assertNotValid();
- }
-
- @Test
- public void testSetupOptionalValidationP() {
- LOG.info("Python script creating validators for optional properties");
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/optionalValidators.py");
- controller.setProperty("int", "abc");
- controller.setProperty("url", "not@valid");
- controller.setProperty("nonEmpty", "");
- assertEquals(2, controller.getProcessor().getPropertyDescriptors().size());
- controller.assertNotValid();
-
- controller.setProperty("int", "123");
- controller.setProperty("url", "http://localhost");
- controller.setProperty("nonEmpty", "abc123");
- assertEquals(5, controller.getProcessor().getPropertyDescriptors().size());
- controller.assertValid();
- }
-
- @Test
- public void testGetExceptionRouteP() {
- LOG.info("Python script defining route taken in event of exception");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue("Bad things go to 'b'.".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/routeTest.py");
-
- // Don't put the error in the logs
- // TestableAppender ta = new TestableAppender();
- // ta.attach(Logger.getLogger(ExecuteScript.class));
- controller.run(3);
- // ta.detach();
-
- assertRelationshipContents("This stuff is fine", "a");
- assertRelationshipContents("Bad things go to 'b'.", "b");
- assertRelationshipContents(multiline, "c");
-
- // ta.assertFound("threw exception");
- }
-
- @Test
- public void testLoadLocalP() throws Exception {
-
- final Thread t = new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- testGetExceptionRouteP();
- setupEach();
- } catch (Exception e) {
-
- }
- }
- });
-
- t.start();
- t.join();
-
- LOG.info("Python: load another script file");
-
- controller.enqueue("This stuff is fine".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/loadLocal.py");
- controller.run(2);
-
- assertRelationshipContents(multiline, "failure");
- assertRelationshipContents("This stuff is fine", "success");
- }
-
- @Test
- public void testSimpleConverterP() {
- LOG.info("Running Python converter script");
-
- for (int i = 0; i < 20; i++) {
- controller.enqueue(multiline.getBytes());
- }
-
- controller.setThreadCount(20);
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/simpleConverter.py");
- controller.run(20);
-
- List<MockFlowFile> successFiles = controller.getFlowFilesForRelationship("success");
- List<MockFlowFile> failFiles = controller.getFlowFilesForRelationship("failure");
-
- assertEquals("Process did not generate 20 SUCCESS files", 20, successFiles.size());
- assertEquals("Process did not generate 20 FAILURE files", 20, failFiles.size());
-
- MockFlowFile sFile = successFiles.iterator().next();
- MockFlowFile fFile = failFiles.iterator().next();
-
- byte[] blob = sFile.toByteArray();
- String[] lines = new String(blob).split("\n");
-
- assertEquals("SUCCESS had wrong number of lines", 7, lines.length);
- assertTrue(lines[0].startsWith("consectetur adipisicing elit,"));
-
- blob = fFile.toByteArray();
- lines = new String(blob).split("\n");
-
- assertEquals("File had more than one line", 1, lines.length);
- assertTrue(lines[0].startsWith("Lorem ipsum dolor sit amet,"));
- }
-
- @Test
- public void testFlowFileP() {
- LOG.info("Python: get FlowFile properties");
-
- controller.enqueue("This is too short".getBytes());
- controller.enqueue(multiline.getBytes());
-
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/ffTest.py");
- controller.run(2);
-
- assertRelationshipContents(multiline, "success");
- assertRelationshipContents("This is too short", "failure");
- }
-
- @Test
- public void testMultiThreadExecP() {
- LOG.info("Pthon script 20 threads: Failing file based on reading contents");
-
- Map<String, String> attrs1 = new HashMap<>();
- attrs1.put("filename", "StuffIsFine.txt");
- Map<String, String> attrs2 = new HashMap<>();
- attrs2.put("filename", "multiline.txt");
- for (int i = 0; i < 10; i++) {
- controller.enqueue("This stuff is fine".getBytes(), attrs1);
- controller.enqueue(multiline.getBytes(), attrs2);
- }
-
- controller.setThreadCount(20);
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, "target/test-scripts/readWithParams.py");
- controller.setProperty("expr", "sed do");
- controller.run(20);
-
- controller.assertTransferCount("failure", 10);
- controller.assertTransferCount("success", 10);
- for (int i = 0; i < 10; i++) {
- MockFlowFile ff = controller.getFlowFilesForRelationship("failure").get(i);
- ff.assertContentEquals(multiline);
- assertTrue(ff.getAttribute("filename").endsWith("modified"));
- ff = controller.getFlowFilesForRelationship("success").get(i);
- ff.assertContentEquals("This stuff is fine");
- assertTrue(ff.getAttribute("filename").endsWith("modified"));
- }
- }
-
- @Test
- public void testUpdateScriptP() throws Exception {
- LOG.info("Test one script with updated class");
-
- File testFile = File.createTempFile("script", ".py");
- File original = new File("target/test-scripts/readTest.py");
- FileUtils.copyFile(original, testFile);
- controller.setProperty(ExecuteScript.SCRIPT_FILE_NAME, testFile.getPath());
- controller.assertValid();
- original = new File("target/test-scripts/readWithParams.py");
- FileUtils.copyFile(original, testFile);
- controller.setProperty(ExecuteScript.SCRIPT_CHECK_INTERVAL, "5 secs");
- Thread.sleep(6000);
-
- controller.assertNotValid(); // need to set 'expr'
- controller.setProperty("int", "abc");
- controller.assertNotValid();
- controller.setProperty("url", "not@valid");
- controller.assertNotValid();
- controller.setProperty("nonEmpty", "");
- controller.assertNotValid();
-
- controller.setProperty("expr", "sed do");
- controller.assertValid();
- assertEquals(6, controller.getProcessContext().getProperties().size());
- FileUtils.deleteQuietly(testFile);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.js
deleted file mode 100644
index 40f038d..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.js
+++ /dev/null
@@ -1,24 +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.
- */
-with (Scripting) {
- var instance = new ReaderScript({
- validate: function () {
- return ["This will never work."];
- }
- });
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.py
deleted file mode 100644
index 4b744ab..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.py
+++ /dev/null
@@ -1,19 +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.
-# type(name, superclass_tuple, member_dict) is a shorthand for defining an
-# anonymous class. Note the trailing parens (), because scriptBuilder must
-# return an *instance* of the class.
-instance = type("FailingReader", (ReaderScript, object),\
- {"validate": lambda self : ["I am broken"]})()
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.rb
deleted file mode 100644
index 076cdfa..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/alwaysFail.rb
+++ /dev/null
@@ -1,21 +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.
-class NeverSatisfied < ReaderScript
- def validate
- return ["This is supposed to fail"]
- end
-end
-
-NeverSatisfied.new
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.js
deleted file mode 100644
index d40623e..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.js
+++ /dev/null
@@ -1,28 +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.
- */
-with (Scripting) {
- var instance = new ReaderScript({
- route: function (input) {
- if (instance.getFlowFileSize() < 20) {
- return Script.FAIL_RELATIONSHIP;
- } else {
- return Script.SUCCESS_RELATIONSHIP;
- }
- }
- });
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.py
deleted file mode 100644
index f4deb22..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.py
+++ /dev/null
@@ -1,22 +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.
-class SimpleJythonReader(ReaderScript):
- def route(self, input):
- if self.getFlowFileSize() < 20 : return self.FAIL_RELATIONSHIP
-
- return self.SUCCESS_RELATIONSHIP
-
-
-instance = SimpleJythonReader()
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.rb
deleted file mode 100644
index 0435ea7..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/ffTest.rb
+++ /dev/null
@@ -1,30 +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.
-class SimpleJRubyReader < ReaderScript
- field_reader :FAIL_RELATIONSHIP, :SUCCESS_RELATIONSHIP
-
- def getRelationships
- @@evict = Relationship::Builder.new.name("evict").description("some evicted stuff").build()
- [FAIL_RELATIONSHIP, SUCCESS_RELATIONSHIP, @@evict]
- end
-
- def route( input )
- return FAIL_RELATIONSHIP if getFlowFileSize < 20
- return @@evict if !getAttribute("evict").nil?
- return SUCCESS_RELATIONSHIP
- end
-end
-
-SimpleJRubyReader.new
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/Sub.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/Sub.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/Sub.py
deleted file mode 100644
index 827816c..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/Sub.py
+++ /dev/null
@@ -1,18 +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.
-class TestFilter:
- def notAllowed(self):
- return "^sed"
-
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/sub.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/sub.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/sub.js
deleted file mode 100644
index 489036a..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/sub.js
+++ /dev/null
@@ -1,22 +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.
- */
-function notAllowed() { // Works for eval(readFile(...))
- return /sed do/i;
-}
-
-exports.notAllowed = notAllowed; // Works for require(...)
-
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/sub.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/sub.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/sub.rb
deleted file mode 100644
index 775aad4..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/lib/sub.rb
+++ /dev/null
@@ -1,17 +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.
-def notAllowed
- return /^sed/i
-end
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.js
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.js b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.js
deleted file mode 100644
index 39396ab..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.js
+++ /dev/null
@@ -1,30 +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.
- */
-var sub = require("lib/sub.js");
-
-with (Scripting) {
- var instance = new ReaderScript({
- route: function (input) {
- var str = IOUtils.toString(input);
- if (str.match(sub.notAllowed())) {
- return Script.FAIL_RELATIONSHIP;
- } else {
- return Script.SUCCESS_RELATIONSHIP;
- }
- }
- });
-}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.py
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.py b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.py
deleted file mode 100644
index 2429ea2..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.py
+++ /dev/null
@@ -1,26 +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.
-import re
-from Sub import TestFilter
-class SimpleJythonReader(ReaderScript):
- def route(self, input):
- tf = TestFilter()
- for line in FileUtil.wrap(input):
- if re.match(tf.notAllowed(),line): return self.FAIL_RELATIONSHIP
-
- return self.SUCCESS_RELATIONSHIP
-
-
-instance = SimpleJythonReader()
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.rb
----------------------------------------------------------------------
diff --git a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.rb b/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.rb
deleted file mode 100644
index f1b3ec5..0000000
--- a/nifi/nar-bundles/execute-script-bundle/execute-script-processors/src/test/resources/loadLocal.rb
+++ /dev/null
@@ -1,29 +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.
-require 'sub'
-
-class SimpleJRubyReader < ReaderScript
- field_reader :FAIL_RELATIONSHIP, :SUCCESS_RELATIONSHIP
-
- def route( input )
- input.to_io.each_line do |line|
- return FAIL_RELATIONSHIP if line.match notAllowed
- end
-
- return SUCCESS_RELATIONSHIP
- end
-end
-
-SimpleJRubyReader.new
[5/6] incubator-nifi git commit: NIFI-270 sent an e-mail to dev
explaining all the moving parts
Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nar-maven-plugin/LICENSE
----------------------------------------------------------------------
diff --git a/nar-maven-plugin/LICENSE b/nar-maven-plugin/LICENSE
new file mode 100644
index 0000000..7a4a3ea
--- /dev/null
+++ b/nar-maven-plugin/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.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nar-maven-plugin/NOTICE
----------------------------------------------------------------------
diff --git a/nar-maven-plugin/NOTICE b/nar-maven-plugin/NOTICE
new file mode 100644
index 0000000..76a23fb
--- /dev/null
+++ b/nar-maven-plugin/NOTICE
@@ -0,0 +1,5 @@
+Apache NiFi
+Copyright 2014-2015 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nar-maven-plugin/README.md
----------------------------------------------------------------------
diff --git a/nar-maven-plugin/README.md b/nar-maven-plugin/README.md
new file mode 100644
index 0000000..941de2b
--- /dev/null
+++ b/nar-maven-plugin/README.md
@@ -0,0 +1,57 @@
+# Apache NiFi NAR Maven Plugin
+
+Apache NiFi NAR Maven Plugin helps to build NiFi Archive bundles to support the classloader isolation model of NiFi.
+
+## Table of Contents
+
+- [Getting Started](#getting-started)
+- [Getting Help](#getting-help)
+- [Requirements](#requirements)
+- [License](#license)
+- [Disclaimer](#disclaimer)
+
+## Getting Started
+
+To Build:
+- Executed 'mvn clean install'
+
+## Getting Help
+If you have questions, you can reach out to our mailing list: dev@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
+
+## 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.
+
+## Disclaimer
+
+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.
+
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nar-maven-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/nar-maven-plugin/pom.xml b/nar-maven-plugin/pom.xml
new file mode 100644
index 0000000..8dea49c
--- /dev/null
+++ b/nar-maven-plugin/pom.xml
@@ -0,0 +1,273 @@
+<?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-subscribe@nifi.incubator.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@nifi.incubator.apache.org</unsubscribe>
+ <post>dev@nifi.incubator.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/incubator-nifi-dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Commits</name>
+ <subscribe>commits-subscribe@nifi.incubator.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@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/nar-maven-plugin/src/main/java/nifi/NarMojo.java
----------------------------------------------------------------------
diff --git a/nar-maven-plugin/src/main/java/nifi/NarMojo.java b/nar-maven-plugin/src/main/java/nifi/NarMojo.java
new file mode 100644
index 0000000..9b70ec0
--- /dev/null
+++ b/nar-maven-plugin/src/main/java/nifi/NarMojo.java
@@ -0,0 +1,613 @@
+/*
+ * 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/nar-maven-plugin/src/main/resources/META-INF/plexus/components.xml
----------------------------------------------------------------------
diff --git a/nar-maven-plugin/src/main/resources/META-INF/plexus/components.xml b/nar-maven-plugin/src/main/resources/META-INF/plexus/components.xml
new file mode 100644
index 0000000..0680d18
--- /dev/null
+++ b/nar-maven-plugin/src/main/resources/META-INF/plexus/components.xml
@@ -0,0 +1,52 @@
+<?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/nifi/DISCLAIMER
----------------------------------------------------------------------
diff --git a/nifi/DISCLAIMER b/nifi/DISCLAIMER
new file mode 100644
index 0000000..0f8e7a1
--- /dev/null
+++ b/nifi/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/
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/bc94f716/nifi/LICENSE
----------------------------------------------------------------------
diff --git a/nifi/LICENSE b/nifi/LICENSE
new file mode 100644
index 0000000..d10784d
--- /dev/null
+++ b/nifi/LICENSE
@@ -0,0 +1,589 @@
+
+ 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, tony@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 <ma...@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/nifi/NOTICE
----------------------------------------------------------------------
diff --git a/nifi/NOTICE b/nifi/NOTICE
new file mode 100644
index 0000000..741e1e5
--- /dev/null
+++ b/nifi/NOTICE
@@ -0,0 +1,14 @@
+Apache NiFi
+Copyright 2014-2015 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.