All Downloads are FREE. Search and download functionalities are using the official Maven repository.

server.orchestra.tomcat.build.xml Maven / Gradle / Ivy

<project name="Nova Orchestra" default="usage" basedir=".">
  <description>Nova Orchestra tasks.</description>

  <property name="catalina.home" value="${basedir}" />  
  <property name="catalina.base" value="${basedir}" />  
  <property name="orchestra.dir" value="${basedir}"/>
  <property file="conf/orchestra.properties" />
  <property file="conf/install.properties" />
  <property environment="env" />
  
  <property name="exo.java.opts" value="-Xshare:auto -Xms128m -Xmx512m -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Djava.security.auth.login.config=conf/jaas.conf -Dexo.product.developing=true -Dorg.exoplatform.container.configuration.debug" />
  <condition property="java.options" 
    value="${exo.java.opts} ${env.JAVA_OPTS}" 
    else="${exo.java.opts}">
      <isset property="env.JAVA_OPTS" />
  </condition>
  
  <import file="${basedir}/common.xml" optional="true"/>

  <!--
    TEST TARGETS
  -->
  <target name="test.classpath">
    <path id="test.classpath">
      <pathelement location="conf/" />
      <fileset dir="lib" includes="*.jar" />
      <fileset dir="${catalina.base}/common/lib" includes="*.jar" /> 
    </path>
  </target>

  <target name="core.test.classpath" depends="test.classpath">
    <path id="core.test.classpath">
      <path refid="test.classpath" />
      <fileset dir="${catalina.base}/webapps/${orchestra.servlet.path}/WEB-INF/lib" includes="*.jar" />
    </path>
  </target>
  <!--
    TOMCAT TASKS
  -->
  <condition property="is.orchestra.local">
    <available file="${catalina.base}/webapps/${orchestra.servlet.path}.war" />
  </condition>

  <target name="check-tomcat-config" if="is.orchestra.local">
    <condition property="server.running">
      <socket server="${orchestra.servlet.host}" port="${orchestra.servlet.port}" />
    </condition>
    <fail if="server.running" message="Cannot start Orchestra server, one is already running on port : ${orchestra.servlet.port}" />
    <delete file="${catalina.base}/webapps/${orchestra.servlet.path}/WEB-INF/server-config.wsdd" failonerror="false" />

    <delete dir="${catalina.base}/temp" failonerror="false" />
    <mkdir dir="${catalina.base}/temp" />
    <echo file="stylesheet.xsl"><![CDATA[
      <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output omit-xml-declaration="yes" method="text"/>
        <xsl:template match="/">
          <xsl:for-each select="Server/Service/Connector">
            <xsl:value-of select="@port" /><xsl:text> </xsl:text>
          </xsl:for-each>
        </xsl:template>
      </xsl:stylesheet>
      ]]>
    </echo>
    <xslt in="${catalina.base}/conf/server.xml" out="tomcat.ports" style="stylesheet.xsl" />
    <loadfile property="tomcat.ports" srcFile="tomcat.ports"/>
    <delete file="tomcat.ports" />
    <delete file="stylesheet.xsl" />
    <fail message="Orchestra servlet port ${orchestra.servlet.port} is not contained in tomcat configuration (ports found: ${tomcat.ports}). Please fix configuration.">
      <condition>
        <not>
          <contains string="${tomcat.ports}" substring="${orchestra.servlet.port} " />
        </not>
      </condition>
    </fail>
  </target>

  <target name="start" description="Start Tomcat" depends="check-tomcat-config">
    
    <echo>Starting orchestra</echo>
    <java classname="org.apache.catalina.startup.Bootstrap" fork="true">
      <classpath>
        <fileset dir="${catalina.home}/bin" includes="*.jar" />
      </classpath>
      <jvmarg value="-Dcatalina.home=${catalina.home}" />
      <jvmarg value="-Dcatalina.base=${catalina.base}" />
      <jvmarg value="-Djava.io.tmpdir=${catalina.base}/temp" />
      <jvmarg line="${java.options}" />
    </java>
  </target>
  
  <target name="stop" description="Stop Tomcat">
    <condition property="server.down">
      <not>
        <socket server="${orchestra.servlet.host}" port="${orchestra.servlet.port}" />
      </not>
    </condition>
    <fail if="server.down" message="Cannot stop Orchestra server, no server running on port : ${orchestra.servlet.port}" />
    <java classname="org.apache.catalina.startup.Bootstrap" fork="true">
      <classpath>
        <fileset dir="${catalina.base}/bin" includes="*.jar" />
      </classpath>
        <jvmarg value="-Dcatalina.home=${catalina.home}" />
        <jvmarg value="-Dcatalina.base=${catalina.base}" />
        <arg line="stop"/>
    </java>
  </target>

</project>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy