summaryrefslogtreecommitdiff
path: root/build.ant
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2014-12-16 17:14:32 +0200
committerAlon Levy <alon@pobox.com>2014-12-16 17:14:32 +0200
commitc7d026b1d504323a8c61d51b726e5e8d2337fc4b (patch)
tree75607d07c90beb8024e34afd2bab3503dcaccda4 /build.ant
parentdff765d765085fe2ee172abc606f4f8b25a39c27 (diff)
parent38078c537f642806e4849dc99c07d679f816fe23 (diff)
Merging rhizi-server into rhizi, back to a single repo
Merge remote-tracking branch 'old-server/master' into wip/map-nodes-by-id_minimize-name-use
Diffstat (limited to 'build.ant')
-rw-r--r--build.ant141
1 files changed, 141 insertions, 0 deletions
diff --git a/build.ant b/build.ant
new file mode 100644
index 00000000..4d91e0eb
--- /dev/null
+++ b/build.ant
@@ -0,0 +1,141 @@
+<!--
+ Rhizi build targets
+-->
+<project name="rhizi-server" default="pkg-deb">
+
+<macrodef name="rsync">
+ <attribute name="src" />
+ <attribute name="dst" />
+ <attribute name="extraOpts" default="" />
+ <sequential>
+ <exec dir="${basedir}" executable="/usr/bin/rsync" >
+ <arg line="-avz @{extraOpts}" />
+ <arg value="@{src}" />
+ <arg value="@{dst}" />
+
+ <!-- note: RSYNC_CONNECT_PROG has not effect when dst is local dir path -->
+ <env key="RSYNC_CONNECT_PROG"
+ value="ssh root@%H nc 127.0.0.1 873" />
+ </exec>
+ </sequential>
+</macrodef>
+
+ <property name="pkg_name" value="rhizi-server" />
+ <property name="pkg_version" value="0.1.0" />
+ <property name="buildDir" value="build/${pkg_name}-${pkg_version}" />
+ <property name="deployDirLocal"
+ value="${rzRootDir}/rhizi-server/deploy-local" />
+
+ <fail unless="rzRootDir"
+ message="'rzRootDir' arg missing - must point to root rhizi code dir" />
+
+ <tstamp>
+ <format property="versionQualifier" pattern="yyyyMMddHHmm" />
+ </tstamp>
+
+ <target name="clean" description="remove all work folders">
+ <delete dir="dist" />
+ <delete dir="build" />
+ </target>
+
+ <target name="deploy-local.clean">
+ <!-- bin/ -> link: avoid specifying followsymlinks on the following delete task -->
+ <symlink action="delete" link="deploy-local/bin" />
+ <delete verbose="true" includeemptydirs="true">
+ <fileset dir="${deployDirLocal}"
+ includes="**/*"
+ defaultexcludes="false" />
+ </delete>
+ </target>
+
+ <target name="deploy-local"
+ depends="deploy-local.clean"
+ description="locally deploy webapp">
+
+ <local name="src_client" />
+ <local name="src_server" />
+ <local name="dst" />
+
+ <property name="src_client" value="${rzRootDir}/rhizi-client" />
+ <property name="src_server" value="${rzRootDir}/rhizi-server" />
+ <property name="dst" value="${deployDirLocal}" />
+
+ <mkdir dir="${dst}/static" />
+
+ <parallel>
+ <!-- [!] trailing '/' critical -->
+ <rsync src="${src_client}/src/" dst="${dst}/static" />
+ <rsync src="${src_client}/res" dst="${dst}/static" />
+ <rsync src="${src_client}/lib" dst="${dst}/static" />
+
+ <symlink action="single"
+ overwrite="true"
+ link="${dst}/bin"
+ resource="${src_server}/src-py" />
+
+ <rsync src="${src_server}/res/etc" dst="${dst}" />
+ <rsync src="${src_server}/res/templates/" dst="${dst}/templates" />
+ </parallel>
+
+ </target>
+
+ <target name="deploy-remote" depends="deploy-local">
+
+ <local name="src_server" />
+ <local name="src_client" />
+ <local name="dstServer" />
+ <local name="module" />
+ <property name="src_client" value="${rzRootDir}/rhizi-client" />
+ <property name="src_server" value="${rzRootDir}/rhizi-server" />
+ <property name="dstServer" value="rz_0.unige.ch" />
+ <property name="module" value="rhizi.net" />
+
+ <!-- -l: traverse bin/ -> ../src-py link -->
+ <rsync src="${deployDirLocal}/"
+ extraopts="-lL"
+ dst="rsync://${dstServer}/${module}/" />
+
+ <parallel>
+ <!-- apply production patches -->
+ <rsync src="${src_server}/res/production-patch-set/rhizi-server.production.conf"
+ dst="rsync://${dstServer}/${module}/etc/rhizi-server.conf" />
+ <rsync src="${src_server}/res/production-patch-set/rz_config.js"
+ dst="rsync://${dstServer}/${module}/static/" />
+
+ </parallel>
+ </target>
+
+ <target name="deploy-remote.htpasswd.db" description="manual invocation">
+ <rsync src="${src_server}/res/production-patch-set/htpasswd.db"
+ dst="root@rz_0.unige.ch:/srv/www/rhizi/auth/" />
+ </target>
+
+ <target name="pkg-deb" depends="clean" description="package as .deb">
+ <mkdir dir="dist" />
+ <mkdir dir="${buildDir}" />
+
+ <exec dir="${basedir}" executable="/usr/bin/git">
+ <arg value="clone" />
+ <arg line="--depth 1" />
+ <arg value="file://${basedir}" />
+ <arg value="${buildDir}" />
+ </exec>
+
+ <copy todir="${buildDir}/debian">
+ <fileset dir="debian" />
+ </copy>
+
+ <exec dir="${buildDir}" executable="/usr/bin/debuild">
+ <arg value="-b" />
+ <arg value="-us" />
+ <arg value="-uc" />
+ </exec>
+ </target>
+
+ <target name="pkg-deb.list">
+ <exec dir="${buildDir}" executable="/usr/bin/dpkg">
+ <arg line="-c rhizi-server_0.1.0_amd64.deb" />
+ </exec>
+ </target>
+
+</project> \ No newline at end of file