rendered paste body<?xml version="1.0"?>
<project name="RED5" basedir="." default="all">
<!-- project properties -->
<property environment="env"/>
<property name="java.home" value="${env.JAVA_HOME}"/>
<property name="java.target_version" value="1.5"/>
<property name="src.dir" value="src"/>
<property name="bin.dir" value="bin"/>
<property name="dist.dir" value="dist"/>
<property name="lib.dir" value="lib"/>
<property name="classes.dir" value="bin"/>
<property name="debug.state" value="true"/>
<property name="config.dir" value="conf"/>
<property name="javadoc.dir" value="doc/api"/>
<!-- JUNIT TESTING -->
<property name="test.dir" value="test"/>
<property name="testclass.dir" value="bin/testcases"/>
<property name="testreports.dir" value="${testclass.dir}/testreports"/>
<property name="testdoc.dir" value="doc/test"/>
<target name="-junit.check">
<available property="junit.installed" classname="junit.framework.TestCase" />
</target>
<path id="project.classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<path id="webapps.classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<pathelement location="${bin.dir}"/>
</path>
<path id="full.classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="./">
<include name="red5.jar"/>
</fileset>
</path>
<echo>java.home is ${java.home} and the target version is ${java.target_version}</echo>
<!-- setup the directories for building -->
<target name="prepare">
<mkdir dir="${classes.dir}"/>
<mkdir dir="${bin.dir}"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${testclass.dir}"/>
<mkdir dir="${testreports.dir}"/>
<mkdir dir="${src.dir}/../webapps/fitcDemo/WEB-INF/classes"/>
<mkdir dir="${src.dir}/../webapps/fitcDemo/WEB-INF/lib"/>
<mkdir dir="${src.dir}/../webapps/oflaDemo/WEB-INF/classes"/>
<mkdir dir="${src.dir}/../webapps/oflaDemo/WEB-INF/lib"/>
<mkdir dir="${src.dir}/../webapps/test/WEB-INF/classes"/>
<mkdir dir="${src.dir}/../webapps/test/WEB-INF/lib"/>
<mkdir dir="${src.dir}/../webapps/tutorial/WEB-INF/classes"/>
<mkdir dir="${src.dir}/../webapps/tutorial/WEB-INF/lib"/>
</target>
<!-- do a clean -->
<target name="clean">
<delete dir="${classes.dir}"/>
<delete dir="${bin.dir}"/>
<delete dir="${dist.dir}"/>
<delete dir="${javadoc.dir}"/>
<delete dir="${testdoc.dir}"/>
<delete dir="${src.dir}/../webapps/fitcDemo/WEB-INF/classes"/>
<delete dir="${src.dir}/../webapps/fitcDemo/WEB-INF/lib"/>
<delete dir="${src.dir}/../webapps/oflaDemo/WEB-INF/classes"/>
<delete dir="${src.dir}/../webapps/oflaDemo/WEB-INF/lib"/>
<delete dir="${src.dir}/../webapps/test/WEB-INF/classes"/>
<delete dir="${src.dir}/../webapps/test/WEB-INF/lib"/>
<delete dir="${src.dir}/../webapps/tutorial/WEB-INF/classes"/>
<delete dir="${src.dir}/../webapps/tutorial/WEB-INF/lib"/>
</target>
<target name="compile" depends="-junit.check, prepare">
<javac
sourcepath=""
srcdir="${src.dir}"
destdir="${classes.dir}"
debug="${debug.state}"
classpathref="project.classpath"
fork="yes"
verbose="no"
nowarn="yes"
executable="${java.home}/../bin/javac"
target="${java.target_version}">
</javac>
<javac
sourcepath=""
srcdir="${src.dir}/../webapps/fitcDemo/WEB-INF/src"
destdir="${src.dir}/../webapps/fitcDemo/WEB-INF/classes"
debug="${debug.state}"
classpathref="webapps.classpath"
fork="yes"
verbose="no"
nowarn="yes"
executable="${java.home}/../bin/javac"
target="${java.target_version}">
</javac>
<javac
sourcepath=""
srcdir="${src.dir}/../webapps/oflaDemo/WEB-INF/src"
destdir="${src.dir}/../webapps/oflaDemo/WEB-INF/classes"
debug="${debug.state}"
classpathref="webapps.classpath"
fork="yes"
verbose="no"
nowarn="yes"
executable="${java.home}/../bin/javac"
target="${java.target_version}">
</javac>
<javac
sourcepath=""
srcdir="${src.dir}/../webapps/test/WEB-INF/src"
destdir="${src.dir}/../webapps/test/WEB-INF/classes"
debug="${debug.state}"
classpathref="webapps.classpath"
fork="yes"
verbose="no"
nowarn="yes"
executable="${java.home}/../bin/javac"
target="${java.target_version}">
</javac>
<javac
sourcepath=""
srcdir="${src.dir}/../webapps/tutorial/WEB-INF/src"
destdir="${src.dir}/../webapps/tutorial/WEB-INF/classes"
debug="${debug.state}"
classpathref="webapps.classpath"
fork="yes"
verbose="no"
nowarn="yes"
executable="${java.home}/../bin/javac"
target="${java.target_version}">
</javac>
</target>
<target name="javadoc" description="Generate JavaDoc">
<javadoc
classpathref="project.classpath"
destdir="${javadoc.dir}"
author="true"
version="true"
use="true"
splitindex="true"
windowtitle="Red5">
<fileset dir="src" defaultexcludes="yes">
<include name="org/red5/**"/>
<exclude name="**/*.xml"/>
<exclude name="**/*.xsd"/>
</fileset>
<doctitle><![CDATA[<h1>Red5 Server Documentation</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © 2006 <a href="http://osflash.org/red5" target="_blank">the Red5 project</a>.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:"/>
<group title="Public API" packages="org.red5.server.api:org.red5.server.api.*"/>
<group title="Network Protocols" packages="org.red5.server.net:org.red5.server.net.*"/>
<group title="Streaming" packages="org.red5.server.stream:org.red5.server.stream.*"/>
<group title="IO Packages" packages="org.red5.io:org.red5.io.*"/>
<link href="http://java.sun.com/j2se/1.5.0/docs/api"/>
<link href="http://jetty.mortbay.org/jetty6/jetty"/>
<link href="http://java.sun.com/j2se/1.5.0/docs/api"/>
<link href="http://directory.apache.org/subprojects/mina/apidocs"/>
<link href="http://www.springframework.org/docs/api"/>
<link href="http://www.opensymphony.com/quartz/api"/>
</javadoc>
</target>
<target name="jar" description="Make Archive" depends="compile">
<jar destfile="red5.jar">
<fileset dir="${classes.dir}">
<include name="**"/>
<exclude name="testcases/**"/>
</fileset>
<!--
<metainf dir="${src}/${metainf}">
<include name="*.xml"/>
</metainf>
-->
<manifest>
<attribute name="Built-By" value="RED5 Project - red5@osflash.org"/>
<attribute name="Main-Class" value="org.red5.server.Standalone"/>
<attribute name="Class-Path"
value="conf/ lib/slf4j-log4j12.jar lib/cglib-nodep-2.1_2.jar lib/jetty.jar lib/jetty-util.jar lib/commons-beanutils.jar lib/commons-collections.jar lib/commons-logging.jar lib/jpda.jar lib/log4j-1.2.9.jar lib/mina-filter-ssl-0.9.4.jar lib/mina-core-0.9.4.jar lib/mina-integration-spring-0.9.4.jar lib/servlet-api.jar lib/spring.jar lib/quartz-1.5.2.jar lib/xmlrpc-2.0.1.jar lib/commons-codec-1.3.jar lib/commons-httpclient-3.0.1.jar lib/jasper-compiler-5.5.15.jar lib/jasper-compiler-jdt-5.5.15.jar lib/servlet-api.jar lib/jasper-runtime-5.5.15.jar lib/xercesImpl-2.6.2.jar lib/jsp-api-2.0.jar lib/xmlParserAPIs-2.6.2.jar lib/jcl104-over-slf4j-1.0.1.jar lib/slf4j-simple-1.0.1.jar lib/commons-el-1.0.jar"/>
</manifest>
</jar>
<jar destfile="${src.dir}/../webapps/fitcDemo/WEB-INF/lib/fitcDemo.jar">
<fileset dir="${src.dir}/../webapps/fitcDemo/WEB-INF/classes">
<include name="**"/>
</fileset>
</jar>
<jar destfile="${src.dir}/../webapps/oflaDemo/WEB-INF/lib/oflaDemo.jar">
<fileset dir="${src.dir}/../webapps/oflaDemo/WEB-INF/classes">
<include name="**"/>
</fileset>
</jar>
<jar destfile="${src.dir}/../webapps/test/WEB-INF/lib/test.jar">
<fileset dir="${src.dir}/../webapps/test/WEB-INF/classes">
<include name="**"/>
</fileset>
</jar>
<jar destfile="${src.dir}/../webapps/tutorial/WEB-INF/lib/tutorial.jar">
<fileset dir="${src.dir}/../webapps/tutorial/WEB-INF/classes">
<include name="**"/>
</fileset>
</jar>
</target>
<target name="dist" description="Make Binary Distribution" depends="clean, jar, javadoc">
<copy todir="${dist.dir}/doc">
<fileset dir="doc"/>
</copy>
<copy todir="${dist.dir}/lib">
<fileset dir="lib"/>
</copy>
<copy todir="${dist.dir}/conf">
<fileset dir="conf"/>
</copy>
<copy todir="${dist.dir}/webapps">
<fileset dir="webapps">
<include name="**"/>
<exclude name="**/classes/**"/>
<exclude name="**/src/**"/>
</fileset>
</copy>
<copy todir="${dist.dir}">
<fileset dir="./">
<include name="red5.jar"/>
<include name="red5.bat"/>
<include name="red5.sh"/>
<include name="license.txt"/>
</fileset>
</copy>
</target>
<target name="installerdist" description="Make Installer Distribution" depends="dist">
<copy todir="${dist.dir}">
<fileset dir="./">
<include name=".classpath"/>
<include name=".project"/>
<include name=".springBeans"/>
<include name="build.xml"/>
</fileset>
</copy>
<copy todir="${dist.dir}/src">
<fileset dir="src"/>
</copy>
<copy todir="${dist.dir}/swf">
<fileset dir="swf"/>
</copy>
<copy todir="${dist.dir}/webapps">
<fileset dir="webapps">
<include name="**/src/**"/>
</fileset>
</copy>
</target>
<target name="server" depends="compile">
<java classname="org.red5.server.Standalone" fork="true">
<classpath>
<pathelement location="${classes.dir}"/>
<path refid="project.classpath"/>
<pathelement location="${config.dir}"/>
</classpath>
<jvmarg value="-Djava.security.manager"/>
<jvmarg value="-Djava.security.policy=${config.dir}/red5.policy"/>
</java>
</target>
<!-- I have disabled this until we know its has been tested - Luke
<target name="webwar" depends="compile">
<delete dir="webdir"/>
<mkdir dir="webdir"/>
<mkdir dir="webdir/WEB-INF"/>
<mkdir dir="webdir/WEB-INF/lib"/>
<mkdir dir="webdir/conf"/>
<mkdir dir="webdir/hosts"/>
<copy todir="webdir/WEB-INF/lib">
<fileset dir="${lib.dir}">
<include name="cglib-nodep-2.1_2.jar"/>
<include name="commons*"/>
<include name="mina*"/>
<include name="jpda.jar"/>
<include name="log4j-1.2.9.jar"/>
<include name="slf4j-log4j12.jar"/>
<include name="spring.jar"/>
</fileset>
<fileset dir="./">
<include name="red5.jar"/>
</fileset>
</copy>
<copy todir="webdir/conf">
<fileset dir="./conf">
<include name="global.xml"/>
<include name="log4j.properties"/>
<include name="red5.properties"/>
<include name="red5_web.xml"/>
</fileset>
</copy>
<copy todir="webdir">
<fileset dir="./webapps/root">
<include name="index.html"/>
</fileset>
</copy>
<war destfile="Red5.war" webxml="conf/web-default.xml">
<fileset dir="webdir"/>
<lib dir="webdir/WEB-INF/lib"/>
</war>
<delete dir="webdir"/>
</target>
-->
<target name="run-tests" if="junit.installed" depends="compiletests" description="Run JUnit tests and generate HTML reports">
<junit fork="true" haltonfailure="no" printsummary="no" showoutput="no" dir="${testreports.dir}">
<classpath>
<path refid="full.classpath"/>
<pathelement location="${testclass.dir}"/>
</classpath>
<formatter type="xml" />
<batchtest todir="${testreports.dir}">
<fileset dir="${testclass.dir}">
<include name="**/*Test.class"/>
<exclude name="**/Abstract*Test.class"/>
<exclude name="**/*AbstractTest.class"/>
</fileset>
</batchtest>
</junit>
<junitreport todir="${test.dir}">
<fileset dir="${testreports.dir}">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${testdoc.dir}"/>
</junitreport>
</target>
<target name="compiletests" depends="jar" if="junit.installed" description="Compiles junit test classes">
<javac srcdir="${test.dir}" destdir="${testclass.dir}">
<classpath>
<path refid="full.classpath"/>
</classpath>
<include name="**/*.java"/>
</javac>
</target>
<target name="all" depends="clean, prepare, compile, jar, javadoc"/>
</project>