bazel-coverage-report-renderer v0.9 Release Notes

Release Date: 2019-05-07 // almost 5 years ago
  • Highlights

    πŸ‘ The minimum supported Bazel version is now v0.24.

    The version is available from nixpkgs unstable and via
    πŸš€ official releases.

    πŸŽ‰ Initial Windows support

    🏁 A non-trivial subset of rules_haskell is now working on Windows.
    See the project tracker
    for finished and ongoing work.

    πŸ‘Œ Improved OSX support

    Due to the mach-o header size limit, we took extra measures to
    πŸ‘‰ make sure generated library paths are as short as possible, so
    πŸ”— linking haskell binaries works even for large dependency graphs.

    πŸ‘ Better Bindist support

    πŸ— The default start script sets up a
    0️⃣ bindist-based project by default.

    rules_nixpkgs is no longer a required dependency of
    rules_haskell (but can still be used as backend).

    Full Haskell–C–Haskell Sandwich

    A haskell_library can be now be used nearly anywhere a
    cc_library can.

    The old cc_haskell_import and haskell_cc_import wrapper rules
    πŸ—„ are no longer necessary and have been deprecated.

    πŸ‘ Greatly improved REPL support

    A new haskell_repl rule allows to load multiple source targets by
    source, or compiled, as needed. Example usage:

    haskell_repl(
      name = "my-repl",
      # Collect all transitive Haskell dependencies from these targets.
      deps = [
          "//package-a:target-1",
          "//package-b:target-2",
      ],
      # Load targets by source that match these patterns.
      include = [
          "//package-a/...",
          "//packaga-b/...",
          "//common/...",
      ],
      # Don't load targets by source that match these patterns.
      exclude = [
          "//package-a/vendored/...",
      ],
    )
    

    πŸ‘Œ Support for GHC plugins

    πŸ”Œ Each haskell_* rule now has a plugins attribute. It takes a
    list of bazel targets, which should be haskell_librarys that
    πŸ”Œ implement the GHC plugin
    specification
    .

    πŸŽ‰ Initial Code Coverage support

    πŸ‘€ Measure coverage of your Haskell code. See the β€œChecking Code
    βœ… Coverage”

    section in the manual.

    Compatibility Notice

    πŸ”€ hazel was merged into
    rules_haskell
    , but
    we are not yet certain about the exact interface we want to expose.
    πŸš€ hazel is therefore not included in this release, and we can’t
    guarantee the original, unmerged version is compatible with this
    πŸš€ release. If you depend on hazel, please use a recent master commit
    of rules_haskell.

    πŸ”„ Changed

    haskell_register_ghc_bindists is no longer re-exported from
    //haskell/haskell.bzl.
    You must now load that macro from //haskell:nixpkgs.bzl.

    rules_nixpkgs is no longer a dependency of rules_haskell.

    haskell_import has been renamed to haskell_toolchain_library.
    This is a substantial breaking change. But adapting to it should be
    as simple as

    sed -i 's/^haskell_import/haskell_toolchain_library/' **/BUILD{,.bazel}
    sed -i 's/"haskell_import"/"haskell_toolchain_library"/' **/BUILD{,.bazel}
    

    πŸ‘€ See #843.

    haskell_toolchain’s tools attribute is now a list of labels.
    Earlier entries take precendence. To migrate, add [] around your
    argument.
    πŸ‘€ See #854.

    0️⃣ The default outputs of haskell_library are now the static and/or
    πŸ“¦ shared library files, not the package database config and cache
    files.

    βž• Added

    • haskell_repl rule that constructs a ghci wrapper that loads
      multiple targets by source.
      πŸ‘€ See #736.
    • πŸ”Œ plugins attribute to haskell_* rules to load GHC plugins.
      πŸ‘€ See #799.
    • The HaskellInfo and HaskellLibraryInfo providers are now
      exported and thus accessible by downstream rules.
      πŸ‘€ See #844.
    • Generate version macros for preprocessors (c2hs, hsc2hs).
      πŸ‘€ See #847.
    • bindist_toolchain rule gets haddock_flags and repl_ghci_args
      attributes.
    • πŸ— @repl targets write json file with build information, usable by
      IDE tools.
      πŸ‘€ See #695.

    πŸ—„ Deprecated

    • haskell_cc_import; use cc_library instead.
      πŸ‘€ See #831.
    • cc_haskell_import; just use haskell_library like a cc_library.
      πŸ‘€ See #831.

    πŸ›  Fixed

    • Support protobuf roots in haskell_proto_library.
      πŸ‘€ See #722.
    • Made GHC bindist relocatable on *nix.
      πŸ‘€ See #853.
    • πŸ›  Various other fixes