ProductModuleName
BAZEL_TEST_PRODUCT_MODULE_NAME
diff --git a/apple/testing/default_runner/simulator_creator.py b/apple/testing/default_runner/simulator_creator.py
index 2bf25533d0..98fdeac646 100755
--- a/apple/testing/default_runner/simulator_creator.py
+++ b/apple/testing/default_runner/simulator_creator.py
@@ -46,7 +46,7 @@ def _boot_simulator(simulator_id: str) -> None:
print(f"Not ignoring failure: {e.returncode}", file=sys.stderr)
raise
# Add more arbitrary delay before tests run. Even bootstatus doesn't wait
- # long enough and tests can still fail because the simulator isn't read
+ # long enough and tests can still fail because the simulator isn't ready
time.sleep(3)
diff --git a/apple/versioning.bzl b/apple/versioning.bzl
index 8411abe043..09ff7c6afd 100644
--- a/apple/versioning.bzl
+++ b/apple/versioning.bzl
@@ -133,13 +133,12 @@ def _apple_bundle_version_impl(ctx):
)
inputs.append(control_file)
- resolved_versiontool = ctx.attr._xplat_toolchain[AppleXPlatToolsToolchainInfo].resolved_versiontool
+ versiontool = ctx.attr._xplat_toolchain[AppleXPlatToolsToolchainInfo].versiontool
ctx.actions.run(
- executable = resolved_versiontool.executable,
+ executable = versiontool,
arguments = [control_file.path, bundle_version_file.path],
- inputs = depset(inputs, transitive = [resolved_versiontool.inputs]),
- input_manifests = resolved_versiontool.input_manifests,
+ inputs = inputs,
outputs = [bundle_version_file],
mnemonic = "AppleBundleVersion",
)
diff --git a/doc/rules-docc.md b/doc/rules-docc.md
index 4e04c84b8b..7c1c511ddb 100755
--- a/doc/rules-docc.md
+++ b/doc/rules-docc.md
@@ -8,8 +8,8 @@ Defines rules for building Apple DocC targets.
docc_archive(name, default_code_listing_language, dep, diagnostic_level, enable_inherited_docs,
- fallback_bundle_identifier, fallback_bundle_version, fallback_display_name, kinds,
- transform_for_static_hosting)
+ fallback_bundle_identifier, fallback_bundle_version, fallback_display_name,
+ hosting_base_path, kinds, transform_for_static_hosting)
Builds a .doccarchive for the given dependency.
@@ -44,6 +44,7 @@ docc_archive(
| fallback_bundle_identifier | A fallback bundle identifier if no value is provided in the documentation bundle's Info.plist file. | String | required | |
| fallback_bundle_version | A fallback bundle version if no value is provided in the documentation bundle's Info.plist file. | String | required | |
| fallback_display_name | A fallback display name if no value is provided in the documentation bundle's Info.plist file. | String | required | |
+| hosting_base_path | The base path your documentation website will be hosted at. For example, to deploy your site to 'example.com/my_name/my_project/documentation' instead of 'example.com/documentation', pass '/my_name/my_project' as the base path. | String | optional | `""` |
| kinds | The kinds of entities to filter generated documentation for. | List of strings | optional | `[]` |
| transform_for_static_hosting | - | Boolean | optional | `True` |
diff --git a/doc/rules-ios.md b/doc/rules-ios.md
index 67534bfe1f..b9fd0ff770 100644
--- a/doc/rules-ios.md
+++ b/doc/rules-ios.md
@@ -591,7 +591,7 @@ of the attributes inherited by all test rules, please check the
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"ios"` |
@@ -643,7 +643,7 @@ of the attributes inherited by all test rules, please check the
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"ios"` |
diff --git a/doc/rules-macos.md b/doc/rules-macos.md
index 7d6484aae2..fc6cd72ecf 100644
--- a/doc/rules-macos.md
+++ b/doc/rules-macos.md
@@ -638,7 +638,7 @@ Note: macOS UI tests are not currently supported in the default test runner.
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"macos"` |
@@ -681,7 +681,7 @@ find more information about testing for Apple platforms
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"macos"` |
diff --git a/doc/rules-tvos.md b/doc/rules-tvos.md
index 0d8936c921..c347b3495c 100644
--- a/doc/rules-tvos.md
+++ b/doc/rules-tvos.md
@@ -350,7 +350,7 @@ the attributes inherited by all test rules, please check the
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"tvos"` |
@@ -399,7 +399,7 @@ of the attributes inherited by all test rules, please check the
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"tvos"` |
diff --git a/doc/rules-visionos.md b/doc/rules-visionos.md
index 87e232d2ce..6000403a61 100755
--- a/doc/rules-visionos.md
+++ b/doc/rules-visionos.md
@@ -298,7 +298,7 @@ the attributes inherited by all test rules, please check the
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"visionos"` |
@@ -347,7 +347,7 @@ of the attributes inherited by all test rules, please check the
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"visionos"` |
diff --git a/doc/rules-watchos.md b/doc/rules-watchos.md
index 20470e2cbc..80e315ff82 100644
--- a/doc/rules-watchos.md
+++ b/doc/rules-watchos.md
@@ -308,7 +308,7 @@ watchOS UI Test rule.
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"watchos"` |
@@ -340,7 +340,7 @@ watchOS Unit Test rule.
| deps | - | List of labels | required | |
| data | Files to be made available to the test during its execution. | List of labels | optional | `[]` |
| bundle_name | The desired name of the bundle (without the extension). If this attribute is not set, then the name of the target will be used instead. | String | optional | `""` |
-| env | Dictionary of environment variables that should be set during the test execution. | Dictionary: String -> String | optional | `{}` |
+| env | Dictionary of environment variables that should be set during the test execution. The values of the dictionary are subject to "Make" variable expansion. | Dictionary: String -> String | optional | `{}` |
| minimum_deployment_os_version | A required string indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0"). This is different from `minimum_os_version`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | String | optional | `""` |
| minimum_os_version | A required string indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "9.0"). | String | required | |
| platform_type | - | String | optional | `"watchos"` |
diff --git a/test/ios_test_runner_unit_test.sh b/test/ios_test_runner_unit_test.sh
index 39bb01e15c..80c23db6bc 100755
--- a/test/ios_test_runner_unit_test.sh
+++ b/test/ios_test_runner_unit_test.sh
@@ -323,6 +323,79 @@ ios_unit_test(
EOF
}
+function create_ios_unit_make_var_test() {
+ if [[ ! -f ios/BUILD ]]; then
+ fail "create_sim_runners must be called first."
+ fi
+
+ cat > ios/make_var_unit_test.m <
+#include
+#include
+
+@interface MakeVarUnitTest : XCTestCase
+
+@end
+
+@implementation MakeVarUnitTest
+
+- (void)testMakeVar {
+ XCTAssertEqualObjects([NSProcessInfo processInfo].environment[@"MY_MAKE_VAR"], @"$1", @"should pass");
+}
+
+@end
+EOF
+
+ cat >ios/MakeVarUnitTest-Info.plist <
+
+ CFBundleExecutable
+ MakeVarUnitTest
+
+