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 © 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 © 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 © 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