Lenny,
Follow your instruction installed the Tom Cat Version 6 and Red5 latest, but still have problem to set the videoconf to showed up, when we use the Red5 trying to connect the Videoconf, the connector seem to stuck on disconnect.
We log in to the debug file and see the following error message:
Please help.
BTW, Alan suggested to me in sending the build.xml page to you for review our changes. Can you help us in determine where we done wrong in the XML source or something...
Thank for your help...
MC

/////
[DEBUG] 34625 pool-3-thread-17:( org.red5.server.Server.lookupGlobal ) Check host and path: localhost/videoconf [DEBUG] 34625 pool-3-thread-17:( org.red5.server.Server.lookupGlobal ) Check wildcard host with path: /videoconf [DEBUG] 34625 pool-3-thread-17:( org.red5.server.Scope.getContext ) returning context [DEBUG] 34625 pool-3-thread-17:( org.red5.server.Scope.hasChildScope ) Has child scope? videoconf in [EMAIL PROTECTED] Depth = 0, Path = '', Name = 'default'] [DEBUG] 34625 pool-3-thread-17:( org.red5.server.CoreHandler.connect ) Connect to core handler ? [DEBUG] 34625 pool-3-thread-17:( org.red5.server.Scope.getContext ) returning context [DEBUG] 34625 pool-3-thread-17:( org.red5.server.jmx.JMXFactory.createObjectName ) Object name: org.red5.server:type=Client,id=1 [DEBUG] 34625 pool-3-thread-17:( org.red5.server.jmx.JMXAgent.registerMBean ) Register name: Client [DEBUG] 34625 pool-3-thread-17:( org.red5.server.Client.register ) Registering connection for this client [DEBUG] 34625 pool-3-thread-17:( org.red5.server.Scope.connect ) adding client [ERROR] 34625 pool-3-thread-17:( org.red5.server.net.rtmp.RTMPHandler.onInvoke ) Error connecting
java.lang.ArrayIndexOutOfBoundsException: 1
at org.red5.server.webapp.videoconf.Application.appConnect(Application.java:50) at org.red5.server.adapter.ApplicationAdapter.connect(ApplicationAdapter.java :300)
at org.red5.server.Scope.connect(Scope.java:391)
at org.red5.server.BaseConnection.connect(BaseConnection.java:264)
at org.red5.server.net.rtmp.RTMPConnection.connect(RTMPConnection.java:241)
at org.red5.server.net.rtmp.RTMPMinaConnection.connect (RTMPMinaConnection.java:67)
at org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:266)
at org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:143) at org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived (RTMPMinaIoHandler.java:120) at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived (AbstractIoFilterChain.java:362) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:54) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived (AbstractIoFilterChain.java:800) at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:247) at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java :307) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java :619)
[DEBUG] 34625 pool-3-thread-17:( org.red5.server.Scope.getContext ) returning context [DEBUG] 34641 pool-3-thread-17:( org.red5.server.BaseConnection.close ) Close, disconnect from scope, and children [DEBUG] 34641 pool-3-thread-17:( org.red5.server.jmx.JMXAgent.unregisterMBean ) Mbean is registered [DEBUG] 34641 pool-3-thread-17:( org.red5.server.jmx.JMXAgent.unregisterMBean ) leaving unregisterMBean... [DEBUG] 34641 pool-3-thread-17:( org.red5.server.jmx.JMXAgent.unregisterMBean ) leaving unregisterMBean... [DEBUG] 34641 pool-3-thread-17:( org.red5.server.BaseConnection.close ) Close, not connected nothing to do. [DEBUG] 34641 pool-3-thread-17:( org.red5.server.jmx.JMXAgent.unregisterMBean ) leaving unregisterMBean..

////

Lenny Sorey wrote:
Hi Pierre,
Although I am not to familiar with Resin let me ask a couple of questions. Are you using any kind of connector between Resin and Apache? If you have a connector, then the connector should be passing the default port via a port
like 8009 or what the default passing port from Resin to Apache.
I still think you will have to reference ports 8080 (if that is the default port for Resin like Tomcat) Even though I am passing from Tomcat to Apache I still have to reference port 8080 for both RTMP and RTMPT since it does not make to port 80 until Tomcat passes via 8080 and 8009 (the connector port) One more thing to check is to see if your router or firewall is preventing port 1935 from passing through. You might have to open up port 1935 to allow that through. Regards, Lenny

On 7/31/07, *Pierre-Yves Saumont* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Hello Lenny,

    I succeded to compile an run the red5.war application ! (Thanks a
    lot for your help). I tested the port_tester and BallControl with
    two computers on my LAN and it works fine, although the port
    tester says taht every thing failed except RTMP default port and
    1935.

    Now, I am experiencing a new problem : I intsalled the war on my
    server, which I access through Internet. The port tester gives the
    same result (sucess for RTMP default port and RTMP 1935, failure
    for everything else. However, I can make the BallControl app to work.

    My Resin instance is behind an Apache Server. Is there any special
    setting for such a configuration ? I though the port would perhaps
    be closed, but in that case,  the port tester should not show any
    success ? Should I use port 80 for rtmpt ? Here is what I used for
    the red5.properties file :

    # HTTP
    http.host=216.227.212.140
    http.port=80
    # RTMP
    rtmp.host=216.227.212.140
    rtmp.port=1935
    rtmp.event_threads_core=16
    rtmp.event_threads_max=32
    # event threads queue: -1 unbounded, 0 direct (no queue), n
    bounded queue
    rtmp.event_threads_queue=-1
    rtmp.event_threads_keepalive=60
    rtmp.send_buffer_size=271360
    rtmp.receive_buffer_size=65536
    rtmp.ping_interval=5000
    rtmp.max_inactivity=60000
    # RTMPT
    rtmpt.host=216.227.212.140
    rtmpt.port=80
    rtmpt.ping_interval=5000
    rtmpt.max_inactivity=60000
    # WEBAPP
    webapp.contextPath=/
    webapp.virtualHosts=*,
    www.volgadev.com,volgadev.com,www.volgadev.com:80,volgadev.com:80
    <http://www.volgadev.com,volgadev.com,www.volgadev.com:80,volgadev.com:80/>

    Can you see anything wrong ?

    Thanks again,

    Pierre-Yves

    Lenny Sorey a écrit :
    Hello Pierre,
One thing to note. In the WEB-INF folder under red5, there is a red5.properties. Make sure it looks something like the following: # HTTP
    http.host=0.0.0.0
    http.port=8080
    # RTMP
    rtmp.host=0.0.0.0
    rtmp.port=1935
    rtmp.event_threads_core=16
    rtmp.event_threads_max=32
    # event threads queue: -1 unbounded, 0 direct (no queue), n
    bounded queue
    rtmp.event_threads_queue=-1
    rtmp.event_threads_keepalive=60
    rtmp.send_buffer_size=271360
    rtmp.receive_buffer_size=65536
    rtmp.ping_interval=5000
    rtmp.max_inactivity=60000
    # RTMPT
    rtmpt.host=0.0.0.0
    rtmpt.port=8080
    rtmpt.ping_interval=5000
    rtmpt.max_inactivity=60000
    # WEBAPP
    webapp.contextPath=/
    webapp.virtualHosts=*,localhost

    The ports by default are set for Jetty 8088 so you will have to
    change for Tomcat default 8080. You can also
    leave the http.host, rtmp.host and rtmpt.host lines at 0.0.0.0
    <http://0.0.0.0/> while you test with localhost. These will need
    to be changed to
    your servers ip address if you run it other than localhost. I
    have my test Tomcat server on an internal ip address of 10.2.0.10
    <http://10.2.0.10/>.
If you think you did not receive all the needed jar files, let me
    know and I will rar up the lib folder in multiple rar files and
    place
    it on my ftp for you to retrieve. But test with the port changes
    first.
Good luck. Lenny


On 7/31/07, *Pierre-Yves Saumont* <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:

        Hi Lenny,

        Thanks a lot for you help !

        I was running the war version of red5. I thought it was the
        easiest way to test it on my Windows box and then install it
        on my linux server.

        Now I downloaded the sources from trunk, but I could not
        managed to run the ant webwar task. The dependencies are
        missing ! I believe I should run the "all" task to
        automatically download the dependcies, but it fails with a
        lot of errors, after running for hours ! So I installed
        dependencies by hand, which is a very very tedious job!
        Now, after a full day, I managed to get the whole thing
        compile en build. The result is exactly the same : testing
        ports fails on all ports.

        I tried to port the war application from the standalone
        version to my application server, but it also fails wiith a
        lot of errors because the compiled classe are not present in
        this version. I believe this is due to some specificity of
        the Jetty server. I need to use Resin as a server. Any idea
        how to port the war to another App Server ?

        Thanks,

        Pierre-Yves



        Lenny Sorey a écrit :
        Hi Pierre,
One question. Did you build the Tomcat RED5 app with "ant
        webwar"?
What version of Java are you using? Did you download directly from the RED5 svn trunk? If you download from RED5 Trunk, and build with ANT "ant
        webwar"
You will see a red5.war in the dist folder. You can explode
        this war file and
        place in your Tomcat webapps folder.
From this point you should be able to run RED5 with the Demo
        apps with localhost.
Make sure you have the following identified in your
        environment variables.
java.target_version=${java.specification.version} (Java
        version needs to be either 1.5 or 1.6)
Ah, another thing to note. When you download from the RED5
        Trunk for the first time,
        run "ANT" from the red5 root folder so you will get the jar
        files you will need to
        compile with "ANT WEBWAR"
I am and have been running RED5 with the following config: Tomcat 6.0.13
        Java 1.6.0_2
        RED5 Trunk
        Apache 2.2.4
Here is the url running with RED5 running with Tomcat:
        http://red5.fatdot.com <http://red5.fatdot.com/>
Good luck. Lenny

On 7/29/07, *Pierre-Yves Saumont* <[EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]>> wrote:

            Thanks for your help,

            I just tried this, but it does not change anything. As
            soon as I click on the connect button, I get the error
            message, with no noticeable delay. This make my think
            perhaps the server is not reached. So I shutdown the
            server and try again. Then I get the same message. So
            the problem must be with the client application.

            Pierre-Yves

            Ben Wade a écrit :

            Maybe try putting in the ip address of the server
            instead of localhost.

            Regards,

            Ben Wade

            
------------------------------------------------------------------------

            *From:* [EMAIL PROTECTED]
            <mailto:[EMAIL PROTECTED]> [
            mailto:[EMAIL PROTECTED] *On Behalf Of
            *Pierre-Yves Saumont
            *Sent:* Sunday, July 29, 2007 12:15 PM
            *To:* [email protected] <mailto:[email protected]>
            *Subject:* [Red5] No connection to red5 server

            Hello,

            I am trying to use the red5 war application. Everything
            seems to have been installed correctly (except that the
            application is complaining about a missinh mina/spring
            integration class that I have added.)

            I can display all examples, but I can't connect anyone.
            clicking on the connect button displays an error
            message : "Please check connection URI String and try
            again". The URI I am unsing is, for example,
            "rtmp://localhost/SOSample"

            When I use the Port tests application, it fails on all
            ports (Default, 80, 443 and 1935).

            Ha anyone an idea about what is going wrong ? (I tested
            the application with Resin an Tomcat)

            Thnks for any help

            Pierre-Yves

            
------------------------------------------------------------------------

            _______________________________________________
            Red5 mailing list
            [email protected] <mailto:[email protected]>
            http://osflash.org/mailman/listinfo/red5_osflash.org

            _______________________________________________
            Red5 mailing list
            [email protected] <mailto:[email protected]>
            http://osflash.org/mailman/listinfo/red5_osflash.org


        ------------------------------------------------------------------------

        _______________________________________________
        Red5 mailing list
        [email protected] <mailto:[email protected]>
        http://osflash.org/mailman/listinfo/red5_osflash.org

        _______________________________________________
        Red5 mailing list
        [email protected] <mailto:[email protected]>
        http://osflash.org/mailman/listinfo/red5_osflash.org


    ------------------------------------------------------------------------

    _______________________________________________
    Red5 mailing list
    [email protected] <mailto:[email protected]>
    http://osflash.org/mailman/listinfo/red5_osflash.org

    _______________________________________________
    Red5 mailing list
    [email protected] <mailto:[email protected]>
    http://osflash.org/mailman/listinfo/red5_osflash.org


------------------------------------------------------------------------

_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org
------------------------------------------------------------------------

No virus found in this incoming message.
Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.11.0/927 - Release Date: 7/30/2007 5:02 PM
<?xml version="1.0" ?>
<project name="RED5" basedir="." default="all">
 <!-- user overides for project properties -->

 <property file="${user.home}/build.properties"/>
 <!-- base project properties -->
 <property file="build.properties"/>
 <!-- project properties -->
 <property environment="env"/>
 <property name="java.home" value="${env.JDK_HOME}"/>
 <property name="src.dir" value="src"/>
 <property name="dist.dir" value="dist"/>
 <property name="lib.dir" value="lib"/>
 <property name="classes.dir" value="bin"/>
 <property name="webapps.dir" value="webapps"/>
 <property name="debug.state" value="true"/>
 <property name="config.dir" value="conf"/>
 <property name="javadoc.dir" value="doc/api"/>
 <!-- Special directory destination for build war - unused in normal server build -->
 <property name="tmp.war.dir" value=""/>
 <!-- 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"/>
 <path id="project.classpath">
  <fileset dir="${lib.dir}" includesfile="${lib.dir}/library.properties"/>
  <fileset dir="${lib.dir}" includesfile="${lib.dir}/java6.properties"/>
 </path>
 <path id="script.classpath">
  <fileset dir="${lib.dir}" includesfile="${ lib.dir}/library.properties"/>
  <fileset dir="${lib.dir}" includesfile="${lib.dir}/script.properties"/>
  <pathelement location="${classes.dir}"/>
 </path>
 <!-- For use with pre-java6 environment -->
 <path id="project_compatibility.classpath">
  <fileset dir="${lib.dir}" includesfile="${lib.dir}/library.properties"/>
  <fileset dir="${lib.dir}/java5" includesfile="${lib.dir}/java5/java5.properties"/>
 </path>
 <!-- For use with pre-java6 environment -->
 <path id="script_compatibility.classpath">
  <fileset dir="${lib.dir}" includesfile="${lib.dir}/library.properties"/>
  <fileset dir="${lib.dir}" includesfile="${lib.dir}/script.properties"/>
  <fileset dir="${ lib.dir}/java5" includesfile="${lib.dir}/java5/java5.properties"/>
  <pathelement location="${classes.dir}"/>
 </path>
 <path id="webapps.classpath">
  <fileset dir="${ lib.dir}">
   <filename name="*.jar"/>
  </fileset>
  <pathelement location="${classes.dir}"/>
 </path>
 <path id="full.classpath">
  <fileset dir="${ lib.dir}" includesfile="${lib.dir}/library.properties"/>
  <fileset dir="${lib.dir}" includesfile="${lib.dir}/java6.properties"/>
  <fileset dir="${lib.dir}" includesfile="${ lib.dir}/script.properties"/>
  <fileset dir="./">
   <filename name="red5.jar"/>
  </fileset>
 </path>
 <path id="full_compatibility.classpath">
  <fileset dir="${lib.dir}" includesfile="${lib.dir}/library.properties"/>
  <fileset dir="${lib.dir}/java5" includesfile="${lib.dir}/java5/java5.properties"/>
  <fileset dir="${lib.dir}" includesfile="${lib.dir}/script.properties"/>
  <fileset dir="./">
   <filename name="red5.jar"/>
  </fileset>
 </path>
 <echo>java.home is ${java.home} and the target version is ${java.target_version}</echo>
 <target name="-junit.check">
  <available property="junit.installed" classname=" junit.framework.TestCase"/>
 </target>
 <target name="-java6.check">
  <condition property="java6.installed" value="true">
   <and>
    <available property=" java6.installed" classname="javax.script.Bindings"/>
    <equals arg1="${java.target_version}" arg2="1.6"/>
   </and>
  </condition>
 </target>
 <!-- setup the directories for building -->
 <target name="prepare">
  <mkdir dir="${classes.dir}"/>
  <mkdir dir="${dist.dir}"/>
  <mkdir dir="${ testclass.dir}"/>
  <mkdir dir="${testreports.dir}"/>
  <mkdir dir="${webapps.dir}/admin/WEB-INF/classes"/>
  <mkdir dir="${webapps.dir}/admin/WEB-INF/lib"/>
  <mkdir dir="${webapps.dir}/echo/WEB-INF/classes"/>
  <mkdir dir="${webapps.dir}/echo/WEB-INF/lib"/>
  <mkdir dir="${webapps.dir}/fitcDemo/WEB-INF/classes"/>
  <mkdir dir="${ webapps.dir}/fitcDemo/WEB-INF/lib"/>
  <mkdir dir="${webapps.dir}/midiDemo/WEB-INF/classes"/>
  <mkdir dir="${webapps.dir}/midiDemo/WEB-INF/lib"/>
  <mkdir dir="${webapps.dir }/videoconf/WEB-INF/classes"/>
  <mkdir dir="${webapps.dir}/videoconf/WEB-INF/lib"/>
  <mkdir dir="${webapps.dir}/test/WEB-INF/classes"/>
  <mkdir dir="${webapps.dir }/test/WEB-INF/lib"/>
  <mkdir dir="${webapps.dir}/tutorial/WEB-INF/classes"/>
  <mkdir dir="${webapps.dir}/tutorial/WEB-INF/lib"/>
 </target>
 <!-- do a clean -->
 <target name="clean">
  <delete dir="${classes.dir}"/>
  <delete dir="${dist.dir}"/>
  <delete dir="${javadoc.dir}"/>
  <delete dir="${ testdoc.dir}"/>
  <delete includeemptydirs="true">
   <fileset dir="${webapps.dir}/" includes="**/*.class"/>
  </delete>
  <delete includeemptydirs="true">
   <fileset dir="${webapps.dir}/" includes="**/*.jar"/>
  </delete>
 </target>
 <target name="compile" depends="-java6.check, -junit.check, prepare">
  <condition property="java.target_version" value="1.5">
   <not>
    <isset property="java.target_version"/>
   </not>
  </condition>
  <echo message="Javac version: ${ java.target_version}"/>
  <condition property="compiler" value="${build.compiler}${java.target_version}">
   <equals arg1="${build.compiler}" arg2="javac"/>
  </condition>
  <property name="compiler" value="${build.compiler}"/>
  <echo message="Compiler adapter name: ${compiler}"/>
  <antcall target="compile_core" inheritAll="true" inheritRefs="true"/>
  <antcall target="compile_core_compatibility" inheritAll="true" inheritRefs="true"/>
  <antcall target="compile_demos" inheritAll="true" inheritRefs="true"/>
  <antcall target="compile_script" inheritAll="true" inheritRefs="true"/>
  <antcall target="compile_script_compatibility" inheritAll="true" inheritRefs="true"/>
 </target>
 <!-- Core -->
 <target name="compile_core" if="java6.installed">
  <javac sourcepath="" srcdir="${src.dir}" destdir="${classes.dir }" classpathref="project.classpath"
    optimize="${build.optimize}" verbose="${build.verbose}" fork="${build.fork}" nowarn="${build.nowarn}"
    deprecation="${ build.deprecation}" debug="${debug.state}" compiler="${compiler}"
    source="${java.target_version}" target="${java.target_version}" memoryMaximumSize="1024m"
    excludes="**/*.jsp,org/red5/server/script/**" listfiles="false"/>
 </target>
 <target name="compile_core_compatibility" unless="java6.installed">
  <javac sourcepath="" srcdir="${ src.dir}" destdir="${classes.dir}" classpathref="project_compatibility.classpath"
    optimize="${build.optimize}" verbose="${build.verbose}" fork="${build.fork}" nowarn="${ build.nowarn}"
    deprecation="${build.deprecation}" debug="${debug.state}" compiler="${compiler}"
    source="${java.target_version}" target="${java.target_version }" memoryMaximumSize="1024m"
    excludes="**/*.jsp,org/red5/server/script/**" listfiles="false"/>
 </target>
 <!-- Demos -->
 <target name="compile_demos" depends="prepare">
  <javac sourcepath="" srcdir="${webapps.dir}/admin/WEB-INF/src" destdir="${webapps.dir}${tmp.war.dir}/admin/WEB-INF/classes"
    classpathref="webapps.classpath" optimize="${ build.optimize}" verbose="${build.verbose}"
    fork="${build.fork}" nowarn="${build.nowarn}" deprecation="${build.deprecation}"
    debug="${debug.state}" compiler="${compiler}" source="${ java.target_version}" target="${java.target_version}"/>
  <javac sourcepath="" srcdir="${webapps.dir}/echo/WEB-INF/src" destdir="${webapps.dir}${tmp.war.dir}/echo/WEB-INF/classes"
    classpathref="webapps.classpath" optimize="${build.optimize}" verbose="${build.verbose}"
    fork="${build.fork}" nowarn="${build.nowarn}" deprecation="${build.deprecation }"
    debug="${debug.state}" compiler="${compiler}" source="${java.target_version}" target="${java.target_version}"/>
  <javac sourcepath="" srcdir="${ webapps.dir}/fitcDemo/WEB-INF/src" destdir="${webapps.dir}${tmp.war.dir}/fitcDemo/WEB-INF/classes"
    classpathref="webapps.classpath" optimize="${build.optimize}" verbose="${build.verbose }"
    fork="${build.fork}" nowarn="${build.nowarn}" deprecation="${build.deprecation}"
    debug="${debug.state}" compiler="${compiler}" source="${java.target_version }" target="${java.target_version}"/>
  <javac sourcepath="" srcdir="${webapps.dir}/midiDemo/WEB-INF/src" destdir="${webapps.dir}/midiDemo/WEB-INF/classes"
    classpathref=" webapps.classpath" optimize="${build.optimize}" verbose="${build.verbose}"
    fork="${build.fork}" nowarn="${build.nowarn}" deprecation="${build.deprecation}"
    debug="${debug.state}" compiler="${compiler}" source="${java.target_version}" target="${java.target_version}"/>
  <javac sourcepath="" srcdir="${webapps.dir }/videoconf/WEB-INF/src" destdir="${webapps.dir}${tmp.war.dir}/videoconf/WEB-INF/classes"
    classpathref="webapps.classpath" optimize="${build.optimize}" verbose="${build.verbose }"
    fork="${build.fork}" nowarn="${build.nowarn}" deprecation="${build.deprecation}"
    debug="${debug.state}" compiler="${compiler}" source="${java.target_version }" target="${java.target_version}"/>
  <mkdir dir="${webapps.dir}/videoconf/WEB-INF/classes/applications"/>
  <copy todir="${webapps.dir}/videoconf/WEB-INF/classes/applications">
   <fileset dir="${webapps.dir}/videoconf/WEB-INF/src/applications"/>
  </copy>
  <javac sourcepath="" srcdir="${webapps.dir}/test/WEB-INF/src" destdir="${webapps.dir }/test/WEB-INF/classes"
    classpathref="webapps.classpath" optimize="${build.optimize}" verbose="${build.verbose}"
    fork="${build.fork}" nowarn="${build.nowarn}" deprecation="${ build.deprecation}"
    debug="${debug.state}" compiler="${compiler}" source="${java.target_version}" target="${java.target_version}"/>
  <javac sourcepath="" srcdir="${ webapps.dir}/tutorial/WEB-INF/src" destdir="${webapps.dir}${tmp.war.dir}/tutorial/WEB-INF/classes"
    classpathref="webapps.classpath" optimize="${build.optimize}" verbose="${build.verbose }"
    fork="${build.fork}" nowarn="${build.nowarn}" deprecation="${build.deprecation}"
    debug="${debug.state}" compiler="${compiler}" source="${java.target_version }" target="${java.target_version}"/>
 </target>
 <!-- Scripting -->
 <target name="compile_script" if="java6.installed" depends="prepare">
  <javac sourcepath="" srcdir="${ src.dir}" destdir="${classes.dir}" classpathref="script.classpath"
    optimize="${build.optimize}" verbose="${build.verbose}" fork="${build.fork}" nowarn="${ build.nowarn}"
    deprecation="${build.deprecation}" debug="${debug.state}" compiler="${compiler}"
    source="${java.target_version}" target="${java.target_version }" memoryMaximumSize="1024m"
    includes="org/red5/server/script/**" listfiles="false"/>
 </target>
 <target name="compile_script_compatibility" unless=" java6.installed" depends="prepare">
  <javac sourcepath="" srcdir="${src.dir}" destdir="${classes.dir}" classpathref="script_compatibility.classpath"
    optimize="${ build.optimize}" verbose="${build.verbose}" fork="${build.fork}" nowarn="${build.nowarn}"
    deprecation="${build.deprecation}" debug="${debug.state}" compiler="${compiler}"
    source="${java.target_version}" target="${java.target_version}" memoryMaximumSize="1024m"
    includes="org/red5/server/script/**" listfiles="false"/>
 </target>
 <target name="compile_war" depends="-java6.check, -junit.check, prepare">
  <condition property="java.target_version" value="1.6">
   <not>
    <isset property=" java.target_version"/>
   </not>
  </condition>
  <echo message="Javac version: ${java.target_version}"/>
  <condition property="compiler" value="${build.compiler }${java.target_version}">
   <equals arg1="${build.compiler}" arg2="javac"/>
  </condition>
  <property name="compiler" value="${build.compiler}"/>
  <echo message="Compiler adapter name: ${compiler}"/>
  <mkdir dir="${classes.dir}/WEB-INF/classes"/>
  <javac sourcepath="" srcdir="${src.dir}" destdir="${ classes.dir}/WEB-INF/classes" classpathref="project.classpath"
    optimize="${build.optimize}" verbose="${build.verbose}" fork="${build.fork}" nowarn="${build.nowarn}"
    deprecation="${build.deprecation}" debug="${debug.state}" compiler="${compiler}"
    source="${java.target_version}" target="${java.target_version}" memoryMaximumSize="1024m"
    excludes="**/*.jsp,                 org/red5/server/script/**,                 org/red5/server/jetty/**,                 org/red5/server/midi/**,                 org/red5/server/net/rtmpt/*Loader.java,                 org/red5/server/net/servlet/RTMPTServlet.java,                 org/red5/server/net/servlet/StatisticsServlet.java,                 org/red5/server/net/servlet/ZAMFGatewayServlet.java,                 org/red5/server/ContextLoader.java,                 org/red5/server/DebugPooledByteBufferAllocator.java,                 org/red5/server/JettyLoader.java,                 org/red5/server/Standalone.java,                 org/red5/server/TomcatLoader.java"
    listfiles="false"/>
  <!-- only certain classes from selected demos are copied to the war -->
  <mkdir dir="${classes.dir}/tmp/admin/WEB-INF/classes"/>
  <mkdir dir="${ classes.dir}/tmp/echo/WEB-INF/classes"/>
  <mkdir dir="${classes.dir}/tmp/fitcDemo/WEB-INF/classes"/>
  <mkdir dir="${classes.dir}/tmp/videoconf/WEB-INF/classes"/>
  <mkdir dir="${ classes.dir}/tmp/SOSample/WEB-INF/classes"/>
  <mkdir dir="${classes.dir}/tmp/tutorial/WEB-INF/classes"/>
  <!-- demos are compiled to a temporary directory -->
  <antcall target="compile_demos" inheritAll="true" inheritRefs="true">
   <param name="classes.dir" value="${classes.dir}/WEB-INF/classes"/>
   <param name="tmp.war.dir" value="/../${classes.dir}/tmp"/>
  </antcall>
  <!-- copy compiled demo classes to the primary war classes directory -->
  <copy todir="${classes.dir}/WEB-INF/classes">
   <fileset dir="${classes.dir}/tmp/admin/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/echo/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/fitcDemo/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/videoconf/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/SOSample/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/tutorial/WEB-INF/classes"/>
  </copy>
  <!-- demo stream files -->
  <copy todir="${classes.dir}/streams">
   <fileset dir="${ webapps.dir}/videoconf/streams"/>
  </copy>
  <!-- remove directories we dont want in the war -->
  <delete dir="${classes.dir}/tmp"/>
  <delete dir="${classes.dir}/testcases"/>
  <antcall target="compile_script" inheritAll="true" inheritRefs="true">
   <param name="classes.dir" value="${classes.dir}/WEB-INF/classes"/>
  </antcall>
  <antcall target="compile_script_compatibility" inheritAll="true" inheritRefs="true">
   <param name="classes.dir" value="${classes.dir}/WEB-INF/classes"/>
  </antcall>
 </target>
 <target name="compile_war_java5" depends="-junit.check, prepare">
  <condition property="java.target_version" value="1.5">
   <not>
    <isset property="java.target_version"/>
   </not>
  </condition>
  <echo message="Javac version: ${java.target_version}"/>
  <condition property="compiler" value="${ build.compiler}${java.target_version}">
   <equals arg1="${build.compiler}" arg2="javac"/>
  </condition>
  <property name="compiler" value="${build.compiler }"/>
  <echo message="Compiler adapter name: ${compiler}"/>
  <mkdir dir="${classes.dir}/WEB-INF/classes"/>
  <javac sourcepath="" srcdir="${src.dir}" destdir="${ classes.dir}/WEB-INF/classes" classpathref="project_compatibility.classpath"
    optimize="${build.optimize}" verbose="${build.verbose}" fork="${build.fork}" nowarn="${ build.nowarn}"
    deprecation="${build.deprecation}" debug="${debug.state}" compiler="${compiler}"
    source="${java.target_version}" target="${java.target_version }" memoryMaximumSize="1024m"
    excludes="**/*.jsp,                 org/red5/server/script/**,                 org/red5/server/jetty/**,                 org/red5/server/midi/**,                 org/red5/server/net/rtmpt/* Loader.java,                 org/red5/server/net/servlet/RTMPTServlet.java,                 org/red5/server/net/servlet/StatisticsServlet.java,                 org/red5/server/net/servlet/ZAMFGatewayServlet.java,                 org/red5/server/ContextLoader.java,                 org/red5/server/DebugPooledByteBufferAllocator.java,                 org/red5/server/JettyLoader.java,                 org/red5/server/Standalone.java,                 org/red5/server/TomcatLoader.java"
    listfiles="false"/>
  <!-- only certain classes from selected demos are copied to the war -->
  <mkdir dir="${classes.dir}/tmp/admin/WEB-INF/classes"/>
  <mkdir dir="${ classes.dir}/tmp/echo/WEB-INF/classes"/>
  <mkdir dir="${classes.dir}/tmp/fitcDemo/WEB-INF/classes"/>
  <mkdir dir="${classes.dir}/tmp/videoconf/WEB-INF/classes"/>
  <mkdir dir="${ classes.dir}/tmp/SOSample/WEB-INF/classes"/>
  <mkdir dir="${classes.dir}/tmp/tutorial/WEB-INF/classes"/>
  <!-- demos are compiled to a temporary directory -->
  <antcall target="compile_demos" inheritAll="true" inheritRefs="true">
   <param name="classes.dir" value="${classes.dir}/WEB-INF/classes"/>
   <param name="tmp.war.dir" value="/../${classes.dir}/tmp"/>
  </antcall>
  <!-- copy compiled demo classes to the primary war classes directory -->
  <copy todir="${classes.dir}/WEB-INF/classes">
   <fileset dir="${classes.dir}/tmp/admin/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/echo/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/fitcDemo/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/videoconf/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/SOSample/WEB-INF/classes"/>
   <fileset dir="${classes.dir}/tmp/tutorial/WEB-INF/classes"/>
  </copy>
  <!-- demo stream files -->
  <copy todir="${classes.dir}/streams">
   <fileset dir="${ webapps.dir}/videoconf/streams"/>
  </copy>
  <!-- remove directories we dont want in the war -->
  <delete dir="${classes.dir}/tmp"/>
  <delete dir="${classes.dir}/testcases"/>
  <antcall target="compile_script" inheritAll="true" inheritRefs="true">
   <param name="classes.dir" value="${classes.dir}/WEB-INF/classes"/>
  </antcall>
  <antcall target="compile_script_compatibility" inheritAll="true" inheritRefs="true">
   <param name="classes.dir" value="${classes.dir}/WEB-INF/classes"/>
  </antcall>
 </target>
 <target name="javadoc_compatibility" description="Generate JavaDoc" unless="java6.installed">
  <echo message="Path: ${env.Path }"/>
  <!-- Determine the location of Suns api docs -->
  <condition property="javadoc.loc" value="javase/6">
   <equals arg1="${java6.installed}" arg2="true"/>
  </condition>
  <condition property="javadoc.loc" value="j2se/1.5.0">
   <not>
    <equals arg1="${java6.installed}" arg2="true"/>
   </not>
  </condition>
  <echo message="Javadoc api stub: ${javadoc.loc}"/>
  <javadoc useexternalfile="true" failonerror="false" verbose="false" classpathref="full_compatibility.classpath"
    destdir="${javadoc.dir}" author="true" version="true" use="true" splitindex="true"
    windowtitle="Red5 Server Documentation">
   <fileset dir="${ src.dir}" 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 &#169; 2006-2007 <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.*"/>
   <group title="Scripting" packages="org.red5.server.script:org.red5.server.script.* "/>
   <link href="http://java.sun.com/${javadoc.loc}/docs/api"/>
   <link href=" http://jetty.mortbay.org/apidocs"/>
   <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="javadoc" description="Generate JavaDoc" if="java6.installed">
  <echo message="Path: ${env.Path}"/>
  <!-- Determine the location of Suns api docs -->
  <condition property="javadoc.loc" value="javase/6">
   <equals arg1="${java6.installed}" arg2="true"/>
  </condition>
  <condition property="javadoc.loc" value="j2se/1.5.0">
   <not>
    <equals arg1="${java6.installed}" arg2="true"/>
   </not>
  </condition>
  <echo message="Javadoc api stub: ${javadoc.loc}"/>
  <javadoc useexternalfile="true" failonerror="false" verbose="false" classpathref=" full.classpath"
    destdir="${javadoc.dir}" author="true" version="true" use="true" splitindex="true"
    windowtitle="Red5 Server Documentation">
   <fileset dir="${src.dir}" 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 &#169; 2006-2007 <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.*"/>
   <group title="Scripting" packages="org.red5.server.script:org.red5.server.script.* "/>
   <link href="http://java.sun.com/${javadoc.loc}/docs/api"/>
   <link href=" http://jetty.mortbay.org/apidocs"/>
   <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>
 <!--
    yDoc - Javadoc UML Extension
    This will enable you to generate and automatically integrate clear and concise UML diagrams into your Java API documentation.
    http://www.yworks.com/en/products_ydoc.htm
    -->
 <target name="javadoc-ydoc">
  <!-- Determine the location of Suns api docs -->

  <condition property="javadoc.loc" value="javase/6">
   <equals arg1="${java6.installed}" arg2="true"/>
  </condition>
  <condition property=" javadoc.loc" value="j2se/1.5.0">
   <not>
    <equals arg1="${java6.installed}" arg2="true"/>
   </not>
  </condition>
  <echo message="Javadoc api stub: ${ javadoc.loc}"/>
  <property name="ydoc.home" value="C:/dev/ydoc"/>
  <property name="ps" value="${path.separator}"/>
  <javadoc source="${java.target_version }" destdir="${javadoc.dir}" additionalparam="-breakiterator"
    useexternalfile="true" failonerror="false" verbose="false" classpathref="full.classpath"
    author="true" version="true" use="true" splitindex="true" windowtitle="Red5 Server Documentation">
   <packageset dir="${src.dir}">
    <include name="org/red5/**"/>
    <exclude name="**/*.xml"/>
    <exclude name="**/*.xsd"/>
   </packageset>
   <doclet name="ydoc.doclets.YStandard" path="${ydoc.home}/lib/ydoc.jar${ps}${ ydoc.home}/lib/class2svg.jar${ps}${ydoc.home}/resources${ps}${ydoc.home}/doc">
    <param name="-author"/>
    <param name="-generic"/>
    <param name="-umlautogen"/>
    <param name="-filterpath" value="${ydoc.home}/lib/ydoc.jar"/>
    <param name="-filter" value="ydoc.filters.ExcludeFilter"/>
    <param name="-tag" value=" y.precondition"/>
    <param name="-tag" value="y.postcondition"/>
    <param name="-tag" value="y.complexity"/>
    <param name="-tag" value="param"/>
    <param name="-tag" value="return"/>
    <param name="-tag" value="see"/>
    <param name="-tag" value="y.uml"/>
   </doclet>
   <doctitle><![CDATA[<h1>Red5 Server Documentation</h1>]]></doctitle>
   <bottom><![CDATA[<i>Copyright &#169; 2006-2007 <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.*"/>
   <group title="Scripting" packages="org.red5.server.script:org.red5.server.script.* "/>
   <link href="http://java.sun.com/${javadoc.loc}/docs/api"/>
   <link href=" http://jetty.mortbay.org/apidocs"/>
   <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_java5" unless="java6.installed">
  <loadfile property="library.java5.jars" srcFile="${lib.dir}/java5/java5.properties">
   <filterchain>
    <tokenfilter>
     <trim/>
     <ignoreblank/>
    </tokenfilter>
    <striplinecomments>
     <comment value="#"/>
    </striplinecomments>
    <prefixlines prefix=" lib/java5/"/>
    <striplinebreaks/>
   </filterchain>
  </loadfile>
  <echo message="Jar launch classpath: conf/${library.jars} ${library.java5.jars } ${script.jars}"/>
  <jar destfile="red5.jar">
   <fileset dir="${classes.dir}">
    <include name="**"/>
    <exclude name="testcases/**"/>
   </fileset>
   <manifest>
    <attribute name="Built-By" value="RED5 Project - [email protected]"/>
    <attribute name="Built-On" value="${ build.TODAY}"/>
    <attribute name="Main-Class" value="org.red5.server.Standalone"/>
    <attribute name="Class-Path" value="conf/ ${library.jars} ${library.java5.jars } ${script.jars}"/>
   </manifest>
   <metainf dir="${src.dir}/META-INF">
    <include name="**"/>
   </metainf>
  </jar>
 </target>
 <target name="jar_java6" if=" java6.installed">
  <loadfile property="library.java6.jars" srcFile="${lib.dir}/java6.properties">
   <filterchain>
    <tokenfilter>
     <trim/>
     <ignoreblank/>
    </tokenfilter>
    <striplinecomments>
     <comment value="#"/>
    </striplinecomments>
    <prefixlines prefix=" lib/"/>
    <striplinebreaks/>
   </filterchain>
  </loadfile>
  <echo message="Jar launch classpath: conf/${library.jars} ${library.java6.jars} ${script.jars}"/>
  <jar destfile="red5.jar">
   <fileset dir="${ classes.dir}">
    <include name="**"/>
    <exclude name="testcases/**"/>
   </fileset>
   <manifest>
    <attribute name="Built-By" value="RED5 Project - [email protected]"/>
    <attribute name="Built-On" value="${build.TODAY}"/>
    <attribute name="Main-Class" value="org.red5.server.Standalone "/>
    <attribute name="Class-Path" value="conf/ ${library.jars} ${library.java6.jars} ${script.jars}"/>
   </manifest>
   <metainf dir="${src.dir}/META-INF">
    <include name="**"/>
   </metainf>
  </jar>
 </target>
 <target name="jar" description="Make Archive" depends="compile">
  <tstamp prefix="build">
   <format property="TODAY" pattern="d-MMMM-yyyy" locale="en"/>
  </tstamp>
  <!-- Load the library props files to generate a class-path for the jar -->
  <loadfile property=" library.jars" srcFile="${lib.dir}/library.properties">
   <filterchain>
    <tokenfilter>
     <trim/>
     <ignoreblank/>
    </tokenfilter>
    <striplinecomments>
     <comment value="#"/>
    </striplinecomments>
    <prefixlines prefix=" lib/"/>
    <striplinebreaks/>
   </filterchain>
  </loadfile>
  <loadfile property=" script.jars" srcFile="${lib.dir}/script.properties">
   <filterchain>
    <tokenfilter>
     <trim/>
     <ignoreblank/>
    </tokenfilter>
    <striplinecomments>
     <comment value="#"/>
    </striplinecomments>
    <prefixlines prefix=" lib/"/>
    <striplinebreaks/>
   </filterchain>
  </loadfile>
  <mkdir dir="${ classes.dir}/conf"/>
  <copy todir="${classes.dir}/conf">
   <fileset dir="${config.dir}"/>
  </copy>
  <antcall target="jar_java5" inheritAll="true" inheritRefs="true"/>
  <antcall target="jar_java6" inheritAll="true" inheritRefs="true"/>
  <jar destfile="${webapps.dir}/admin/WEB-INF/lib/admin.jar">
   <fileset dir="${webapps.dir }/admin/WEB-INF/classes">
    <include name="**"/>
   </fileset>
  </jar>
  <jar destfile="${webapps.dir}/echo/WEB-INF/lib/echo.jar">
   <fileset dir="${ webapps.dir}/echo/WEB-INF/classes">
    <include name="**"/>
   </fileset>
  </jar>
  <jar destfile="${webapps.dir}/fitcDemo/WEB-INF/lib/fitcDemo.jar">
   <fileset dir="${ webapps.dir}/fitcDemo/WEB-INF/classes">
    <include name="**"/>
   </fileset>
  </jar>
  <jar destfile="${webapps.dir}/midiDemo/WEB-INF/lib/midiDemo.jar">
   <fileset dir="${webapps.dir}/midiDemo/WEB-INF/classes">
    <include name="**"/>
   </fileset>
  </jar>
  <!-- copy scripts -->
  <mkdir dir="webapps/videoconf/WEB-INF/classes/applications"/>
  <copy todir="webapps/videoconf/WEB-INF/classes/applications">
   <fileset dir="webapps/videoconf/WEB-INF/src/applications"/>
  </copy>
  <jar destfile="webapps/videoconf/WEB-INF/lib/videoconf.jar">
   <fileset dir="webapps/videoconf/WEB-INF/classes">
    <include name="**"/>
   </fileset>
  </jar>
  <jar destfile="${webapps.dir}/test/WEB-INF/lib/test.jar">
   <fileset dir="${webapps.dir}/test/WEB-INF/classes">
    <include name="**"/>
   </fileset>
  </jar>
  <jar destfile="${webapps.dir}/tutorial/WEB-INF/lib/tutorial.jar">
   <fileset dir="${webapps.dir}/tutorial/WEB-INF/classes">
    <include name="**"/>
   </fileset>
  </jar>
 </target>
 <target name="dist" description="Make Binary Distribution" depends="clean, jar, javadoc, javadoc_compatibility">
  <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"/>
    <include name="build.properties"/>
   </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_java5" depends="compile" unless="java6.installed">
  <java classname="org.red5.server.Standalone " fork="true">
   <classpath>
    <pathelement location="${config.dir}"/>
    <pathelement location="${classes.dir}"/>
    <path refid="full_compatibility.classpath"/>
   </classpath>
   <jvmarg value="-Djava.security.manager"/>
   <jvmarg value="-Djava.security.policy=${config.dir}/red5.policy"/>
   <!-- enable the following 2 lines if your using jmx with ssl -->
   <!--
   <jvmarg value="-Djavax.net.ssl.keyStore=${config.dir}/keystore.jmx"/>
   <jvmarg value="-Djavax.net.ssl.keyStorePassword=password"/>
   -->
  </java>
 </target>
 <target name="server_java6" depends="compile" if="java6.installed">
  <java classname="org.red5.server.Standalone" fork="true">
   <classpath>
    <pathelement location="${config.dir}"/>
    <pathelement location="${classes.dir}"/>
    <path refid="full.classpath"/>
   </classpath>
   <jvmarg value="- Djava.security.manager"/>
   <jvmarg value="-Djava.security.policy=${config.dir}/red5.policy"/>
   <!-- enable the following 2 lines if your using jmx with ssl -->
   <!--
   <jvmarg value="- Djavax.net.ssl.keyStore=${config.dir}/keystore.jmx"/>
   <jvmarg value="-Djavax.net.ssl.keyStorePassword=password"/>
   -->
  </java>
 </target>
 <target name="server">
  <antcall target="server_java5" inheritAll="true" inheritRefs="true"/>
  <antcall target="server_java6" inheritAll="true" inheritRefs="true"/>
 </target>
 <target name="shutdown" depends="compile">
  <java classname="org.red5.server.Shutdown" fork="true">
   <classpath>
    <pathelement location="${ config.dir}"/>
    <pathelement location="${classes.dir}"/>
    <path refid="full.classpath"/>
   </classpath>
   <jvmarg value="-Djava.security.manager"/>
   <jvmarg value="-Djava.security.policy=${config.dir}/red5.policy"/>
   <!-- enable the following 5 lines if your using jmx with ssl and auth -->
   <!--
   <jvmarg value="-Djavax.net.ssl.trustStore=${config.dir}/truststore.jmx "/>
   <jvmarg value="-Djavax.net.ssl.trustStorePassword=trustword"/>
   <arg value="9999"/>
   <arg value="red5user"/>
   <arg value="changeme"/>
   -->
  </java>
 </target>
 <!-- Experimental UDP Server -->
 <target name="udp_java5" depends="compile" unless="java6.installed">
  <java classname=" org.red5.server.net.udp.Standalone" fork="true">
   <classpath>
    <pathelement location="${config.dir}"/>
    <pathelement location="${classes.dir}"/>
    <path refid="full_compatibility.classpath"/>
   </classpath>
   <jvmarg value="-Djava.security.manager"/>
   <jvmarg value="-Djava.security.policy=${config.dir}/red5.policy "/>
  </java>
 </target>
 <target name="udp_java6" depends="compile" if="java6.installed">
  <java classname="org.red5.server.net.udp.Standalone" fork="true">
   <classpath>
    <pathelement location="${config.dir}"/>
    <pathelement location="${classes.dir}"/>
    <path refid="full.classpath"/>
   </classpath>
   <jvmarg value="-Djava.security.manager"/>
   <jvmarg value="-Djava.security.policy=${config.dir}/red5.policy"/>
  </java>
 </target>
 <target name="udp">
  <antcall target="udp_java5" inheritAll="true" inheritRefs="true"/>
  <antcall target="udp_java6" inheritAll="true" inheritRefs="true"/>
 </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="webwar" description="Make Web Archive" depends="compile_war">
  <tstamp prefix="build">
   <format property="TODAY" pattern="d-MMMM-yyyy" locale="en"/>
  </tstamp>
  <copy todir="${classes.dir}">
   <fileset dir=".">
    <include name="license.txt"/>
   </fileset>
  </copy>
  <copy todir="${classes.dir}">
   <fileset dir="webapps/root">
    <include name="**/*.html"/>
    <include name="**/*.jsp"/>
    <include name="**/*.js"/>
    <include name="**/*.css"/>
    <include name="**/*.ico"/>
    <include name="**/*.swf"/>
    <include name="**/*.flv"/>
    <exclude name="WEB-INF"/>
   </fileset>
  </copy>
  <!-- rename index for war only -->
  <move file="${classes.dir}/index_war.html" tofile="${classes.dir}/index.html"/>
  <copy todir="${classes.dir}/WEB-INF">
   <fileset dir="conf/war">
    <include name="*.xml"/>
    <include name="*.properties"/>
    <exclude name="web.xml"/>
   </fileset>
  </copy>
  <!-- copy the jmx support files into the webapp classpath -->
  <copy todir="${classes.dir}/WEB-INF/classes">
   <fileset dir="conf">
    <include name="*.jmx"/>
    <include name="access.properties"/>
    <include name=" password.properties"/>
   </fileset>
  </copy>
  <!-- copy the red5 properties into the webapp classpath -->
  <copy todir="${classes.dir}/WEB-INF/classes" file="${classes.dir }/WEB-INF/red5.properties"/>
  <war destfile="${dist.dir}/red5.war" webxml="conf/war/web.xml">
   <fileset dir="${classes.dir}"/>
   <lib dir="${lib.dir}">
    <exclude name="test/**"/>
    <exclude name="java5/**"/>
    <exclude name="*.properties"/>
    <exclude name="jsp*.jar"/>
    <exclude name="servlet*.jar"/>
    <exclude name="catalina*.jar"/>
    <exclude name="tomcat*.jar"/>
    <exclude name="jetty*.jar"/>
    <exclude name="jasper*.jar"/>
    <exclude name=" ehcache-1.2.3.jar"/>
    <exclude name="whirlycache-1.0.1_lite.jar"/>
    <exclude name="GroboUtils-5-core.jar"/>
    <exclude name="junit*.jar"/>
   </lib>
   <manifest>
    <attribute name="Built-By" value="RED5 Project - [email protected]"/>
    <attribute name="Built-On" value="${ build.TODAY}"/>
   </manifest>
  </war>
 </target>
 <target name="webwar_java5" description="Make Web Archive for Java 1.5" depends="compile_war_java5">
  <tstamp prefix="build">
   <format property="TODAY" pattern="d-MMMM-yyyy" locale="en"/>
  </tstamp>
  <copy todir="${classes.dir}">
   <fileset dir=".">
    <include name="license.txt"/>
   </fileset>
  </copy>
  <copy todir="${classes.dir}">
   <fileset dir="webapps/root">
    <include name="**/*.html"/>
    <include name="**/*.jsp"/>
    <include name="**/*.js"/>
    <include name="**/*.css"/>
    <include name="**/*.ico"/>
    <include name="**/*.swf"/>
    <include name="**/*.flv"/>
    <exclude name="WEB-INF"/>
   </fileset>
  </copy>
  <!-- copy the jmx support files into the webapp classpath -->
  <copy todir="${classes.dir}/WEB-INF/classes">
   <fileset dir="conf">
    <include name="*.jmx"/>
    <include name="access.properties"/>
    <include name=" password.properties"/>
   </fileset>
  </copy>
  <!-- rename index for war only -->
  <move file="${classes.dir}/index_war.html" tofile="${classes.dir}/index.html"/>
  <copy todir="${classes.dir}/WEB-INF">
   <fileset dir="conf/war">
    <include name="*.xml"/>
    <include name="*.properties"/>
    <exclude name=" web.xml"/>
   </fileset>
  </copy>
  <!-- copy the red5 properties into the webapp classpath -->
  <copy todir="${classes.dir}/WEB-INF/classes" file="${classes.dir}/WEB-INF/red5.properties"/>
  <war destfile="${dist.dir}/red5.war" webxml="conf/war/web.xml">
   <fileset dir="${classes.dir}"/>
   <lib dir="${lib.dir}">
    <exclude name="test/**"/>
    <exclude name="java5/**"/>
    <exclude name="mina*.jar"/>
    <exclude name="*.properties"/>
    <exclude name="jsp*.jar"/>
    <exclude name="servlet*.jar"/>
    <exclude name="catalina*.jar"/>
    <exclude name="tomcat*.jar"/>
    <exclude name="jetty*.jar"/>
    <exclude name="jasper*.jar"/>
    <exclude name=" ehcache-1.2.3.jar"/>
    <exclude name="whirlycache-1.0.1_lite.jar"/>
    <exclude name="GroboUtils-5-core.jar"/>
    <exclude name="junit*.jar"/>
   </lib>
   <lib dir="${lib.dir}/java5">
    <exclude name="*.properties"/>
   </lib>
   <manifest>
    <attribute name="Built-By" value="RED5 Project - [email protected]"/>
    <attribute name="Built-On" value="${build.TODAY}"/>
   </manifest>
  </war>
 </target>
 <target name="all" depends="clean, prepare, compile, jar, javadoc"/>
 <target name="usage">
  <echo message="Type ant -p for available targets"/>
 </target>
</project>


_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org

Reply via email to