⚠ This project is deprecated, reasons are listed in #110. Please use other XMPP libraries for .NET:
- Ubiety.Xmpp.Core
- SharpXMPP (maintained by a former maintainer of Jabber-Net)
Jabber-Net is a set of .NET classes for sending and receiving Extensible Messaging and Presence Protocol (XMPP), also known as the Jabber. Client connections, server component connections, presence, service discovery, and the like.
This project uses Paket dependency manager. Before opening the solution
or building the project, you should install Paket (or Paket bootstrapper) into
.paket
directory and download the dependencies using the following commands:
$ ./.paket/paket.bootstrapper.exe
$ ./.paket/paket.exe restore
For convenience, there is a script scripts/Install.ps1
that will download
Paket bootstrapper and call these commands automatically. PowerShell
6.0+ is recommended to execute this script.
Consult the script documentation to discover its parameters.
Either use Visual Studio 2017 on Windows or paket
+ msbuild
/ xbuild
in
your terminal. On Windows:
> .\.paket\paket.exe restore
> msbuild jabber-net.sln /p:Configuration=Debug
> .\packages\NUnit.ConsoleRunner.3.4.1\tools\nunit3-console.exe .\test\bin5\Debug\test.dll
On Linux:
$ mono ./.paket/paket.exe restore
$ xbuild /p:Configuration=Debug jabber-net.sln
$ mono ./packages/NUnit.ConsoleRunner.3.4.1/tools/nunit3-console.exe ./test/bin5/Debug/test.dll
The documentation is placed in the docs
directory. To build HTML
documentation, invoke the following commands (PowerShell syntax):
$env:JABBER_NET_ROOT = 'https://fornever.github.io/Jabber-Net'
$fsi = 'C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\Fsi.exe'
Remove-Item -Recurse .\docs\output
& $fsi docs\generate.fsx
docs\output\index.html
There's a convenience script scripts/Build-Docs.ps1
for that.
You may then publish the docs/output
directory through a Web server, or just
read the documentation from your local drive.
To build NuGet package for Jabber-Net, use the script
scripts/Package.ps1
. If you want to push this package to the Nuget feed, use
scripts/Push-Package.ps1
.
Consult the scripts documentation to get the information about their parameters.
The project source code is generally licensed under the terms of LGPLv3. Please consult Licensing.md for details on licensing of internal components.