OSDN Git Service

Initial Check-in of Prebuild(XML) system for Radegast
authorDouglas R. Miles <logicmoo@gmail.com>
Wed, 7 Oct 2009 03:21:46 +0000 (03:21 +0000)
committerDouglas R. Miles <logicmoo@gmail.com>
Wed, 7 Oct 2009 03:21:46 +0000 (03:21 +0000)
git-svn-id: https://radegast.googlecode.com/svn/trunk@324 f7a694da-4d33-11de-9ad6-1127a62b9fcd

Radegast/Prebuild.exe [new file with mode: 0644]
prebuild.xml [new file with mode: 0644]
runprebuild.sh [new file with mode: 0644]
runprebuild2008.bat [new file with mode: 0644]

diff --git a/Radegast/Prebuild.exe b/Radegast/Prebuild.exe
new file mode 100644 (file)
index 0000000..da56387
Binary files /dev/null and b/Radegast/Prebuild.exe differ
diff --git a/prebuild.xml b/prebuild.xml
new file mode 100644 (file)
index 0000000..20bf29b
--- /dev/null
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<Prebuild xmlns="prebuild-1.7.xsd" version="1.7">
+    <Solution name="Radegast" activeConfig="Debug" version="0.6.0-$Rev: 5161 $">
+        <Configuration name="Debug">
+            <Options>
+                <CompilerDefines>TRACE;DEBUG</CompilerDefines>
+                <OptimizeCode>false</OptimizeCode>
+                <CheckUnderflowOverflow>false</CheckUnderflowOverflow>
+                <AllowUnsafe>true</AllowUnsafe>
+                <WarningLevel>3</WarningLevel>
+                <WarningsAsErrors>false</WarningsAsErrors>
+                <SuppressWarnings>1591,1574,0419,0618,0414,0169</SuppressWarnings>
+                <OutputPath>bin</OutputPath>
+                <DebugInformation>true</DebugInformation>
+                <IncrementalBuild>true</IncrementalBuild>
+                <NoStdLib>false</NoStdLib>
+                <PlatformTarget>x86</PlatformTarget>
+            </Options>
+        </Configuration>
+        <Configuration name="Release">
+            <Options>
+                <CompilerDefines>TRACE</CompilerDefines>
+                <OptimizeCode>true</OptimizeCode>
+                <CheckUnderflowOverflow>false</CheckUnderflowOverflow>
+                <AllowUnsafe>true</AllowUnsafe>
+                <WarningLevel>3</WarningLevel>
+                <WarningsAsErrors>false</WarningsAsErrors>
+                <SuppressWarnings>1591,1574,0419,0618,0414,0169</SuppressWarnings>
+                <OutputPath>bin</OutputPath>
+                <DebugInformation>false</DebugInformation>
+                <IncrementalBuild>true</IncrementalBuild>
+                <NoStdLib>false</NoStdLib>
+                <PlatformTarget>x86</PlatformTarget>
+            </Options>
+        </Configuration>
+
+
+        <!-- External Libraries -->
+
+        <Project name="HttpServer" path="../libopenmetaverse/HttpServer" type="Library" guid="455E7D70-1C85-4D7F-9F01-DC801B8B8C34">
+            <Configuration name="Debug">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                </Options>
+            </Configuration>
+            <Configuration name="Release">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                </Options>
+            </Configuration>
+
+            <ReferencePath>../../radegast/bin/</ReferencePath>
+            <Reference name="System"/>
+            <Reference name="System.Web"/>
+            <Files>
+                <Match pattern="*.cs" recurse="true"/>
+            </Files>
+        </Project>
+
+        <!-- Libraries -->
+
+        <Project name="OpenMetaverseTypes" path="../libopenmetaverse/OpenMetaverseTypes" type="Library" rootNamespace="OpenMetaverse" frameworkVersion="v3_5">
+            <Configuration name="Debug">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                    <XmlDocFile>OpenMetaverseTypes.XML</XmlDocFile>
+                </Options>
+            </Configuration>
+            <Configuration name="Release">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                    <XmlDocFile>OpenMetaverseTypes.XML</XmlDocFile>
+                    <PlatformTarget>x86</PlatformTarget>
+                </Options>
+            </Configuration>
+
+            <ReferencePath>../../radegast/bin/</ReferencePath>
+            <Reference name="System"/>
+            <Reference name="System.Core"/>
+            <Reference name="System.Xml"/>
+            <Files>
+                <Match pattern="*.cs" recurse="true"/>
+            </Files>
+        </Project>
+
+        <Project name="OpenMetaverse.StructuredData" path="../libopenmetaverse/OpenMetaverse.StructuredData" type="Library" rootNamespace="OpenMetaverse.StructuredData" frameworkVersion="v3_5">
+            <Configuration name="Debug">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                    <XmlDocFile>OpenMetaverse.StructuredData.XML</XmlDocFile>
+                </Options>
+            </Configuration>
+            <Configuration name="Release">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                    <XmlDocFile>OpenMetaverse.StructuredData.XML</XmlDocFile>
+                </Options>
+            </Configuration>
+
+            <ReferencePath>../../radegast/bin/</ReferencePath>
+            <Reference name="System"/>
+            <Reference name="System.Xml"/>
+            <Reference name="OpenMetaverseTypes"/>
+            <Files>
+                <Match pattern="*.cs" recurse="true"/>
+            </Files>
+        </Project>
+
+        <Project name="OpenMetaverseCore" path="../libopenmetaverse/OpenMetaverseCore" type="Library" rootNamespace="OpenMetaverseCore" frameworkVersion="v3_5">
+            <Configuration name="Debug">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                    <XmlDocFile>OpenMetaverseCore.XML</XmlDocFile>
+                </Options>
+            </Configuration>
+            <Configuration name="Release">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                    <XmlDocFile>OpenMetaverseCore.XML</XmlDocFile>
+                    <PlatformTarget>x86</PlatformTarget>
+                </Options>
+            </Configuration>
+
+            <ReferencePath>../../radegast/bin/</ReferencePath>
+            <Reference name="System"/>
+            <Reference name="System.Core"/>
+            <Reference name="System.Xml"/>
+            <Reference name="OpenMetaverse.StructuredData" localCopy="false"/>
+            <Reference name="OpenMetaverseTypes" localCopy="false"/>
+            <Files>
+                <Match pattern="*.cs" recurse="true"/>
+            </Files>
+        </Project>
+
+        <Project name="OpenMetaverse.Http" path="../libopenmetaverse/OpenMetaverse.Http" type="Library" rootNamespace="OpenMetaverse.Http" frameworkVersion="v3_5">
+            <Configuration name="Debug">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                </Options>
+            </Configuration>
+            <Configuration name="Release">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                    <XmlDocFile>OpenMetaverse.Http.XML</XmlDocFile>
+                </Options>
+            </Configuration>
+
+            <ReferencePath>../../libopenmetaverse/bin/</ReferencePath>
+            <Reference name="System"/>
+            <Reference name="System.Xml"/>
+            <Reference name="OpenMetaverseTypes"/>
+            <Reference name="OpenMetaverse.StructuredData"/>
+            <Reference name="HttpServer"/>
+            <Reference name="log4net"/>
+            <Reference name="Mono.Security"/>
+            <Files>
+                <Match pattern="*.cs" recurse="true"/>
+            </Files>
+        </Project>
+
+        <Project name="OpenMetaverse" path="../libopenmetaverse/OpenMetaverse" type="Library" rootNamespace="OpenMetaverse" frameworkVersion="v3_5">
+            <Configuration name="Debug">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                    <XmlDocFile>OpenMetaverse.XML</XmlDocFile>
+                </Options>
+            </Configuration>
+            <Configuration name="Release">
+                <Options>
+                    <OutputPath>../../radegast/bin/</OutputPath>
+                    <XmlDocFile>OpenMetaverse.XML</XmlDocFile>
+                </Options>
+            </Configuration>
+
+            <ReferencePath>../../libopenmetaverse/bin/</ReferencePath>
+            <Reference name="System"/>
+            <Reference name="System.Core"/>
+            <Reference name="System.Xml"/>
+            <Reference name="System.Data"/>
+            <Reference name="System.Drawing"/>
+            <Reference name="log4net"/>
+            <Reference name="OpenMetaverseTypes"/>
+            <Reference name="OpenMetaverse.StructuredData"/>
+            <Reference name="OpenMetaverseCore"/>
+            <Reference name="OpenMetaverse.Http"/>
+            <Reference name="XMLRPC"/>
+            <Files>
+                <Match pattern="*.cs" recurse="true"/>
+            </Files>
+        </Project>
+
+        <!-- Main App -->
+
+        <Project name="Radegast" path="Radegast" type="exe" frameworkVersion="v3_5">
+            <Configuration name="Debug">
+                <Options>
+                    <OutputPath>../bin/</OutputPath>
+                </Options>
+            </Configuration>
+            <Configuration name="Release">
+                <Options>
+                    <SuppressWarnings>1591,1574,0419,0618,0414,0169</SuppressWarnings>
+                    <OutputPath>../bin/</OutputPath>
+                    <PlatformTarget>x86</PlatformTarget>
+                </Options>
+            </Configuration>
+
+            <ReferencePath>../bin/</ReferencePath>
+            <Reference name="fmodex-dotnet.dll" localCopy="false"/>
+            <Reference name="System.Drawing" localCopy="false"/>
+            <Reference name="System.Windows.Forms" localCopy="false"/>
+            <Reference name="OpenMetaverse" localCopy="false"/>
+            <Reference name="OpenMetaverseTypes" localCopy="false"/>
+            <Reference name="OpenMetaverseCore" localCopy="false"/>
+            <Reference name="OpenMetaverse.StructuredData"/>
+            <Reference name="System.Data" localCopy="false"/>
+            <Reference name="log4net" localCopy="false" />
+
+            <Reference name="System" localCopy="false" />
+            <Reference name="System.Core" localCopy="false" />
+            <Reference name="System.Web" localCopy="false" />
+            <Reference name="System.Windows.Forms" localCopy="false" />
+            <Reference name="System.Xml" localCopy="false" />
+            <Reference name="Tao.OpenGl" localCopy="false"/>
+            <Reference name="Tao.Platform.Windows" localCopy="false" />
+            <Reference name="Tools" localCopy="false" />
+            <Files>
+                <Match path="." pattern="*.cs" recurse="true" subType="Code">
+                    <Exclude name="AssemblyInfo.cs"/>
+                </Match>
+                <Match path="Properties" pattern="*.cs"  recurse="true"  subType="Form"/>
+                <Match pattern="*.resx" buildAction="EmbeddedResource" recurse="true"/>
+            </Files>
+        </Project>
+
+
+        <!-- Plugins -->
+
+        <Project name="Radegast.Plugin.Alice" path="plugins/Radegast.Plugin.Alice" type="Library" frameworkVersion="v3_5">
+            <Configuration name="Debug">
+                <Options>
+                    <OutputPath>../../bin/</OutputPath>
+                </Options>
+            </Configuration>
+            <Configuration name="Release">
+                <Options>
+                    <SuppressWarnings>1591,1574,0419,0618,0414,0169</SuppressWarnings>
+                    <OutputPath>../../bin/</OutputPath>
+                    <PlatformTarget>x86</PlatformTarget>
+                </Options>
+            </Configuration>
+
+            <ReferencePath>../../bin/</ReferencePath>
+            <Reference name="System"/>
+            <Reference name="System.Core"/>
+            <Reference name="System.Xml"/>
+            <Reference name="System.Data"/>
+            <Reference name="System.Drawing"/>
+            <Reference name="System.Xml.Linq" localCopy="false"/>
+            <Reference name="OpenMetaverse" localCopy="false"/>
+            <Reference name="OpenMetaverseTypes" localCopy="false"/>
+            <Reference name="OpenMetaverseCore" localCopy="false"/>
+            <Reference name="OpenMetaverse.StructuredData"/>
+            <Reference name="System.Windows.Forms" localCopy="false"/>
+            <Reference name="assemblies/AIMLbot.dll" localCopy="false" />
+            <Reference name="Radegast.exe" localCopy="false" />
+            <Files>
+                <Match path="." pattern="*.cs" recurse="true" subType="Code">
+                    <Exclude name="AssemblyInfo.cs"/>
+                </Match>
+                <Match path="Properties" pattern="*.cs"  recurse="true"  subType="Form"/>
+                <Match pattern="*.resx" buildAction="EmbeddedResource" recurse="true"/>
+                <Match path="." pattern="*.aiml" recurse="true" buildAction="Content" copyToOutput="Always"/>
+                <Match path="." pattern="*.xml" recurse="true" buildAction="Content" copyToOutput="Always"/>
+            </Files>
+        </Project>
+
+
+
+        <Project name="Radegast.Plugin.Demo" path="plugins/Radegast.Plugin.Demo" type="Library" frameworkVersion="v3_5">
+            <Configuration name="Debug">
+                <Options>
+                    <OutputPath>../../bin/</OutputPath>
+                </Options>
+            </Configuration>
+            <Configuration name="Release">
+                <Options>
+                    <SuppressWarnings>1591,1574,0419,0618,0414,0169</SuppressWarnings>
+                    <OutputPath>../../bin/</OutputPath>
+                    <PlatformTarget>x86</PlatformTarget>
+                </Options>
+            </Configuration>
+
+            <ReferencePath>../../bin/</ReferencePath>
+            <Reference name="System"/>
+            <Reference name="System.Core"/>
+            <Reference name="System.Xml"/>
+            <Reference name="System.Data"/>
+            <Reference name="System.Drawing"/>
+            <Reference name="System.Xml.Linq" localCopy="false"/>
+            <Reference name="OpenMetaverse" localCopy="false"/>
+            <Reference name="OpenMetaverseTypes" localCopy="false"/>
+            <Reference name="OpenMetaverseCore" localCopy="false"/>
+            <Reference name="OpenMetaverse.StructuredData"/>
+            <Reference name="System.Windows.Forms" localCopy="false"/>
+            <Reference name="Radegast" localCopy="false" />
+            <Files>
+                <Match path="." pattern="*.cs" recurse="true" subType="Code">
+                    <Exclude name="AssemblyInfo.cs"/>
+                </Match>
+                <Match pattern="*.resx" buildAction="EmbeddedResource" recurse="true"/>
+                <Match path="Properties" pattern="*.cs"  recurse="true"  subType="Form"/>
+            </Files>
+        </Project>
+
+  
+
+    </Solution>
+
+</Prebuild>
+
+
diff --git a/runprebuild.sh b/runprebuild.sh
new file mode 100644 (file)
index 0000000..6e956b0
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+mono bin/Prebuild.exe /target nant
+mono bin/Prebuild.exe /target monodev
+mono bin/Prebuild.exe /target vs2008
+
+if [ x$1 == xnant ]; then
+    nant -buildfile:Radegast.build
+    RES=$?
+    echo Build Exit Code: $RES
+    if [ x$2 == xruntests ]; then
+        nunit-console2 bin/Radegast.Tests.dll /exclude=Network /labels /xml=testresults.xml
+    fi
+    
+    exit $RES
+fi
+
+if [ x$1 == xopenjpeg ]; then
+   ARCH=`arch`
+   cd openjpeg-dotnet
+   if [ $ARCH == x86_64 ]; then
+      # since we're a 64bit host, compile a 32bit vesion of openjpeg
+      make ARCH=-i686 ARCHFLAGS=-m32 install
+   fi
+      # compile for default detected platform
+      make install
+fi
diff --git a/runprebuild2008.bat b/runprebuild2008.bat
new file mode 100644 (file)
index 0000000..34e0eea
--- /dev/null
@@ -0,0 +1,65 @@
+@echo off\r
+::\r
+:: Prebuild generator for the Radegast Library\r
+::\r
+:: Command Line Options:\r
+:: (none)            - create solution/project files and create compile.bat file to build solution\r
+:: msbuild           - Create project files, compile solution\r
+:: msbuild runtests  - create project files, compile solution, run unit tests\r
+:: msbuild docs      - create project files, compile solution, build API documentation\r
+:: msbuild docs dist - Create project files, compile solution, run unit tests, build api documentation, create binary zip\r
+::                   - and exe installer\r
+::\r
+:: nant                     - Create project files, run nant to compile solution\r
+:: nant runtests     - Create project files, run nant to compile solution, run unit tests\r
+::\r
+\r
+echo ##########################################\r
+echo creating prebuild files for: vs2008\r
+echo Parameters: %1 %2\r
+echo ##########################################\r
+\r
+:: run prebuild to generate solution/project files from prebuild.xml configuration file\r
+Radegast\Prebuild.exe /target vs2008\r
+\r
+:: build compile.bat file based on command line parameters\r
+echo @echo off > compile.bat\r
+if(.%1)==(.) echo C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild Radegast.sln >> compile.bat\r
+\r
+if(.%1)==(.msbuild) echo echo ==== COMPILE BEGIN ==== >> compile.bat\r
+if(.%1)==(.msbuild) echo %SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe /p:Configuration=Release Radegast.sln >> compile.bat\r
+if(.%1)==(.msbuild) echo IF ERRORLEVEL 1 GOTO FAIL >> compile.bat\r
+\r
+if(.%1)==(.nant) echo nant >> compile.bat\r
+if(.%1)==(.nant) echo IF ERRORLEVEL 1 GOTO FAIL >> compile.bat\r
+\r
+if(.%3)==(.docs) echo echo ==== GENERATE DOCUMENTATION BEGIN ==== >> compile.bat\r
+if(.%2)==(.docs) echo %SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe /p:Configuration=Release docs\Radegast.shfbproj >> compile.bat\r
+if(.%2)==(.docs) echo IF ERRORLEVEL 1 GOTO FAIL >> compile.bat\r
+if(.%2)==(.docs) echo 7z.exe a -tzip docs\documentation.zip docs\trunk >> compile.bat\r
+if(.%2)==(.docs) echo IF ERRORLEVEL 1 GOTO FAIL >> compile.bat\r
+\r
+if(.%2)==(.runtests) echo echo ==== UNIT TESTS BEGIN ==== >> compile.bat\r
+if(.%2)==(.runtests) echo nunit-console bin\Radegast.Tests.dll /exclude:Network /nodots /labels /xml:testresults.xml >> compile.bat\r
+\r
+if(.%2)==(.runtests) echo IF ERRORLEVEL 1 GOTO FAIL >> compile.bat\r
+\r
+:: nsis compiler needs to be in path\r
+if(.%3)==(.dist) echo echo ==== GENERATE DISTRIBUTION BEGIN ==== >> compile.bat\r
+if(.%3)==(.dist) echo makensis.exe /DPlatform=test docs\Radegast-installer.nsi >> compile.bat\r
+if(.%3)==(.dist) echo IF ERRORLEVEL 1 GOTO FAIL >> compile.bat\r
+if(.%3)==(.dist) echo 7z.exe a -tzip dist\Radegast-dist.zip @docs\distfiles.lst >> compile.bat\r
+if(.%3)==(.dist) echo IF ERRORLEVEL 1 GOTO FAIL >> compile.bat\r
+\r
+echo :SUCCESS >> compile.bat\r
+echo echo Build Successful! >> compile.bat\r
+echo exit /B 0 >> compile.bat\r
+echo :FAIL >> compile.bat\r
+echo echo Build Failed, check log for reason >> compile.bat\r
+echo exit /B 1 >> compile.bat\r
+\r
+:: perform the appropriate action\r
+if(.%1)==(.msbuild) compile.bat\r
+if(.%1)==(.nant) compile.bat\r
+if(.%1)==(.dist) compile.bat\r
+\r