<?xml version="1.0" encoding="UTF-8"?> <project default="xar" name="openapi4restxq"> <property name="build.dir" value="build"/> <property file="local.build.properties"/> <property file="build.properties"/> <antversion property="antversion"/> <available file="node_modules/swagger-ui-dist" type="dir" property="swagger-ui-dist.present"/> <target name="antversion-test"> <antversion property="antversionReady" atleast="1.10"/> <fail unless="antversionReady">installed version of ant (${antversion}) is lower than the required one (1.10.0)</fail> <echo message="installed version of ant (${antversion}) is satisfying"/> </target> <target name="xar" depends="cleanup, swagger-ui, spdx"> <copy file="expath-pkg.xml.tmpl" tofile="expath-pkg.xml" filtering="true" overwrite="true"> <filterset> <filter token="project.version" value="${project.version}"/> <filter token="project.title" value="${project.title}"/> <filter token="project.abbrev" value="${project.abbrev}"/> <filter token="project.name" value="${project.name}"/> <filter token="project.processorversion" value="${project.processorversion}"/> </filterset> </copy> <mkdir dir="${build.dir}"/> <zip basedir="." destfile="${destfile}" defaultexcludes="no" excludes=".git/,${build.dir}/,${test.dir}/,node_modules/"/> </target> <target name="swagger-ui-test" unless="swagger-ui-dist.present"> <echo level="warning">swagger-ui-dist is not available in ./node_modules. Run `npm install` first to build a package that includes swagger-ui.</echo> </target> <target name="swagger-ui" depends="swagger-ui-test" if="swagger-ui-dist.present"> <!-- swagger ui --> <copy file="node_modules/swagger-ui-dist/favicon-16x16.png" tofile="resources/swagger/favicon-16x16.png" overwrite="true" /> <copy file="node_modules/swagger-ui-dist/favicon-32x32.png" tofile="resources/swagger/favicon-32x32.png" overwrite="true" /> <copy file="node_modules/swagger-ui-dist/swagger-ui.css" tofile="resources/swagger/swagger-ui.css" overwrite="true" /> <copy file="node_modules/swagger-ui-dist/swagger-ui-standalone-preset.js" tofile="resources/swagger/swagger-ui-standalone-preset.js" overwrite="true" /> <copy file="node_modules/swagger-ui-dist/swagger-ui-bundle.js" tofile="resources/swagger/swagger-ui-bundle.js" overwrite="true" /> <copy file="node_modules/swagger-ui-dist/index.html" tofile="index.html" overwrite="true" /> <replace file="index.html" token=">Swagger UI<" value=">Swagger UI for ${project.title}<"/> <replace file="index.html" token=".css" <" value=".css" /<"/> <replace file="index.html" token="UTF-8"<" value="UTF-8"/<"/> <replaceregexp file="index.html" match="url:.*" replace=" url: 'openapi.json'," /> <replaceregexp file="index.html" match="(src|href)="\./" replace="\1="resources/swagger/" flags="g"/> </target> <target name="cleanup"> <delete dir="${test.dir}"/> </target> <target name="spdx"> <get src="https://spdx.org/licenses/licenses.json" dest="spdx-licenses.json"/> </target> <target name="test" depends="antversion-test, xar"> <!-- task setpermissions requries at least ant 1.10.0 --> <get src="https://bintray.com/existdb/releases/download_file?file_path=eXist-db-${project.processorversion}.tar.bz2" dest="${build.dir}/eXist-db-${project.processorversion}.tar.bz2" skipexisting="true" /> <untar src="${build.dir}/eXist-db-${project.processorversion}.tar.bz2" dest="${test.dir}" compression="bzip2" /> <setpermissions mode="755"> <file file="${test.dir}/eXist-db-${project.processorversion}/bin/startup.sh"/> </setpermissions> <copy file="${destfile}" todir="${test.dir}/eXist-db-${project.processorversion}/autodeploy" /> </target> </project>