Skip to content
Permalink
Browse files
https://issues.apache.org/jira/browse/AMQNET-454
Initial drop of AMQP client code.
  • Loading branch information
Timothy A. Bish committed Dec 17, 2013
1 parent 7a750f0 commit ad298ce150bd4d08206133d18bb1e1a31ed152c8
Showing 37 changed files with 6,121 additions and 0 deletions.
@@ -0,0 +1,19 @@
#
# 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.
#

@@ -0,0 +1,7 @@
<NUnitProject>
<Settings activeconfig="Default" />
<Config name="Default" binpathtype="Auto">
<assembly path="Apache.NMS.Test.dll" />
<assembly path="Apache.NMS.AMQP.Test.dll" />
</Config>
</NUnitProject>

Large diffs are not rendered by default.

@@ -0,0 +1,12 @@
=========================================================================
== NOTICE file corresponding to the section 4 d of ==
== the Apache License, Version 2.0, ==
== in this case for the Apache ActiveMQ distribution. ==
=========================================================================

Apache ActiveMQ
Copyright 2005-2006 The Apache Software Foundation

This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

@@ -0,0 +1,73 @@
=======================================================================
Welcome to:
* Apache.NMS.AMQP : Apache NMS for AMQP Client Library
=======================================================================

For more information see http://activemq.apache.org/nms

=======================================================================
Building With NAnt 0.86 see http://nant.sourceforge.net/
=======================================================================

NAnt version 0.86 or newer is required to build Apache.NMS.AMQP. Version 0.90
or newer is highly recommended.
To build the code using NAnt, run:

nant

To run the unit tests you need to run an Apache ActiveMQ Broker first then run:

nant test

The NMS documentation can be generated into three different formats using
Microsoft's Sandcastle open source product. The Sandcastle Styles project
was used to enhance the output generated from the current release of Sandcastle.

The Sandcastle project is located here:

http://sandcastle.codeplex.com/

The Sandcastle Styles project is located here:

http://sandcastlestyles.codeplex.com/

To generate the documentation, run:

nant sandcastle-all

=======================================================================
Building With Visual Studio 2008 (net-2.0 only)
=======================================================================

First build the project with nant, this will download and install
all the 3rd party dependencies for you.

Open the solution File. Build using "Build"->"Build Solution"
menu option.

The resulting DLLs will be in build\${framework}\debug or the
build\${framework}\release directories depending on your settings
under "Build"->"Configuration Manager"

If you have the Resharper plugin installed in Visual Studio, you can run
all the Unit Tests by using the "ReSharper"->"Unit Testing"->"Run All
Tests from Solution" menu option. Please note that you must run an
Apache ActiveMQ Broker before kicking off the unit tests. Otherwise,
the standalone NUnit test runner can be used. NUnit version 2.5.8
is required to build and run the unit tests.

=======================================================================
Building With Visual Studio 2010 (net-4.0 only)
=======================================================================

First build the project with nant, this will download and install
all the 3rd party dependencies for you.

Open the solution File. Build using "Build"->"Build Solution"
menu option.

The resulting DLLs will be in build\${framework}\debug or the
build\${framework}\release directories depending on your settings
under "Build"->"Configuration Manager"


BIN +596 Bytes keyfile/NMSKey.snk
Binary file not shown.

Large diffs are not rendered by default.

@@ -0,0 +1,162 @@
<?xml version="1.0"?>
<!--
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.
-->
<project name="Apache.NMS.AMQP" default="default" xmlns="http://nant.sourceforge.net/release/0.85/nant.xsd">
<!-- ============================================================================================ -->
<!-- I N I T I A L I Z A T I O N -->
<!-- ============================================================================================ -->
<property name="basedir" value="${project::get-base-directory()}" />
<property name="project.name" value="Apache.NMS.AMQP" />
<property name="project.group" value="org.apache.activemq" />
<property name="project.version" value="1.6.0" unless="${property::exists('project.version')}" />
<property name="project.release.type" value="SNAPSHOT" unless="${property::exists('project.release.type')}" />
<property name="project.short_description" value="Apache NMS for AMQP Class Library" />
<property name="project.description" value="Apache NMS for AMQP Class Library (.Net Messaging Library Implementation): An implementation of the NMS API for AMQP using Apache QPID and Proton" />

<!-- Native Qpid DLLs -->
<property name="boost_chrono" value="boost_chrono-${vcver}-mt${boostdebug}-1_47.dll" dynamic="true" />
<property name="boost_date_time" value="boost_date_time-${vcver}-mt${boostdebug}-1_47.dll" dynamic="true" />
<property name="boost_program_options" value="boost_program_options-${vcver}-mt${boostdebug}-1_47.dll" dynamic="true" />
<property name="boost_system" value="boost_system-${vcver}-mt${boostdebug}-1_47.dll" dynamic="true" />
<property name="boost_thread" value="boost_thread-${vcver}-mt${boostdebug}-1_47.dll" dynamic="true" />
<property name="qpidclient" value="qpidclient${debugsuffix}.dll" dynamic="true" />
<property name="qpidcommon" value="qpidcommon${debugsuffix}.dll" dynamic="true" />
<property name="qpidmessaging" value="qpidmessaging${debugsuffix}.dll" dynamic="true" />
<property name="qpid-proton" value="qpid-proton${debugsuffix}.dll" dynamic="true" />
<property name="qpidtypes" value="qpidtypes${debugsuffix}.dll" dynamic="true" />

<!-- Repository organized as: organization/module/version/plaform/artifact, platform might be something like 'all' or 'net-2.0/release' -->
<property name="nunit.dll" value="${basedir}/lib/NUnit/${current.build.framework}/nunit.framework.dll" dynamic="true" />
<property name="Apache.NMS.dll" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.dll" dynamic="true" />
<property name="Apache.NMS.pdb" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.pdb" dynamic="true" />
<property name="Apache.NMS.Test.dll" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.Test.dll" dynamic="true" />
<property name="Apache.NMS.Test.pdb" value="${basedir}/lib/Apache.NMS/${current.build.framework}/Apache.NMS.Test.pdb" dynamic="true" />
<property name="Apache.Qpid.dll" value="${basedir}/lib/Apache.Qpid/${current.build.framework}/org.apache.qpid.messaging.dll" dynamic="true" />
<property name="NUnit.Projectfile" value="Apache.NMS.AMQP.Test.nunit" />

<!-- Skip certain frameworks, since Apache Qpid is not supported on those platforms. -->
<property name="build.netcf-2.0.skip" value="true" />
<property name="build.netcf-3.5.skip" value="true" />
<property name="build.mono-2.0.skip" value="true" />
<property name="build.net-3.5.skip" value="true" />
<property name="build.net-2.0.skip" value="true" />
<property name="build.framework.strings" value="net-4.0"/>

<target name="vendor-init" description="Initializes Vendor library from local repository.">
<!--
Vendor specific info. The prefix of 'vendor.apache.org' is taken from the property
'vendor.fileset.names'. This comma-delimited list is iterated, and properties with
well-known suffixes are used to access and copy down vendor file dependencies.
-->
<property name="vendor.fileset.names" value="vendor.apache.org,vendor.nunit.org,vendor.qpid.apache.org" />

<!-- Property grouping for 'vendor.apache.org' -->
<property name="vendor.apache.org.name" value="Apache.NMS" />
<property name="vendor.apache.org.group" value="org.apache.activemq" />
<property name="vendor.apache.org.version" value="1.7.0" />
<property name="vendor.apache.org.filenames" value="Apache.NMS.dll,Apache.NMS.pdb,Apache.NMS.Test.dll,Apache.NMS.Test.pdb" />

<!-- Property grouping for 'vendor.nunit.org' -->
<property name="vendor.nunit.org.name" value="NUnit" />
<property name="vendor.nunit.org.group" value="org.nunit" />
<property name="vendor.nunit.org.version" value="2.5.8" />
<property name="vendor.nunit.org.filenames" value="nunit.framework.dll" />

<!-- Property grouping for 'vendor.qpid.apache.org' -->
<property name="vendor.qpid.apache.org.name" value="Apache.Qpid" />
<property name="vendor.qpid.apache.org.group" value="org.apache.qpid" />
<property name="vendor.qpid.apache.org.version" value="0.27.0.16034" />
<property name="vcver" value="${if(current.build.framework == 'net-4.0', 'vc100', 'vc90')}" />
<property name="debugsuffix" value="${if(project.release.type == 'release', '', 'd')}" />
<property name="boostdebug" value="${if(project.release.type == 'release', '', '-gd')}" />
<echo message="Vendor-init current.build.framework = ${current.build.framework}, project.release.type = ${project.release.type}" />
<echo message="vcver = ${vcver}, debugsuffix = ${debugsuffix}, boostdebug = ${boostdebug}" />

<property name="vendor.qpid.apache.org.filenames" value="org.apache.qpid.messaging.dll,${boost_chrono},${boost_date_time},${boost_program_options},${boost_system},${boost_thread},${qpidclient},${qpidcommon},${qpidmessaging},${qpid-proton},${qpidtypes}" dynamic="true"/>
</target>

<target name="dependency-init" description="Initializes build dependencies">
<assemblyfileset failonempty="true" id="dependencies">
<include name="${current.build.framework.assembly.dir}/mscorlib.dll" />
<include name="${current.build.framework.assembly.dir}/System.dll" />
<include name="${current.build.framework.assembly.dir}/System.Xml.dll" />
<include name="${Apache.NMS.dll}" />
<include name="${Apache.Qpid.dll}" />
</assemblyfileset>

<assemblyfileset failonempty="true" id="test.dependencies">
<include name="${current.build.framework.assembly.dir}/mscorlib.dll" />
<include name="${current.build.framework.assembly.dir}/System.dll" />
<include name="${current.build.framework.assembly.dir}/System.Xml.dll" />
<include name="${Apache.NMS.dll}" />
<include name="${Apache.NMS.Test.dll}" />
<include name="${Apache.Qpid.dll}" />
<include name="${build.bin.dir}/${project.name}.dll" />
<include name="${nunit.dll}" />
</assemblyfileset>

<fileset id="content.filenames">
<include name="LICENSE.txt" />
<include name="NOTICE.txt" />
<include name="nmsprovider-*.config" />
<include name="${Apache.NMS.dll}" />
<include name="${Apache.NMS.pdb}" />
<include name="${Apache.NMS.Test.dll}" />
<include name="${Apache.NMS.Test.pdb}" />
<include name="${Apache.Qpid.dll}" />
<include name="${nunit.dll}" />
<include name="${NUnit.Projectfile}" />
</fileset>

<fileset id="install.filenames">
<include name="LICENSE.txt" />
<include name="NOTICE.txt" />
<include name="${build.bin.dir}/${project.name}.dll" />
<include name="${build.bin.dir}/${project.name}.pdb" />
</fileset>

</target>

<target name="default" depends="install-all" />

<zipfileset id="src.package.contents" basedir="${basedir}">
<include name="LICENSE.txt" />
<include name="NOTICE.txt" />
<include name="nant-common.xml" />
<include name="nant.build" />
<include name="nant.build" />
<include name="nmsprovider*.config" />
<include name="vs2008-*.csproj" />
<include name="vs2008-*.csproj" />
<include name="vs2008-*.sln" />
<include name="keyfile/*" />
<include name="src/**/*.cs" />
<exclude name="src/sandbox/**" />
</zipfileset>

<zipfileset id="bin.package.contents" basedir="${basedir}">
<include name="LICENSE.txt" />
<include name="NOTICE.txt" />
<include name="build/**/nmsprovider*" />
<include name="build/**/${project.name}*" />
<include name="lib/**/*" />
<exclude name="build/**/%temp%/**" />
</zipfileset>

<!-- Load the common target definitions -->
<include buildfile="${basedir}/nant-common.xml" />
</project>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
* 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.
-->
<configuration>
<provider assembly="Apache.NMS.AMQP" classFactory="Apache.NMS.AMQP.ConnectionFactory"/>
</configuration>
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
* 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.
-->
<configuration>
<defaultURI value="amqp:tcp://${activemqhost}:61613"/>
<InvalidCredentials-BogusUser value="qpid:failover:tcp://${activemqhost}:61613">
<factoryParams>
<param type="string" value="InvalidCredentialsTestClient"/>
</factoryParams>
<userName value="BogusUser"/>
<passWord value="BogusPassword"/>
</InvalidCredentials-BogusUser>

<InvalidCredentials-AuthenticUser value="amqp:failover:tcp://${activemqhost}:61613">
<factoryParams>
<param type="string" value="InvalidCredentialsTestClient"/>
</factoryParams>
<userName value="system"/>
<passWord value="manager"/>
</InvalidCredentials-AuthenticUser>
</configuration>

0 comments on commit ad298ce

Please sign in to comment.