installer.xml revision 2420eabf0f75362f307f6e94df8b48495e77907f
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe<!--
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! CDDL HEADER START
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe !
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! The contents of this file are subject to the terms of the
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! Common Development and Distribution License, Version 1.0 only
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! (the "License"). You may not use this file except in compliance
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! with the License.
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe !
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! You can obtain a copy of the license at
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! See the License for the specific language governing permissions
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! and limitations under the License.
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe !
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! When distributing Covered Code, include this CDDL HEADER in each
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! file and include the License file at
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! add the following below this CDDL HEADER, with the fields enclosed
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! by brackets "[]" replaced with your own identifying * information:
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! Portions Copyright [yyyy] [name of copyright owner]
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe !
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! CDDL HEADER END
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe !
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe !
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! Portions Copyright 2006 Sun Microsystems, Inc.
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe ! -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe<project name="opends-tests-installer" basedir="." default="usage">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <description>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe Installer ant file for the server
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe This allows tests that need a running instance of the product to easily
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe get one.
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </description>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- this one has to be loaded first since it's used in
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe default.installer.properties
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <property file="product.properties" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- this is an optional file if you want to pass custom values -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <property file="installer.properties" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- this is the file where the default values are defined -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <property file="default.installer.properties" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- Define default values for mandatory properties in case the
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe property files would not be found
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="usage">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo>Installer usage:
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe status : reports if product is installed and/or running
2420eabf0f75362f307f6e94df8b48495e77907fal_xipemain target=
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe bootstrap : installs and configure the product
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe wipeout : stops and uninstalls the product
2420eabf0f75362f307f6e94df8b48495e77907fal_xipesubtargets=
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe install : installs the product
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe configure : set the server up to listen on a given port
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe start : start the product unless it is already running
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe stop : stop the product if it is already running
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe stop.force : stop no matter what
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe uninstall : uninstall the product if it is installed
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </echo>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- Installation -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="install.do"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe description="deploy the product bits"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe unless="product.installed" >
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Installing ${product.name} ${product.version}..." />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <property name="config.file"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe location="${full.install.dir}/config/config.ldif"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <mkdir dir="${install.dir}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <unzip dest="${install.dir}">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <fileset dir="${project.home}/build/package">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <include name="*.zip"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </fileset>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </unzip>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <chmod perm="755">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <fileset dir="${full.install.dir}/bin">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <include name="*.sh"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </fileset>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </chmod>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="install" >
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <available file="${full.install.dir}"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe type="dir"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe property="product.installed" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="install.do" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- end of install related targets -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- Uninstallation -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="uninstall.do"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe description="Uninstall the product"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe if="product.installed" >
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Uninstalling ${product.name} ${product.version}..." />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <delete dir="${install.dir}" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="uninstall">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <available file="${full.install.dir}"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe type="dir"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe property="product.installed" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="uninstall.do" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- end of uninstall related targets -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- configuration -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="configure.do"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe description="configures product to listen on the right port number"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe if="product.installed" >
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="basedir=[${basedir}]" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="configuring ${product.name} ${product.version}..." />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <java classname="org.opends.server.tools.ConfigureDS">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- building the classpath to run the configurator -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <classpath>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <fileset dir="${full.install.dir}/lib">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <include name="*.jar"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </fileset>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </classpath>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- provide the arguments here -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="--configClass" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="org.opends.server.extensions.ConfigFileHandler" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="--configFile" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="${full.install.dir}/config/config.ldif" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg line="-p ${port.ldap}" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="-D"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="${bind.dn}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="-w"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="${bind.pwd}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </java>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="configure">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <available file="${full.install.dir}"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe type="dir"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe property="product.installed" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="configure.do" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- end of config related targets -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- start -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="start.do"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe description="start the product"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe if="product.installed"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe unless="product.running" >
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Starting ${product.name} ${product.version}... on ${os.name}" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <exec
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe os="Windows XP,windows,dos"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe executable="${full.install.dir}\bin\start-ds.bat"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe spawn="true" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <exec
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe os="unix"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe executable="${full.install.dir}/bin/start-ds.sh"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe spawn="true" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="start">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <available file="${full.install.dir}"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe type="dir"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe property="product.installed" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <condition property="product.running">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <socket port="${port.ldap}" server="${host.name}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </condition>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="start.do" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- end of start related targets -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- stop -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="stop.force"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe description="stop the server">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Stopping ${product.name} ${product.version}..." />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <exec
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe os="Windows XP,windows,dos"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe executable="${full.install.dir}\bin\stop-ds.bat"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe spawn="true">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg line="-h ${host.name}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg line="-p ${port.ldap}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg line="-w ${bind.pwd}" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="-D" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="${bind.dn}" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </exec>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <exec
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe os="unix"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe executable="${full.install.dir}/bin/stop-ds.sh"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe spawn="true" >
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg line="-h ${host.name}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg line="-p ${port.ldap}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg line="-w ${bind.pwd}" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="-D" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <arg value="${bind.dn}" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </exec>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="stop.do" if="product.running">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="stop.force" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="stop" >
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <condition property="product.running">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <socket port="${port.ldap}" server="${host.name}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </condition>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="stop.do" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- end of stop related targets -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- status -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- Installation status -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="is-product-installed?" if="product.installed">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Found ${product.name} installed in [${full.install.dir}]" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="is-product-not-installed?" unless="product.installed">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Could not find ${product.name} installation." />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- end of installation status -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- Running status -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="is-product-running?" if="product.running">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="${product.name} is listening on port [${port.ldap}]"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="is-product-not-running?" unless="product.running">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="${product.name} is NOT running"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- end of running status -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="status">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <available file="${full.install.dir}"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe type="dir"
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe property="product.installed" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <condition property="product.running">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <socket port="${port.ldap}" server="${host.name}"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </condition>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="is-product-installed?" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="is-product-not-installed?" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="is-product-running?" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="is-product-not-running?" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- end of status related tasks -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- macros - chained operations -->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="bootstrap">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Bootstrap: wipe the plate clean in case there is a previous install"/>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="wipeout" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Bootstrap: install the product" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="install" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="configure" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="start" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <target name="wipeout">
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Wipeout: removing product" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="stop" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <echo message="Give the server some time to shut down and release locks..." />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <sleep seconds="10" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <antcall target="uninstall" />
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe </target>
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe <!-- end of macros related targets-->
2420eabf0f75362f307f6e94df8b48495e77907fal_xipe</project>