| | |
| | | <!-- Define default values for mandatory properties in case the |
| | | property files would not be found |
| | | --> |
| | | |
| | | <condition property="script.ext" value=".bat"> |
| | | <os family="windows"/> |
| | | </condition> |
| | | <condition property="script.ext" value=""> |
| | | <not> |
| | | <isset property="script.ext"/> |
| | | </not> |
| | | </condition> |
| | | <!-- Usage section - top --> |
| | | <target name="usage"> |
| | | <echo>Installer usage: |
| | | status : reports if product is installed and/or running |
| | |
| | | uninstall : uninstall the product if it is installed |
| | | </echo> |
| | | </target> |
| | | <!-- Usage section - bottom --> |
| | | |
| | | <!-- Installation --> |
| | | <target name="install.do" |
| | | description="deploy the product bits" |
| | | unless="product.installed" > |
| | | <echo message="Installing ${product.name} ${product.version}..." /> |
| | | <property name="config.file" |
| | | location="${full.install.dir}/config/config.ldif"/> |
| | | <mkdir dir="${install.dir}"/> |
| | | <unzip dest="${install.dir}"> |
| | | <fileset dir="${project.home}/build/package"> |
| | | <include name="*.zip"/> |
| | | </fileset> |
| | | </unzip> |
| | | <chmod perm="755"> |
| | | <fileset dir="${full.install.dir}/bin"> |
| | | <exclude name="*.bat"/> |
| | | </fileset> |
| | | </chmod> |
| | | </target> |
| | | |
| | | <target name="install" > |
| | | <available file="${full.install.dir}" |
| | | type="dir" |
| | | property="product.installed" /> |
| | | <antcall target="install.do" /> |
| | | </target> |
| | | <!-- Installation section - top --> |
| | | <target name="install-do" |
| | | description="deploy the product bits" |
| | | unless="product.installed" > |
| | | <echo message="Installing ${product.name} ${product.version}..." /> |
| | | <property name="config.file" |
| | | location="${full.install.dir}/config/config.ldif"/> |
| | | <mkdir dir="${install.dir}"/> |
| | | <unzip dest="${install.dir}"> |
| | | <fileset dir="${project.home}/build/package"> |
| | | <include name="*.zip"/> |
| | | </fileset> |
| | | </unzip> |
| | | <chmod perm="755"> |
| | | <fileset dir="${full.install.dir}/bin"> |
| | | <exclude name="*.bat"/> |
| | | </fileset> |
| | | </chmod> |
| | | </target> |
| | | |
| | | <target name="install" depends="status-do,install-do"/> |
| | | <!-- end of install related targets --> |
| | | |
| | | <!-- Uninstallation --> |
| | | <target name="uninstall.do" |
| | | description="Uninstall the product" |
| | | if="product.installed" > |
| | | <echo message="Uninstalling ${product.name} ${product.version}..." /> |
| | | <delete dir="${install.dir}" /> |
| | | </target> |
| | | <target name="uninstall"> |
| | | <available file="${full.install.dir}" |
| | | type="dir" |
| | | property="product.installed" /> |
| | | <antcall target="uninstall.do" /> |
| | | </target> |
| | | <!-- end of uninstall related targets --> |
| | | <!-- Uninstallation section - top --> |
| | | <target name="uninstall-do" |
| | | description="Uninstall the product" |
| | | if="product.installed"> |
| | | <echo message="Uninstalling ${product.name} ${product.version}..." /> |
| | | <delete dir="${install.dir}" /> |
| | | </target> |
| | | <target name="uninstall" depends="status-do,stop-do,uninstall-do"/> |
| | | <!-- Uninstallation section - bottom --> |
| | | |
| | | <!-- configuration --> |
| | | <!-- Configuration secton - top --> |
| | | <target name="configure-do" |
| | | description="configures product to listen on the right port number" |
| | | if="product.installed" > |
| | | <echo message="basedir=[${basedir}]" /> |
| | | <echo message="configuring ${product.name} ${product.version}..." /> |
| | | <java fork="true" classname="org.opends.server.tools.ConfigureDS"> |
| | | <!-- building the classpath to run the configurator --> |
| | | <classpath> |
| | | <fileset dir="${full.install.dir}/lib"> |
| | | <include name="*.jar"/> |
| | | </fileset> |
| | | </classpath> |
| | | |
| | | <!-- provide the arguments here --> |
| | | <jvmarg value="-Dorg.opends.server.scriptName=configure-ds"/> |
| | | <arg value="--configClass"/> |
| | | <arg value="org.opends.server.extensions.ConfigFileHandler"/> |
| | | <arg value="--configFile"/> |
| | | <arg value="${full.install.dir}/config/config.ldif"/> |
| | | <arg line="-p ${port.ldap}"/> |
| | | <arg value="-D"/> |
| | | <arg value="${bind.dn}"/> |
| | | <arg value="-w"/> |
| | | <arg value="${bind.pwd}"/> |
| | | </java> |
| | | </target> |
| | | |
| | | <target name="configure" depends="status-do,configure-do"/> |
| | | <!-- Configuration section - bottom --> |
| | | |
| | | <!-- Start section - top --> |
| | | <target name="start-do" |
| | | description="start the product" |
| | | if="product.installed" |
| | | unless="product.running" > |
| | | <echo message="Starting ${product.name} ${product.version}... on ${os.name}" /> |
| | | <exec |
| | | executable="${full.install.dir}${file.separator}bin${file.separator}start-ds${script.ext}" |
| | | spawn="true"/> |
| | | </target> |
| | | <target name="start" depends="status-do,start-do"/> |
| | | <!-- Start section - bottom --> |
| | | |
| | | |
| | | <target name="configure.do" |
| | | description="configures product to listen on the right port number" |
| | | if="product.installed" > |
| | | <echo message="basedir=[${basedir}]" /> |
| | | <echo message="configuring ${product.name} ${product.version}..." /> |
| | | <java fork="true" classname="org.opends.server.tools.ConfigureDS"> |
| | | <!-- building the classpath to run the configurator --> |
| | | <classpath> |
| | | <fileset dir="${full.install.dir}/lib"> |
| | | <include name="*.jar"/> |
| | | </fileset> |
| | | </classpath> |
| | | <!-- Stop section - top --> |
| | | <target name="stop.force" |
| | | description="stop the server"> |
| | | <echo message="Stopping ${product.name} ${product.version}..." /> |
| | | <exec |
| | | executable="${full.install.dir}${file.separator}bin${file.separator}stop-ds${script.ext}" |
| | | spawn="true"> |
| | | <arg line="-h ${host.name}"/> |
| | | <arg line="-p ${port.ldap}"/> |
| | | <arg line="-w ${bind.pwd}" /> |
| | | <arg value="-D" /> |
| | | <arg value="${bind.dn}" /> |
| | | </exec> |
| | | </target> |
| | | |
| | | <target name="stop-do" if="product.running"> |
| | | <antcall target="stop.force" /> |
| | | </target> |
| | | |
| | | <target name="stop" depends="status-do,stop-do"/> |
| | | |
| | | <target name="sleep" if="product.running"> |
| | | <echo message="Give the server some time to shut down and release locks..." /> |
| | | <sleep seconds="10" /> |
| | | </target> |
| | | <target name="stop.sleep" depends="stop,sleep"/> |
| | | <!-- Stop section - bottom --> |
| | | |
| | | <!-- Status section - top --> |
| | | <target name="status-do" description="gather status"> |
| | | <available file="${full.install.dir}" |
| | | type="dir" |
| | | property="product.installed" /> |
| | | <condition property="product.running"> |
| | | <socket port="${port.ldap}" server="${host.name}"/> |
| | | </condition> |
| | | </target> |
| | | <target name="is-product-running?" if="product.running"> |
| | | <echo message="${product.name} is listening on port [${port.ldap}]"/> |
| | | </target> |
| | | <target name="is-product-not-running?" unless="product.running"> |
| | | <echo message="${product.name} is NOT running"/> |
| | | </target> |
| | | <target name="is-product-installed?" if="product.installed"> |
| | | <echo message="Found ${product.name} installed in [${full.install.dir}]" /> |
| | | <antcall target="is-product-running?"/> |
| | | <antcall target="is-product-not-running?"/> |
| | | </target> |
| | | <target name="is-product-not-installed?" unless="product.installed"> |
| | | <echo message="Could not find ${product.name} installation." /> |
| | | </target> |
| | | <!-- end of installation status --> |
| | | |
| | | <!-- provide the arguments here --> |
| | | <jvmarg value="-Dorg.opends.server.scriptName=configure-ds"/> |
| | | <arg value="--configClass"/> |
| | | <arg value="org.opends.server.extensions.ConfigFileHandler"/> |
| | | <arg value="--configFile"/> |
| | | <arg value="${full.install.dir}/config/config.ldif"/> |
| | | <arg line="-p ${port.ldap}"/> |
| | | <arg value="-D"/> |
| | | <arg value="${bind.dn}"/> |
| | | <arg value="-w"/> |
| | | <arg value="${bind.pwd}"/> |
| | | </java> |
| | | </target> |
| | | |
| | | <target name="configure"> |
| | | <available file="${full.install.dir}" |
| | | type="dir" |
| | | property="product.installed" /> |
| | | <antcall target="configure.do" /> |
| | | </target> |
| | | <!-- end of config related targets --> |
| | | |
| | | <!-- start --> |
| | | <target name="start.do" |
| | | description="start the product" |
| | | if="product.installed" |
| | | unless="product.running" > |
| | | <echo message="Starting ${product.name} ${product.version}... on ${os.name}" /> |
| | | <exec |
| | | os="${windows.list}" |
| | | executable="${full.install.dir}\bin\start-ds.bat" |
| | | spawn="true" /> |
| | | <exec |
| | | os="${unix.list}" |
| | | executable="${full.install.dir}/bin/start-ds" |
| | | spawn="true" /> |
| | | </target> |
| | | <target name="start"> |
| | | <available file="${full.install.dir}" |
| | | type="dir" |
| | | property="product.installed" /> |
| | | <condition property="product.running"> |
| | | <socket port="${port.ldap}" server="${host.name}"/> |
| | | </condition> |
| | | <antcall target="start.do" /> |
| | | </target> |
| | | <!-- end of start related targets --> |
| | | |
| | | <!-- stop --> |
| | | <target name="stop.force" |
| | | description="stop the server"> |
| | | <echo message="Stopping ${product.name} ${product.version}..." /> |
| | | <exec |
| | | os="${windows.list}" |
| | | executable="${full.install.dir}\bin\stop-ds.bat" |
| | | spawn="true"> |
| | | <arg line="-h ${host.name}"/> |
| | | <arg line="-p ${port.ldap}"/> |
| | | <arg line="-w ${bind.pwd}" /> |
| | | <arg value="-D" /> |
| | | <arg value="${bind.dn}" /> |
| | | </exec> |
| | | <exec |
| | | os="${unix.list}" |
| | | executable="${full.install.dir}/bin/stop-ds" |
| | | spawn="true" > |
| | | <arg line="-h ${host.name}"/> |
| | | <arg line="-p ${port.ldap}"/> |
| | | <arg line="-w ${bind.pwd}" /> |
| | | <arg value="-D" /> |
| | | <arg value="${bind.dn}" /> |
| | | </exec> |
| | | </target> |
| | | <target name="stop.do" if="product.running"> |
| | | <antcall target="stop.force" /> |
| | | </target> |
| | | <target name="stop" > |
| | | <condition property="product.running"> |
| | | <socket port="${port.ldap}" server="${host.name}"/> |
| | | </condition> |
| | | <antcall target="stop.do" /> |
| | | </target> |
| | | |
| | | <target name="sleep" if="product.running"> |
| | | <echo message="Give the server some time to shut down and release locks..." /> |
| | | <sleep seconds="10" /> |
| | | </target> |
| | | <target name="stop.sleep" > |
| | | <condition property="product.running"> |
| | | <socket port="${port.ldap}" server="${host.name}"/> |
| | | </condition> |
| | | <antcall target="stop.do" /> |
| | | <antcall target="sleep" /> |
| | | </target> |
| | | |
| | | <!-- end of stop related targets --> |
| | | |
| | | <!-- status --> |
| | | <!-- Installation status --> |
| | | <target name="is-product-installed?" if="product.installed"> |
| | | <echo message="Found ${product.name} installed in [${full.install.dir}]" /> |
| | | </target> |
| | | <target name="is-product-not-installed?" unless="product.installed"> |
| | | <echo message="Could not find ${product.name} installation." /> |
| | | </target> |
| | | <!-- end of installation status --> |
| | | |
| | | <!-- Running status --> |
| | | <target name="is-product-running?" if="product.running"> |
| | | <echo message="${product.name} is listening on port [${port.ldap}]"/> |
| | | </target> |
| | | <target name="is-product-not-running?" unless="product.running"> |
| | | <echo message="${product.name} is NOT running"/> |
| | | </target> |
| | | <!-- end of running status --> |
| | | <target name="status"> |
| | | <available file="${full.install.dir}" |
| | | type="dir" |
| | | property="product.installed" /> |
| | | <condition property="product.running"> |
| | | <socket port="${port.ldap}" server="${host.name}"/> |
| | | </condition> |
| | | <antcall target="is-product-installed?" /> |
| | | <antcall target="is-product-not-installed?" /> |
| | | <antcall target="is-product-running?" /> |
| | | <antcall target="is-product-not-running?" /> |
| | | </target> |
| | | <!-- end of status related tasks --> |
| | | <!-- Running status --> |
| | | <target name="status" depends="status-do,is-product-installed?,is-product-not-installed?"/> |
| | | <!-- Status section - bottom --> |
| | | |
| | | <!-- macros - chained operations --> |
| | | <target name="bootstrap"> |
| | | <echo message="Bootstrap: wipe the plate clean in case there is a previous install"/> |
| | | <antcall target="wipeout" /> |
| | | <echo message="Bootstrap: install the product" /> |
| | | <antcall target="install" /> |
| | | <antcall target="configure" /> |
| | | <antcall target="start" /> |
| | | </target> |
| | | |
| | | <target name="wipeout"> |
| | | <echo message="Wipeout: removing product" /> |
| | | <antcall target="stop.sleep" /> |
| | | <antcall target="uninstall" /> |
| | | </target> |
| | | <target name="bootstrap"> |
| | | <echo message="Bootstrap: wipe the plate clean in case there is a previous install"/> |
| | | <antcall target="wipeout" /> |
| | | |
| | | <echo message="Bootstrap: install the product" /> |
| | | <antcall target="install" /> |
| | | <antcall target="configure" /> |
| | | <antcall target="start" /> |
| | | </target> |
| | | |
| | | <target name="wipeout" if="product.installed" depends="status-do"> |
| | | <echo message="Wipeout: removing product" /> |
| | | <antcall target="stop.sleep" /> |
| | | <antcall target="uninstall" /> |
| | | </target> |
| | | <!-- end of macros related targets--> |
| | | </project> |