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 <[email protected]> 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>
