You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by an...@apache.org on 2019/01/22 14:37:33 UTC

[zookeeper] 01/04: ZOOKEEPER-3028 - Create maven assembly

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

andor pushed a commit to branch ZK-3028
in repository https://gitbox.apache.org/repos/asf/zookeeper.git

commit 1eefd45c580c2f65dfc4a783673687292ae39bb8
Author: Norbert Kalmar <nk...@yahoo.com>
AuthorDate: Mon Jan 7 15:18:12 2019 +0100

    ZOOKEEPER-3028 - Create maven assembly
---
 pom.xml                   | 126 +++++++++++++++++++++++++++++++++++-
 src/assembly/jar.xml      |  65 +++++++++++++++++++
 src/assembly/tarball.xml  | 160 ++++++++++++++++++++++++++++++++++++++++++++++
 zookeeper-client/pom.xml  |  31 +++++++++
 zookeeper-contrib/pom.xml |  31 +++++++++
 zookeeper-docs/pom.xml    | 134 +++++++++++++++++++++++---------------
 zookeeper-jute/pom.xml    |  26 ++++++++
 zookeeper-recipes/pom.xml |  31 +++++++++
 zookeeper-server/pom.xml  |  27 ++++++++
 9 files changed, 577 insertions(+), 54 deletions(-)

diff --git a/pom.xml b/pom.xml
index 0dc7174..2fd9999 100755
--- a/pom.xml
+++ b/pom.xml
@@ -434,6 +434,21 @@
         </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-source-plugin</artifactId>
+          <version>3.0.1</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>3.0.1</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <version>3.1.0</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-plugin</artifactId>
           <version>2.22.1</version>
         </plugin>
@@ -502,11 +517,120 @@
           </execution>
         </executions>
       </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>validate</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <exportAntProperties>true</exportAntProperties>
+              <target>
+                <property environment="env"/>
+                <exec executable="hostname" outputproperty="host.name"/>
+
+              </target>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>attach-sources</id>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>attach-javadocs</id>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+            <configuration>
+              <!-- lot of javadoc error maven doesn't like -->
+              <skip>true</skip>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <descriptors>
+                <descriptor>${project.basedir}/src/assembly/jar.xml</descriptor>
+              </descriptors>
+              <finalName>zookeeper-${project.version}</finalName>
+              <tarLongFileMode>posix</tarLongFileMode>
+              <archive>
+                <manifest>
+                  <mainClass>org.apache.zookeeper.server.quorum.QuorumPeerMain</mainClass>
+                </manifest>
+                <manifestEntries>
+                  <Built-By>${user.name}</Built-By>
+                  <Built-At>${maven.build.timestamp}</Built-At>
+                  <Built-On>${host.name}</Built-On>
+                  <Implementation-Title>org.apache.zookeeper</Implementation-Title>
+                  <Implementation-Version>${project.version}</Implementation-Version>
+                  <Implementation-Vendor>The Apache Software Foundation</Implementation-Vendor>
+                  <!-- The following are OSGi manifest headers -->
+                  <!-- currently hardcoded, when things get more complicated we could use BND
+                  http://www.aqute.biz/Code/Bnd to generate them -->
+                  <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
+                  <Bundle-Name>ZooKeeper Bundle</Bundle-Name>
+                  <Bundle-SymbolicName>org.apache.hadoop.zookeeper</Bundle-SymbolicName>
+                  <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
+                  <Bundle-Version>${project.version}</Bundle-Version>
+                  <Bundle-License>http://www.apache.org/licenses/LICENSE-2.0.txt</Bundle-License>
+                  <Bundle-DocURL>http://hadoop.apache.org/zookeeper</Bundle-DocURL>
+                  <Import-Package>javax.management;resolution:=optional,javax.security.auth.callback,javax.security.auth.login,javax.security.sasl,org.slf4j;version="[1.6,2)",org.jboss.netty.buffer;resolution:=optional;version="[3.2,4)",org.jboss.netty.channel;resolution:=optional;version="[3.2,4)",org.jboss.netty.channel.group;resolution:=optional;version="[3.2,4)",org.jboss.netty.channel.socket.nio;resolution:=optional;version="[3.2,4)",org.osgi.framework;resolution:=optional;version=" [...]
+                  <Export-Package>org.apache.zookeeper;version="${project.version}",org.apache.zookeeper.client;version="${project.version}",org.apache.zookeeper.data;version="${project.version}",org.apache.zookeeper.version;version="${project.version}",org.apache.zookeeper.server;version="${project.version}",org.apache.zookeeper.server.auth;version="${project.version}",org.apache.zookeeper.server.persistence;version="${project.version}",org.apache.zookeeper.server.quorum;version="${proj [...]
+                </manifestEntries>
+              </archive>
+            </configuration>
+          </execution>
+          <execution>
+            <id>tarball</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <descriptors>
+                <descriptor>${project.basedir}/src/assembly/tarball.xml</descriptor>
+              </descriptors>
+              <finalName>zookeeper-${project.version}</finalName>
+              <tarLongFileMode>posix</tarLongFileMode>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
       <plugin>
         <groupId>com.github.spotbugs</groupId>
         <artifactId>spotbugs-maven-plugin</artifactId>
       </plugin>
-      </plugins>
+    </plugins>
   </build>
 
   <reporting>
diff --git a/src/assembly/jar.xml b/src/assembly/jar.xml
new file mode 100644
index 0000000..e8a14b8
--- /dev/null
+++ b/src/assembly/jar.xml
@@ -0,0 +1,65 @@
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+
+  <id>jar</id>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <moduleSets>
+    <moduleSet>
+      <useAllReactorProjects>true</useAllReactorProjects>
+      <includes>
+        <include>org.apache.zookeeper:zookeeper-jute</include>
+      </includes>
+      <sources>
+        <includeModuleDirectory>false</includeModuleDirectory>
+        <fileSets>
+          <fileSet>
+            <directory>${project.basedir}/src/main/java</directory>
+            <excludes>
+              <exclude>**/.generated</exclude>
+            </excludes>
+          </fileSet>
+          <fileSet>
+            <directory>${project.build.outputDirectory}/org</directory>
+            <excludes>
+              <exclude>**/.generated</exclude>
+            </excludes>
+            <outputDirectory>org</outputDirectory>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+    <moduleSet>
+      <useAllReactorProjects>true</useAllReactorProjects>
+      <includes>
+        <include>org.apache.zookeeper:zookeeper-server</include>
+      </includes>
+      <sources>
+        <includeModuleDirectory>false</includeModuleDirectory>
+        <fileSets>
+          <fileSet>
+            <directory>${project.basedir}/src/main/java</directory>
+            <excludes>
+              <exclude>**/.generated</exclude>
+            </excludes>
+          </fileSet>
+          <fileSet>
+            <directory>${project.build.outputDirectory}/org</directory>
+            <excludes>
+              <exclude>**/.generated</exclude>
+            </excludes>
+            <outputDirectory>org</outputDirectory>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+  </moduleSets>
+  <files>
+    <file>
+      <source>${project.basedir}/LICENSE.txt</source>
+    </file>
+  </files>
+</assembly>
\ No newline at end of file
diff --git a/src/assembly/tarball.xml b/src/assembly/tarball.xml
new file mode 100644
index 0000000..11cd33e
--- /dev/null
+++ b/src/assembly/tarball.xml
@@ -0,0 +1,160 @@
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+
+  <id>tarball</id>
+  <formats>
+    <format>tar.gz</format>
+    <format>zip</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <moduleSets>
+    <moduleSet>
+      <useAllReactorProjects>true</useAllReactorProjects>
+      <includes>
+        <include>org.apache.zookeeper:zookeeper-client</include>
+      </includes>
+      <sources>
+        <includeModuleDirectory>false</includeModuleDirectory>
+        <fileSets>
+          <fileSet>
+            <directory>${project.basedir}</directory>
+            <excludes>
+              <exclude>**/target/**</exclude>
+            </excludes>
+            <outputDirectory>zookeeper-client</outputDirectory>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+    <moduleSet>
+      <useAllReactorProjects>true</useAllReactorProjects>
+      <includes>
+        <include>org.apache.zookeeper:zookeeper-contrib</include>
+      </includes>
+      <sources>
+        <includeModuleDirectory>false</includeModuleDirectory>
+        <fileSets>
+          <fileSet>
+            <directory>${project.basedir}</directory>
+            <excludes>
+              <exclude>**/target/**</exclude>
+            </excludes>
+            <outputDirectory>zookeeper-contrib</outputDirectory>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+    <moduleSet>
+      <useAllReactorProjects>true</useAllReactorProjects>
+      <includes>
+        <include>org.apache.zookeeper:zookeeper-docs</include>
+      </includes>
+      <sources>
+        <includeModuleDirectory>false</includeModuleDirectory>
+        <fileSets>
+          <fileSet>
+            <directory>${project.basedir}</directory>
+            <excludes>
+              <exclude>**/target/**</exclude>
+            </excludes>
+            <outputDirectory>zookeeper-docs</outputDirectory>
+          </fileSet>
+          <fileSet>
+            <directory>${project.build.directory}/html</directory>
+            <outputDirectory>docs</outputDirectory>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+    <moduleSet>
+      <useAllReactorProjects>true</useAllReactorProjects>
+      <includes>
+        <include>org.apache.zookeeper:zookeeper-jute</include>
+      </includes>
+      <sources>
+        <includeModuleDirectory>false</includeModuleDirectory>
+        <fileSets>
+          <fileSet>
+            <directory>${project.basedir}</directory>
+            <excludes>
+              <exclude>**/target/**</exclude>
+            </excludes>
+            <outputDirectory>zookeeper-jute</outputDirectory>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+    <moduleSet>
+      <useAllReactorProjects>true</useAllReactorProjects>
+      <includes>
+        <include>org.apache.zookeeper:zookeeper-recipes</include>
+      </includes>
+      <sources>
+        <includeModuleDirectory>false</includeModuleDirectory>
+        <fileSets>
+          <fileSet>
+            <directory>${project.basedir}</directory>
+            <excludes>
+              <exclude>**/target/**</exclude>
+            </excludes>
+            <outputDirectory>zookeeper-recipes</outputDirectory>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+    <moduleSet>
+      <useAllReactorProjects>true</useAllReactorProjects>
+      <includes>
+        <include>org.apache.zookeeper:zookeeper-server</include>
+      </includes>
+      <sources>
+        <includeModuleDirectory>false</includeModuleDirectory>
+        <fileSets>
+          <fileSet>
+            <directory>${project.basedir}</directory>
+            <excludes>
+              <exclude>**/target/**</exclude>
+            </excludes>
+            <outputDirectory>zookeeper-server</outputDirectory>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+  </moduleSets>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/bin</directory>
+      <outputDirectory>bin</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/conf</directory>
+      <outputDirectory>conf</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/zookeeper-it</directory>
+      <excludes>
+        <exclude>**/target/**</exclude>
+      </excludes>
+      <outputDirectory>zookeeper-it</outputDirectory>
+    </fileSet>
+  </fileSets>
+  <files>
+    <file>
+      <source>${project.basedir}/LICENSE.txt</source>
+    </file>
+    <file>
+      <source>${project.basedir}/NOTICE.txt</source>
+    </file>
+    <file>
+      <source>${project.basedir}/README.md</source>
+    </file>
+    <file>
+      <source>${project.basedir}/README_packaging.txt</source>
+    </file>
+    <file>
+      <source>${project.build.directory}/zookeeper-${project.version}-jar.jar</source>
+      <destName>zookeeper-${project.version}.jar</destName>
+    </file>
+  </files>
+</assembly>
\ No newline at end of file
diff --git a/zookeeper-client/pom.xml b/zookeeper-client/pom.xml
index e72624e..e4e6593 100755
--- a/zookeeper-client/pom.xml
+++ b/zookeeper-client/pom.xml
@@ -48,4 +48,35 @@
     </profile>
   </profiles>
 
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+          <execution>
+            <id>tarball</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
 </project>
\ No newline at end of file
diff --git a/zookeeper-contrib/pom.xml b/zookeeper-contrib/pom.xml
index b796ecf..fc68658 100755
--- a/zookeeper-contrib/pom.xml
+++ b/zookeeper-contrib/pom.xml
@@ -41,4 +41,35 @@
     <module>zookeeper-contrib-zooinspector</module>
   </modules>
 
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+          <execution>
+            <id>tarball</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
 </project>
\ No newline at end of file
diff --git a/zookeeper-docs/pom.xml b/zookeeper-docs/pom.xml
index fad6f0b..e50e8e6 100644
--- a/zookeeper-docs/pom.xml
+++ b/zookeeper-docs/pom.xml
@@ -1,59 +1,87 @@
 <?xml version="1.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.zookeeper</groupId>
-        <artifactId>zookeeper</artifactId>
-        <version>3.6.0-SNAPSHOT</version>
-        <relativePath>..</relativePath>
-    </parent>
-
+<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.zookeeper</groupId>
-    <artifactId>zookeeper-docs</artifactId>
+    <artifactId>zookeeper</artifactId>
     <version>3.6.0-SNAPSHOT</version>
-    <name>Apache ZooKeeper - Documentation</name>
-    <description>Documentation</description>
+    <relativePath>..</relativePath>
+  </parent>
+
+  <groupId>org.apache.zookeeper</groupId>
+  <artifactId>zookeeper-docs</artifactId>
+  <version>3.6.0-SNAPSHOT</version>
+  <name>Apache ZooKeeper - Documentation</name>
+  <description>Documentation</description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>com.ruleoftech</groupId>
+        <artifactId>markdown-page-generator-plugin</artifactId>
+        <version>0.10</version>
+        <executions>
+          <execution>
+            <phase>process-sources</phase>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <headerHtmlFile>${project.basedir}/src/main/resources/markdown/html/header.html</headerHtmlFile>
+          <footerHtmlFile>${project.basedir}/src/main/resources/markdown/html/footer.html</footerHtmlFile>
+          <copyDirectories>images,skin</copyDirectories>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+          <execution>
+            <id>tarball</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>com.ruleoftech</groupId>
-                <artifactId>markdown-page-generator-plugin</artifactId>
-                <version>0.10</version>
-                <executions>
-                    <execution>
-                        <phase>process-sources</phase>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <headerHtmlFile>${project.basedir}/src/main/resources/markdown/html/header.html</headerHtmlFile>
-                    <footerHtmlFile>${project.basedir}/src/main/resources/markdown/html/footer.html</footerHtmlFile>
-                    <copyDirectories>images,skin</copyDirectories>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 
 </project>
\ No newline at end of file
diff --git a/zookeeper-jute/pom.xml b/zookeeper-jute/pom.xml
index 9bb696e..1533ace 100755
--- a/zookeeper-jute/pom.xml
+++ b/zookeeper-jute/pom.xml
@@ -146,6 +146,32 @@
         </executions>
       </plugin>
       <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+          <execution>
+            <id>tarball</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
         <!-- spotbugs does not make sense for generated code -->
         <groupId>com.github.spotbugs</groupId>
         <artifactId>spotbugs-maven-plugin</artifactId>
diff --git a/zookeeper-recipes/pom.xml b/zookeeper-recipes/pom.xml
index 7051333..167f815 100755
--- a/zookeeper-recipes/pom.xml
+++ b/zookeeper-recipes/pom.xml
@@ -62,4 +62,35 @@
     <module>zookeeper-recipes-queue</module>
   </modules>
 
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+          <execution>
+            <id>tarball</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
 </project>
\ No newline at end of file
diff --git a/zookeeper-server/pom.xml b/zookeeper-server/pom.xml
index 9062469..257b7ce 100755
--- a/zookeeper-server/pom.xml
+++ b/zookeeper-server/pom.xml
@@ -264,6 +264,33 @@
           </systemPropertyVariables>
         </configuration>
       </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+          <execution>
+            <id>tarball</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <configuration>
+              <skipAssembly>true</skipAssembly>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>