diff options
| author | Alon Levy <alon@pobox.com> | 2014-12-16 17:14:32 +0200 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2014-12-16 17:14:32 +0200 |
| commit | c7d026b1d504323a8c61d51b726e5e8d2337fc4b (patch) | |
| tree | 75607d07c90beb8024e34afd2bab3503dcaccda4 /build.ant | |
| parent | dff765d765085fe2ee172abc606f4f8b25a39c27 (diff) | |
| parent | 38078c537f642806e4849dc99c07d679f816fe23 (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.ant | 141 |
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 |
