summaryrefslogtreecommitdiff
path: root/qpid/cc
diff options
context:
space:
mode:
authorArnaud Simon <arnaudsimon@apache.org>2008-10-17 12:51:51 +0000
committerArnaud Simon <arnaudsimon@apache.org>2008-10-17 12:51:51 +0000
commitb5306d0b1fad54f7094df8e8ee4c26c2a1a748b8 (patch)
tree8aae6cd0440721b21fd5dbdf670906f7a68b03be /qpid/cc
parent825b81a14b54f02ebe415366ac66205b00429ab5 (diff)
downloadqpid-python-b5306d0b1fad54f7094df8e8ee4c26c2a1a748b8.tar.gz
qpid-1371: added .net cc support + cc .net interop support
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@705588 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cc')
-rw-r--r--qpid/cc/README30
-rw-r--r--qpid/cc/config.xml5
-rw-r--r--qpid/cc/config/dotnet-trunk.xml63
-rw-r--r--qpid/cc/scripts/dotnetbuild.sh21
-rwxr-xr-xqpid/cc/scripts/verify2
-rwxr-xr-xqpid/cc/scripts/verify_all42
6 files changed, 159 insertions, 4 deletions
diff --git a/qpid/cc/README b/qpid/cc/README
index b0e3385d6d..8d1286f6d7 100644
--- a/qpid/cc/README
+++ b/qpid/cc/README
@@ -20,15 +20,41 @@ Download CruiseControl from: http://cruisecontrol.sourceforge.net/
Set system variables
******************
-Prior to use CruiseControl you'll need to set two system variables:
+Prior to use CruiseControl you'll need to set three system variables:
Variable Value
CC_HOME path to your qpid project, for example /home/foo/projects/qpid
CPPSTORE_HOME path to your C++ store, for example /home/foo/projects/bdbstore-cpp
+NANT_HOME path to the nant directory -- only required for .net client --
+ (nant can be downloaded from http://nant.sourceforge.net/)
Edit the file CC_HOME/config.properties and set the properties so to match your system requirements.
Notes
- * the cpp store can be checked out from: https://svn.jboss.org/repos/rhmessaging/store/trunk/cpp
+ * the cpp store can be checked out from: https://svn.jboss.org/repos/rhmessaging/store/trunk/cpp
* Only unix scrips are currently provided
+ *
+
+
+******************
+Installing Mono
+******************
+For building the .net client on a Linux platform you need to install Mono.
+Mono website is: http://www.mono-project.com/Main_Page
+Here are the instruction for a RHEL5 platform:
+
+Create the file "/etc/yum.repos.d/mono.repo" and add the following lines:
+
+[Mono]
+name=Mono Stack (RHEL_5)
+type=rpm-md
+baseurl=http://download.opensuse.org/repositories/Mono/RHEL_5/
+gpgcheck=1
+gpgkey=http://download.opensuse.org/repositories/Mono/RHEL_5/repodata/repomd.xml.key
+enabled=1
+
+Enter the following command to install Mono:
+
+# yum install mono-complete
+
******************
Running CruiseControl
diff --git a/qpid/cc/config.xml b/qpid/cc/config.xml
index 2436cec1ca..ba89acc511 100644
--- a/qpid/cc/config.xml
+++ b/qpid/cc/config.xml
@@ -22,13 +22,16 @@ under the License.
<property environment="env" toupper="true"/>
<!-- Set a collection of global properties from the properties file "config.properties" -->
- <property file="config.properties"/>
+ <property file="${env.CC_HOME}/cc/config.properties"/>
<include.projects file="./config/cpp-trunk.xml"/>
<include.projects file="./config/java-trunk.xml"/>
+ <include.projects file="./config/dotnet-trunk.xml"/>
<include.projects file="./config/bdbstore-cpp-trunk.xml"/>
<include.projects file="./config/cpp-perftests.xml"/>
<include.projects file="./config/example-automation.xml"/>
<include.projects file="./config/java-perftests.xml"/>
<include.projects file="./config/java-jmstck.xml"/>
</cruisecontrol>
+
+
diff --git a/qpid/cc/config/dotnet-trunk.xml b/qpid/cc/config/dotnet-trunk.xml
new file mode 100644
index 0000000000..0d922967e4
--- /dev/null
+++ b/qpid/cc/config/dotnet-trunk.xml
@@ -0,0 +1,63 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<cruisecontrol>
+ <project name="qpid-dotnet-trunk"
+ buildafterfailed="false">
+
+ <listeners>
+ <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
+ </listeners>
+
+ <bootstrappers>
+ <svnbootstrapper localWorkingCopy="../bin" />
+ <svnbootstrapper localWorkingCopy="../dotnet/client-010" />
+ <svnbootstrapper localWorkingCopy="../specs" />
+ </bootstrappers>
+
+ <modificationset quietperiod="30">
+ <svn localWorkingCopy="../bin"/>
+ <svn localWorkingCopy="../dotnet/client-010"/>
+ <svn localWorkingCopy="../specs"/>
+ </modificationset>
+
+ <schedule interval="3600">
+ <!-- generates code from specs -->
+ <ant target="build"
+ uselogger="false"
+ antworkingdir="../dotnet/client-010/gentool">
+ </ant>
+
+ <exec timeout="1800"
+ command="/bin/bash"
+ args="../cc/scripts/dotnetbuild.sh"
+ workingdir="../dotnet/client-010" />
+ </schedule>
+
+ <publishers>
+ <email subjectprefix="${mail.subject}: ${project.name}" mailhost="${mail.host}"
+ returnaddress="${mail.returnaddress}"
+ buildresultsurl="http://${env.HOSTNAME}:8080/buildresults/${project.name}"
+ skipusers="false"
+ reportsuccess="fixes"
+ spamwhilebroken="true">
+ <always address="${mail.list}"/>
+ </email>
+ </publishers>
+ </project>
+</cruisecontrol>
diff --git a/qpid/cc/scripts/dotnetbuild.sh b/qpid/cc/scripts/dotnetbuild.sh
new file mode 100644
index 0000000000..51d2110757
--- /dev/null
+++ b/qpid/cc/scripts/dotnetbuild.sh
@@ -0,0 +1,21 @@
+#!/bin/bash -x
+###########################################################
+#Licensed to the Apache Software Foundation (ASF) under one
+#or more contributor license agreements. See the NOTICE file
+#distributed with this work for additional information
+#regarding copyright ownership. The ASF licenses this file
+#to you under the Apache License, Version 2.0 (the
+#"License"); you may not use this file except in compliance
+#with the License. You may obtain a copy of the License at
+#
+#http://www.apache.org/licenses/LICENSE-2.0
+#
+#Unless required by applicable law or agreed to in writing,
+#software distributed under the License is distributed on an
+#"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#KIND, either express or implied. See the License for the
+#specific language governing permissions and limitations
+#under the License.
+###########################################################
+
+mono $NANT_HOME/bin/NAnt.exe test \ No newline at end of file
diff --git a/qpid/cc/scripts/verify b/qpid/cc/scripts/verify
index c183fee323..35191b17c9 100755
--- a/qpid/cc/scripts/verify
+++ b/qpid/cc/scripts/verify
@@ -18,6 +18,7 @@
#under the License.
###########################################################
+export DOTNET_EXAMPLES=$CC_HOME/dotnet/client-010/bin/mono-2.0/debug
export CLASSPATH=`find "$CC_HOME/java/build/lib" -name '*.jar' | tr '\n' ":"`
export CPP=$CC_HOME/cpp/examples
export JAVA=$CC_HOME/java/client/example/src/main/java
@@ -77,6 +78,7 @@ verify() {
else dir=`dirname $1`; script=`basename $1`; fi
cd $dir || return 1
rm -f *.out
+ echo "Running: $dir/$script"
{ source ./$script && diff -ac $script.out $script.in ; } || fail
test -z "$FAIL" && rm -f *.out
return $FAIL
diff --git a/qpid/cc/scripts/verify_all b/qpid/cc/scripts/verify_all
index fcb38f3709..8d3ec669a7 100755
--- a/qpid/cc/scripts/verify_all
+++ b/qpid/cc/scripts/verify_all
@@ -35,7 +35,7 @@ run_broker()
echo "Starting C++ broker"
echo "******************************************************"
echo ""
- $CC_HOME/cpp/src/qpidd -t -d --auth no --no-data-dir --log-output $CC_HOME/broker.log
+ $CC_HOME/cpp/src/qpidd -t -d --auth no --no-data-dir --log-to-file $CC_HOME/broker.log
}
stop_broker()
@@ -118,9 +118,49 @@ echo "-----------</Running Java/Python combination>--------"
echo ""
}
+run_dotnet_dotnet()
+{
+echo "-----------<Running .Net/.Net combination>---------"
+verify $CC_HOME/dotnet/client-010/examples/ "verify" "*.svn"
+echo "-----------</Running .Net/.Net combination>--------"
+echo ""
+}
+
+run_cpp_dotnet()
+{
+echo "-----------<Running C++/.Net combination>---------"
+verify $CC_HOME/dotnet/client-010/examples/ "verify_cpp_dotnet" "*.svn"
+verify $CC_HOME/dotnet/client-010/examples/ "verify_dotnet_cpp" "*.svn"
+echo "-----------</Running C++/.Net combination>--------"
+echo ""
+}
+
+run_java_dotnet()
+{
+echo "-----------<Running Java/.Net combination>---------"
+verify $CC_HOME/dotnet/client-010/examples/ "verify_java_dotnet" "*.svn"
+verify $CC_HOME/dotnet/client-010/examples/ "verify_dotnet_java" "*.svn"
+echo "-----------</Running Java/.Net combination>--------"
+echo ""
+}
+
+run_python_dotnet()
+{
+echo "-----------<Running Python/.Net combination>---------"
+verify $CC_HOME/dotnet/client-010/examples/ "verify_python_dotnet" "*.svn"
+verify $CC_HOME/dotnet/client-010/examples/ "verify_dotnet_python" "*.svn"
+echo "-----------</Running Python/.Net combination>--------"
+echo ""
+}
+
+
run_python_python
run_python_cpp_comb
run_cpp_cpp
run_java_java
run_java_cpp_comb
run_java_python_comb
+run_dotnet_dotnet
+run_cpp_dotnet
+run_java_dotnet
+run_python_dotnet \ No newline at end of file