You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/03/06 05:46:47 UTC

[incubator-pulsar] branch master updated: Merge pulsar-functions dist package into pulsar binary distribution (#1332)

This is an automated email from the ASF dual-hosted git repository.

mmerli 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 e9e31c7   Merge pulsar-functions dist package into pulsar binary distribution (#1332)
e9e31c7 is described below

commit e9e31c7ddea24d5f4e0edbb24f003327d5f47b11
Author: Sijie Guo <gu...@gmail.com>
AuthorDate: Mon Mar 5 21:46:44 2018 -0800

     Merge pulsar-functions dist package into pulsar binary distribution (#1332)
    
    * Move pulsar functions dependency version to root pom and remove duplicated license headers
    
    This addresses some comments in pulsar functions PR #1314
    
    * shade worker
    
    * Fix broken master
    
    * Upgrade the bookkeeper storage client dependency to the official bookkeeper version
    
    This removes the temp dependency in `pulsar-functions-instance`
    
    * set `protobuf2.version` in pulsar-common
    
    * provide a shaded worker
    
    * include worker dependency at broker
    
    * Embeded function worker at broker
    
    * rename 'function worker' to 'functions worker'
    
    * add "--no-functions-worker" for pulsar-client-cpp tests
    
    * Integrate function cli into pulsar-admin cli
    
    - rename `pulsar-client-tools-shaded` to `pulsar-client-admin-shaded-for-functions`, because this module is used by functions only to avoid protobuf conflicts
    - move protobuf3 references to Utils, so it won't be referenced out side of pulsar-functions
    - integrate function cli into pulsar-admin cli
    
    * Merge pulsar-functions dist package into pulsar binary distribution
    
    * Fix license header issues
    
    * Fixed ZK cache test exectutor configuration.
    
    Fixes #1338
---
 all/pom.xml                                |   9 ++
 all/src/assemble/bin.xml                   |  14 +++
 pulsar-functions/bin/pulsar                | 192 -----------------------------
 pulsar-functions/bin/pulsar-functions      | 148 ----------------------
 pulsar-functions/conf/client.conf          |  27 ----
 pulsar-functions/conf/function_worker.yml  |  46 -------
 pulsar-functions/conf/log4j2.yml           | 167 -------------------------
 pulsar-functions/conf/pulsar_env.sh        |  60 ---------
 pulsar-functions/conf/pulsar_tools_env.sh  |  60 ---------
 pulsar-functions/dist/pom.xml              | 103 ----------------
 pulsar-functions/dist/src/assemble/bin.xml |  83 -------------
 pulsar-functions/dist/src/assemble/src.xml |  92 --------------
 pulsar-functions/pom.xml                   |   2 -
 pulsar-functions/worker-runner/pom.xml     | 111 -----------------
 14 files changed, 23 insertions(+), 1091 deletions(-)

diff --git a/all/pom.xml b/all/pom.xml
index 0c02d51..6273f4b 100644
--- a/all/pom.xml
+++ b/all/pom.xml
@@ -104,6 +104,15 @@
       <artifactId>pulsar-zookeeper</artifactId>
       <version>${project.version}</version>
     </dependency>
+
+    <!-- function examples -->
+    <dependency>
+      <groupId>org.apache.pulsar</groupId>
+      <artifactId>pulsar-functions-api-examples</artifactId>
+      <version>${project.version}</version>
+      <!-- make sure the api examples are compiled before assembly -->
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/all/src/assemble/bin.xml b/all/src/assemble/bin.xml
index b295bab..3a994ac 100644
--- a/all/src/assemble/bin.xml
+++ b/all/src/assemble/bin.xml
@@ -43,6 +43,10 @@
     <fileSet>
       <directory>${basedir}/licenses</directory>
     </fileSet>
+    <fileSet>
+      <directory>${basedir}/../pulsar-functions/runtime/target/python-instance</directory>
+      <outputDirectory>instances/python-instance</outputDirectory>
+    </fileSet>
   </fileSets>
   <files>
     <file>
@@ -68,6 +72,16 @@
       <outputDirectory>.</outputDirectory>
       <fileMode>644</fileMode>
     </file>
+    <file>
+      <source>${basedir}/../pulsar-functions/runtime/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>
+      <destName>api-examples.jar</destName>
+      <outputDirectory>examples</outputDirectory>
+    </file>
   </files>
   <dependencySets>
     <dependencySet>
diff --git a/pulsar-functions/bin/pulsar b/pulsar-functions/bin/pulsar
deleted file mode 100755
index ba219a1..0000000
--- a/pulsar-functions/bin/pulsar
+++ /dev/null
@@ -1,192 +0,0 @@
-#!/usr/bin/env bash
-#
-# 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.
-#
-
-BINDIR=$(dirname "$0")
-PULSAR_HOME=`cd $BINDIR/..;pwd`
-
-DEFAULT_WORKER_CONF=$PULSAR_HOME/conf/function_worker.yml
-DEFAULT_LOG_CONF=$PULSAR_HOME/conf/log4j2.yml
-DEFAULT_JAVA_INSTANCE_JAR=$PULSAR_HOME/instances/java-instance.jar
-JAVA_INSTANCE_JAR=${PULSAR_JAVA_INSTANCE_JAR:-"${DEFAULT_JAVA_INSTANCE_JAR}"}
-DEFAULT_PY_INSTANCE_FILE=$PULSAR_HOME/instances/python-instance/python_instance_main.py
-PY_INSTANCE_FILE=${PULSAR_PY_INSTANCE_FILE:-"${DEFAULT_PY_INSTANCE_FILE}"}
-
-if [ -f "$PULSAR_HOME/conf/pulsar_env.sh" ]
-then
-    . "$PULSAR_HOME/conf/pulsar_env.sh"
-fi
-
-# Check for the java to use
-if [[ -z $JAVA_HOME ]]; then
-    JAVA=$(which java)
-    if [ $? != 0 ]; then
-        echo "Error: JAVA_HOME not set, and no java executable found in $PATH." 1>&2
-        exit 1
-    fi
-else
-    JAVA=$JAVA_HOME/bin/java
-fi
-
-# exclude tests jar
-RELEASE_JAR=`ls $PULSAR_HOME/lib/*pulsar-functions-worker*.jar 2> /dev/null | grep -v tests | tail -1`
-if [ $? == 0 ]; then
-    PULSAR_JAR=$RELEASE_JAR
-fi
-
-# exclude tests jar
-if [ -z "$PULSAR_JAR" ]; then
-    BUILT_JAR=`ls $PULSAR_HOME/worker-runner/target/pulsar-*.jar 2> /dev/null | grep -v tests | tail -1`
-    if [ -z "${BUILT_JAR}" ]; then
-        echo "\nCouldn't find pulsar jar.";
-        echo "Make sure you've run 'mvn package'\n";
-        exit 1;
-    fi
-    PULSAR_JAR=$BUILT_JAR
-fi
-
-# find the java instance location
-if [ ! -f "${JAVA_INSTANCE_JAR}" ]; then
-    # didn't find a released jar, then search the built jar
-    BUILT_JAVA_INSTANCE_JAR="${PULSAR_HOME}/runtime/target/java-instance.jar"
-    if [ -z "${BUILT_JAVA_INSTANCE_JAR}" ]; then
-        echo "\nCouldn't find pulsar java instance jar.";
-        echo "Make sure you've run 'mvn package'\n";
-        exit 1;
-    fi
-    JAVA_INSTANCE_JAR=${BUILT_JAVA_INSTANCE_JAR}
-fi
-
-# find the python instance location
-if [ ! -f "${PY_INSTANCE_FILE}" ]; then
-    # didn't find a released python instance, then search the built python instance
-    BUILT_PY_INSTANCE_FILE="${PULSAR_HOME}/runtime/target/python-instance/python_instance_main.py"
-    if [ -z "${BUILT_PY_INSTANCE_FILE}" ]; then
-        echo "\nCouldn't find pulsar python instance.";
-        echo "Make sure you've run 'mvn package'\n";
-        exit 1;
-    fi
-    PY_INSTANCE_FILE=${BUILT_PY_INSTANCE_FILE}
-fi
-
-pulsar_help() {
-    cat <<EOF
-Usage: pulsar <command>
-where command is one of:
-    worker              Run a function worker server
-
-    help                This help message
-
-or command is the full name of a class with a defined main() method.
-
-Environment variables:
-   PULSAR_LOG_CONF               Log4j configuration file (default $DEFAULT_LOG_CONF)
-   PULSAR_WORKER_CONF            Configuration file for function worker (default: $DEFAULT_WORKER_CONF)
-   PULSAR_EXTRA_OPTS             Extra options to be passed to the jvm
-   PULSAR_EXTRA_CLASSPATH        Add extra paths to the pulsar classpath
-   PULSAR_PID_DIR                Folder where the pulsar server PID file should be stored
-   PULSAR_STOP_TIMEOUT           Wait time before forcefully kill the pulsar server instance, if the stop is not successful
-   PULSAR_JAVA_INSTANCE_JAR      The java instance jar that pulsar worker uses to run functions (default: $DEFAULT_JAVA_INSTANCE_JAR)
-   PULSAR_PY_INSTANCE_FILE       The python instance that pulsar worker uses to run functions (default: $DEFAULT_PY_INSTANCE_FILE)
-
-These variable can also be set in conf/pulsar_env.sh
-EOF
-}
-
-add_maven_deps_to_classpath() {
-    MVN="mvn"
-    if [ "$MAVEN_HOME" != "" ]; then
-	    MVN=${MAVEN_HOME}/bin/mvn
-    fi
-
-    # 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}/worker-runner/target/classpath_shaded.txt"
-    if [ ! -f "${f}" ]
-    then
-	    ${MVN} -f "${PULSAR_HOME}/worker-runner/pom.xml" dependency:build-classpath -DincludeScope=compile -Dmdep.outputFile="${f}" &> /dev/null
-    fi
-    PULSAR_CLASSPATH=${CLASSPATH}:`cat "${f}"`
-}
-
-if [ -d "$PULSAR_HOME/lib" ]; then
-	PULSAR_CLASSPATH=$PULSAR_CLASSPATH:$PULSAR_HOME/lib/*
-else
-    add_maven_deps_to_classpath
-fi
-
-# if no args specified, show usage
-if [ $# = 0 ]; then
-    pulsar_help;
-    exit 1;
-fi
-
-# get arguments
-COMMAND=$1
-shift
-
-if [ -z "$PULSAR_WORKER_CONF" ]; then
-    PULSAR_WORKER_CONF=$DEFAULT_WORKER_CONF
-fi
-
-if [ -z "$PULSAR_LOG_CONF" ]; then
-    PULSAR_LOG_CONF=$DEFAULT_LOG_CONF
-fi
-
-PULSAR_CLASSPATH="$PULSAR_JAR:$PULSAR_CLASSPATH:$PULSAR_EXTRA_CLASSPATH"
-PULSAR_CLASSPATH="`dirname $PULSAR_LOG_CONF`:$PULSAR_CLASSPATH"
-OPTS="$OPTS -Dlog4j.configurationFile=`basename $PULSAR_LOG_CONF`"
-
-# Ensure we can read bigger content from ZK. (It might be
-# rarely needed when trying to list many z-nodes under a
-# directory)
-OPTS="$OPTS -Djute.maxbuffer=10485760 -Djava.net.preferIPv4Stack=true"
-
-OPTS="-cp $PULSAR_CLASSPATH $OPTS"
-
-OPTS="$OPTS $PULSAR_EXTRA_OPTS"
-
-# log directory & file
-PULSAR_LOG_DIR=${PULSAR_LOG_DIR:-"$PULSAR_HOME/logs"}
-PULSAR_LOG_APPENDER=${PULSAR_LOG_APPENDER:-"RoutingAppender"}
-PULSAR_LOG_LEVEL=${PULSAR_LOG_LEVEL:-"info"}
-PULSAR_ROUTING_APPENDER_DEFAULT=${PULSAR_ROUTING_APPENDER_DEFAULT:-"Console"}
-
-#Configure log configuration system properties
-OPTS="$OPTS -Dpulsar.log.appender=$PULSAR_LOG_APPENDER"
-OPTS="$OPTS -Dpulsar.log.dir=$PULSAR_LOG_DIR"
-OPTS="$OPTS -Dpulsar.log.level=$PULSAR_LOG_LEVEL"
-OPTS="$OPTS -Dpulsar.routing.appender.default=$PULSAR_ROUTING_APPENDER_DEFAULT"
-OPTS="$OPTS -Dpulsar.functions.process.container.log.dir=$PULSAR_LOG_DIR"
-
-# instance
-OPTS="$OPTS -Dpulsar.functions.java.instance.jar=${JAVA_INSTANCE_JAR}"
-OPTS="$OPTS -Dpulsar.functions.python.instance.file=${PY_INSTANCE_FILE}"
-
-#Change to PULSAR_HOME to support relative paths
-cd "$PULSAR_HOME"
-if [ $COMMAND == "worker" ]; then
-    PULSAR_LOG_FILE=${PULSAR_LOG_FILE:-"pulsar-function-worker.log"}
-    exec $JAVA $OPTS -Dpulsar.log.file=$PULSAR_LOG_FILE org.apache.pulsar.functions.worker.FunctionWorkerStarter -c $PULSAR_WORKER_CONF $@
-elif [ $COMMAND == "help" ]; then
-    pulsar_help;
-else
-    exec $JAVA $OPTS $COMMAND $@
-fi
diff --git a/pulsar-functions/bin/pulsar-functions b/pulsar-functions/bin/pulsar-functions
deleted file mode 100755
index ecd1237..0000000
--- a/pulsar-functions/bin/pulsar-functions
+++ /dev/null
@@ -1,148 +0,0 @@
-#!/usr/bin/env bash
-#
-# 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.
-#
-
-BINDIR=$(dirname "$0")
-PULSAR_HOME=`cd $BINDIR/..;pwd`
-
-DEFAULT_CLIENT_CONF=$PULSAR_HOME/conf/client.conf
-DEFAULT_LOG_CONF=$PULSAR_HOME/conf/log4j2.yml
-DEFAULT_JAVA_INSTANCE_JAR=$PULSAR_HOME/instances/java-instance.jar
-JAVA_INSTANCE_JAR=${PULSAR_JAVA_INSTANCE_JAR:-"${DEFAULT_JAVA_INSTANCE_JAR}"}
-DEFAULT_PY_INSTANCE_FILE=$PULSAR_HOME/instances/python-instance/python_instance_main.py
-PY_INSTANCE_FILE=${PULSAR_PY_INSTANCE_FILE:-"${DEFAULT_PY_INSTANCE_FILE}"}
-
-if [ -f "$PULSAR_HOME/conf/pulsar_tools_env.sh" ]
-then
-    . "$PULSAR_HOME/conf/pulsar_tools_env.sh"
-fi
-
-# Check for the java to use
-if [[ -z $JAVA_HOME ]]; then
-    JAVA=$(which java)
-    if [ $? != 0 ]; then
-        echo "Error: JAVA_HOME not set, and no java executable found in $PATH." 1>&2
-        exit 1
-    fi
-else
-    JAVA=$JAVA_HOME/bin/java
-fi
-
-# exclude tests jar
-RELEASE_JAR=`ls $PULSAR_HOME/lib/*pulsar-functions-cli*.jar 2> /dev/null | grep -v tests | tail -1`
-if [ $? == 0 ]; then
-    PULSAR_JAR=$RELEASE_JAR
-fi
-
-# exclude tests jar
-if [ -z "$PULSAR_JAR" ]; then
-    BUILT_JAR=`ls $PULSAR_HOME/cli/target/pulsar-*.jar 2> /dev/null | grep -v tests | tail -1`
-    if [ -z "${BUILT_JAR}" ]; then 
-        echo "\nCouldn't find pulsar jar.";
-        echo "Make sure you've run 'mvn package'\n";
-        exit 1;
-    fi
-    PULSAR_JAR=$BUILT_JAR
-fi
-
-add_maven_deps_to_classpath() {
-    MVN="mvn"
-    if [ "$MAVEN_HOME" != "" ]; then
-	MVN=${MAVEN_HOME}/bin/mvn
-    fi
-    
-    # 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}/cli/target/classpath_shaded.txt"
-    if [ ! -f "${f}" ]
-    then
-	${MVN} -f "${PULSAR_HOME}/cli/pom.xml" dependency:build-classpath -DincludeScope=compile -Dmdep.outputFile="${f}" &> /dev/null
-    fi
-    PULSAR_CLASSPATH=${CLASSPATH}:`cat "${f}"`
-}
-
-if [ -d "$PULSAR_HOME/lib" ]; then
-    PULSAR_CLASSPATH="$PULSAR_CLASSPATH:$PULSAR_HOME/lib/*"
-else
-    add_maven_deps_to_classpath
-fi
-
-if [ -z "$PULSAR_CLIENT_CONF" ]; then
-    PULSAR_CLIENT_CONF=$DEFAULT_CLIENT_CONF
-fi
-if [ -z "$PULSAR_LOG_CONF" ]; then
-    PULSAR_LOG_CONF=$DEFAULT_LOG_CONF
-fi
-
-PULSAR_CLASSPATH="$PULSAR_JAR:$PULSAR_CLASSPATH:$PULSAR_EXTRA_CLASSPATH"
-PULSAR_CLASSPATH="`dirname $PULSAR_LOG_CONF`:$PULSAR_CLASSPATH"
-OPTS="$OPTS -Dlog4j.configurationFile=`basename $PULSAR_LOG_CONF`"
-OPTS="$OPTS -Djava.net.preferIPv4Stack=true"
-
-OPTS="-cp $PULSAR_CLASSPATH $OPTS"
-
-OPTS="$OPTS $PULSAR_EXTRA_OPTS"
-
-# log directory & file
-PULSAR_LOG_DIR=${PULSAR_LOG_DIR:-"$PULSAR_HOME/logs"}
-PULSAR_LOG_APPENDER=${PULSAR_LOG_APPENDER:-"RoutingAppender"}
-PULSAR_LOG_LEVEL=${PULSAR_LOG_LEVEL:-"info"}
-PULSAR_ROUTING_APPENDER_DEFAULT=${PULSAR_ROUTING_APPENDER_DEFAULT:-"Console"}
-
-#Configure log configuration system properties
-OPTS="$OPTS -Dpulsar.log.appender=$PULSAR_LOG_APPENDER"
-OPTS="$OPTS -Dpulsar.log.dir=$PULSAR_LOG_DIR"
-OPTS="$OPTS -Dpulsar.log.level=$PULSAR_LOG_LEVEL"
-OPTS="$OPTS -Dpulsar.routing.appender.default=$PULSAR_ROUTING_APPENDER_DEFAULT"
-
-# find the java instance location
-if [ ! -f "${JAVA_INSTANCE_JAR}" ]; then
-    # didn't find a released jar, then search the built jar
-    BUILT_JAVA_INSTANCE_JAR="${PULSAR_HOME}/runtime/target/java-instance.jar"
-    if [ -f "${BUILT_JAVA_INSTANCE_JAR}" ]; then
-        JAVA_INSTANCE_JAR=${BUILT_JAVA_INSTANCE_JAR}
-    else
-        echo "\nCouldn't find pulsar java instance jar.";
-        echo "Make sure you've run 'mvn package'\n";
-        exit 1;
-    fi
-fi
-
-# find the python instance location
-if [ ! -f "${PY_INSTANCE_FILE}" ]; then
-    # didn't find a released python instance, then search the built python instance
-    BUILT_PY_INSTANCE_FILE="${PULSAR_HOME}/runtime/target/python-instance/python_instance_main.py"
-    if [ -f "${BUILT_PY_INSTANCE_FILE}" ]; then
-        PY_INSTANCE_FILE=${BUILT_PY_INSTANCE_FILE}
-    else
-        echo "\nCouldn't find pulsar python instance.";
-        echo "Make sure you've run 'mvn package'\n";
-        exit 1;
-    fi
-fi
-
-# functions
-OPTS="$OPTS -Dpulsar.functions.java.instance.jar=${JAVA_INSTANCE_JAR}"
-OPTS="$OPTS -Dpulsar.functions.python.instance.file=${PY_INSTANCE_FILE}"
-
-#Change to PULSAR_HOME to support relative paths
-cd "$PULSAR_HOME"
-    
-exec $JAVA $OPTS org.apache.pulsar.admin.cli.FunctionsTool $PULSAR_CLIENT_CONF "$@"
diff --git a/pulsar-functions/conf/client.conf b/pulsar-functions/conf/client.conf
deleted file mode 100644
index fabe68c..0000000
--- a/pulsar-functions/conf/client.conf
+++ /dev/null
@@ -1,27 +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.
-#
-
-# Pulsar Client configuration
-webServiceUrl=http://localhost:6750/
-brokerServiceUrl=pulsar://localhost:6650/
-#authPlugin=
-#authParams=
-#useTls=
-#tlsAllowInsecureConnection
-#tlsTrustCertsFilePath
diff --git a/pulsar-functions/conf/function_worker.yml b/pulsar-functions/conf/function_worker.yml
deleted file mode 100644
index 2bc51d1..0000000
--- a/pulsar-functions/conf/function_worker.yml
+++ /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.
-#
-
-workerId: standalone
-workerHostname: localhost
-workerPort: 6750
-functionMetadataTopicName: metadata
-functionMetadataSnapshotsTopicPath: snapshots
-clusterCoordinationTopicName: coordinate
-pulsarFunctionsNamespace: sample/standalone/functions
-pulsarServiceUrl: pulsar://localhost:6650
-pulsarWebServiceUrl: http://localhost:8080
-numFunctionPackageReplicas: 1
-downloadDirectory: /tmp/pulsar_functions
-metricsConfig:
-  metricsSinkClassName: org.apache.pulsar.functions.metrics.sink.PrometheusSink
-  metricsCollectionInterval: 30
-  metricsSinkConfig:
-    path: /metrics
-    port: 9099
-# threadContainerFactory:
-#   threadGroupName: "Thread Function Container Group"
-processContainerFactory:
-  logDirectory:
-  
-schedulerClassName: "org.apache.pulsar.functions.worker.scheduler.RoundRobinScheduler"
-functionAssignmentTopicName: "assignments"
-failureCheckFreqMs: 30000
-rescheduleTimeoutMs: 60000
-initialBrokerReconnectMaxRetries: 60
diff --git a/pulsar-functions/conf/log4j2.yml b/pulsar-functions/conf/log4j2.yml
deleted file mode 100644
index 47b8dcb..0000000
--- a/pulsar-functions/conf/log4j2.yml
+++ /dev/null
@@ -1,167 +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.
-#
-
-Configuration:
-  name: pulsar-functions
-  monitorInterval: 30
-
-  Properties:
-    Property:
-      - name: "pulsar.log.dir"
-        value: "logs"
-      - name: "pulsar.log.file"
-        value: "pulsar-functions.log"
-      - name: "pulsar.log.appender"
-        value: "RoutingAppender"
-      - name: "pulsar.log.level"
-        value: "info"
-      - name: "pulsar.routing.appender.default"
-        value: "Console"
-      - name: "bk.log.level"
-        value: "info"
-
-  Appenders:
-
-    # Console
-    Console:
-      name: Console
-      target: SYSTEM_OUT
-      PatternLayout:
-        Pattern: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"
-
-    # Rolling file appender configuration
-    RollingFile:
-      name: RollingFile
-      fileName: "${sys:pulsar.log.dir}/${sys:pulsar.log.file}"
-      filePattern: "${sys:pulsar.log.dir}/${sys:pulsar.log.file}-%d{MM-dd-yyyy}-%i.log.gz"
-      immediateFlush: true
-      PatternLayout:
-        Pattern: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"
-      Policies:
-        TimeBasedTriggeringPolicy:
-          interval: 1
-          modulate: true
-        SizeBasedTriggeringPolicy:
-          size: 1 GB
-        # Trigger every day at midnight that also scan
-        # roll-over strategy that deletes older file
-        CronTriggeringPolicy:
-          schedule: "0 0 0 * * ?"
-      # Delete file older than 30days
-      DefaultRolloverStrategy:
-          Delete:
-            basePath: ${sys:pulsar.log.dir}
-            maxDepth: 2
-            IfFileName:
-              glob: "*/${sys:pulsar.log.file}*log.gz"
-            IfLastModified:
-              age: 30d
-
-    # Rolling file appender configuration for bk
-    RollingRandomAccessFile:
-      name: BkRollingFile
-      fileName: "${sys:pulsar.log.dir}/${sys:pulsar.log.file}.bk"
-      filePattern: "${sys:pulsar.log.dir}/${sys:pulsar.log.file}.bk-%d{MM-dd-yyyy}-%i.log.gz"
-      immediateFlush: true
-      PatternLayout:
-        Pattern: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"
-      Policies:
-        TimeBasedTriggeringPolicy:
-          interval: 1
-          modulate: true
-        SizeBasedTriggeringPolicy:
-          size: 1 GB
-        # Trigger every day at midnight that also scan
-        # roll-over strategy that deletes older file
-        CronTriggeringPolicy:
-          schedule: "0 0 0 * * ?"
-      # Delete file older than 30days
-      DefaultRolloverStrategy:
-          Delete:
-            basePath: ${sys:pulsar.log.dir}
-            maxDepth: 2
-            IfFileName:
-              glob: "*/${sys:pulsar.log.file}.bk*log.gz"
-            IfLastModified:
-              age: 30d
-
-    # Routing
-    Routing:
-      name: RoutingAppender
-      Routes:
-        pattern: "$${ctx:function}"
-        Route:
-          -
-            Routing:
-              name: InstanceRoutingAppender
-              Routes:
-                pattern: "$${ctx:instance}"
-                Route:
-                  -
-                    RollingFile:
-                      name: "Rolling-${ctx:function}"
-                      fileName : "${sys:pulsar.log.dir}/functions/${ctx:function}/function.log"
-                      filePattern : "${sys:pulsar.log.dir}/functions/${ctx:function}-%d{MM-dd-yyyy}-%i.log.gz"
-                      PatternLayout:
-                        Pattern: "%d{ABSOLUTE} %level{length=5} [%thread] [instance: %X{instance}] %logger{1} - %msg%n"
-                      Policies:
-                        TimeBasedTriggeringPolicy:
-                          interval: 1
-                          modulate: true
-                        SizeBasedTriggeringPolicy:
-                          size: "20MB"
-                        # Trigger every day at midnight that also scan
-                        # roll-over strategy that deletes older file
-                        CronTriggeringPolicy:
-                          schedule: "0 0 0 * * ?"
-                      # Delete file older than 30days
-                      DefaultRolloverStrategy:
-                          Delete:
-                            basePath: ${sys:pulsar.log.dir}
-                            maxDepth: 2
-                            IfFileName:
-                              glob: "*/${sys:pulsar.log.file}*log.gz"
-                            IfLastModified:
-                              age: 30d
-                  - ref: "${sys:pulsar.routing.appender.default}"
-                    key: "${ctx:function}"
-          - ref: "${sys:pulsar.routing.appender.default}"
-            key: "${ctx:function}"
-
-  Loggers:
-
-    Logger:
-      name: org.apache.bookkeeper
-      level: "${sys:bk.log.level}"
-      additivity: false
-      AppenderRef:
-        - ref: BkRollingFile
-
-    Logger:
-      name: org.apache.distributedlog
-      level: "${sys:bk.log.level}"
-      additivity: false
-      AppenderRef:
-        - ref: BkRollingFile
-
-    Root:
-      level: info
-      AppenderRef:
-        - ref: "${sys:pulsar.log.appender}"
-          level: "${sys:pulsar.log.level}"
diff --git a/pulsar-functions/conf/pulsar_env.sh b/pulsar-functions/conf/pulsar_env.sh
deleted file mode 100644
index f600e6d..0000000
--- a/pulsar-functions/conf/pulsar_env.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env bash
-#
-# 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.
-#
-
-# Set JAVA_HOME here to override the environment setting
-# JAVA_HOME=
-
-# default settings for starting pulsar broker
-
-# Log4j configuration file
-# PULSAR_LOG_CONF=
-
-# Logs location
-# PULSAR_LOG_DIR=
-
-# Configuration file of settings used in broker server
-# PULSAR_BROKER_CONF=
-
-# Configuration file of settings used in bookie server
-# PULSAR_BOOKKEEPER_CONF=
-
-# Configuration file of settings used in zookeeper server
-# PULSAR_ZK_CONF=
-
-# Configuration file of settings used in global zookeeper server
-# PULSAR_GLOBAL_ZK_CONF=
-
-# Extra options to be passed to the jvm
-PULSAR_MEM=" -Xms2g -Xmx2g -XX:MaxDirectMemorySize=4g"
-
-# Garbage collection options
-PULSAR_GC=" -XX:+UseG1GC -XX:MaxGCPauseMillis=10 -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+AggressiveOpts -XX:+DoEscapeAnalysis -XX:ParallelGCThreads=32 -XX:ConcGCThreads=32 -XX:G1NewSizePercent=50 -XX:+DisableExplicitGC -XX:-ResizePLAB"
-
-# Extra options to be passed to the jvm
-PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"
-
-# Add extra paths to the bookkeeper classpath
-# PULSAR_EXTRA_CLASSPATH=
-
-#Folder where the Bookie server PID file should be stored
-#PULSAR_PID_DIR=
-
-#Wait time before forcefully kill the pulser server instance, if the stop is not successful
-#PULSAR_STOP_TIMEOUT=
diff --git a/pulsar-functions/conf/pulsar_tools_env.sh b/pulsar-functions/conf/pulsar_tools_env.sh
deleted file mode 100755
index 7eca607..0000000
--- a/pulsar-functions/conf/pulsar_tools_env.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env bash
-#
-# 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.
-#
-
-# Set JAVA_HOME here to override the environment setting
-# JAVA_HOME=
-
-# default settings for starting pulsar broker
-
-# Log4j configuration file
-# PULSAR_LOG_CONF=
-
-# Logs location
-# PULSAR_LOG_DIR=
-
-# Configuration file of settings used in broker server
-# PULSAR_BROKER_CONF=
-
-# Configuration file of settings used in bookie server
-# PULSAR_BOOKKEEPER_CONF=
-
-# Configuration file of settings used in zookeeper server
-# PULSAR_ZK_CONF=
-
-# Configuration file of settings used in global zookeeper server
-# PULSAR_GLOBAL_ZK_CONF=
-
-# Extra options to be passed to the jvm
-PULSAR_MEM=" -Xmx256m -XX:MaxDirectMemorySize=256m"
-
-# Garbage collection options
-PULSAR_GC=" -client "
-
-# Extra options to be passed to the jvm
-PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Dio.netty.leakDetectionLevel=disabled"
-
-# Add extra paths to the bookkeeper classpath
-# PULSAR_EXTRA_CLASSPATH=
-
-#Folder where the Bookie server PID file should be stored
-#PULSAR_PID_DIR=
-
-#Wait time before forcefully kill the pulser server instance, if the stop is not successful
-#PULSAR_STOP_TIMEOUT=
diff --git a/pulsar-functions/dist/pom.xml b/pulsar-functions/dist/pom.xml
deleted file mode 100644
index 35066c2..0000000
--- a/pulsar-functions/dist/pom.xml
+++ /dev/null
@@ -1,103 +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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.pulsar</groupId>
-    <artifactId>pulsar-functions</artifactId>
-    <version>2.0.0-incubating-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <artifactId>pulsar-functions-dist</artifactId>
-  <name>Pulsar Functions :: Distribution</name>
-  <packaging>pom</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.pulsar</groupId>
-      <artifactId>pulsar-functions-worker</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.pulsar</groupId>
-      <artifactId>pulsar-functions-api-examples</artifactId>
-      <version>${project.version}</version>
-      <!-- make sure the api examples are compiled before assembly -->
-      <scope>provided</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>io.netty</groupId>
-      <artifactId>netty-all</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-    </dependency>
-
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>functions-dist-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-            <configuration>
-              <attach>true</attach>
-              <tarLongFileMode>posix</tarLongFileMode>
-              <finalName>apache-pulsar-functions-${project.version}</finalName>
-              <descriptors>
-                <descriptor>src/assemble/bin.xml</descriptor>
-                <descriptor>src/assemble/src.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/pulsar-functions/dist/src/assemble/bin.xml b/pulsar-functions/dist/src/assemble/bin.xml
deleted file mode 100644
index b4def90..0000000
--- a/pulsar-functions/dist/src/assemble/bin.xml
+++ /dev/null
@@ -1,83 +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.
-
--->
-<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>
-  <moduleSets>
-    <moduleSet>
-      <useAllReactorProjects>true</useAllReactorProjects>
-    </moduleSet>
-  </moduleSets>
-  <fileSets>
-    <fileSet>
-      <directory>${basedir}/../conf</directory>
-    </fileSet>
-    <fileSet>
-      <directory>${basedir}/../bin</directory>
-      <fileMode>755</fileMode>
-    </fileSet>
-    <fileSet>
-      <directory>${basedir}/../runtime/target/python-instance</directory>
-      <outputDirectory>instances/python-instance</outputDirectory>
-    </fileSet>
-  </fileSets>
-  <files>
-    <file>
-      <source>${basedir}/../runtime/target/java-instance.jar</source>
-      <destName>java-instance.jar</destName>
-      <outputDirectory>instances</outputDirectory>
-    </file>
-    <file>
-      <source>${basedir}/../java-examples/target/pulsar-functions-api-examples.jar</source>
-      <destName>api-examples.jar</destName>
-      <outputDirectory>examples</outputDirectory>
-    </file>
-  </files>
-  <dependencySets>
-    <dependencySet>
-      <outputDirectory>lib</outputDirectory>
-      <unpack>false</unpack>
-      <scope>compile</scope>
-      <useProjectArtifact>false</useProjectArtifact>
-      <!-- Include 'groupId' in the dependencies Jar names to better identify
-           the provenance of the jar -->
-      <outputFileNameMapping>${artifact.groupId}-${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
-
-      <excludes>
-        <!-- All these dependencies are already included in netty-all -->
-        <exclude>io.netty:netty-common</exclude>
-        <exclude>io.netty:netty-resolver</exclude>
-        <exclude>io.netty:netty-buffer</exclude>
-        <exclude>io.netty:netty-codec-http</exclude>
-        <exclude>io.netty:netty-codec</exclude>
-        <exclude>io.netty:netty-transport</exclude>
-        <exclude>io.netty:netty-handler</exclude>
-        <exclude>io.netty:netty-codec-http</exclude>
-      </excludes>
-    </dependencySet>
-  </dependencySets>
-</assembly>
diff --git a/pulsar-functions/dist/src/assemble/src.xml b/pulsar-functions/dist/src/assemble/src.xml
deleted file mode 100644
index 0c05263..0000000
--- a/pulsar-functions/dist/src/assemble/src.xml
+++ /dev/null
@@ -1,92 +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.
-
--->
-<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>src</id>
-  <formats>
-    <format>tar.gz</format>
-  </formats>
-  <includeBaseDirectory>true</includeBaseDirectory>
-  <fileSets>
-    <fileSet>
-      <directory>..</directory>
-      <useDefaultExcludes>true</useDefaultExcludes>
-      <includes>
-        <include>**/README.md</include>
-        <include>**/DISCLAIMER</include>
-        <include>**/LICENSE</include>
-        <include>**/NOTICE</include>
-        <include>**/pom.xml</include>
-        <include>**/src/**</include>
-        <include>**/pulsar-client-cpp/**</include>
-        <include>**/conf/**</include>
-        <include>**/bin/**</include>
-        <include>**/*.txt</include>
-        <include>docker/**</include>
-        <include>dashboard/**</include>
-        <include>deployment/**</include>
-      </includes>
-      <excludes>
-        <exclude>.git/**</exclude>
-        <exclude>**/.gitignore</exclude>
-        <exclude>**/.svn</exclude>
-        <exclude>**/*.iws</exclude>
-        <exclude>**/*.ipr</exclude>
-        <exclude>**/*.iml</exclude>
-        <exclude>**/*.cbp</exclude>
-        <exclude>**/*.pyc</exclude>
-        <exclude>**/.classpath</exclude>
-        <exclude>**/.project</exclude>
-        <exclude>**/.settings</exclude>
-        <exclude>**/target/**</exclude>
-        <exclude>**/CMakeFiles/**</exclude>
-        <exclude>**/CMakeCache.txt</exclude>
-        <exclude>**/cmake_install.cmake</exclude>
-        <exclude>pulsar-client-cpp/**/Makefile</exclude>
-        <exclude>pulsar-client-cpp/tests/main</exclude>
-        <exclude>pulsar-client-cpp/examples/SampleAsyncProducer</exclude>
-        <exclude>pulsar-client-cpp/examples/SampleConsumer</exclude>
-        <exclude>pulsar-client-cpp/examples/SampleConsumerListener</exclude>
-        <exclude>pulsar-client-cpp/examples/SampleProducer</exclude>
-        <exclude>pulsar-client-cpp/perf/perfProducer</exclude>
-        <exclude>pulsar-client-cpp/perf/perfConsumer</exclude>
-
-        <exclude>**/python/dist/**</exclude>
-        <exclude>**/python/wheelhouse/**</exclude>
-        <exclude>**/python/MANIFEST</exclude>
-        <exclude>**/*.egg-info/**</exclude>
-        <!-- until the code that does this is fixed -->
-        <exclude>**/*.log</exclude>
-        <exclude>**/build/**</exclude>
-        <exclude>**/file:/**</exclude>
-        <exclude>**/SecurityAuth.audit*</exclude>
-        <exclude>**/site/**</exclude>
-        <exclude>**/.idea/**</exclude>
-        <exclude>**/*.a</exclude>
-        <exclude>**/*.so</exclude>
-        <exclude>**/*.so.*</exclude>
-        <exclude>**/*.dylib</exclude>
-      </excludes>
-    </fileSet>
-  </fileSets>
-</assembly>
diff --git a/pulsar-functions/pom.xml b/pulsar-functions/pom.xml
index 5aacec5..829f080 100644
--- a/pulsar-functions/pom.xml
+++ b/pulsar-functions/pom.xml
@@ -40,9 +40,7 @@
     <module>runtime</module>
     <module>worker</module>
     <module>worker-shaded</module>
-    <module>worker-runner</module>
     <module>java-examples</module>
-    <module>dist</module>
   </modules>
 
   <dependencyManagement>
diff --git a/pulsar-functions/worker-runner/pom.xml b/pulsar-functions/worker-runner/pom.xml
deleted file mode 100644
index 1e621d5..0000000
--- a/pulsar-functions/worker-runner/pom.xml
+++ /dev/null
@@ -1,111 +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/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.pulsar</groupId>
-    <artifactId>pulsar-functions</artifactId>
-    <version>2.0.0-incubating-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <artifactId>pulsar-functions-worker-runner</artifactId>
-  <name>Pulsar Functions :: Worker Runner</name>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>pulsar-functions-worker-shaded</artifactId>
-      <version>${project.parent.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>com.google.protobuf</groupId>
-          <artifactId>protobuf-lite</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>com.google.protobuf</groupId>
-          <artifactId>protobuf-java</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>com.google.protobuf.nano</groupId>
-          <artifactId>protobuf-javanano</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>com.google.protobuf</groupId>
-          <artifactId>protobuf-java-util</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>io.grpc</groupId>
-          <artifactId>grpc-protobuf</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>io.grpc</groupId>
-          <artifactId>grpc-protobuf-lite</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>io.grpc</groupId>
-          <artifactId>grpc-protobuf-nano</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.pulsar</groupId>
-          <artifactId>pulsar-functions-proto</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.pulsar</groupId>
-          <artifactId>pulsar-functions-utils</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.pulsar</groupId>
-          <artifactId>pulsar-functions-metrics</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.pulsar</groupId>
-          <artifactId>pulsar-functions-runtime</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.pulsar</groupId>
-          <artifactId>pulsar-functions-instance</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.pulsar</groupId>
-          <artifactId>pulsar-functions-worker</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>pulsar-client-original</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>pulsar-client-admin-original</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-  </dependencies>
-</project>

-- 
To stop receiving notification emails like this one, please contact
mmerli@apache.org.