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.