Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • bazel/rules_download
1 result
Show changes
Commits on Source (4)
# [1.0.0-alpha.8](https://git.gitlab.arm.com/bazel/rules_download/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2024-01-29)
### Features
- add `extension` attribute to `download_archive` ([7fb56a7](https://git.gitlab.arm.com/bazel/rules_download/commit/7fb56a78bb231ce4aea266513e708a27bba2bf6b))
# [1.0.0-alpha.7](https://git.gitlab.arm.com/bazel/rules_download/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2024-01-23)
### Code Refactoring
......@@ -63,19 +69,3 @@
- **rules_download:** add `deb` extension ([0cd29d8](https://git.gitlab.arm.com/bazel/rules_download/commit/0cd29d839549d49f895e24c73b33196595b97bcd))
- **rules_download:** add `file` extension ([ee4956c](https://git.gitlab.arm.com/bazel/rules_download/commit/ee4956ccd7badb52e15df2eafeea52da7d8329f0))
- **rules_download:** hermetic `commands` ([abc6864](https://git.gitlab.arm.com/bazel/rules_download/commit/abc68643a6522d3832d8afa8c5e9195604560e4b))
# 1.0.0-alpha.1 (2023-12-01)
### Bug Fixes
- **rules_download:** make intergrity optional ([41b6477](https://git.gitlab.arm.com/bazel/rules_download/commit/41b6477fcc90445cac3a143f83d2c98189d2e01b))
- **rules_download:** remove need for `http_archive` ([f888e32](https://git.gitlab.arm.com/bazel/rules_download/commit/f888e32031d9c92ee42288d4a6e521c75666ad3f))
- use `rules_toolchain` pre-release registry ([62b8546](https://git.gitlab.arm.com/bazel/rules_download/commit/62b85469f37d098ef6012276e385d1ac49c795d1))
### Features
- remove `coreutils` ([f681430](https://git.gitlab.arm.com/bazel/rules_download/commit/f6814300e8768dd261b78fe23921dfd566033732))
- rules for downloading ([c7f4e5a](https://git.gitlab.arm.com/bazel/rules_download/commit/c7f4e5a42b0d499aa3f9a6d7a0365025eb0fe89b))
- **rules_download:** add `deb` extension ([0cd29d8](https://git.gitlab.arm.com/bazel/rules_download/commit/0cd29d839549d49f895e24c73b33196595b97bcd))
- **rules_download:** add `file` extension ([ee4956c](https://git.gitlab.arm.com/bazel/rules_download/commit/ee4956ccd7badb52e15df2eafeea52da7d8329f0))
- **rules_download:** hermetic `commands` ([abc6864](https://git.gitlab.arm.com/bazel/rules_download/commit/abc68643a6522d3832d8afa8c5e9195604560e4b))
module(
name = "rules_download",
version = "1.0.0-alpha.7",
version = "1.0.0-alpha.8",
bazel_compatibility = [
">=7.0.0",
],
......
......@@ -9,12 +9,12 @@ visibility("//download/...")
DOC = """
"""
ATTRS = _COMMANDS | _DOWNLOAD_AND_EXTRACT | _PATCH | _BUILD | _LINKS
ATTRS = _COMMANDS | {k: v for k, v in _DOWNLOAD_AND_EXTRACT.items() if k != "extension"} | _PATCH | _BUILD | _LINKS
def implementation(rctx):
canonical = {a: getattr(rctx.attr, a) for a in ATTRS} | {"name": rctx.name}
canonical |= download_and_extract(rctx, nested = ("data.tar.xz", "data.tar.zst"))
canonical |= download_and_extract(rctx, nested = ("data.tar.xz", "data.tar.zst"), extension = ".deb")
canonical |= build(rctx)
canonical |= patch(rctx)
canonical |= links(rctx)
......
......@@ -25,6 +25,7 @@ archive(
"symlink.txt",
],
},
extension = ".tar.xz",
integrity = "sha256-PWscbDJ+esMLMe4/ix5LTP+lsR1piMNe7r9eHsx/KOg=",
patches = [
"//archive:fixture.patch",
......@@ -52,12 +53,12 @@ deb = use_repo_rule("@rules_download//download/deb:defs.bzl", "download_deb")
deb(
name = "deb",
integrity = "sha256-vMiq8kFBwoSrVEE+Tcs08RvaiNp6MsboWlXS7p1clO0=",
patches = [
"//deb:fixture.patch",
],
links = {
"etc/test/fixture.txt": "symlink.txt",
},
patches = [
"//deb:fixture.patch",
],
urls = ["file://%workspace%/test_1.0-1_all.deb"],
)
......@@ -81,10 +82,10 @@ archive(
name = "coreutils-amd64-windows-msvc",
build = "//coreutils:BUILD.tmpl.bazel",
integrity = "sha256-MnwdLPwZ+S5/cYPRym8lhcyvazAuhzJaZCmBLAW5+80=",
strip_prefix = "coreutils-0.0.21-x86_64-pc-windows-msvc",
links = {
"coreutils.exe": "coreutils",
},
strip_prefix = "coreutils-0.0.21-x86_64-pc-windows-msvc",
tools = ["//coreutils:mklink.bat"],
urls = ["https://github.com/uutils/coreutils/releases/download/0.0.21/coreutils-0.0.21-x86_64-pc-windows-msvc.zip"],
)
......
{
"lockFileVersion": 3,
"moduleFileHash": "0533944227c9e78895ffa19d40d3bade33a75627e82a976a1659031e143ffed9",
"moduleFileHash": "cb6691aa55e6f834464a93300e62cde371c9b8f811dd639a9122680fc7eefb08",
"flags": {
"cmdRegistries": [
"https://bcr.bazel.build/"
......@@ -64,6 +64,7 @@
"tools": [
"@coreutils"
],
"extension": ".tar.xz",
"urls": [
"file://%workspace%/archive.tar.xz"
],
......@@ -92,7 +93,7 @@
"devDependency": false,
"location": {
"file": "@@//:MODULE.bazel",
"line": 40,
"line": 41,
"column": 5
}
},
......@@ -114,7 +115,7 @@
"devDependency": false,
"location": {
"file": "@@//:MODULE.bazel",
"line": 52,
"line": 53,
"column": 4
}
},
......@@ -132,7 +133,7 @@
"devDependency": false,
"location": {
"file": "@@//:MODULE.bazel",
"line": 64,
"line": 65,
"column": 8
}
},
......@@ -150,7 +151,7 @@
"devDependency": false,
"location": {
"file": "@@//:MODULE.bazel",
"line": 72,
"line": 73,
"column": 8
}
},
......@@ -174,7 +175,7 @@
"devDependency": false,
"location": {
"file": "@@//:MODULE.bazel",
"line": 80,
"line": 81,
"column": 8
}
},
......@@ -192,7 +193,7 @@
"devDependency": false,
"location": {
"file": "@@//:MODULE.bazel",
"line": 92,
"line": 93,
"column": 8
}
},
......@@ -210,7 +211,7 @@
"devDependency": false,
"location": {
"file": "@@//:MODULE.bazel",
"line": 102,
"line": 103,
"column": 7
}
}
......@@ -908,7 +909,7 @@
"moduleExtensions": {
"//:MODULE.bazel%_repo_rules": {
"general": {
"bzlTransitiveDigest": "Pzj6YSY10JZJ0J1msmGG7xWH4Fz8C3FPmHA67zaqWjw=",
"bzlTransitiveDigest": "50WifUzfpx2h3+8CBJtAUL9t8ABVte/0lfGOJivDRIo=",
"accumulatedFileDigests": {},
"envVariables": {},
"generatedRepoSpecs": {
......@@ -931,6 +932,7 @@
"tools": [
"@@_main~_repo_rules~coreutils//:coreutils"
],
"extension": ".tar.xz",
"urls": [
"file://%workspace%/archive.tar.xz"
],
......
......@@ -20,15 +20,20 @@ ATTRS = {
doc = "Globs for source files in the unpacked repository.",
default = ["**"],
),
"extension": attr.string(
doc = "The extension of the archive when not available from the URL.",
values = [".zip", ".tar", ".tar.gz", ".tar.bz2", ".tar.xz", ".tar.zst"],
),
}
def download_and_extract(rctx, nested = ()):
def download_and_extract(rctx, *, extension = None, nested = ()):
"""
A mixin for `download` repository rules.
Args:
rctx: The download repository context.
nested: A mutually exclusive set of nested archives to unpack
extension: The extension of the download
Returns:
A map of canonical arguments
......@@ -36,6 +41,8 @@ def download_and_extract(rctx, nested = ()):
netrc = read_user_netrc(rctx)
auth = use_netrc(netrc, rctx.attr.urls, {})
extension = extension or rctx.attr.extension
temp = rctx.path(".extracted")
root = workspace(rctx)
......@@ -45,6 +52,7 @@ def download_and_extract(rctx, nested = ()):
stripPrefix = rctx.attr.strip_prefix if not nested else "",
auth = auth,
output = "" if not nested else temp,
type = extension[0:],
)
if not nested:
......