| <!-- vim: set expandtab ts=4 sw=4 : --> |
| |
| <!-- targets in this file should be called from the parent directory --> |
| <project basedir="../.."> |
| <import file="../../config/config.xml" /> |
| |
| <!-- build the CLI python package for distribution --> |
| <target name="buildCLI"> |
| |
| <var file="whisk.properties" /> |
| |
| <!-- generate default.props in source directory. |
| someday this should be nuked - legacy of old process --> |
| <exec executable="/bin/bash" failonerror="true" output="${openwhisk.home}/tools/cli/default.props"> |
| <arg line="${openwhisk.home}/tools/cli/generateDefaultProps.sh" /> |
| <arg line="${basedir}" /> |
| </exec> |
| |
| <!-- copy files needed to build image to a scratch space --> |
| <mkdir dir="${cli.build.dir}" /> |
| <!-- make a nested build dir to match gradle --> |
| <mkdir dir="${cli.build.dir}/build/tmp" /> |
| <copy todir="${cli.build.dir}"> |
| <fileset dir="${openwhisk.home}/tools/cli"> |
| <include name="Dockerfile" /> |
| </fileset> |
| </copy> |
| <copy todir="${cli.build.dir}/build/tmp"> |
| <fileset dir="${openwhisk.home}/tools/cli/packagescripts" /> |
| </copy> |
| <copy todir="${cli.build.dir}/build/tmp/openwhisk"> |
| <fileset dir="${openwhisk.home}/tools/cli"> |
| <include name="wsk" /> |
| <include name="*.py" /> |
| </fileset> |
| </copy> |
| |
| <!-- generate default.props --> |
| <exec executable="/bin/bash" failonerror="true" output="${cli.build.dir}/build/tmp/openwhisk/default.props"> |
| <arg line="${openwhisk.home}/tools/cli/generateDefaultProps.sh" /> |
| <arg line="${basedir}" /> |
| </exec> |
| |
| <!-- Python packaging expects .py extensions. --> |
| <move file="${cli.build.dir}/build/tmp/openwhisk/wsk" tofile="${cli.build.dir}/build/tmp/openwhisk/wsk.py" /> |
| <!-- Need this file in the right place so it looks like a Pyton package. --> |
| <move file="${cli.build.dir}/build/tmp/__init__.py" todir="${cli.build.dir}/build/tmp/openwhisk" /> |
| <!-- build package for distribution --> |
| <exec executable="/bin/bash" failonerror="true"> |
| <arg line="${openwhisk.home}/tools/docker/dockerWithRetry.sh ${docker.timeout.long}" /> |
| <arg line="build -t whisk/cli '${cli.build.dir}'" /> |
| </exec> |
| <exec executable="docker" failonerror="false" output="/dev/null" error="/dev/null"> |
| <arg line="${docker.tls.cmd}" /> |
| <arg line="rm -f cli" /> |
| </exec> |
| <exec executable="docker" failonerror="true"> |
| <arg line="${docker.tls.cmd}" /> |
| <arg line="run -d --name cli whisk/cli" /> |
| </exec> |
| <exec executable="docker" failonerror="true"> |
| <arg line="${docker.tls.cmd}" /> |
| <arg line="cp cli:/cli/dist '${cli.build.dir}'" /> |
| </exec> |
| <exec executable="docker" failonerror="false"> |
| <arg line="${docker.tls.cmd}" /> |
| <arg line="rm -f cli" /> |
| </exec> |
| </target> |
| |
| </project> |