This is an automated email from the ASF dual-hosted git repository.
sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new b22e883 Package Pulsar IO connectors into separate tgz in form of nar
archives (#2054)
b22e883 is described below
commit b22e883890fe4729675e67868f62d448cc42ed6a
Author: Matteo Merli <[email protected]>
AuthorDate: Mon Jul 2 00:22:01 2018 -0700
Package Pulsar IO connectors into separate tgz in form of nar archives
(#2054)
### Motivation
We need to package Pulsar IO connectors as part of the release.
We provide a new file `apache-pulsar-io-connectors-$VERSION-bin.tar.gz`
that contains
[NAR](https://medium.com/hashmapinc/nifi-nar-files-explained-14113f7796fd).
In subsequent PR, I'll add the logic to load and use these archives.
---
.travis.yml | 2 +-
bin/bookkeeper | 2 +-
bin/pulsar | 2 +-
bin/pulsar-admin | 2 +-
bin/pulsar-client | 2 +-
bin/pulsar-perf | 2 +-
{pulsar-io/cassandra => distribution/io}/pom.xml | 57 ++++++++-------
distribution/io/src/assemble/README | 10 +++
distribution/io/src/assemble/io.xml | 84 ++++++++++++++++++++++
{pulsar-io/twitter => distribution}/pom.xml | 43 +++--------
.../server}/licenses/LICENSE-AspectJ.txt | 0
.../server}/licenses/LICENSE-CC0.txt | 0
.../server}/licenses/LICENSE-CDDL-1.1.txt | 0
.../server}/licenses/LICENSE-EA-Agent-Loader.txt | 0
.../server}/licenses/LICENSE-EPL-1.0.txt | 0
.../server}/licenses/LICENSE-Hamcrest.txt | 0
.../server}/licenses/LICENSE-HdrHistogram.txt | 0
.../server}/licenses/LICENSE-HdrHistogram0.txt | 0
.../server}/licenses/LICENSE-JSR305.txt | 0
.../server}/licenses/LICENSE-LevelDB.txt | 0
.../server}/licenses/LICENSE-Lombok.txt | 0
.../server}/licenses/LICENSE-SLF4J.txt | 0
.../server}/licenses/LICENSE-SemVer.txt | 0
.../server}/licenses/LICENSE-Webbit.txt | 0
.../server}/licenses/LICENSE-bouncycastle.txt | 0
.../licenses/LICENSE-google-auth-library.txt | 0
.../server}/licenses/LICENSE-jbzip2.txt | 0
.../server}/licenses/LICENSE-jfastlz.txt | 0
.../server}/licenses/LICENSE-libdivsufsort.txt | 0
.../server}/licenses/LICENSE-protobuf.txt | 0
.../server}/licenses/LICENSE-xz.txt | 0
{all => distribution/server}/pom.xml | 6 +-
.../server}/src/assemble/LICENSE.bin.txt | 0
.../server}/src/assemble/NOTICE.bin.txt | 0
.../server}/src/assemble/README.bin.txt | 0
{all => distribution/server}/src/assemble/bin.xml | 16 ++---
{all => distribution/server}/src/assemble/src.xml | 2 +-
docker/pulsar/pom.xml | 6 +-
pom.xml | 21 +++++-
pulsar-client-cpp/pkg/deb/build-deb.sh | 2 +-
pulsar-client-cpp/pkg/rpm/build-rpm.sh | 2 +-
pulsar-client-cpp/run-unit-tests.sh | 2 +-
pulsar-io/aerospike/pom.xml | 12 +++-
pulsar-io/cassandra/pom.xml | 10 ++-
.../pulsar/io/cassandra/CassandraAbstractSink.java | 9 +--
.../java/org/apache/pulsar/io/core/PushSource.java | 1 -
pulsar-io/kafka/pom.xml | 10 ++-
pulsar-io/kinesis/pom.xml | 34 ++-------
pulsar-io/rabbitmq/pom.xml | 11 ++-
pulsar-io/twitter/pom.xml | 11 ++-
.../apache/pulsar/io/twitter/TwitterFireHose.java | 10 +--
src/stage-release.sh | 5 +-
52 files changed, 241 insertions(+), 135 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 2dfe30c..35528b6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -75,7 +75,7 @@ deploy:
api_key:
secure:
cmjsJ43FwlwWUVh+4TJ/V+yKu/bd78ov0Olm0BFao0tco5ZYNfbRB5jxWD9X4AxpRN4Rfn+u/17oRavUSfv1M/CKMj6mTzXl8gQ6gieIWrgGYfdZrpBxEY0mccaEbaXSGNEWFj/e8oJixdeBeFCp3AkUSTO9DS5f+yoKeF1XibeJIhDLY0xWgeLMkUimzizsiplQBhrPmHExM8DRwSEojs4np56QgcJHdpU9snxkKzjCW5kKcQ6vPXzWpRLBRxLNU0MzYf6HRSqsGE5M3oG8PXNi+WuMS+4pKfxhcw7vS7642/8dWV28Flvet9E+rXutaM7I+jd5ZQG+/jTo2IOTUJ164ZaxYl6rjsf94d8u51AxDPLer+/C19DfrjiYGOLX8Cad+dLWT+otVISie76oNTeThqyG/5W+PpX9cTP/yBeZs5j/mgYJI4mVU4z0fACgyh+Gc3SyBwPvc3eePsFoVS4CvksgoM
[...]
file_glob: true
- file: "all/target/pulsar-*.tar.gz"
+ file: "distribution/server/target/pulsar-*.tar.gz"
on:
repo: apache/incubator-pulsar
tags: true
diff --git a/bin/bookkeeper b/bin/bookkeeper
index d2866c4..80c2a9b 100755
--- a/bin/bookkeeper
+++ b/bin/bookkeeper
@@ -119,7 +119,7 @@ add_maven_deps_to_classpath() {
# Need to generate classpath from maven pom. This is costly so generate it
# and cache it. Save the file into our target dir so a mvn clean will get
# clean it up and force us create a new one.
- f="${BK_HOME}/all/target/classpath.txt"
+ f="${BK_HOME}/distribution/server/target/classpath.txt"
if [ ! -f "${f}" ]
then
${MVN} -f "${BK_HOME}/pom.xml" dependency:build-classpath
-Dmdep.outputFile="${f}" &> /dev/null
diff --git a/bin/pulsar b/bin/pulsar
index e096d27..d8f6e21 100755
--- a/bin/pulsar
+++ b/bin/pulsar
@@ -151,7 +151,7 @@ add_maven_deps_to_classpath() {
# Need to generate classpath from maven pom. This is costly so generate it
# and cache it. Save the file into our target dir so a mvn clean will get
# clean it up and force us create a new one.
- f="${PULSAR_HOME}/all/target/classpath.txt"
+ f="${PULSAR_HOME}/distribution/server/target/classpath.txt"
if [ ! -f "${f}" ]
then
${MVN} -f "${PULSAR_HOME}/pom.xml" dependency:build-classpath
-DincludeScope=compile -Dmdep.outputFile="${f}" &> /dev/null
diff --git a/bin/pulsar-admin b/bin/pulsar-admin
index 837a605..c984617 100755
--- a/bin/pulsar-admin
+++ b/bin/pulsar-admin
@@ -72,7 +72,7 @@ add_maven_deps_to_classpath() {
# Need to generate classpath from maven pom. This is costly so generate it
# and cache it. Save the file into our target dir so a mvn clean will get
# clean it up and force us create a new one.
- f="${PULSAR_HOME}/all/target/classpath.txt"
+ f="${PULSAR_HOME}/distribution/server/target/classpath.txt"
if [ ! -f "${f}" ]
then
${MVN} -f "${PULSAR_HOME}/pom.xml" dependency:build-classpath
-DincludeScope=compile -Dmdep.outputFile="${f}" &> /dev/null
diff --git a/bin/pulsar-client b/bin/pulsar-client
index 650322a..e48bd1a 100755
--- a/bin/pulsar-client
+++ b/bin/pulsar-client
@@ -65,7 +65,7 @@ add_maven_deps_to_classpath() {
# Need to generate classpath from maven pom. This is costly so generate it
# and cache it. Save the file into our target dir so a mvn clean will get
# clean it up and force us create a new one.
- f="${PULSAR_HOME}/all/target/classpath.txt"
+ f="${PULSAR_HOME}/distribution/server/target/classpath.txt"
if [ ! -f "${f}" ]
then
${MVN} -f "${PULSAR_HOME}/pom.xml" dependency:build-classpath
-Dmdep.outputFile="${f}" &> /dev/null
diff --git a/bin/pulsar-perf b/bin/pulsar-perf
index 8226b7e..7a250b7 100755
--- a/bin/pulsar-perf
+++ b/bin/pulsar-perf
@@ -65,7 +65,7 @@ add_maven_deps_to_classpath() {
# Need to generate classpath from maven pom. This is costly so generate it
# and cache it. Save the file into our target dir so a mvn clean will get
# clean it up and force us create a new one.
- f="${PULSAR_HOME}/all/target/classpath.txt"
+ f="${PULSAR_HOME}/distribution/server/target/classpath.txt"
if [ ! -f "${f}" ]
then
${MVN} -f "${PULSAR_HOME}/pom.xml" dependency:build-classpath
-Dmdep.outputFile="${f}" &> /dev/null
diff --git a/pulsar-io/cassandra/pom.xml b/distribution/io/pom.xml
similarity index 56%
copy from pulsar-io/cassandra/pom.xml
copy to distribution/io/pom.xml
index e9f3e00..c00a5e6 100644
--- a/pulsar-io/cassandra/pom.xml
+++ b/distribution/io/pom.xml
@@ -19,43 +19,50 @@
-->
<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">
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.pulsar</groupId>
- <artifactId>pulsar-io</artifactId>
+ <artifactId>distribution</artifactId>
<version>2.2.0-incubating-SNAPSHOT</version>
+ <relativePath>..</relativePath>
</parent>
- <artifactId>pulsar-io-cassandra</artifactId>
- <name>Pulsar IO :: Cassandra</name>
+ <artifactId>pulsar-io-distribution</artifactId>
+ <packaging>pom</packaging>
+ <name>Pulsar :: Distribution :: IO</name>
<dependencies>
-
<dependency>
- <groupId>${project.groupId}</groupId>
+ <groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-io-core</artifactId>
<version>${project.version}</version>
</dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-yaml</artifactId>
- <version>${jackson.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.datastax.cassandra</groupId>
- <artifactId>cassandra-driver-core</artifactId>
- <version>${cassandra-driver-core.version}</version>
- </dependency>
-
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>distro-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <attach>false</attach>
+ <tarLongFileMode>posix</tarLongFileMode>
+
<finalName>apache-pulsar-io-connectors-${project.version}</finalName>
+ <descriptors>
+ <descriptor>src/assemble/io.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
diff --git a/distribution/io/src/assemble/README
b/distribution/io/src/assemble/README
new file mode 100644
index 0000000..f4ca180
--- /dev/null
+++ b/distribution/io/src/assemble/README
@@ -0,0 +1,10 @@
+
+Please refer to http://pulsar.incubator.apache.org/ for access to
documentation.
+
+This package contains Pulsar IO connectors archives. Each archive
+contains:
+
+ * the connector code plus all the dependencies
+
+ * META-INF/DEPEDENCIES file with licensing information for all transitive
+ dependencies
\ No newline at end of file
diff --git a/distribution/io/src/assemble/io.xml
b/distribution/io/src/assemble/io.xml
new file mode 100644
index 0000000..f69d5ce
--- /dev/null
+++ b/distribution/io/src/assemble/io.xml
@@ -0,0 +1,84 @@
+<!--
+
+ 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.
+
+-->
+<assembly
+ xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2
http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+ <id>bin</id>
+ <formats>
+ <format>tar.gz</format>
+ </formats>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <files>
+ <file>
+ <source>${basedir}/../../DISCLAIMER</source>
+ <outputDirectory>.</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+ <file>
+ <source>${basedir}/../../LICENSE</source>
+ <outputDirectory>.</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+ <file>
+ <source>${basedir}/src/assemble/README</source>
+ <destName>README</destName>
+ <outputDirectory>.</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+
+ <file>
+
<source>${basedir}/../../pulsar-io/cassandra/target/pulsar-io-cassandra-${project.version}.nar</source>
+ <outputDirectory>connectors</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+
+ <file>
+
<source>${basedir}/../../pulsar-io/twitter/target/pulsar-io-twitter-${project.version}.nar</source>
+ <outputDirectory>connectors</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+
+ <file>
+
<source>${basedir}/../../pulsar-io/kafka/target/pulsar-io-kafka-${project.version}.nar</source>
+ <outputDirectory>connectors</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+
+ <file>
+
<source>${basedir}/../../pulsar-io/kinesis/target/pulsar-io-kinesis-${project.version}.nar</source>
+ <outputDirectory>connectors</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+
+ <file>
+
<source>${basedir}/../../pulsar-io/rabbitmq/target/pulsar-io-rabbitmq-${project.version}.nar</source>
+ <outputDirectory>connectors</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+
+ <file>
+
<source>${basedir}/../../pulsar-io/aerospike/target/pulsar-io-aerospike-${project.version}.nar</source>
+ <outputDirectory>connectors</outputDirectory>
+ <fileMode>644</fileMode>
+ </file>
+ </files>
+</assembly>
diff --git a/pulsar-io/twitter/pom.xml b/distribution/pom.xml
similarity index 56%
copy from pulsar-io/twitter/pom.xml
copy to distribution/pom.xml
index 5b22390..36b4917 100644
--- a/pulsar-io/twitter/pom.xml
+++ b/distribution/pom.xml
@@ -19,43 +19,22 @@
-->
<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">
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.pulsar</groupId>
- <artifactId>pulsar-io</artifactId>
+ <artifactId>pulsar</artifactId>
<version>2.2.0-incubating-SNAPSHOT</version>
+ <relativePath>..</relativePath>
</parent>
- <artifactId>pulsar-io-twitter</artifactId>
- <name>Pulsar IO :: Twitter</name>
-
- <dependencies>
-
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>pulsar-io-core</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-yaml</artifactId>
- <version>${jackson.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.twitter</groupId>
- <artifactId>hbc-core</artifactId>
- <version>${hbc-core.version}</version>
- </dependency>
-
- </dependencies>
+ <artifactId>distribution</artifactId>
+ <packaging>pom</packaging>
+ <name>Pulsar :: Distribution</name>
+ <modules>
+ <module>server</module>
+ <module>io</module>
+ </modules>
</project>
diff --git a/all/licenses/LICENSE-AspectJ.txt
b/distribution/server/licenses/LICENSE-AspectJ.txt
similarity index 100%
rename from all/licenses/LICENSE-AspectJ.txt
rename to distribution/server/licenses/LICENSE-AspectJ.txt
diff --git a/all/licenses/LICENSE-CC0.txt
b/distribution/server/licenses/LICENSE-CC0.txt
similarity index 100%
rename from all/licenses/LICENSE-CC0.txt
rename to distribution/server/licenses/LICENSE-CC0.txt
diff --git a/all/licenses/LICENSE-CDDL-1.1.txt
b/distribution/server/licenses/LICENSE-CDDL-1.1.txt
similarity index 100%
rename from all/licenses/LICENSE-CDDL-1.1.txt
rename to distribution/server/licenses/LICENSE-CDDL-1.1.txt
diff --git a/all/licenses/LICENSE-EA-Agent-Loader.txt
b/distribution/server/licenses/LICENSE-EA-Agent-Loader.txt
similarity index 100%
rename from all/licenses/LICENSE-EA-Agent-Loader.txt
rename to distribution/server/licenses/LICENSE-EA-Agent-Loader.txt
diff --git a/all/licenses/LICENSE-EPL-1.0.txt
b/distribution/server/licenses/LICENSE-EPL-1.0.txt
similarity index 100%
rename from all/licenses/LICENSE-EPL-1.0.txt
rename to distribution/server/licenses/LICENSE-EPL-1.0.txt
diff --git a/all/licenses/LICENSE-Hamcrest.txt
b/distribution/server/licenses/LICENSE-Hamcrest.txt
similarity index 100%
rename from all/licenses/LICENSE-Hamcrest.txt
rename to distribution/server/licenses/LICENSE-Hamcrest.txt
diff --git a/all/licenses/LICENSE-HdrHistogram.txt
b/distribution/server/licenses/LICENSE-HdrHistogram.txt
similarity index 100%
rename from all/licenses/LICENSE-HdrHistogram.txt
rename to distribution/server/licenses/LICENSE-HdrHistogram.txt
diff --git a/all/licenses/LICENSE-HdrHistogram0.txt
b/distribution/server/licenses/LICENSE-HdrHistogram0.txt
similarity index 100%
rename from all/licenses/LICENSE-HdrHistogram0.txt
rename to distribution/server/licenses/LICENSE-HdrHistogram0.txt
diff --git a/all/licenses/LICENSE-JSR305.txt
b/distribution/server/licenses/LICENSE-JSR305.txt
similarity index 100%
rename from all/licenses/LICENSE-JSR305.txt
rename to distribution/server/licenses/LICENSE-JSR305.txt
diff --git a/all/licenses/LICENSE-LevelDB.txt
b/distribution/server/licenses/LICENSE-LevelDB.txt
similarity index 100%
rename from all/licenses/LICENSE-LevelDB.txt
rename to distribution/server/licenses/LICENSE-LevelDB.txt
diff --git a/all/licenses/LICENSE-Lombok.txt
b/distribution/server/licenses/LICENSE-Lombok.txt
similarity index 100%
rename from all/licenses/LICENSE-Lombok.txt
rename to distribution/server/licenses/LICENSE-Lombok.txt
diff --git a/all/licenses/LICENSE-SLF4J.txt
b/distribution/server/licenses/LICENSE-SLF4J.txt
similarity index 100%
rename from all/licenses/LICENSE-SLF4J.txt
rename to distribution/server/licenses/LICENSE-SLF4J.txt
diff --git a/all/licenses/LICENSE-SemVer.txt
b/distribution/server/licenses/LICENSE-SemVer.txt
similarity index 100%
rename from all/licenses/LICENSE-SemVer.txt
rename to distribution/server/licenses/LICENSE-SemVer.txt
diff --git a/all/licenses/LICENSE-Webbit.txt
b/distribution/server/licenses/LICENSE-Webbit.txt
similarity index 100%
rename from all/licenses/LICENSE-Webbit.txt
rename to distribution/server/licenses/LICENSE-Webbit.txt
diff --git a/all/licenses/LICENSE-bouncycastle.txt
b/distribution/server/licenses/LICENSE-bouncycastle.txt
similarity index 100%
rename from all/licenses/LICENSE-bouncycastle.txt
rename to distribution/server/licenses/LICENSE-bouncycastle.txt
diff --git a/all/licenses/LICENSE-google-auth-library.txt
b/distribution/server/licenses/LICENSE-google-auth-library.txt
similarity index 100%
rename from all/licenses/LICENSE-google-auth-library.txt
rename to distribution/server/licenses/LICENSE-google-auth-library.txt
diff --git a/all/licenses/LICENSE-jbzip2.txt
b/distribution/server/licenses/LICENSE-jbzip2.txt
similarity index 100%
rename from all/licenses/LICENSE-jbzip2.txt
rename to distribution/server/licenses/LICENSE-jbzip2.txt
diff --git a/all/licenses/LICENSE-jfastlz.txt
b/distribution/server/licenses/LICENSE-jfastlz.txt
similarity index 100%
rename from all/licenses/LICENSE-jfastlz.txt
rename to distribution/server/licenses/LICENSE-jfastlz.txt
diff --git a/all/licenses/LICENSE-libdivsufsort.txt
b/distribution/server/licenses/LICENSE-libdivsufsort.txt
similarity index 100%
rename from all/licenses/LICENSE-libdivsufsort.txt
rename to distribution/server/licenses/LICENSE-libdivsufsort.txt
diff --git a/all/licenses/LICENSE-protobuf.txt
b/distribution/server/licenses/LICENSE-protobuf.txt
similarity index 100%
rename from all/licenses/LICENSE-protobuf.txt
rename to distribution/server/licenses/LICENSE-protobuf.txt
diff --git a/all/licenses/LICENSE-xz.txt
b/distribution/server/licenses/LICENSE-xz.txt
similarity index 100%
rename from all/licenses/LICENSE-xz.txt
rename to distribution/server/licenses/LICENSE-xz.txt
diff --git a/all/pom.xml b/distribution/server/pom.xml
similarity index 97%
rename from all/pom.xml
rename to distribution/server/pom.xml
index 0124ac9..ca4e821 100644
--- a/all/pom.xml
+++ b/distribution/server/pom.xml
@@ -24,14 +24,14 @@
<parent>
<groupId>org.apache.pulsar</groupId>
- <artifactId>pulsar</artifactId>
+ <artifactId>distribution</artifactId>
<version>2.2.0-incubating-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
- <artifactId>distribution</artifactId>
+ <artifactId>pulsar-server-distribution</artifactId>
<packaging>pom</packaging>
- <name>distribution</name>
+ <name>Pulsar :: Distribution :: Server</name>
<dependencies>
<dependency>
diff --git a/all/src/assemble/LICENSE.bin.txt
b/distribution/server/src/assemble/LICENSE.bin.txt
similarity index 100%
rename from all/src/assemble/LICENSE.bin.txt
rename to distribution/server/src/assemble/LICENSE.bin.txt
diff --git a/all/src/assemble/NOTICE.bin.txt
b/distribution/server/src/assemble/NOTICE.bin.txt
similarity index 100%
rename from all/src/assemble/NOTICE.bin.txt
rename to distribution/server/src/assemble/NOTICE.bin.txt
diff --git a/all/src/assemble/README.bin.txt
b/distribution/server/src/assemble/README.bin.txt
similarity index 100%
rename from all/src/assemble/README.bin.txt
rename to distribution/server/src/assemble/README.bin.txt
diff --git a/all/src/assemble/bin.xml b/distribution/server/src/assemble/bin.xml
similarity index 86%
rename from all/src/assemble/bin.xml
rename to distribution/server/src/assemble/bin.xml
index bdbbf1b..ff7c1a3 100644
--- a/all/src/assemble/bin.xml
+++ b/distribution/server/src/assemble/bin.xml
@@ -34,23 +34,23 @@
</moduleSets>
<fileSets>
<fileSet>
- <directory>${basedir}/../conf</directory>
+ <directory>${basedir}/../../conf</directory>
</fileSet>
<fileSet>
- <directory>${basedir}/../bin</directory>
+ <directory>${basedir}/../../bin</directory>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${basedir}/licenses</directory>
</fileSet>
<fileSet>
-
<directory>${basedir}/../pulsar-functions/runtime/target/python-instance</directory>
+
<directory>${basedir}/../../pulsar-functions/runtime/target/python-instance</directory>
<outputDirectory>instances/python-instance</outputDirectory>
</fileSet>
</fileSets>
<files>
<file>
- <source>${basedir}/../DISCLAIMER</source>
+ <source>${basedir}/../../DISCLAIMER</source>
<outputDirectory>.</outputDirectory>
<fileMode>644</fileMode>
</file>
@@ -73,22 +73,22 @@
<fileMode>644</fileMode>
</file>
<file>
-
<source>${basedir}/../pulsar-functions/runtime-all/target/java-instance.jar</source>
+
<source>${basedir}/../../pulsar-functions/runtime-all/target/java-instance.jar</source>
<destName>java-instance.jar</destName>
<outputDirectory>instances</outputDirectory>
</file>
<file>
-
<source>${basedir}/../pulsar-functions/java-examples/target/pulsar-functions-api-examples.jar</source>
+
<source>${basedir}/../../pulsar-functions/java-examples/target/pulsar-functions-api-examples.jar</source>
<destName>api-examples.jar</destName>
<outputDirectory>examples</outputDirectory>
</file>
<file>
-
<source>${basedir}/../pulsar-functions/java-examples/src/main/resources/example-function-config.yaml</source>
+
<source>${basedir}/../../pulsar-functions/java-examples/src/main/resources/example-function-config.yaml</source>
<destName>example-function-config.yaml</destName>
<outputDirectory>examples</outputDirectory>
</file>
<file>
-
<source>${basedir}/../pulsar-functions/java-examples/src/main/resources/example-window-function-config.yaml</source>
+
<source>${basedir}/../../pulsar-functions/java-examples/src/main/resources/example-window-function-config.yaml</source>
<destName>example-window-function-config.yaml</destName>
<outputDirectory>examples</outputDirectory>
</file>
diff --git a/all/src/assemble/src.xml b/distribution/server/src/assemble/src.xml
similarity index 99%
rename from all/src/assemble/src.xml
rename to distribution/server/src/assemble/src.xml
index 616c9a4..55c54ae 100644
--- a/all/src/assemble/src.xml
+++ b/distribution/server/src/assemble/src.xml
@@ -29,7 +29,7 @@
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<fileSet>
- <directory>..</directory>
+ <directory>../..</directory>
<useDefaultExcludes>true</useDefaultExcludes>
<includes>
<include>**/README.md</include>
diff --git a/docker/pulsar/pom.xml b/docker/pulsar/pom.xml
index 2a35504..f798c9a 100644
--- a/docker/pulsar/pom.xml
+++ b/docker/pulsar/pom.xml
@@ -34,7 +34,7 @@
<dependencies>
<dependency>
<groupId>org.apache.pulsar</groupId>
- <artifactId>distribution</artifactId>
+ <artifactId>pulsar-server-distribution</artifactId>
<version>${project.parent.version}</version>
<classifier>bin</classifier>
<type>tar.gz</type>
@@ -95,7 +95,7 @@
<pullNewerImage>false</pullNewerImage>
<tag>${project.version}</tag>
<buildArgs>
-
<PULSAR_TARBALL>target/distribution-${project.version}-bin.tar.gz</PULSAR_TARBALL>
+
<PULSAR_TARBALL>target/pulsar-server-distribution-${project.version}-bin.tar.gz</PULSAR_TARBALL>
</buildArgs>
</configuration>
</plugin>
@@ -111,7 +111,7 @@
<phase>generate-resources</phase>
<configuration>
<outputDirectory>${project.build.directory}/</outputDirectory>
- <includeArtifactIds>distribution</includeArtifactIds>
+
<includeArtifactIds>pulsar-server-distribution</includeArtifactIds>
<excludeTransitive>true</excludeTransitive>
</configuration>
</execution>
diff --git a/pom.xml b/pom.xml
index 5acf556..1c7f899 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,7 +97,6 @@ flexible messaging model and an intuitive client
API.</description>
<module>pulsar-client-auth-athenz</module>
<module>pulsar-client-kafka-compat</module>
<module>pulsar-zookeeper</module>
- <module>all</module>
<module>docker</module>
<module>tests</module>
<module>pulsar-log4j2-appender</module>
@@ -108,6 +107,8 @@ flexible messaging model and an intuitive client
API.</description>
<!-- connector-related modules -->
<module>pulsar-io</module>
+
+ <module>distribution</module>
</modules>
<issueManagement>
@@ -1163,6 +1164,24 @@ flexible messaging model and an intuitive client
API.</description>
<version>2.5</version>
</plugin>
<plugin>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-nar-maven-plugin</artifactId>
+ <version>1.2.0</version>
+ <extensions>true</extensions>
+ <configuration>
+ <finalName>${project.artifactId}-${project.version}</finalName>
+ </configuration>
+ <executions>
+ <execution>
+ <id>default-nar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>nar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
diff --git a/pulsar-client-cpp/pkg/deb/build-deb.sh
b/pulsar-client-cpp/pkg/deb/build-deb.sh
index b0b1781..74f25a2 100755
--- a/pulsar-client-cpp/pkg/deb/build-deb.sh
+++ b/pulsar-client-cpp/pkg/deb/build-deb.sh
@@ -34,7 +34,7 @@ CPP_DIR=$ROOT_DIR/pulsar-client-cpp
rm -rf BUILD
mkdir BUILD
cd BUILD
-tar xfz $SRC_ROOT_DIR/all/target/apache-pulsar-$POM_VERSION-src.tar.gz
+tar xfz
$SRC_ROOT_DIR/distribution/server/target/apache-pulsar-$POM_VERSION-src.tar.gz
pushd $CPP_DIR
cmake . -DBUILD_TESTS=OFF -DLINK_STATIC=ON
diff --git a/pulsar-client-cpp/pkg/rpm/build-rpm.sh
b/pulsar-client-cpp/pkg/rpm/build-rpm.sh
index 3541c79..099a015 100755
--- a/pulsar-client-cpp/pkg/rpm/build-rpm.sh
+++ b/pulsar-client-cpp/pkg/rpm/build-rpm.sh
@@ -31,7 +31,7 @@ VERSION=`echo $POM_VERSION | awk -F- '{print $1}'`
mkdir -p BUILD RPMS SOURCES SPECS SRPMS
-cp $ROOT_DIR/all/target/apache-pulsar-$POM_VERSION-src.tar.gz SOURCES
+cp $ROOT_DIR/distribution/server/target/apache-pulsar-$POM_VERSION-src.tar.gz
SOURCES
rpmbuild -v -bb --clean \
--define "version $VERSION" \
diff --git a/pulsar-client-cpp/run-unit-tests.sh
b/pulsar-client-cpp/run-unit-tests.sh
index 4eac803..ed4b6b4 100755
--- a/pulsar-client-cpp/run-unit-tests.sh
+++ b/pulsar-client-cpp/run-unit-tests.sh
@@ -23,7 +23,7 @@
rm -rf ./pulsar-dist
mkdir pulsar-dist
-tar xfz ../all/target/apache-pulsar*bin.tar.gz -C pulsar-dist
--strip-components 1
+tar xfz ../distribution/server/target/apache-pulsar*bin.tar.gz -C pulsar-dist
--strip-components 1
PULSAR_STANDALONE_CONF=$PWD/test-conf/standalone.conf pulsar-dist/bin/pulsar
standalone --no-functions-worker --no-stream-storage > broker.log &
standalone_pid=$!;
diff --git a/pulsar-io/aerospike/pom.xml b/pulsar-io/aerospike/pom.xml
index 233b409..1a2d546 100644
--- a/pulsar-io/aerospike/pom.xml
+++ b/pulsar-io/aerospike/pom.xml
@@ -41,13 +41,11 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
@@ -58,4 +56,14 @@
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-nar-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+
</project>
diff --git a/pulsar-io/cassandra/pom.xml b/pulsar-io/cassandra/pom.xml
index e9f3e00..51feeef 100644
--- a/pulsar-io/cassandra/pom.xml
+++ b/pulsar-io/cassandra/pom.xml
@@ -41,13 +41,11 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
@@ -58,4 +56,12 @@
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-nar-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
</project>
diff --git
a/pulsar-io/cassandra/src/main/java/org/apache/pulsar/io/cassandra/CassandraAbstractSink.java
b/pulsar-io/cassandra/src/main/java/org/apache/pulsar/io/cassandra/CassandraAbstractSink.java
index 7bdc4ac..8c330cd 100644
---
a/pulsar-io/cassandra/src/main/java/org/apache/pulsar/io/cassandra/CassandraAbstractSink.java
+++
b/pulsar-io/cassandra/src/main/java/org/apache/pulsar/io/cassandra/CassandraAbstractSink.java
@@ -27,22 +27,19 @@ import com.datastax.driver.core.ResultSetFuture;
import com.datastax.driver.core.Session;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
-import org.apache.pulsar.io.core.KeyValue;
-import org.apache.pulsar.io.core.SimpleSink;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
+import org.apache.pulsar.io.core.KeyValue;
+import org.apache.pulsar.io.core.SimpleSink;
+
/**
* A Simple abstract class for Cassandra sink
* Users need to implement extractKeyValue function to use this sink
*/
public abstract class CassandraAbstractSink<K, V> extends SimpleSink<byte[]> {
- private static final Logger LOG =
LoggerFactory.getLogger(CassandraAbstractSink.class);
-
// ----- Runtime fields
private Cluster cluster;
private Session session;
diff --git
a/pulsar-io/core/src/main/java/org/apache/pulsar/io/core/PushSource.java
b/pulsar-io/core/src/main/java/org/apache/pulsar/io/core/PushSource.java
index af304b9..a33ad63 100644
--- a/pulsar-io/core/src/main/java/org/apache/pulsar/io/core/PushSource.java
+++ b/pulsar-io/core/src/main/java/org/apache/pulsar/io/core/PushSource.java
@@ -20,7 +20,6 @@ package org.apache.pulsar.io.core;
import java.util.Map;
import java.util.concurrent.LinkedBlockingQueue;
-import java.util.function.Consumer;
/**
* Pulsar's Push Source interface. PushSource read data from
diff --git a/pulsar-io/kafka/pom.xml b/pulsar-io/kafka/pom.xml
index 769b9ab..5a36ade 100644
--- a/pulsar-io/kafka/pom.xml
+++ b/pulsar-io/kafka/pom.xml
@@ -41,13 +41,11 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
@@ -58,4 +56,12 @@
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-nar-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
</project>
diff --git a/pulsar-io/kinesis/pom.xml b/pulsar-io/kinesis/pom.xml
index ab39043..08c3004 100644
--- a/pulsar-io/kinesis/pom.xml
+++ b/pulsar-io/kinesis/pom.xml
@@ -57,7 +57,7 @@
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
</dependency>
-
+
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
@@ -74,7 +74,7 @@
<artifactId>amazon-kinesis-client</artifactId>
<version>1.9.0</version>
</dependency>
-
+
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>amazon-kinesis-producer</artifactId>
@@ -83,36 +83,12 @@
<!-- /kinesis dependencies -->
</dependencies>
-
+
<build>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <createDependencyReducedPom>true</createDependencyReducedPom>
-
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
- <minimizeJar>false</minimizeJar>
- <artifactSet>
- <includes>
- <include>*:*</include>
- </includes>
- </artifactSet>
- <relocations>
- <relocation>
- <pattern>com.google.protobuf</pattern>
-
<shadedPattern>org.apache.pulsar.replicator.com.google.protobuf</shadedPattern>
- </relocation>
- </relocations>
- </configuration>
- </execution>
- </executions>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-nar-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
diff --git a/pulsar-io/rabbitmq/pom.xml b/pulsar-io/rabbitmq/pom.xml
index a33f32c..8de118d 100644
--- a/pulsar-io/rabbitmq/pom.xml
+++ b/pulsar-io/rabbitmq/pom.xml
@@ -41,13 +41,11 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
@@ -58,4 +56,13 @@
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-nar-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
diff --git a/pulsar-io/twitter/pom.xml b/pulsar-io/twitter/pom.xml
index 5b22390..53bb43c 100644
--- a/pulsar-io/twitter/pom.xml
+++ b/pulsar-io/twitter/pom.xml
@@ -41,13 +41,11 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
- <version>${jackson.version}</version>
</dependency>
<dependency>
@@ -58,4 +56,13 @@
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.nifi</groupId>
+ <artifactId>nifi-nar-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
diff --git
a/pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/TwitterFireHose.java
b/pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/TwitterFireHose.java
index 2c55a4f..5dc495e 100644
---
a/pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/TwitterFireHose.java
+++
b/pulsar-io/twitter/src/main/java/org/apache/pulsar/io/twitter/TwitterFireHose.java
@@ -28,16 +28,16 @@ import
com.twitter.hbc.core.processor.HosebirdMessageProcessor;
import com.twitter.hbc.httpclient.BasicClient;
import com.twitter.hbc.httpclient.auth.Authentication;
import com.twitter.hbc.httpclient.auth.OAuth1;
-import org.apache.pulsar.io.core.PushSource;
-import org.apache.pulsar.io.core.Record;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.util.Map;
-import java.util.function.Consumer;
+
+import org.apache.pulsar.io.core.PushSource;
+import org.apache.pulsar.io.core.Record;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Simple Push based Twitter FireHose Source
diff --git a/src/stage-release.sh b/src/stage-release.sh
index c4091e8..57182fd 100755
--- a/src/stage-release.sh
+++ b/src/stage-release.sh
@@ -32,8 +32,9 @@ PULSAR_PATH=$(git rev-parse --show-toplevel)
VERSION=`cat pom.xml | xmllint --format - | sed "s/xmlns=\".*\"//g" | xmllint
--stream --pattern /project/version --debug - | grep -A 2 "matches pattern" |
grep text | sed "s/.* [0-9] //g"`
popd
-cp $PULSAR_PATH/all/target/apache-pulsar-$VERSION-src.tar.gz $DEST_PATH
-cp $PULSAR_PATH/all/target/apache-pulsar-$VERSION-bin.tar.gz $DEST_PATH
+cp $PULSAR_PATH/distribution/server/target/apache-pulsar-$VERSION-src.tar.gz
$DEST_PATH
+cp $PULSAR_PATH/distribution/server/target/apache-pulsar-$VERSION-bin.tar.gz
$DEST_PATH
+cp
$PULSAR_PATH/distribution/io/target/apache-pulsar-io-connectors-$VERSION-bin.tar.gz
$DEST_PATH
mkdir $DEST_PATH/RPMS
cp -r $PULSAR_PATH/pulsar-client-cpp/pkg/rpm/RPMS/x86_64/* $DEST_PATH/RPMS