GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — rules_python/python/private/stamp.bzl at main · kcon-stackav/rules_python Expand file tree/ Copy pathstamp.bzlMore file actions 87 lines (75 loc) · 2.93 KB / Copy pathstamp.bzlFile metadata and controls87 lines (75 loc) · 2.93 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 # Copyright 2023 The Bazel Authors. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """A small utility module dedicated to detecting whether or not the `--stamp` flag is enabled This module can be removed likely after the following PRs ar addressed: - https://github.com/bazelbuild/bazel/issues/11164 """ StampSettingInfo = provider( doc = "Information about the `--stamp` command line flag", fields = { "value": "bool: Whether or not the `--stamp` flag was enabled", }, ) def _stamp_build_setting_impl(ctx): return StampSettingInfo(value = ctx.attr.value) _stamp_build_setting = rule( doc = """\ Whether to encode build information into the binary. Possible values: - stamp = 1: Always stamp the build information into the binary, even in [--nostamp][stamp] builds. \ This setting should be avoided, since it potentially kills remote caching for the binary and \ any downstream actions that depend on it. - stamp = 0: Always replace build information by constant values. This gives good build result caching. - stamp = -1: Embedding of build information is controlled by the [--[no]stamp][stamp] flag. Stamped binaries are not rebuilt unless their dependencies change. [stamp]: https://docs.bazel.build/versions/main/user-manual.html#flag--stamp """, implementation = _stamp_build_setting_impl, attrs = { "value": attr.bool( doc = "The default value of the stamp build flag", mandatory = True, ), }, ) def stamp_build_setting(name, visibility = ["//visibility:public"]): native.config_setting( name = "stamp_detect", values = {"stamp": "1"}, visibility = visibility, ) _stamp_build_setting( name = name, value = select({ ":stamp_detect": True, "//conditions:default": False, }), visibility = visibility, ) def is_stamping_enabled(attr): """Determine whether or not build stamping is enabled Args: attr (struct): A rule's struct of attributes (`ctx.attr`) Returns: bool: The stamp value """ stamp_num = getattr(attr, "stamp", -1) if stamp_num == 1: return True elif stamp_num == 0: return False elif stamp_num == -1: stamp_flag = getattr(attr, "_stamp_flag", None) return stamp_flag[StampSettingInfo].value if stamp_flag else False else: fail("Unexpected `stamp` value: {}".format(stamp_num)) |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |