Author: tomwhite Date: Mon Aug 22 17:40:58 2011 New Revision: 1160344 URL: http://svn.apache.org/viewvc?rev=1160344&view=rev Log: HADOOP-7496. Break Maven TAR & bintar profiles into just LAYOUT & TAR proper. Contributed by Alejandro Abdelnur.
Added: hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-dist.xml (with props) hadoop/common/trunk/hadoop-project-dist/ hadoop/common/trunk/hadoop-project-dist/README.txt (with props) hadoop/common/trunk/hadoop-project-dist/pom.xml (with props) Removed: hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-tar.xml hadoop/common/trunk/hadoop-project-distro/ Modified: hadoop/common/trunk/BUILDING.txt hadoop/common/trunk/pom.xml Modified: hadoop/common/trunk/BUILDING.txt URL: http://svn.apache.org/viewvc/hadoop/common/trunk/BUILDING.txt?rev=1160344&r1=1160343&r2=1160344&view=diff ============================================================================== --- hadoop/common/trunk/BUILDING.txt (original) +++ hadoop/common/trunk/BUILDING.txt Mon Aug 22 17:40:58 2011 @@ -15,12 +15,13 @@ Requirements: ---------------------------------------------------------------------------------- Maven modules: - hadoop (Main Hadoop project) - - hadoop-project (Parent POM for all Hadoop Maven modules. ) - (All plugins & dependencies versions are defined here.) - - hadoop-annotations (Generates the Hadoop doclet used to generated the Javadocs) - - hadoop-common (Hadoop Common) - - hadoop-hdfs (Hadoop HDFS) + hadoop (Main Hadoop project) + - hadoop-project (Parent POM for all Hadoop Maven modules. ) + (All plugins & dependencies versions are defined here.) + - hadoop-project-dist (Parent POM for modules that generate distributions.) + - hadoop-annotations (Generates the Hadoop doclet used to generated the Javadocs) + - hadoop-common (Hadoop Common) + - hadoop-hdfs (Hadoop HDFS) ---------------------------------------------------------------------------------- Where to run Maven from? @@ -43,15 +44,16 @@ Maven build goals: * Run clover : mvn test -Pclover [-DcloverLicenseLocation=${user.name}/.clover.license] * Run Rat : mvn apache-rat:check * Build javadocs : mvn javadoc:javadoc - * Build TAR : mvn package [-Ptar][-Pdocs][-Psrc][-Pnative] + * Build distribution : mvn package [-Pdist][-Pdocs][-Psrc][-Pnative][-Dtar] Build options: * Use -Pnative to compile/bundle native code * Use -Dsnappy.prefix=(/usr/local) & -Dbundle.snappy=(false) to compile Snappy JNI bindings and to bundle Snappy SO files - * Use -Pdocs to generate & bundle the documentation in the TAR (using -Ptar) - * Use -Psrc to bundle the source in the TAR (using -Ptar) + * Use -Pdocs to generate & bundle the documentation in the distribution (using -Pdist) + * Use -Psrc to bundle the source in the distribution (using -Pdist) + * Use -Dtar to create a TAR with the distribution (using -Pdist) Tests options: Added: hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-dist.xml URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-dist.xml?rev=1160344&view=auto ============================================================================== --- hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-dist.xml (added) +++ hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-dist.xml Mon Aug 22 17:40:58 2011 @@ -0,0 +1,121 @@ +<!-- + 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> + <id>hadoop-distro</id> + <formats> + <format>dir</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <fileSets> + <fileSet> + <directory>${basedir}/src/main/bin</directory> + <outputDirectory>/bin</outputDirectory> + <excludes> + <exclude>*.sh</exclude> + </excludes> + <fileMode>0755</fileMode> + </fileSet> + <fileSet> + <directory>${basedir}/src/main/conf</directory> + <outputDirectory>/etc/hadoop</outputDirectory> + </fileSet> + <fileSet> + <directory>${basedir}/src/main/bin</directory> + <outputDirectory>/libexec</outputDirectory> + <includes> + <include>*-config.sh</include> + </includes> + <fileMode>0755</fileMode> + </fileSet> + <fileSet> + <directory>${basedir}/src/main/bin</directory> + <outputDirectory>/sbin</outputDirectory> + <includes> + <include>*.sh</include> + </includes> + <excludes> + <exclude>hadoop-config.sh</exclude> + </excludes> + <fileMode>0755</fileMode> + </fileSet> + <fileSet> + <directory>${basedir}/src/main/packages</directory> + <outputDirectory>/sbin</outputDirectory> + <includes> + <include>*.sh</include> + </includes> + <fileMode>0755</fileMode> + </fileSet> + <fileSet> + <directory>${basedir}</directory> + <outputDirectory>/share/doc/hadoop/${hadoop.component}</outputDirectory> + <includes> + <include>*.txt</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.build.directory}/webapps</directory> + <outputDirectory>/share/hadoop/${hadoop.component}/webapps</outputDirectory> + </fileSet> + <fileSet> + <directory>${basedir}/src/main/conf</directory> + <outputDirectory>/share/hadoop/${hadoop.component}/templates</outputDirectory> + <includes> + <include>*-site.xml</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.build.directory}</directory> + <outputDirectory>/share/hadoop/${hadoop.component}</outputDirectory> + <includes> + <include>${project.artifactId}-${project.version}.jar</include> + <include>${project.artifactId}-${project.version}-tests.jar</include> + <include>${project.artifactId}-${project.version}-sources.jar</include> + <include>${project.artifactId}-${project.version}-test-sources.jar</include> + </includes> + </fileSet> + <fileSet> + <directory>${basedir}/dev-support/jdiff</directory> + <outputDirectory>/share/hadoop/${hadoop.component}/jdiff</outputDirectory> + </fileSet> + <fileSet> + <directory>${project.build.directory}/site/jdiff/xml</directory> + <outputDirectory>/share/hadoop/${hadoop.component}/jdiff</outputDirectory> + </fileSet> + <fileSet> + <directory>${project.build.directory}/site</directory> + <outputDirectory>/share/doc/hadoop/${hadoop.component}</outputDirectory> + </fileSet> + <fileSet> + <directory>${project.build.directory}/src</directory> + <outputDirectory>/share/hadoop/${hadoop.component}/src</outputDirectory> + </fileSet> + </fileSets> + <dependencySets> + <dependencySet> + <outputDirectory>/share/hadoop/${hadoop.component}/lib</outputDirectory> + <unpack>false</unpack> + <scope>runtime</scope> + <useProjectArtifact>false</useProjectArtifact> + <excludes> + <exclude>org.apache.ant:*:jar</exclude> + <exclude>org.apache.hadoop:hadoop-*:jar</exclude> + <exclude>jdiff:jdiff:jar</exclude> + </excludes> + </dependencySet> + </dependencySets> +</assembly> Propchange: hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-dist.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: hadoop/common/trunk/hadoop-project-dist/README.txt URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-project-dist/README.txt?rev=1160344&view=auto ============================================================================== --- hadoop/common/trunk/hadoop-project-dist/README.txt (added) +++ hadoop/common/trunk/hadoop-project-dist/README.txt Mon Aug 22 17:40:58 2011 @@ -0,0 +1,4 @@ +DUMMY. + +Required for the assembly:single goal not to fail because there +are not files in the hadoop-project-dist module. Propchange: hadoop/common/trunk/hadoop-project-dist/README.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: hadoop/common/trunk/hadoop-project-dist/pom.xml URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-project-dist/pom.xml?rev=1160344&view=auto ============================================================================== --- hadoop/common/trunk/hadoop-project-dist/pom.xml (added) +++ hadoop/common/trunk/hadoop-project-dist/pom.xml Mon Aug 22 17:40:58 2011 @@ -0,0 +1,466 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. See accompanying LICENSE file. +--> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-project</artifactId> + <version>0.23.0-SNAPSHOT</version> + <relativePath>../hadoop-project</relativePath> + </parent> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-project-dist</artifactId> + <version>0.23.0-SNAPSHOT</version> + <description>Apache Hadoop Project Dist POM</description> + <name>Apache Hadoop Project Dist POM</name> + <packaging>pom</packaging> + + <properties> + <hadoop.tmp.dir>${project.build.directory}/test</hadoop.tmp.dir> + <test.build.data>${project.build.directory}/test/data</test.build.data> + <hadoop.log.dir>${project.build.directory}/log</hadoop.log.dir> + <test.build.webapps>${project.build.directory}/test-classes/webapps</test.build.webapps> + <test.cache.data>${project.build.directory}/test-classes</test.cache.data> + <test.build.classes>${project.build.directory}/test-classes</test.build.classes> + + <hadoop.component>UNDEF</hadoop.component> + <bundle.snappy>false</bundle.snappy> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-annotations</artifactId> + <scope>provided</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <id>prepare-jar</id> + <phase>prepare-package</phase> + <goals> + <goal>jar</goal> + </goals> + </execution> + <execution> + <id>prepare-test-jar</id> + <phase>prepare-package</phase> + <goals> + <goal>test-jar</goal> + </goals> + <configuration> + <includes> + <include>**/*.class</include> + </includes> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-source-plugin</artifactId> + <executions> + <execution> + <phase>prepare-package</phase> + <goals> + <goal>jar</goal> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + <configuration> + <attach>true</attach> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>findbugs-maven-plugin</artifactId> + <configuration> + <excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml</excludeFilterFile> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <configuration> + <configLocation>file://${basedir}/dev-support/checkstyle.xml</configLocation> + <failOnViolation>false</failOnViolation> + <format>xml</format> + <format>html</format> + <outputFile>${project.build.directory}/test/checkstyle-errors.xml</outputFile> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <linksource>true</linksource> + <quiet>true</quiet> + <verbose>false</verbose> + <source>${maven.compile.source}</source> + <charset>${maven.compile.encoding}</charset> + <reportOutputDirectory>${project.build.directory}/site</reportOutputDirectory> + <destDir>api</destDir> + <groups> + <group> + <title>${project.name} API</title> + <packages>org.apache.hadoop*</packages> + </group> + </groups> + <doclet>org.apache.hadoop.classification.tools.ExcludePrivateAnnotationsStandardDoclet</doclet> + <docletArtifacts> + <docletArtifact> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-annotations</artifactId> + <version>${project.version}</version> + </docletArtifact> + </docletArtifacts> + <useStandardDocletOptions>true</useStandardDocletOptions> + + <!-- switch on dependency-driven aggregation --> + <includeDependencySources>false</includeDependencySources> + + <dependencySourceIncludes> + <!-- include ONLY dependencies I control --> + <dependencySourceInclude>org.apache.hadoop:hadoop-annotations</dependencySourceInclude> + </dependencySourceIncludes> + + </configuration> + </plugin> + </plugins> + </build> + + <profiles> + <profile> + <id>docs</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <properties> + <jdiff.stable.api>0.20.2</jdiff.stable.api> + <jdiff.stability>-unstable</jdiff.stability> + <jdiff.compatibility></jdiff.compatibility> + <jdiff.javadoc.maxmemory>512m</jdiff.javadoc.maxmemory> + </properties> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>javadoc</goal> + </goals> + <phase>prepare-package</phase> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>findbugs-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>findbugs</goal> + </goals> + <phase>prepare-package</phase> + </execution> + </executions> + <configuration> + <excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml</excludeFilterFile> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>site</id> + <phase>prepare-package</phase> + <goals> + <goal>copy</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>jdiff</groupId> + <artifactId>jdiff</artifactId> + <version>${jdiff.version}</version> + <overWrite>false</overWrite> + <outputDirectory>${project.build.directory}</outputDirectory> + <destFileName>jdiff.jar</destFileName> + </artifactItem> + <artifactItem> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-annotations</artifactId> + <version>${hadoop.annotations.version}</version> + <overWrite>false</overWrite> + <outputDirectory>${project.build.directory}</outputDirectory> + <destFileName>hadoop-annotations.jar</destFileName> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>site</id> + <phase>prepare-package</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <target if="is.hadoop.component"> + + <mkdir dir="${project.build.directory}/docs-src"/> + + <copy todir="${project.build.directory}/docs-src"> + <fileset dir="${basedir}/src/main/docs"/> + </copy> + + <!-- Docs --> + <exec dir="${project.build.directory}/docs-src" + executable="${env.FORREST_HOME}/bin/forrest" + failonerror="true"> + </exec> + <copy todir="${project.build.directory}/site"> + <fileset dir="${project.build.directory}/docs-src/build/site"/> + </copy> + <copy file="${project.build.directory}/docs-src/releasenotes.html" + todir="${project.build.directory}/site"/> + <style basedir="${basedir}/src/main/resources" + destdir="${project.build.directory}/site" + includes="core-default.xml" + style="${basedir}/src/main/xsl/configuration.xsl"/> + + <!-- Convert 'CHANGES.txt' to 'changes.html" --> + <exec executable="perl" input="${basedir}/../CHANGES.txt" + output="${project.build.directory}/site/changes.html" + failonerror="true"> + <arg value="${project.build.directory}/docs-src/changes/changes2html.pl"/> + </exec> + <copy todir="${project.build.directory}/site"> + <fileset dir="${project.build.directory}/docs-src/changes" includes="*.css"/> + </copy> + + <!-- Jdiff --> + <mkdir dir="${project.build.directory}/site/jdiff/xml"/> + + <javadoc maxmemory="${jdiff.javadoc.maxmemory}" verbose="yes"> + <doclet name="org.apache.hadoop.classification.tools.ExcludePrivateAnnotationsJDiffDoclet" + path="${project.build.directory}/hadoop-annotations.jar:${project.build.directory}/jdiff.jar"> + <param name="-apidir" value="${project.build.directory}/site/jdiff/xml"/> + <param name="-apiname" value="hadoop-core ${project.version}"/> + <param name="${jdiff.stability}"/> + </doclet> + <packageset dir="${basedir}/src/main/java"/> + <classpath> + <path refid="maven.compile.classpath"/> + </classpath> + </javadoc> + <javadoc sourcepath="${basedir}/src/main/java" + destdir="${project.build.directory}/site/jdiff/xml" + sourceFiles="${basedir}/dev-support/jdiff/Null.java" + maxmemory="${jdiff.javadoc.maxmemory}"> + <doclet name="org.apache.hadoop.classification.tools.ExcludePrivateAnnotationsJDiffDoclet" + path="${project.build.directory}/hadoop-annotations.jar:${project.build.directory}/jdiff.jar"> + <param name="-oldapi" value="hadoop-core ${jdiff.stable.api}"/> + <param name="-newapi" value="hadoop-core ${project.version}"/> + <param name="-oldapidir" value="${basedir}/dev-support/jdiff"/> + <param name="-newapidir" value="${project.build.directory}/site/jdiff/xml"/> + <param name="-javadocold" + value="http://hadoop.apache.org/docs/${jdiff.stable.api}/api/"/> + <param name="-javadocnew" value="${project.build.directory}/site/api"/> + <param name="-stats"/> + <param name="${jdiff.stability}"/> + <param name="${jdiff.compatibility}"/> + </doclet> + <classpath> + <path refid="maven.compile.classpath"/> + </classpath> + </javadoc> + + <xslt style="${env.FINDBUGS_HOME}/src/xsl/default.xsl" + in="${project.build.directory}/findbugsXml.xml" + out="${project.build.directory}/site/findbugs.html"/> + + </target> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + + <profile> + <id>src</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-assemblies</artifactId> + <version>${hadoop.assemblies.version}</version> + </dependency> + </dependencies> + <executions> + <execution> + <id>pre-tar-src</id> + <phase>prepare-package</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <appendAssemblyId>false</appendAssemblyId> + <attach>false</attach> + <finalName>${project.artifactId}-${project.version}</finalName> + <descriptorRefs> + <descriptorRef>hadoop-src</descriptorRef> + </descriptorRefs> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + + <profile> + <id>dist</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>pre-dist</id> + <phase>prepare-package</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <target> + <!-- Using Unix script to preserve symlinks --> + <echo file="${project.build.directory}/dist-copynativelibs.sh"> + + which cygpath 2> /dev/null + if [ $? = 1 ]; then + BUILD_DIR="${project.build.directory}" + else + BUILD_DIR=`cygpath --unix '${project.build.directory}'` + fi + TAR='tar cf -' + UNTAR='tar xfBp -' + LIB_DIR="${BUILD_DIR}/native/target/usr/local/lib" + if [ -d $${LIB_DIR} ] ; then + TARGET_DIR="${BUILD_DIR}/${project.artifactId}-${project.version}/lib" + mkdir -p $${TARGET_DIR} + cd $${LIB_DIR} + $$TAR lib* | (cd $${TARGET_DIR}/; $$UNTAR) + if [ "${bundle.snappy}" = "true" ] ; then + cd ${snappy.lib} + $$TAR *snappy* | (cd $${TARGET_DIR}/; $$UNTAR) + fi + fi + </echo> + <exec executable="sh" dir="${project.build.directory}" failonerror="true"> + <arg line="./dist-copynativelibs.sh"/> + </exec> + </target> + </configuration> + </execution> + <execution> + <id>tar</id> + <phase>package</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <target if="tar"> + <!-- Using Unix script to preserve symlinks --> + <echo file="${project.build.directory}/dist-maketar.sh"> + + which cygpath 2> /dev/null + if [ $? = 1 ]; then + BUILD_DIR="${project.build.directory}" + else + BUILD_DIR=`cygpath --unix '${project.build.directory}'` + fi + cd ${BUILD_DIR} + tar czf ${project.artifactId}-${project.version}.tar.gz ${project.artifactId}-${project.version} + </echo> + <exec executable="sh" dir="${project.build.directory}" failonerror="true"> + <arg line="./dist-maketar.sh"/> + </exec> + </target> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-assemblies</artifactId> + <version>${hadoop.assemblies.version}</version> + </dependency> + </dependencies> + <executions> + <execution> + <id>dist</id> + <phase>prepare-package</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <appendAssemblyId>false</appendAssemblyId> + <attach>false</attach> + <finalName>${project.artifactId}-${project.version}</finalName> + <descriptorRefs> + <descriptorRef>hadoop-dist</descriptorRef> + </descriptorRefs> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> Propchange: hadoop/common/trunk/hadoop-project-dist/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Modified: hadoop/common/trunk/pom.xml URL: http://svn.apache.org/viewvc/hadoop/common/trunk/pom.xml?rev=1160344&r1=1160343&r2=1160344&view=diff ============================================================================== --- hadoop/common/trunk/pom.xml (original) +++ hadoop/common/trunk/pom.xml Mon Aug 22 17:40:58 2011 @@ -35,7 +35,7 @@ <modules> <module>hadoop-project</module> - <module>hadoop-project-distro</module> + <module>hadoop-project-dist</module> <module>hadoop-assemblies</module> <module>hadoop-annotations</module> <module>hadoop-alfredo</module>