Skip to content
DisplayNotePublic
forked from NadaLess/qtbonjour
 
 

Latest commit

 

History

55 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QtBonjour

This is a fork from an original code from https://github.com/sikoragmbh/qtbonjour

Building

Qt 6.8 LTS is the minimum (QT_DISABLE_DEPRECATED_BEFORE=0x060800). On Windows the Bonjour SDK headers come from Conan (bonjoursdk/3.0.0@dn/stable, see conaninstall.pri), so a Conan 1.x client with the dn remote and the msvc19.x86_64.* profiles is needed; no local Bonjour SDK install is required.

qmake qtbonjour.pro -spec win32-msvc PREFIX=<out>/Windows/Debug CONFIG+=debug
nmake install

CI and releases

ci/azure-pipelines.yml builds with qt-conan-ci 2.8.1 (Qt 6.8.8, msvc2022_64). Only Windows x86_64 is built, as Montage consumes qtbonjour on Windows only. Stage order: SecretScan + DependencyScan (in parallel, from DisplayNote/dn-pipeline-templates v1.1.2, blocking: a finding fails the stage, so the stages that depend on it don't run) → setup → tests_coverage (the tests/ suite under OpenCppCoverage, audit mode) → the Windows build → deploy.

  • Pull requests publish qtbonjour/pr-<number>@dn/develop.
  • A SemVer tag (e.g. 1.3.0) builds qtbonjour/<tag>; the qtbonjour release pipeline under libs then promotes it to dn/develop and dn/stable.

Qt 6.5 and 6.8 are not ABI compatible: packages built against Qt 6.8 must use a new version, never a rebuild of an existing one (1.2.0 and earlier predate Qt 6.8).

Testing

The GoogleTest suite lives in tests/ and runs with coverage in CI. It uses a fake dns_sd, so no Bonjour service is needed. See docs/testing.md.

Coverage scope

The tests_coverage stage reports line coverage of the library sources (roadmap 2.23, target 75%).

  • Measured: the library's *.cpp and *.h in the repository root (bonjourrecord, bonjourservicebrowser, bonjourserviceresolver, bonjourserviceregister), built for Windows x86_64 Debug.
  • Excluded: tests/ (including the fake dns_sd), the generated moc_* files and the Bonjour SDK headers from Conan - the qt-conan-ci default exclusions - plus main.cpp, the demo app's entry point (qtbonjour_app.pro), listed in excludedSources.
  • Not executed in the current lane: the Linux (avahi) branches in the headers and qtbonjour.pro, the big-endian branch of the port swap in BonjourServiceRegister::onStarted(), and its "already registered" guard, which the public API cannot reach.

The exclusions are reviewed quarterly.

Releases

Packages

Contributors

Languages