| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| 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. |
| --> |
| |
| |
| <project name="Marvin TestClient" default="help" basedir="."> |
| <description> |
| This build file contains simple targets that |
| - build |
| - package |
| - distribute |
| the Marvin test client written in python |
| </description> |
| |
| <dirname property="base.dir" file="${ant.file.Cloud Stack}/.." /> |
| <property name="build.dir" location="${base.dir}/build" /> |
| |
| <import file="${build.dir}/build-cloud.xml" optional="false" /> |
| <import file="${build.dir}/developer.xml" optional="false" /> |
| |
| <!-- directories for the test client code compilation--> |
| <property name="dist.dir" location="${base.dir}/dist" /> |
| <property name="marvin.dir" location="${base.dir}/tools/marvin" /> |
| <property name="marvin.dist.dir" location="${base.dir}/tools/marvin/dist" /> |
| <property name="marvin.src.dir" location="${base.dir}/tools/marvin/marvin" /> |
| |
| <target name="build-marvin" depends="build-apidocs" description="generates the cloudstackAPIs for marvin"> |
| <echo message="Generating Marvin API Classes"/> |
| <exec dir="${marvin.src.dir}" executable="python" failonerror="true"> |
| <arg value="codegenerator.py" /> |
| <arg value="-s" /> |
| <arg value="${dist.dir}/commands.xml" /> |
| </exec> |
| <echo message="API classes @ ${marvin.src.dir}/cloudstackAPI"/> |
| </target> |
| |
| <target name="package-marvin" depends="build-marvin" description="create a distributable tarball of Marvin"> |
| <echo message="Packaging Marvin"/> |
| <exec dir="${marvin.dir}" executable="python" failonerror="true"> |
| <arg value="setup.py" /> |
| <arg value="sdist" /> |
| </exec> |
| <echo message="distributable tarball at: ${marvin.dist.dir}/Marvin-*.tar.gz"/> |
| </target> |
| |
| <target name="install-marvin" depends="package-marvin" description="installs marvin on the local machine"> |
| <echo message="Uninstalling Marvin" /> |
| <exec dir="${marvin.dist.dir}" executable="pip"> |
| <arg line="uninstall -y marvin"/> |
| </exec> |
| <echo message="Installing Marvin" /> |
| <exec dir="${marvin.dist.dir}" executable="pip"> |
| <arg value="install" /> |
| <arg value="Marvin-0.1.0.tar.gz" /> |
| </exec> |
| </target> |
| </project> |