rules_cpan
v1.0.0
published 1 year ago
2 stars
1 forks
1 watchers
MIT License
public
1 assets
54,198 downloads
16 KB
Compatibility level unknown
lvsn7SQP2B1r0hydC6qAS/F0gPANMIsI45pqGkoQql4=
v1.0.0
August 17, 2024
[expand for release notes]

rules_cpan

Parse a cpanfile.snapshot file and provide the Perl dependencies as Bazel targets.

Usage

See the tutorial in the example directory.

First, generate a cpanfile.snapshot.lock.json file from your cpanfile.snapshot using bazel run @rules_cpan//lock.

Then, add this to MODULE.bazel:

bazel_dep(name = "rules_cpan", version = "0.0.1")
cpan = use_extension("@rules_cpan//cpan:extensions.bzl", "cpan")
cpan.install(
    name = "cpan_deps",
    lock = "//:cpanfile.snapshot.lock.json",
)
use_repo(cpan, "cpan_deps")

Finally, use the cpan_deps target in your BUILD file:

load("@rules_perl//perl:perl.bzl", "perl_library")

perl_library(
    name = "my_perl_lib",
    srcs = ["lib/MyModule.pm"],
    deps = ["@cpan_deps"],
)