|
| 1 | +<?xml version="1.0"?> |
| 2 | + |
| 3 | +<project name="commoncrawl" default="compile"> |
| 4 | + |
| 5 | + <!-- Load all the default properties, and any the user wants --> |
| 6 | + <!-- to contribute (without having to type -D or edit this file --> |
| 7 | + <property file="${user.home}/build.properties" /> |
| 8 | + <property file="${basedir}/build.properties" /> |
| 9 | + <property name="Name" value="commoncrawl"/> |
| 10 | + <property name="name" value="commoncrawl"/> |
| 11 | + <property name="version" value="0.1"/> |
| 12 | + <property name="final.name" value="${name}-${version}"/> |
| 13 | + |
| 14 | + <fail message="Please define Hadoop Version via hadoop.version in your build.properties file"> |
| 15 | + <condition> |
| 16 | + <not> |
| 17 | + <isset property="hadoop.version"/> |
| 18 | + </not> |
| 19 | + </condition> |
| 20 | + </fail> |
| 21 | + <fail message="Please define Hadoop Base Path via hadoop.path in your build.properties file"> |
| 22 | + <condition> |
| 23 | + <not> |
| 24 | + <isset property="hadoop.path"/> |
| 25 | + </not> |
| 26 | + </condition> |
| 27 | + </fail> |
| 28 | + |
| 29 | + <property name="src.dir" value="${basedir}/src"/> |
| 30 | + <property name="amazon.src.dir" value="${basedir}/lib/third_party/amazon"/> |
| 31 | + <property name="lib.dir" value="${basedir}/lib"/> |
| 32 | + <property name="conf.dir" value="${basedir}/conf"/> |
| 33 | + |
| 34 | + <property name="build.dir" value="${basedir}/build"/> |
| 35 | + <property name="build.classes" value="${build.dir}/classes"/> |
| 36 | + <property name="build.src" value="${build.dir}/src"/> |
| 37 | + <property name="build.webapps" value="${build.dir}/webapps"/> |
| 38 | + <property name="build.anttasks" value="${build.dir}/ant"/> |
| 39 | + |
| 40 | + <!-- convert spaces to _ so that mac os doesn't break things --> |
| 41 | + <exec executable="sed" inputstring="${os.name}" |
| 42 | + outputproperty="nonspace.os"> |
| 43 | + <arg value="s/ /_/g"/> |
| 44 | + </exec> |
| 45 | + |
| 46 | + <property name="build.platform" |
| 47 | + value="${nonspace.os}-${os.arch}-${sun.arch.data.model}"/> |
| 48 | + |
| 49 | + |
| 50 | + <property name="build.encoding" value="ISO-8859-1"/> |
| 51 | + <property name="dist.dir" value="${build.dir}/${final.name}"/> |
| 52 | + |
| 53 | + <property name="javac.debug" value="on"/> |
| 54 | + <property name="javac.optimize" value="on"/> |
| 55 | + <property name="javac.deprecation" value="off"/> |
| 56 | + <property name="javac.version" value="1.5"/> |
| 57 | + <property name="javac.args" value=""/> |
| 58 | + <property name="javac.args.warnings" value=""/> |
| 59 | + |
| 60 | + |
| 61 | + <!-- the normal classpath --> |
| 62 | + <echo message="Processing Class Path"/> |
| 63 | + <path id="classpath"> |
| 64 | + <pathelement location="${build.classes}"/> |
| 65 | + <fileset dir="${lib.dir}"> |
| 66 | + <include name="jets3t*.jar"/> |
| 67 | + </fileset> |
| 68 | + <fileset dir="${lib.dir}"> |
| 69 | + <include name="*.jar" /> |
| 70 | + <include name="**/*.jar" /> |
| 71 | + </fileset> |
| 72 | + <fileset dir="${hadoop.path}"> |
| 73 | + <include name="lib/**/*.jar"/> |
| 74 | + <include name="hadoop-*-core.jar"/> |
| 75 | + <exclude name="lib/jets3t-0.6.1.jar"/> |
| 76 | + </fileset> |
| 77 | + </path> |
| 78 | + |
| 79 | + <echo message="classpath:${classpath}" /> |
| 80 | + <!-- ====================================================== --> |
| 81 | + <!-- Stuff needed by all targets --> |
| 82 | + <!-- ====================================================== --> |
| 83 | + <echo message="Processing Init Target"/> |
| 84 | + <target name="init"> |
| 85 | + <echo message="Executing Init Target"/> |
| 86 | + |
| 87 | + <mkdir dir="${build.dir}"/> |
| 88 | + <mkdir dir="${build.classes}"/> |
| 89 | + <mkdir dir="${build.src}"/> |
| 90 | + <mkdir dir="${build.anttasks}"/> |
| 91 | + |
| 92 | + </target> |
| 93 | + |
| 94 | + <!-- ====================================================== --> |
| 95 | + <!-- Compile the Java files --> |
| 96 | + <!-- ====================================================== --> |
| 97 | + <echo message="Processing Compile Core Classes Target"/> |
| 98 | + <target name="compile-core-classes" depends="init"> |
| 99 | + |
| 100 | + <!-- Compile Amazon Java files --> |
| 101 | + <javac |
| 102 | + encoding="${build.encoding}" |
| 103 | + srcdir="${amazon.src.dir}" |
| 104 | + includes="com/amazon/**/*.java" |
| 105 | + destdir="${build.classes}" |
| 106 | + debug="${javac.debug}" |
| 107 | + optimize="${javac.optimize}" |
| 108 | + target="${javac.version}" |
| 109 | + source="${javac.version}" |
| 110 | + deprecation="${javac.deprecation}" > |
| 111 | + <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
| 112 | + <classpath refid="classpath"/> |
| 113 | + </javac> |
| 114 | + |
| 115 | + <!-- Compile Java files (excluding JSPs) checking warnings --> |
| 116 | + <javac |
| 117 | + encoding="${build.encoding}" |
| 118 | + srcdir="${src.dir};${build.src}" |
| 119 | + includes="org/commoncrawl/**/*.java" |
| 120 | + excludes="org/commoncrawl/**/OneService.java" |
| 121 | + destdir="${build.classes}" |
| 122 | + debug="${javac.debug}" |
| 123 | + optimize="${javac.optimize}" |
| 124 | + target="${javac.version}" |
| 125 | + source="${javac.version}" |
| 126 | + deprecation="${javac.deprecation}" > |
| 127 | + <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
| 128 | + <classpath refid="classpath"/> |
| 129 | + </javac> |
| 130 | + |
| 131 | + <copy todir="${build.classes}"> |
| 132 | + <fileset |
| 133 | + dir="${src.dir}" |
| 134 | + includes="**/*.properties" |
| 135 | + /> |
| 136 | + </copy> |
| 137 | + </target> |
| 138 | + |
| 139 | + <echo message="Processing Compile Core Target"/> |
| 140 | + <target name="compile-core" depends="compile-core-classes"> |
| 141 | + </target> |
| 142 | + |
| 143 | + <echo message="Processing Compile Target"/> |
| 144 | + <target name="compile" depends="compile-core,jar"> |
| 145 | + </target> |
| 146 | + |
| 147 | + <!-- ================================================================== --> |
| 148 | + <!-- Make commoncrawl.jar --> |
| 149 | + <!-- ================================================================== --> |
| 150 | + <!-- --> |
| 151 | + <!-- ================================================================== --> |
| 152 | + <echo message="Processing Jar Target"/> |
| 153 | + <target name="jar" depends="compile-core"> |
| 154 | + <jar jarfile="${build.dir}/${final.name}.jar" basedir="${build.classes}" duplicate="preserve" > |
| 155 | + |
| 156 | + <manifest> |
| 157 | + <section name="org/commoncrawl"> |
| 158 | + <attribute name="Implementation-Title" value="commoncrawl"/> |
| 159 | + <attribute name="Implementation-Version" value="${version}"/> |
| 160 | + <attribute name="Implementation-Vendor" value="CommonCrawl"/> |
| 161 | + </section> |
| 162 | + </manifest> |
| 163 | + <zipfileset dir="${conf.dir}" prefix="conf" > |
| 164 | + <include name="*" /> |
| 165 | + </zipfileset> |
| 166 | + <zipfileset dir="${lib.dir}" prefix="lib" > |
| 167 | + <include name="*.jar" /> |
| 168 | + </zipfileset> |
| 169 | + <zipfileset dir="${hadoop.path}/lib" prefix="lib" > |
| 170 | + <include name="**/*.jar" /> |
| 171 | + </zipfileset> |
| 172 | + </jar> |
| 173 | + </target> |
| 174 | + |
| 175 | + <!-- ================================================================== --> |
| 176 | + <!-- Clean. Delete the build files, and their directories --> |
| 177 | + <!-- ================================================================== --> |
| 178 | + |
| 179 | + <echo message="Processing Clean Target"/> |
| 180 | + <target name="clean"> |
| 181 | + <delete dir="${build.dir}"/> |
| 182 | + <delete> |
| 183 | + <fileset dir="${src.dir}" includes="**\/gen.stamp" /> |
| 184 | + </delete> |
| 185 | + </target> |
| 186 | + <echo message="Done Processing Targets"/> |
| 187 | +</project> |
0 commit comments