Skip to content

Releases: player-ui/rules_player

v2.6.1

23 Jun 20:21

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.6.1",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.6.1.tar.gz"],
  integrity = "sha256-vRBZpHnljz6wBuTUsXT0kHj06B9Av79i6+5EMrie7uc="
)

🐛 Bug Fix

  • For Bazel 9: fix string literal xlr_output_dir #113 (@KVSRoyal)

Authors: 1

v2.6.0

23 Jun 17:06

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.6.0",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.6.0.tar.gz"],
  integrity = "sha256-hvjFfb31wtJjADh91Ws1oNLvukMM/PYF29TGxfpQaL0="
)

🚀 Enhancement

Authors: 1

v2.5.0

04 Jun 00:41

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.5.0",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.5.0.tar.gz"],
  integrity = "sha256-glb/tcvJfgoI53P80VOFgqdWRP+eld4VvFHlDU15j+4="
)

🚀 Enhancement

  • Add features and minimum_os_version parameter to ios_pipeline #110 (@KVSRoyal)

Authors: 1

v2.4.0

02 Jun 21:18

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.4.0",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.4.0.tar.gz"],
  integrity = "sha256-so3ki94j9QI+LGuoOFeDD/cHN5BtJqp3SthtmKtU1wg="
)

Release Notes

Add Support for Passing env Params to Vitest Benchmark Rule (#109)

Add support for passing env params to vitest benchmark rule to allow env substitution for benchmark runs.

Kotlin ABI compatibility checking (#108)

Kotlin ABI compatibility checking

New first-class support for tracking the public ABI of Kotlin libraries, mirroring JetBrains' Binary Compatibility Validator Gradle plugin.

Enabled by default on kt_jvm and kt_android. Each library gains three sibling targets that maintain a checked-in api/{name}.api golden file:

load("@rules_player//kotlin:defs.bzl", "kt_jvm")

kt_jvm(
    name = "my-lib",
    # api_file = "api/custom-name.api"   # override path
    # api_file = None                    # disable
)

Generated targets:

  • :my-lib-abi-dumpbazel build emits a canonical BCV-format .api dump
  • :my-lib-abi-checkbazel test diffs the dump against the golden, failing with a unified diff on mismatch
  • :my-lib-abi-updatebazel run regenerates the golden file in the source tree

First-time bootstrap is friction-free: if the golden file doesn't exist yet, an empty placeholder is auto-stubbed so the first abi-check produces a clean "everything is new" diff instead of a load-time error. Run :my-lib-abi-update to materialize the real file.

$ bazel test //my-lib:my-lib-abi-check
FAILED — public ABI changed
--- api/my-lib.api
+++ my-lib-abi-dump.api
@@ -2,3 +2,4 @@
 public final class com/example/Foo {
   public fun <init> ()V
+  public fun newApi (Ljava/lang/String;)V
 }

Run: bazel run //my-lib:my-lib-abi-update

Advanced filtering matches BCV's Gradle plugin — opt declarations in/out via package, class, or annotation:

kt_jvm(
    name = "my-lib",
    abi_public_packages = ["com.example.api"],
    abi_public_markers = ["com/example/PublicApi"],
    abi_non_public_packages = ["com.example.internal"],
    abi_non_public_markers = ["kotlin/RequiresOptIn"],
)

Workspace-level batch runners

Two new macros enumerate every matching target in the workspace at bazel run time and invoke each in turn — no deps list to maintain:

load("@rules_player//kotlin:defs.bzl", "abi_update_all", "lint_fix_all")

abi_update_all(name = "abi-update-all")
lint_fix_all(name = "lint-fix-all")
$ bazel run :abi-update-all
==> run //libs/auth:auth-abi-update
==> run //libs/parser:parser-abi-update
...

$ bazel run :lint-fix-all
==> run //libs/auth:auth-lint-fix
==> run //libs/parser:parser-lint-fix
...

Discovery is automatic: any newly-introduced abi_update or ktlint_fix target is picked up on the next run.


🚀 Enhancement

Authors: 2

v2.3.3

29 Apr 17:39

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.3.3",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.3.3.tar.gz"],
  integrity = "sha256-SUHd2SyOiNvkHCXfFZCtYdPf0gtzq3Z7Vbo3GJJkebQ="
)

🐛 Bug Fix

Authors: 1

v2.3.2

28 Apr 19:31

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.3.2",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.3.2.tar.gz"],
  integrity = "sha256-Iz4YVPHo92CIk3H+yUliLIYJDtQufJQFQ1zxVTPu51M="
)

Release Notes

Make CLI Package Configurable (#106)

Make Player CLI package configurable. Default for now is @player-tools/cli but will switch to @player-cli/cli for next major.


🐛 Bug Fix

Authors: 1

v2.3.1

05 Mar 17:46

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.3.1",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.3.1.tar.gz"],
  integrity = "sha256-AJe9VFolAqLJAPHl2hBjZpfRwIzQLb0bgO6QpWxIW9E="
)

Release Notes

Add support for README.md files in JS Macros (#104)

Include README.md file if present for js_pipeline and oclif_pipeline macros


🐛 Bug Fix

Authors: 1

v2.3.0

21 Jan 21:32

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.3.0",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.3.0.tar.gz"],
  integrity = "sha256-ic72uLj5+fdjFXxwmtRrHGPlWA3ewTXB6Gx6TRMKgh4="
)

Release Notes

Feature: Python Rules (#92)

Add py_pipeline macro to offer a simple, slightly opinionated, pipeline for building/testing Python libraries.


🚀 Enhancement

Authors: 1

v2.2.3

12 Jan 17:30

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.2.3",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.2.3.tar.gz"],
  integrity = "sha256-+8W4qKFiv8zQy+NyXcWqULo49VqwTuf/DIMg2ikwvho="
)

🐛 Bug Fix

Authors: 1

v2.2.2

18 Dec 21:36

Choose a tag to compare

bazel_dep(name = "rules_player")

archive_override(
  module_name = "rules_player",
  strip_prefix = "rules_player-2.2.2",
  urls = ["https://github.com/player-ui/rules_player/archive/refs/tags/v2.2.2.tar.gz"],
  integrity = "sha256-eV9dOt7mhXT1oXkP6YFD/f8bHzbs0yn3f83cpuptkro="
)

🐛 Bug Fix

Authors: 1