blob: a619dcc3cf8c2e0a30ce03536351e90315d884b3 (
plain) (
tree)
|
|
<?xml version="1.0"?>
<project name="Test OSEE Application Server Launcher" default="run" basedir=".">
<!--
${extraVMargs}
$xserver-db-home
$xserver-db-name=psql.osee.eclipse.org \
$xserver-db-username=osee.eclipse \
$xserver-db-password=osee.eclipse \
$xserver-db-address=127.0.0.1 \
$xserver-db-port=1623 \
$xserver-db-web-port=1623 \
$xserver-db-type=H2,PGSQL \
${xserver-authentication}
${xserver-data}
${xserver-home}
${xserver-port}
${xserver-telnet-port}
${xserver-log-config}
-->
<target name="init">
<echo message="extraVMargs: [${extraVMargs}]" />
<for param="argline" delimiter=" -D" list="${extraVMargs}" trim="true">
<sequential>
<propertyregex property="argName" override="true" input="@{argline}" regexp="(.*?)=" select="\1" casesensitive="false" />
<propertyregex property="argValue" override="true" input="@{argline}" regexp="=(.*)" select="\1" casesensitive="false" />
<echo message="Found arg - [${argName}]=[${argValue}]" />
<property name="${argName}" value="${argValue}" />
</sequential>
</for>
<property name="osee.app.server.connectionFile" value="${xserver-data}/test.osee.client.db.connection.xml" />
<property name="osee.app.server.connectionId" value="test.osee.client.db.connection.id" />
<echo message="Osee Application Server Home: [${xserver-home}]" />
<echo message="Osee Application Server Port: [${xserver-port}]" />
<echo message="Osee Application Server Telnet Port: [${xserver-telnet-port}]" />
<echo message="Osee Application Server Db Type: [${xserver-db-type}]" />
</target>
<target name="writeHsqlConnectionFile" depends="init">
<writeConnectionFile dbType="hsql" dbHome="${xserver-db-home}" dbPrefix="jdbc:hsqldb:hsql" dbDriver="hsql.db.connection" dbName="${xserver-db-name}" dbUser="${xserver-db-username}" dbPasswd="${xserver-db-password}" dbAddress="${xserver-db-address}" dbPort="${xserver-db-port}" connectionFilePath="${osee.app.server.connectionFile}" connectionid="${osee.app.server.connectionId}" />
</target>
<target name="run" depends="init,writeHsqlConnectionFile,startServer" />
<target name="startServer">
<pathconvert property="launcherJarPath" setonempty="false">
<path>
<fileset dir="${xserver-home}/plugins">
<include name="org.eclipse.equinox.launcher_*.jar" />
</fileset>
</path>
</pathconvert>
<mkdir dir="${xserver-data}" />
<forget daemon="false">
<echo message="Launching Osee Application Server..." />
<!-- Test Should Complete in 30 mins (timeout vale) - currently, they only take ~13 mins -->
<java taskname="int-test-server" failonerror="true" maxmemory="1024m" timeout="1800000" jar="${launcherJarPath}" fork="true">
<classpath>
<fileset dir="${xserver-home}/plugins" includes="org.eclipse.equinox.launcher_*.jar" />
<pathelement location="${xserver-home}/plugins" />
</classpath>
<sysproperty key="osee.log.default" value="INFO" />
<sysproperty key="osee.check.tag.queue.on.startup" value="false" />
<sysproperty key="osgi.noShutdown" value="true" />
<sysproperty key="org.osgi.service.http.port" value="${xserver-port}" />
<sysproperty key="osee.db.connection.id" value="${osee.app.server.connectionId}" />
<sysproperty key="osee.connection.info.uri" value="${osee.app.server.connectionFile}" />
<sysproperty key="osee.application.server.data" value="${xserver-data}" />
<sysproperty key="osee.authentication.protocol" value="${xserver-authentication}" />
<sysproperty key="osee.connection.info.uri" value="${osee.app.server.connectionFile}" />
<sysproperty key="osee.db.embedded.server" value="${xserver-db-address}:${xserver-db-port}" />
<sysproperty key="osee.db.embedded.web.server.port" value="${xserver-db-web-port}" />
<sysproperty key="logback.configurationFile" value="${xserver-log-config}" />
<sysproperty key="osgi.configuration.area" value="${xserver-data}/configuration" />
<jvmarg line="${additionalJvmArgs}" />
<arg line=" -console ${xserver-telnet-port} -consoleLog -configuration "${xserver-home}/configuration"" />
</java>
</forget>
<waitfor maxwait="20" maxwaitunit="second" checkevery="100" checkeveryunit="millisecond">
<http url="http://127.0.0.1:${xserver-port}/osee/configure/datastore/schema" />
</waitfor>
</target>
<target name="stopServer">
<echo message="Osee Application Server Telnet Port: [${xserver-telnet-port}]" />
<telnet server="localhost" port="${xserver-telnet-port}" initialCR="yes" timeout="1000">
<read>osgi></read>
<write>shutdown</write>
</telnet>
<sleep milliseconds="500" />
<!-- <echo message="Osee Application Server Port: [${xserver-port}]" />
<post to="http://127.0.0.1:${xserver-port}/osee/console?cmd=osee&args=server_shutdown" verbose="true" wantresponse="true" property="shutdownOutput" />
<echo message="${shutdownOutput}" />
-->
</target>
<macrodef name="writeConnectionFile">
<attribute name="dbHome" />
<attribute name="dbName" />
<attribute name="dbUser" />
<attribute name="dbPasswd" />
<attribute name="dbType" />
<attribute name="dbPrefix" />
<attribute name="dbDriver" />
<attribute name="dbAddress" />
<attribute name="dbPort" />
<attribute name="connectionId" />
<attribute name="connectionFilePath" />
<sequential>
<echo message="Writing [@{dbType}] Db Connection File" />
<echo file="@{connectionFilePath}">
<DbConnection>
<DatabaseInfo id="db.connection.info">${line.separator}
<DatabaseHome key="#DBHOME#" value="@{dbHome}" />${line.separator}
<DatabaseName key="#DBNAME#" value="@{dbName}" />${line.separator}
<DatabaseType key="#TYPE#" value="@{dbType}" />${line.separator}
<Prefix key="#PREFIX#" value="@{dbPrefix}" />${line.separator}
<UserName key="#USERNAME#" value="@{dbUser}" />${line.separator}
<Password key="#PASSWORD#" value="@{dbPasswd}" />${line.separator}
<Host key="#HOST#" value="@AvailableDbServices.hostAddress" />${line.separator}
<Port key="#PORT#" value="@AvailableDbServices.port" />${line.separator}
</DatabaseInfo>${line.separator}
${line.separator}
<ConnectionDescription id="h2.db.connection">${line.separator}
<Driver>org.h2.Driver</Driver>${line.separator}
<Url>#PREFIX#:tcp://#HOST#:#PORT#/#DBHOME##DBNAME#;IGNORECASE=TRUE;SCHEMA_SEARCH_PATH=@{dbUser}, PUBLIC;MVCC=TRUE</Url>${line.separator}
</ConnectionDescription>${line.separator}
${line.separator}
<ConnectionDescription id="postgresql.db.connection">${line.separator}
<Driver>org.postgresql.Driver</Driver>${line.separator}
<Url>#PREFIX#://#HOST#:#PORT#/#DBHOME##DBNAME#</Url>${line.separator}
</ConnectionDescription>${line.separator}
${line.separator}
<ConnectionDescription id="hsql.db.connection">${line.separator}
<Driver>org.hsqldb.jdbc.JDBCDriver</Driver>${line.separator}
<Url>#PREFIX#://#HOST#:#PORT#/#DBNAME#</Url>${line.separator}
<Property key="hsqldb.tx" value="MVCC" />${line.separator}
</ConnectionDescription>${line.separator}
${line.separator}
</echo>
<echo file="@{connectionFilePath}" append="true">
${line.separator}${line.separator}
<AvailableDbServices>${line.separator}
<Server id="@{connectionId}" dbInfo="db.connection.info" connectsWith="@{dbDriver}" hostAddress="@{dbAddress}" port="@{dbPort}" />${line.separator}
</AvailableDbServices>${line.separator}
</DbConnection>
</echo>
</sequential>
</macrodef>
</project>
|