<?xml version="1.0" ?>
<project name="OpenSim.Framework.Communications" default="build">
    <target name="build">
        <echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" />
        <mkdir dir="${project::get-base-directory()}/${build.dir}" />
        <copy todir="${project::get-base-directory()}/${build.dir}" flatten="true">
            <fileset basedir="${project::get-base-directory()}">
            </fileset>
        </copy>
        <copy todir="${project::get-base-directory()}/${build.dir}">
            <fileset basedir=".">
            </fileset>
        </copy>
        <csc target="library" debug="${build.debug}" unsafe="False" warnaserror="False" define="TRACE;DEBUG" main="" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.dll">
            <resources prefix="OpenSim.Framework.Communications" dynamicprefix="true" >
            </resources>
            <sources failonempty="true">
                <include name="CAPSService.cs" />
                <include name="CommunicationsManager.cs" />
                <include name="GenericAsyncResult.cs" />
                <include name="GridInfoService.cs" />
                <include name="IAvatarService.cs" />
                <include name="IGridServices.cs" />
                <include name="IInterRegionCommunications.cs" />
                <include name="IInterServiceInventoryServices.cs" />
                <include name="IInventoryServices.cs" />
                <include name="IMessagingService.cs" />
                <include name="ISecureInventoryService.cs" />
                <include name="IUserService.cs" />
                <include name="IUserServiceAdmin.cs" />
                <include name="InventoryServiceBase.cs" />
                <include name="LoginResponse.cs" />
                <include name="LoginService.cs" />
                <include name="RestClient.cs" />
                <include name="UserManagerBase.cs" />
                <include name="Cache/AssetCache.cs" />
                <include name="Cache/AssetServerBase.cs" />
                <include name="Cache/AuthedSessionCache.cs" />
                <include name="Cache/CachedUserInfo.cs" />
                <include name="Cache/CryptoGridAssetClient.cs" />
                <include name="Cache/FileAssetClient.cs" />
                <include name="Cache/GridAssetClient.cs" />
                <include name="Cache/InventoryFolderImpl.cs" />
                <include name="Cache/LibraryRootFolder.cs" />
                <include name="Cache/SQLAssetServer.cs" />
                <include name="Cache/UserProfileCacheService.cs" />
                <include name="Capabilities/Caps.cs" />
                <include name="Capabilities/CapsHandlers.cs" />
                <include name="Capabilities/LLSD.cs" />
                <include name="Capabilities/LLSDArray.cs" />
                <include name="Capabilities/LLSDAssetUploadComplete.cs" />
                <include name="Capabilities/LLSDAssetUploadRequest.cs" />
                <include name="Capabilities/LLSDAssetUploadResponse.cs" />
                <include name="Capabilities/LLSDCapEvent.cs" />
                <include name="Capabilities/LLSDEmpty.cs" />
                <include name="Capabilities/LLSDHelpers.cs" />
                <include name="Capabilities/LLSDInventoryItem.cs" />
                <include name="Capabilities/LLSDItemUpdate.cs" />
                <include name="Capabilities/LLSDMapLayer.cs" />
                <include name="Capabilities/LLSDMapLayerResponse.cs" />
                <include name="Capabilities/LLSDMapRequest.cs" />
                <include name="Capabilities/LLSDMethod.cs" />
                <include name="Capabilities/LLSDMethodString.cs" />
                <include name="Capabilities/LLSDParcelVoiceInfoResponse.cs" />
                <include name="Capabilities/LLSDRemoteParcelResponse.cs" />
                <include name="Capabilities/LLSDStreamHandler.cs" />
                <include name="Capabilities/LLSDTaskInventoryUploadComplete.cs" />
                <include name="Capabilities/LLSDTaskScriptUpdate.cs" />
                <include name="Capabilities/LLSDTest.cs" />
                <include name="Capabilities/LLSDType.cs" />
                <include name="Capabilities/LLSDVoiceAccountResponse.cs" />
                <include name="Limit/IRequestLimitStrategy.cs" />
                <include name="Limit/NullLimitStrategy.cs" />
                <include name="Limit/RepeatLimitStrategy.cs" />
                <include name="Limit/TimeLimitStrategy.cs" />
                <include name="Properties/AssemblyInfo.cs" />
                <include name="XMPP/XmppError.cs" />
                <include name="XMPP/XmppIqStanza.cs" />
                <include name="XMPP/XmppMessageStanza.cs" />
                <include name="XMPP/XmppPresenceStanza.cs" />
                <include name="XMPP/XmppSerializer.cs" />
                <include name="XMPP/XmppStanza.cs" />
                <include name="XMPP/XmppWriter.cs" />
            </sources>
            <references basedir="${project::get-base-directory()}">
                <lib>
                    <include name="${project::get-base-directory()}" />
                    <include name="${project::get-base-directory()}/${build.dir}" />
                </lib>
                <include name="../../../bin/log4net.dll" />
                <include name="../../../bin/Nini.dll" />
                <include name="../../../bin/OpenMetaverse.dll" />
                <include name="../../../bin/OpenMetaverseTypes.dll" />
                <include name="../../../bin/OpenSim.Data.dll" />
                <include name="../../../bin/OpenSim.Framework.dll" />
                <include name="../../../bin/OpenSim.Framework.AssetLoader.Filesystem.dll" />
                <include name="../../../bin/OpenSim.Framework.Console.dll" />
                <include name="../../../bin/OpenSim.Framework.Servers.dll" />
                <include name="../../../bin/OpenSim.Framework.Statistics.dll" />
                <include name="../../../bin/OpenSim.Region.Interfaces.dll" />
                <include name="System.dll" />
                <include name="System.Web.dll" />
                <include name="System.Xml.dll" />
                <include name="../../../bin/XMLRPC.dll" />
            </references>
        </csc>
        <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../../bin/" />
        <mkdir dir="${project::get-base-directory()}/../../../bin/"/>
        <copy todir="${project::get-base-directory()}/../../../bin/">
            <fileset basedir="${project::get-base-directory()}/${build.dir}/" >
                <include name="*.dll"/>
                <include name="*.exe"/>
                <include name="*.mdb" if='${build.debug}'/>
            </fileset>
        </copy>
    </target>
    <target name="clean">
        <delete dir="${obj.dir}" failonerror="false" />
        <delete dir="${bin.dir}" failonerror="false" />
    </target>
    <target name="doc" description="Creates documentation.">
    </target>
</project>
