|
20 | 20 | <!-- directories -->
|
21 | 21 | <property name="src.dir" value="${basedir}/src" />
|
22 | 22 | <property name="java.dir" value="${src.dir}/java" />
|
| 23 | + <property name="plugin.java.dir" value="${basedir}/plugin/java" /> |
23 | 24 | <property name="test.dir" value="${basedir}/test" />
|
24 | 25 | <property name="unittestsrc.dir" value="${test.dir}/unit" />
|
25 | 26 | <property name="pigtestsrc.dir" value="${test.dir}/pig" />
|
26 | 27 | <property name="dist.dir" value="${basedir}/dist" />
|
27 | 28 | <property name="tools.dir" value="${basedir}/tools" />
|
28 | 29 | <property name="lib.dir" value="${basedir}/lib" />
|
| 30 | + <property name="static.lib.dir" value="${basedir}/staticlibs" /> |
29 | 31 | <property name="classes.dir" value="${dist.dir}/classes" />
|
| 32 | + <property name="plugin.classes.dir" value="${dist.dir}/pluginclasses" /> |
30 | 33 | <property name="report.dir" value="${basedir}/report" />
|
31 | 34 | <property name="report.unit.dir" value="${report.dir}/unit" />
|
32 | 35 | <property name="report.pig.dir" value="${report.dir}/pig" />
|
|
59 | 62 | <property name="maven.jar" location="${ivy.jar.dir}/maven-ant-tasks-${maven.jar.version}.jar"/>
|
60 | 63 |
|
61 | 64 | <loadproperties srcfile="${ivy.jar.dir}/libraries.properties"/>
|
| 65 | + |
| 66 | + <basename property="basedirname" file="${basedir}"/> |
62 | 67 |
|
63 | 68 | <target name="all" depends="clean, jar, sources-jar, javadoc-jar, coverage" description="Build all artifacts." />
|
64 | 69 |
|
65 | 70 | <target name="init" depends="ivy-resolve">
|
66 | 71 | <mkdir dir="${dist.dir}" />
|
67 | 72 | </target>
|
| 73 | + |
| 74 | + <target name="eclipse" depends="jar,jar-plugin"> |
| 75 | + <delete file="${basedir}/.factorypath"/> |
| 76 | + <copy file="${basedir}/.factorypath.template" |
| 77 | + tofile="${basedir}/.factorypath"> |
| 78 | + <filterchain> |
| 79 | + <replacetokens> |
| 80 | + <token key="HOME" value="/${basedirname}"/> |
| 81 | + </replacetokens> |
| 82 | + </filterchain> |
| 83 | + </copy> |
| 84 | + <echo message="Created .factorypath"/> |
| 85 | + <delete file="${basedir}/.classpath"/> |
| 86 | + <copy file="${basedir}/.classpath.template" |
| 87 | + tofile="${basedir}/.classpath"> |
| 88 | + <filterchain> |
| 89 | + <replacetokens> |
| 90 | + <token key="PROJECT" value="${basedirname}"/> |
| 91 | + </replacetokens> |
| 92 | + </filterchain> |
| 93 | + </copy> |
| 94 | + <echo message="Created .classpath"/> |
| 95 | + </target> |
68 | 96 |
|
69 | 97 | <target name="maven-ant-tasks-jar-download" description="Download maven tasks jar">
|
70 | 98 | <mkdir dir="${ivy.jar.dir}"/>
|
|
119 | 147 |
|
120 | 148 | <taskdef classpathref="cobertura.classpath" resource="tasks.properties" />
|
121 | 149 |
|
| 150 | + <path id="plugin-classpath"> |
| 151 | + <fileset dir="${static.lib.dir}"> |
| 152 | + <include name="*.jar" /> |
| 153 | + </fileset> |
| 154 | + </path> |
| 155 | + |
122 | 156 | <path id="base-test-classpath">
|
123 | 157 | <fileset dir="${lib.dir}">
|
124 | 158 | <include name="*.jar" />
|
125 | 159 | </fileset>
|
126 |
| - <fileset dir="${basedir}/otherlibs"> |
| 160 | + <fileset dir="${static.lib.dir}"> |
127 | 161 | <include name="*.jar" />
|
128 | 162 | </fileset>
|
129 | 163 | <pathelement path="${classes.dir}" />
|
|
137 | 171 | <fileset dir="${dist.dir}">
|
138 | 172 | <include name="*.jar" />
|
139 | 173 | </fileset>
|
| 174 | + <pathelement path="${plugin.classes.dir}" /> |
140 | 175 | </path>
|
141 | 176 |
|
142 | 177 | <path id="instrumented-test-classpath">
|
|
157 | 192 | </macrodef>
|
158 | 193 |
|
159 | 194 | <target name="clean" description="Delete generated files.">
|
| 195 | + <delete dir="${basedir}/build" /> |
160 | 196 | <delete dir="${lib.dir}" />
|
161 | 197 | <delete dir="${dist.dir}" />
|
162 | 198 | <delete dir="${docs.dir}" />
|
|
175 | 211 | <classpath refid="main-classpath" />
|
176 | 212 | </javac>
|
177 | 213 | </target>
|
| 214 | + |
| 215 | + <target name="build-plugins" depends="init" description="Compile main source tree java files"> |
| 216 | + <replace-dir dir="${plugin.classes.dir}" /> |
| 217 | + <javac destdir="${plugin.classes.dir}" target="1.5" debug="true" deprecation="false" failonerror="true" includeantruntime="false"> |
| 218 | + <src path="${plugin.java.dir}" /> |
| 219 | + <classpath refid="plugin-classpath" /> |
| 220 | + </javac> |
| 221 | + </target> |
| 222 | + |
| 223 | + <target name="jar-plugin" depends="build-plugins" description="Builds the plugin JAR"> |
| 224 | + <delete file="${basedir}/annotation-plugin.jar" /> |
| 225 | + <jar destfile="${basedir}/annotation-plugin.jar"> |
| 226 | + <fileset dir="${plugin.classes.dir}"> |
| 227 | + <include name="**/*.*" /> |
| 228 | + </fileset> |
| 229 | + <service type="javax.annotation.processing.Processor" provider="org.adrianwalker.multilinestring.MultilineProcessor"/> |
| 230 | + </jar> |
| 231 | + </target> |
178 | 232 |
|
179 | 233 | <target name="build-unit-tests" depends="build" description="Compile unit test classes">
|
180 | 234 | <replace-dir dir="${unittestclasses.dir}" />
|
|
184 | 238 | </javac>
|
185 | 239 | </target>
|
186 | 240 |
|
187 |
| - <target name="build-pig-tests" depends="build, build-unit-tests" description="Compile pig test classes"> |
| 241 | + <target name="build-pig-tests" depends="build,build-unit-tests,build-plugins" description="Compile pig test classes"> |
188 | 242 | <replace-dir dir="${pigtestclasses.dir}" />
|
189 | 243 | <copy todir="${pigtestclasses.dir}">
|
190 | 244 | <fileset dir="${pigtestsrc.dir}">
|
|
193 | 247 | </copy>
|
194 | 248 | <javac destdir="${pigtestclasses.dir}" target="1.5" debug="true" deprecation="false" failonerror="true" includeantruntime="false">
|
195 | 249 | <src path="${pigtestsrc.dir}" />
|
| 250 | + <compilerarg line="-processor org.adrianwalker.multilinestring.MultilineProcessor"/> |
196 | 251 | <classpath refid="test-classpath" />
|
197 | 252 | </javac>
|
198 | 253 | </target>
|
|
0 commit comments