Mercurial > repos > prog > lcmsmatching
comparison build.xml @ 6:b8f70d8216b3 draft
planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit b3a4e34cf9356447ae3507cc6fe2ff6a1f24afbc-dirty
| author | prog |
|---|---|
| date | Mon, 27 Mar 2017 06:27:29 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 5:18254e8d1b72 | 6:b8f70d8216b3 |
|---|---|
| 1 <project name="w4m.tool.lcmsmatching" default="all"> | |
| 2 | |
| 3 <dirname property="this.dir" file="${ant.file.w4m.tool.lcmsmatching}"/> | |
| 4 <property name="conda.dir" value="${user.home}/w4m-conda"/> | |
| 5 <property name="planemo.dir" value="${user.home}/.planemo"/> | |
| 6 | |
| 7 <!--~~~~~~~~~~~~~~~~~ | |
| 8 ~ PUBLIC PROPERTIES ~ | |
| 9 ~~~~~~~~~~~~~~~~~~--> | |
| 10 | |
| 11 <!-- These properties can be set when calling Ant: `ant -DPROP=value ...`. --> | |
| 12 | |
| 13 <property name="TIMESTAMP" value="true"/> | |
| 14 <property name="VERSION" value="true"/> | |
| 15 <property name="DIST.TEST" value="true"/> | |
| 16 <property name="TOOL.PREFIX" value="$__tool_directory__/"/> | |
| 17 <property name="PKG.PREFIX" value="w4m-tool-lcmsmatching"/> | |
| 18 | |
| 19 <!--~~~~~~~~~~~~~~~~~~~ | |
| 20 ~ INTERNAL PROPERTIES ~ | |
| 21 ~~~~~~~~~~~~~~~~~~~~--> | |
| 22 | |
| 23 <!-- Version --> | |
| 24 <property name="version" value="2.1.3"/> | |
| 25 <condition property="version.suffix" value="" else="-${version}"> | |
| 26 <isfalse value="${VERSION}"/> | |
| 27 </condition> | |
| 28 | |
| 29 <!-- Distribution directories --> | |
| 30 <property name="dist.dir" value="dist"/> | |
| 31 <property name="dist.code.dir" value="${dist.dir}/code"/> | |
| 32 <property name="dist.test.dir" value="${dist.dir}/test"/> | |
| 33 | |
| 34 <!-- Tool XML paths --> | |
| 35 <property name="tool.xml" value="lcmsmatching.xml"/> | |
| 36 <property name="orig.tool.xml" value="${tool.xml}"/> | |
| 37 <property name="dest.tool.xml" value="${dist.code.dir}/${tool.xml}"/> | |
| 38 | |
| 39 <!-- Time stamp --> | |
| 40 <tstamp/> | |
| 41 <property name="timestamp" value="${DSTAMP}-${TSTAMP}"/> | |
| 42 <condition property="timestamp.suffix" value="" else="-${timestamp}"> | |
| 43 <isfalse value="${TIMESTAMP}"/> | |
| 44 </condition> | |
| 45 | |
| 46 <!-- Package --> | |
| 47 <property name="pkg.ext" value="tar.gz"/> | |
| 48 <property name="pkg.name" value="${PKG.PREFIX}${version.suffix}${timestamp.suffix}"/> | |
| 49 <property name="pkg.path" value="${dist.dir}/${pkg.name}.${pkg.ext}"/> | |
| 50 | |
| 51 <!--~~~ | |
| 52 ~ ALL ~ | |
| 53 ~~~~~--> | |
| 54 | |
| 55 <target name="all"/> | |
| 56 | |
| 57 <!--~~~~ | |
| 58 ~ DIST ~ | |
| 59 ~~~~~--> | |
| 60 | |
| 61 <target name="dist" depends="dist.code,dist.tar,dist.test"/> | |
| 62 | |
| 63 <!--~~~~~~~~ | |
| 64 ~ DIST W4M ~ | |
| 65 ~~~~~~~~~--> | |
| 66 | |
| 67 <target name="dist.w4m" depends="w4m.code,dist.tar,dist.test"/> | |
| 68 | |
| 69 <!--~~~~~~~~~ | |
| 70 ~ DIST TEST ~ | |
| 71 ~~~~~~~~~~--> | |
| 72 | |
| 73 <target name="dist.test" if="${DIST.TEST}"> | |
| 74 | |
| 75 <!-- Make temp dir --> | |
| 76 <delete dir="${dist.test.dir}"/> | |
| 77 <mkdir dir="${dist.test.dir}"/> | |
| 78 | |
| 79 <!-- Extract package in temp dir --> | |
| 80 <untar src="${pkg.path}" dest="${dist.test.dir}" compression="gzip"/> | |
| 81 <chmod file="${dist.test.dir}/search-mz" perm="u+x"/> <!-- This file should be already executable, since it has been put executable inside the tar. It seems the untar task of Ant does not handle the file permissions. --> | |
| 82 | |
| 83 <!-- Run search-mz on sample input file --> | |
| 84 <exec executable="${dist.test.dir}/search-mz" failonerror="true"> | |
| 85 <arg value="-d"/> | |
| 86 <arg value="file"/> | |
| 87 <arg value="--url"/> | |
| 88 <arg value="test/filedb.tsv"/> | |
| 89 <arg value="-m"/> | |
| 90 <arg value="pos"/> | |
| 91 <arg value="-i"/> | |
| 92 <arg value="test/mzrt-input.tsv"/> | |
| 93 <arg value="-o"/> | |
| 94 <arg value="mzrt-output.tsv"/> | |
| 95 </exec> | |
| 96 | |
| 97 </target> | |
| 98 | |
| 99 <!--~~~~~~~~ | |
| 100 ~ W4M CODE ~ | |
| 101 ~~~~~~~~~--> | |
| 102 | |
| 103 <target name="w4m.code" depends="dist.code"> | |
| 104 | |
| 105 <!-- Copy and transform tool XML file. --> | |
| 106 <copy file="${orig.tool.xml}" tofile="${dest.tool.xml}"/> | |
| 107 | |
| 108 <!-- Copy python script. --> | |
| 109 <copy todir="${dist.code.dir}"> | |
| 110 <fileset dir="." includes="*.py"/> | |
| 111 </copy> | |
| 112 </target> | |
| 113 | |
| 114 <!--~~~~~~~~~ | |
| 115 ~ DIST CODE ~ | |
| 116 ~~~~~~~~~~--> | |
| 117 | |
| 118 <target name="dist.code"> | |
| 119 | |
| 120 <!-- Clean directory --> | |
| 121 <delete dir="${dist.code.dir}"/> | |
| 122 <mkdir dir="${dist.code.dir}"/> | |
| 123 | |
| 124 <!-- Copy R code --> | |
| 125 <copy todir="${dist.code.dir}"> | |
| 126 <fileset dir="." includes="search-mz,*.R"/> | |
| 127 </copy> | |
| 128 | |
| 129 </target> | |
| 130 | |
| 131 <!--~~~~~~~~ | |
| 132 ~ DIST TAR ~ | |
| 133 ~~~~~~~~~--> | |
| 134 | |
| 135 <target name="dist.tar"> | |
| 136 | |
| 137 <!-- Build tar file --> | |
| 138 <tar destfile="${pkg.path}" compression="gzip"> | |
| 139 | |
| 140 <!-- Include script with execution rights --> | |
| 141 <tarfileset dir="${dist.code.dir}" filemode="755"> | |
| 142 <include name="search-mz"/> | |
| 143 </tarfileset> | |
| 144 | |
| 145 <!-- Include remaining code and data files --> | |
| 146 <tarfileset dir="${dist.code.dir}"> | |
| 147 <include name="**"/> | |
| 148 <exclude name="search-mz"/> | |
| 149 </tarfileset> | |
| 150 </tar> | |
| 151 </target> | |
| 152 | |
| 153 <!--~~~~~ | |
| 154 ~ CLEAN ~ | |
| 155 ~~~~~~--> | |
| 156 | |
| 157 <target name="clean"> | |
| 158 <delete dir="${dist.dir}"/> | |
| 159 <delete dir="${conda.dir}"/> | |
| 160 <delete dir="${planemo.dir}"/> | |
| 161 </target> | |
| 162 | |
| 163 <!--~~~~~~~~~~~ | |
| 164 ~ GALAXY TEST ~ | |
| 165 ~~~~~~~~~~~~--> | |
| 166 | |
| 167 <target name="galaxy.test" depends="planemo.lint,planemo.test"/> | |
| 168 | |
| 169 <!--~~~~~~~~~~~~ | |
| 170 ~ PLANEMO LINT ~ | |
| 171 ~~~~~~~~~~~~~--> | |
| 172 | |
| 173 <target name="planemo.lint" depends="planemo.env"> | |
| 174 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 175 <arg value="lint"/> | |
| 176 <arg value="--no_xsd"/> | |
| 177 <arg value="${tool.xml}"/> | |
| 178 </exec> | |
| 179 </target> | |
| 180 | |
| 181 <!--~~~~~~~~~~~~ | |
| 182 ~ PLANEMO TEST ~ | |
| 183 ~~~~~~~~~~~~~--> | |
| 184 | |
| 185 <target name="planemo.test" depends="planemo.conda.install"> | |
| 186 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 187 <arg value="test"/> | |
| 188 <arg value="--conda_prefix"/> | |
| 189 <arg value="${conda.dir}"/> | |
| 190 <arg value="--galaxy_branch"/> | |
| 191 <arg value="release_16.01"/> | |
| 192 <arg value="--conda_dependency_resolution"/> | |
| 193 <arg value="${tool.xml}"/> | |
| 194 </exec> | |
| 195 </target> | |
| 196 | |
| 197 <!--~~~~~~~~~~~~~~~~~~~~~ | |
| 198 ~ PLANEMO CONDA INSTALL ~ | |
| 199 ~~~~~~~~~~~~~~~~~~~~~~--> | |
| 200 | |
| 201 <target name="planemo.conda.install" depends="planemo.conda.init,planemo.env"> | |
| 202 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 203 <arg value="conda_install"/> | |
| 204 <arg value="--conda_prefix"/> | |
| 205 <arg value="${conda.dir}"/> | |
| 206 <arg value="${tool.xml}"/> | |
| 207 </exec> | |
| 208 </target> | |
| 209 | |
| 210 <!--~~~~~~~~~~~~~~~~~~ | |
| 211 ~ PLANEMO CONDA INIT ~ | |
| 212 ~~~~~~~~~~~~~~~~~~~--> | |
| 213 | |
| 214 <target name="planemo.conda.init"> | |
| 215 <exec executable="planemo" failonerror="true"> | |
| 216 <arg value="conda_init"/> | |
| 217 <arg value="--conda_prefix"/> | |
| 218 <arg value="${conda.dir}"/> | |
| 219 </exec> | |
| 220 </target> | |
| 221 | |
| 222 <!--~~~~~~~~~~~~~~~~~ | |
| 223 ~ PLANEMO SHED LINT ~ | |
| 224 ~~~~~~~~~~~~~~~~~~--> | |
| 225 | |
| 226 <target name="planemo.shed.lint" depends="planemo.env"> | |
| 227 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 228 <arg value="shed_lint"/> | |
| 229 <arg value="--tools"/> | |
| 230 </exec> | |
| 231 </target> | |
| 232 | |
| 233 <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 234 ~ PLANEMO TEST TOOLSHED CREATE ~ | |
| 235 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> | |
| 236 | |
| 237 <target name="planemo.testtoolshed.create" depends="planemo.env"> | |
| 238 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 239 <arg value="shed_create"/> | |
| 240 <arg value="--shed_target"/> | |
| 241 <arg value="testtoolshed"/> | |
| 242 </exec> | |
| 243 </target> | |
| 244 | |
| 245 <!--~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 246 ~ PLANEMO TEST TOOLSHED DIFF ~ | |
| 247 ~~~~~~~~~~~~~~~~~~~~~~~~~~~--> | |
| 248 | |
| 249 <target name="planemo.testtoolshed.diff" depends="planemo.env"> | |
| 250 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 251 <arg value="shed_diff"/> | |
| 252 <arg value="--shed_target"/> | |
| 253 <arg value="testtoolshed"/> | |
| 254 </exec> | |
| 255 </target> | |
| 256 | |
| 257 <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 258 ~ PLANEMO TEST TOOLSHED UPDATE ~ | |
| 259 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> | |
| 260 | |
| 261 <target name="planemo.testtoolshed.update" depends="planemo.env"> | |
| 262 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 263 <arg value="shed_update"/> | |
| 264 <arg value="--check_diff"/> | |
| 265 <arg value="--shed_target"/> | |
| 266 <arg value="testtoolshed"/> | |
| 267 </exec> | |
| 268 </target> | |
| 269 | |
| 270 <!--~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 271 ~ PLANEMO TEST TOOLSHED TEST ~ | |
| 272 ~~~~~~~~~~~~~~~~~~~~~~~~~~~--> | |
| 273 | |
| 274 <target name="planemo.testtoolshed.test" depends="planemo.env"> | |
| 275 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 276 <arg value="shed_test"/> | |
| 277 <arg value="--shed_target"/> | |
| 278 <arg value="testtoolshed"/> | |
| 279 <arg value="--install_galaxy"/> | |
| 280 <arg value="--galaxy_branch"/> | |
| 281 <arg value="release_16.01"/> | |
| 282 </exec> | |
| 283 </target> | |
| 284 | |
| 285 <!--~~~~~~~~~~~~~~~~~~~~~~~ | |
| 286 ~ PLANEMO TOOLSHED CREATE ~ | |
| 287 ~~~~~~~~~~~~~~~~~~~~~~~~--> | |
| 288 | |
| 289 <target name="planemo.toolshed.create" depends="planemo.env"> | |
| 290 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 291 <arg value="shed_create"/> | |
| 292 <arg value="--shed_target"/> | |
| 293 <arg value="toolshed"/> | |
| 294 </exec> | |
| 295 </target> | |
| 296 | |
| 297 <!--~~~~~~~~~~~~~~~~~~~~~ | |
| 298 ~ PLANEMO TOOLSHED DIFF ~ | |
| 299 ~~~~~~~~~~~~~~~~~~~~~~--> | |
| 300 | |
| 301 <target name="planemo.toolshed.diff" depends="planemo.env"> | |
| 302 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 303 <arg value="shed_diff"/> | |
| 304 <arg value="--shed_target"/> | |
| 305 <arg value="toolshed"/> | |
| 306 </exec> | |
| 307 </target> | |
| 308 | |
| 309 <!--~~~~~~~~~~~~~~~~~~~~~~~ | |
| 310 ~ PLANEMO TOOLSHED UPDATE ~ | |
| 311 ~~~~~~~~~~~~~~~~~~~~~~~~--> | |
| 312 | |
| 313 <target name="planemo.toolshed.update" depends="planemo.env"> | |
| 314 <exec executable="planemo" dir="${dist.code.dir}" failonerror="true"> | |
| 315 <arg value="shed_update"/> | |
| 316 <arg value="--check_diff"/> | |
| 317 <arg value="--shed_target"/> | |
| 318 <arg value="toolshed"/> | |
| 319 </exec> | |
| 320 </target> | |
| 321 | |
| 322 <!--~~~~~~~~~~~ | |
| 323 ~ PLANEMO ENV ~ | |
| 324 ~~~~~~~~~~~~--> | |
| 325 | |
| 326 <target name="planemo.env" depends="w4m.code"> | |
| 327 <chmod file="${dist.code.dir}/search-mz" perm="u+x"/> | |
| 328 <ant dir="test" target="input.files"/> | |
| 329 <mkdir dir="${dist.code.dir}/test-data"/> | |
| 330 <copy todir="${dist.code.dir}/test-data"> | |
| 331 <fileset dir="test" includes="filedb.tsv"/> | |
| 332 <fileset dir="test" includes="mz-input-small.tsv"/> | |
| 333 <fileset dir="test/res" includes="filedb-small-mz-match-*"/> | |
| 334 </copy> | |
| 335 <copy file="shed.yml" tofile="${dist.code.dir}/.shed.yml"/> | |
| 336 </target> | |
| 337 | |
| 338 <!--************************************************ | |
| 339 ******************** DEPRECATED ******************** | |
| 340 *************************************************--> | |
| 341 | |
| 342 <!--~~~~~~~~~~~~~ | |
| 343 ~ UPDATE W4M VM ~ | |
| 344 ~~~~~~~~~~~~~~--> | |
| 345 | |
| 346 <!-- This task is used when developping, for updating quickly the tool inside the local W4M virtual machine. --> | |
| 347 <target name="update.w4m.vm" depends="clean,dist"> | |
| 348 | |
| 349 <property name="w4m.login" value="galaxy@w4m"/> | |
| 350 <property name="tool.path" value="galaxy-pfem/tools/metabolomics/annotation/lcmsmatching"/> | |
| 351 | |
| 352 <!-- Stop Galaxy --> | |
| 353 <exec executable="ssh" failonerror="true"> | |
| 354 <arg value="${w4m.login}"/> | |
| 355 <arg value="/sbin/service galaxy stop"/> | |
| 356 </exec> | |
| 357 | |
| 358 <!-- Remove current tool version --> | |
| 359 <exec executable="ssh" failonerror="true"> | |
| 360 <arg value="${w4m.login}"/> | |
| 361 <arg value="rm -rf ${tool.path}"/> | |
| 362 </exec> | |
| 363 | |
| 364 <!-- Remove old packages on W4M instance --> | |
| 365 <exec executable="ssh" failonerror="true"> | |
| 366 <arg value="${w4m.login}"/> | |
| 367 <arg value="rm -f ${PKG.PREFIX}-*.${pkg.ext}"/> | |
| 368 </exec> | |
| 369 | |
| 370 <!-- Copy new package on W4M instance --> | |
| 371 <exec executable="scp" failonerror="true"> | |
| 372 <arg value="${dist.dir}/${pkg.name}.${pkg.ext}"/> | |
| 373 <arg value="${w4m.login}:."/> | |
| 374 </exec> | |
| 375 | |
| 376 <!-- Make tool directory --> | |
| 377 <exec executable="ssh" failonerror="true"> | |
| 378 <arg value="${w4m.login}"/> | |
| 379 <arg value="mkdir -p ${tool.path}"/> | |
| 380 </exec> | |
| 381 | |
| 382 <!-- Install new tool version --> | |
| 383 <exec executable="ssh" failonerror="true"> | |
| 384 <arg value="${w4m.login}"/> | |
| 385 <arg value="tar -xzf ${pkg.name}.${pkg.ext} -C ${tool.path}"/> | |
| 386 </exec> | |
| 387 | |
| 388 <!-- Restart Galaxy --> | |
| 389 <exec executable="ssh" failonerror="true"> | |
| 390 <arg value="${w4m.login}"/> | |
| 391 <arg value="/sbin/service galaxy start"/> | |
| 392 </exec> | |
| 393 | |
| 394 </target> | |
| 395 | |
| 396 </project> |
