Djinni-build

Latest version: v2.0.0

Safety actively analyzes 623383 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

2.0.0

Adding Debugging Capabilities

This release is all about adding the capability to create packages for Windows (NuGet) and macOS (xcframework) that include debugging symbols.
Oh and also I introduced some unrelated breaking changes, which is why this is a major release! 🙈

To see in detail how this new version should be used, please consult [jothepro/djinni-library-template](https://github.com/jothepro/djinni-library-template).

Added

- When a debugging symbols framework directory (`.framework.dSYM`) is detected on macOS/iOS builds, it is included in the resulting .xcframework. (https://github.com/jothepro/djinni_build/commit/dcf9fe45f5e19b4334590dbb8dd9e774ef9788d0)
- When debugging symbols (`.pdb`) are detected on a Windows build, in addition to a normal `.nupkg`, also a `.symbols.nupkg` is created, that includes the `.pdb` files for each target architecture (https://github.com/jothepro/djinni_build/commit/e1def3f456ff1d0dff9b7d04d08085297c0b0fbb). This will become useful for debugging once .NET 7 is released: https://github.com/dotnet/sdk/pull/27580

Changed

- Packages are not built in-source any more. Instead, the required package files are copied from `lib/platform/<platform>/package` to the build directory and enriched with the C++ binaries there. This way the source directory stays clean. (https://github.com/jothepro/djinni_build/commit/1cc2d1563dd80042a63a069af96a882f37d5ff3c)
- The configuration parameter `nupkg_net_version` has been removed because the script can now automatically determine the target .NET version by parsing the `.nuspec` file (https://github.com/jothepro/djinni_build/commit/1cc2d1563dd80042a63a069af96a882f37d5ff3c). Make sure to define the .NET version like so in `<metadata>`:

<dependencies>
<group targetFramework="net6.0" />
</dependencies>

- The configuration parameter `version` was removed, because the version is now retrieved automatically through the Conan API. Make sure to specify a version in your `conanfile.py`! (https://github.com/jothepro/djinni_build/commit/1cc2d1563dd80042a63a069af96a882f37d5ff3c)
- No `.nuspec.template` file is required anymore. Instead, the `.nuspec` file should contain `$version$` placeholders for setting the package version. Those parameters are automatically populated by the nuget CLI. (https://github.com/jothepro/djinni_build/commit/e1def3f456ff1d0dff9b7d04d08085297c0b0fbb)

Removed

- The CLI-option `--clean` was removed. It is not needed anymore because no artifacts will be copied to the source directory. (https://github.com/jothepro/djinni_build/commit/1cc2d1563dd80042a63a069af96a882f37d5ff3c)

**Full Changelog:** https://github.com/jothepro/djinni_build/compare/v1.0.0...v2.0.0

1.0.0

Publishing the utility on PyPI

Added

- new CLI configuration parameter to define the Conan build profile.
- configuration parameter to change the default build folder name.
- configuration parameter to change the default Conan build profile.
- automated publishing to PyPI with gh-actions.

Changed

- For easier integration into the build process the code is now published on PyPI.
- Conan build now is started with build- and host-profile as recommended.
- Optimized for usage with the new Conan `CMakeToolchain` generator.

Removed

- The provided android toolchain was removed because is not required anymore with the migration to the `CMakeToolchain` generator.

0.1.0

Initial Release

Script to package and distribute Djinni libraries easily. This build script automates the building & packaging for Djinni libraries.

It supports these platforms:

- Android (AAR)
- iOS (xcframework, Swiftpackage)
- macOS (xcframework, Swiftpackage)
- Windows (NuGet package)
- Linux (Conan)

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.