Skip to content

Commit dfe5a0e

Browse files
jpsimmergify[bot]
andauthored
feat: Implement _system_library_build_file (#1834)
Before: ```console $ bazel run //:sqlite_data_example ERROR: /private/var/tmp/_bazel_jsimard/e01a47dc03c304f8327e2ce75a78ef77/external/rules_swift_package_manager++swift_deps+swiftpkg_grdb.swift/BUILD.bazel:46:14: in deps attribute of swift_library rule @@rules_swift_package_manager++swift_deps+swiftpkg_grdb.swift//:GRDB.rspm: target '@@rules_swift_package_manager++swift_deps+swiftpkg_grdb.swift//:GRDBSQLite.rspm' does not exist ERROR: /private/var/tmp/_bazel_jsimard/e01a47dc03c304f8327e2ce75a78ef77/external/rules_swift_package_manager++swift_deps+swiftpkg_grdb.swift/BUILD.bazel:46:14: Analysis of target '@@rules_swift_package_manager++swift_deps+swiftpkg_grdb.swift//:GRDB.rspm' (config: 945dbe2) failed ERROR: Analysis of target '//:sqlite_data_example' failed; build aborted: Analysis failed INFO: Elapsed time: 15.202s, Critical Path: 0.00s INFO: 1 process: 1 internal. ERROR: Build did NOT complete successfully ERROR: Build failed. Not running target ``` After: ```console $ bazel run //:sqlite_data_example INFO: Analyzed target //:sqlite_data_example (2 packages loaded, 108 targets configured). INFO: Found 1 target... Target //:sqlite_data_example up-to-date: bazel-bin/sqlite_data_example INFO: Elapsed time: 0.762s, Critical Path: 0.01s INFO: 1 process: 131 action cache hit, 1 internal. INFO: Build completed successfully, 1 total action INFO: Running command line: bazel-bin/sqlite_data_example 1 Frodo Baggins 3 Samwise Gamgee ``` Fixes #248 --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent 5015f6c commit dfe5a0e

File tree

15 files changed

+432
-9
lines changed

15 files changed

+432
-9
lines changed

.bazelrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# To update these lines, execute
22
# `bazel run @rules_bazel_integration_test//tools:update_deleted_packages`
3-
build --deleted_packages=bzlmod/workspace,bzlmod/workspace/Sources/MyExecutable,bzlmod/workspace/Sources/MyLibrary,bzlmod/workspace/Tests/MyLibraryTests,examples/firebase_example,examples/firebase_example/abtesting,examples/firebase_example/abtesting/SharedApp,examples/firebase_example/analytics/AnalyticsExample,examples/firebase_example/appdistribution,examples/firebase_example/appdistribution/AppDistributionExample,examples/firebase_example/appdistribution/AppDistributionTests,examples/firebase_example/crashlytics,examples/google_maps_example,examples/google_maps_example/GoogleMapsExample,examples/google_maps_example/third-party/google-maps-ios-sdk,examples/grpc_example,examples/grpc_example/compilers,examples/grpc_example/protos/echo_service,examples/grpc_example/protos/echo_service/requests,examples/grpc_example/protos/echo_service/responses,examples/grpc_example/sources/client,examples/grpc_example/sources/server,examples/injectionnext_example,examples/injectionnext_example/Tests,examples/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,examples/kscrash_example,examples/kscrash_example/Sources/MyApp,examples/kscrash_example/Tests/MyAppUITests,examples/kscrash_example/swift,examples/language_modes_example,examples/lottie_ios_example,examples/lottie_ios_example/LottieExample,examples/lottie_ios_example/LottieExampleUITest,examples/messagekit_example,examples/messagekit_example/Sources/Models,examples/messagekit_example/Tests/ModelTests,examples/nimble_example,examples/nimble_example/Sources/NimbleExample,examples/objc_code,examples/objc_code/Tests/TrustKitTests,examples/phone_number_kit,examples/phone_number_kit/Tests/PhoneNumberKitTests,examples/pkg_manifest_minimal,examples/pkg_manifest_minimal/Sources/MyExecutable,examples/pkg_manifest_minimal/Sources/MyLibrary,examples/pkg_manifest_minimal/Tests/MyLibraryTests,examples/pkg_manifest_minimal/third_party,examples/resources_example,examples/resources_example/Sources/MyApp,examples/resources_example/Tests/MyAppTests,examples/resources_example/Tests/MyAppUITests,examples/resources_example/swift,examples/resources_example/third_party,examples/shake_ios_example,examples/shake_ios_example/ShakeIOSExample,examples/shake_ios_example/ShakeIOSExampleUITests,examples/skip_local_transitive_dependencies_example,examples/snapkit_example,examples/soto_example,examples/soto_example/Tests/SotoTests,examples/stripe_example,examples/stripe_example/PaymentSheet/PaymentSheetExample,examples/stripe_example/PaymentSheet/PaymentSheetUITest,examples/swift_package_registry_example,examples/symlink_example,examples/symlink_example/Sources/ImportFramework,examples/symlink_example/Tests/ImportFrameworkTests,examples/tca_example,examples/tca_example/Sources,examples/tca_example/Tests,examples/vapor_example,examples/vapor_example/Sources/App,examples/vapor_example/Sources/Run,examples/vapor_example/Tests/AppTests,examples/vapor_example/swift,examples/xcmetrics_example
4-
query --deleted_packages=bzlmod/workspace,bzlmod/workspace/Sources/MyExecutable,bzlmod/workspace/Sources/MyLibrary,bzlmod/workspace/Tests/MyLibraryTests,examples/firebase_example,examples/firebase_example/abtesting,examples/firebase_example/abtesting/SharedApp,examples/firebase_example/analytics/AnalyticsExample,examples/firebase_example/appdistribution,examples/firebase_example/appdistribution/AppDistributionExample,examples/firebase_example/appdistribution/AppDistributionTests,examples/firebase_example/crashlytics,examples/google_maps_example,examples/google_maps_example/GoogleMapsExample,examples/google_maps_example/third-party/google-maps-ios-sdk,examples/grpc_example,examples/grpc_example/compilers,examples/grpc_example/protos/echo_service,examples/grpc_example/protos/echo_service/requests,examples/grpc_example/protos/echo_service/responses,examples/grpc_example/sources/client,examples/grpc_example/sources/server,examples/injectionnext_example,examples/injectionnext_example/Tests,examples/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,examples/kscrash_example,examples/kscrash_example/Sources/MyApp,examples/kscrash_example/Tests/MyAppUITests,examples/kscrash_example/swift,examples/language_modes_example,examples/lottie_ios_example,examples/lottie_ios_example/LottieExample,examples/lottie_ios_example/LottieExampleUITest,examples/messagekit_example,examples/messagekit_example/Sources/Models,examples/messagekit_example/Tests/ModelTests,examples/nimble_example,examples/nimble_example/Sources/NimbleExample,examples/objc_code,examples/objc_code/Tests/TrustKitTests,examples/phone_number_kit,examples/phone_number_kit/Tests/PhoneNumberKitTests,examples/pkg_manifest_minimal,examples/pkg_manifest_minimal/Sources/MyExecutable,examples/pkg_manifest_minimal/Sources/MyLibrary,examples/pkg_manifest_minimal/Tests/MyLibraryTests,examples/pkg_manifest_minimal/third_party,examples/resources_example,examples/resources_example/Sources/MyApp,examples/resources_example/Tests/MyAppTests,examples/resources_example/Tests/MyAppUITests,examples/resources_example/swift,examples/resources_example/third_party,examples/shake_ios_example,examples/shake_ios_example/ShakeIOSExample,examples/shake_ios_example/ShakeIOSExampleUITests,examples/skip_local_transitive_dependencies_example,examples/snapkit_example,examples/soto_example,examples/soto_example/Tests/SotoTests,examples/stripe_example,examples/stripe_example/PaymentSheet/PaymentSheetExample,examples/stripe_example/PaymentSheet/PaymentSheetUITest,examples/swift_package_registry_example,examples/symlink_example,examples/symlink_example/Sources/ImportFramework,examples/symlink_example/Tests/ImportFrameworkTests,examples/tca_example,examples/tca_example/Sources,examples/tca_example/Tests,examples/vapor_example,examples/vapor_example/Sources/App,examples/vapor_example/Sources/Run,examples/vapor_example/Tests/AppTests,examples/vapor_example/swift,examples/xcmetrics_example
3+
build --deleted_packages=bzlmod/workspace,bzlmod/workspace/Sources/MyExecutable,bzlmod/workspace/Sources/MyLibrary,bzlmod/workspace/Tests/MyLibraryTests,examples/firebase_example,examples/firebase_example/abtesting,examples/firebase_example/abtesting/SharedApp,examples/firebase_example/analytics/AnalyticsExample,examples/firebase_example/appdistribution,examples/firebase_example/appdistribution/AppDistributionExample,examples/firebase_example/appdistribution/AppDistributionTests,examples/firebase_example/crashlytics,examples/google_maps_example,examples/google_maps_example/GoogleMapsExample,examples/google_maps_example/third-party/google-maps-ios-sdk,examples/grpc_example,examples/grpc_example/compilers,examples/grpc_example/protos/echo_service,examples/grpc_example/protos/echo_service/requests,examples/grpc_example/protos/echo_service/responses,examples/grpc_example/sources/client,examples/grpc_example/sources/server,examples/injectionnext_example,examples/injectionnext_example/Tests,examples/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,examples/kscrash_example,examples/kscrash_example/Sources/MyApp,examples/kscrash_example/Tests/MyAppUITests,examples/kscrash_example/swift,examples/language_modes_example,examples/lottie_ios_example,examples/lottie_ios_example/LottieExample,examples/lottie_ios_example/LottieExampleUITest,examples/messagekit_example,examples/messagekit_example/Sources/Models,examples/messagekit_example/Tests/ModelTests,examples/nimble_example,examples/nimble_example/Sources/NimbleExample,examples/objc_code,examples/objc_code/Tests/TrustKitTests,examples/phone_number_kit,examples/phone_number_kit/Tests/PhoneNumberKitTests,examples/pkg_manifest_minimal,examples/pkg_manifest_minimal/Sources/MyExecutable,examples/pkg_manifest_minimal/Sources/MyLibrary,examples/pkg_manifest_minimal/Tests/MyLibraryTests,examples/pkg_manifest_minimal/third_party,examples/resources_example,examples/resources_example/Sources/MyApp,examples/resources_example/Tests/MyAppTests,examples/resources_example/Tests/MyAppUITests,examples/resources_example/swift,examples/resources_example/third_party,examples/shake_ios_example,examples/shake_ios_example/ShakeIOSExample,examples/shake_ios_example/ShakeIOSExampleUITests,examples/skip_local_transitive_dependencies_example,examples/snapkit_example,examples/soto_example,examples/soto_example/Tests/SotoTests,examples/sqlite_data_example,examples/stripe_example,examples/stripe_example/PaymentSheet/PaymentSheetExample,examples/stripe_example/PaymentSheet/PaymentSheetUITest,examples/swift_package_registry_example,examples/symlink_example,examples/symlink_example/Sources/ImportFramework,examples/symlink_example/Tests/ImportFrameworkTests,examples/tca_example,examples/tca_example/Sources,examples/tca_example/Tests,examples/vapor_example,examples/vapor_example/Sources/App,examples/vapor_example/Sources/Run,examples/vapor_example/Tests/AppTests,examples/vapor_example/swift,examples/xcmetrics_example
4+
query --deleted_packages=bzlmod/workspace,bzlmod/workspace/Sources/MyExecutable,bzlmod/workspace/Sources/MyLibrary,bzlmod/workspace/Tests/MyLibraryTests,examples/firebase_example,examples/firebase_example/abtesting,examples/firebase_example/abtesting/SharedApp,examples/firebase_example/analytics/AnalyticsExample,examples/firebase_example/appdistribution,examples/firebase_example/appdistribution/AppDistributionExample,examples/firebase_example/appdistribution/AppDistributionTests,examples/firebase_example/crashlytics,examples/google_maps_example,examples/google_maps_example/GoogleMapsExample,examples/google_maps_example/third-party/google-maps-ios-sdk,examples/grpc_example,examples/grpc_example/compilers,examples/grpc_example/protos/echo_service,examples/grpc_example/protos/echo_service/requests,examples/grpc_example/protos/echo_service/responses,examples/grpc_example/sources/client,examples/grpc_example/sources/server,examples/injectionnext_example,examples/injectionnext_example/Tests,examples/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,examples/kscrash_example,examples/kscrash_example/Sources/MyApp,examples/kscrash_example/Tests/MyAppUITests,examples/kscrash_example/swift,examples/language_modes_example,examples/lottie_ios_example,examples/lottie_ios_example/LottieExample,examples/lottie_ios_example/LottieExampleUITest,examples/messagekit_example,examples/messagekit_example/Sources/Models,examples/messagekit_example/Tests/ModelTests,examples/nimble_example,examples/nimble_example/Sources/NimbleExample,examples/objc_code,examples/objc_code/Tests/TrustKitTests,examples/phone_number_kit,examples/phone_number_kit/Tests/PhoneNumberKitTests,examples/pkg_manifest_minimal,examples/pkg_manifest_minimal/Sources/MyExecutable,examples/pkg_manifest_minimal/Sources/MyLibrary,examples/pkg_manifest_minimal/Tests/MyLibraryTests,examples/pkg_manifest_minimal/third_party,examples/resources_example,examples/resources_example/Sources/MyApp,examples/resources_example/Tests/MyAppTests,examples/resources_example/Tests/MyAppUITests,examples/resources_example/swift,examples/resources_example/third_party,examples/shake_ios_example,examples/shake_ios_example/ShakeIOSExample,examples/shake_ios_example/ShakeIOSExampleUITests,examples/skip_local_transitive_dependencies_example,examples/snapkit_example,examples/soto_example,examples/soto_example/Tests/SotoTests,examples/sqlite_data_example,examples/stripe_example,examples/stripe_example/PaymentSheet/PaymentSheetExample,examples/stripe_example/PaymentSheet/PaymentSheetUITest,examples/swift_package_registry_example,examples/symlink_example,examples/symlink_example/Sources/ImportFramework,examples/symlink_example/Tests/ImportFrameworkTests,examples/tca_example,examples/tca_example/Sources,examples/tca_example/Tests,examples/vapor_example,examples/vapor_example/Sources/App,examples/vapor_example/Sources/Run,examples/vapor_example/Tests/AppTests,examples/vapor_example/swift,examples/xcmetrics_example
55

66
# Import Shared settings
77
import %workspace%/shared.bazelrc

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ jobs:
7373
runner: macos-15
7474
- test: '@@//examples:soto_example_test_bazel_.bazelversion'
7575
runner: macos-15
76+
- test: '@@//examples:sqlite_data_example_test_bazel_.bazelversion'
77+
runner: macos-15
7678
- test: '@@//examples:stripe_example_test_bazel_.bazelversion'
7779
runner: macos-15
7880
- test: '@@//examples:swift_package_registry_example_test_bazel_.bazelversion'

examples/example_infos.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ _macos_single_bazel_version_test_examples = [
152152
"tca_example",
153153
"symlink_example",
154154
"swift_package_registry_example",
155+
"sqlite_data_example",
155156
]
156157

157158
_linux_single_bazel_version_test_examples = []
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Import Shared settings
2+
import %workspace%/../../shared.bazelrc
3+
4+
# Import CI settings.
5+
import %workspace%/../../ci.bazelrc
6+
7+
# Try to import a local.rc file; typically, written by CI
8+
try-import %workspace%/../../local.bazelrc
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_binary")
2+
3+
swift_binary(
4+
name = "sqlite_data_example",
5+
srcs = ["example.swift"],
6+
module_name = "sqlite_data_example",
7+
visibility = ["//visibility:public"],
8+
deps = [
9+
"@swiftpkg_sqlite_data//:SQLiteData",
10+
],
11+
)
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
bazel_dep(
2+
name = "rules_swift_package_manager",
3+
version = "0.0.0",
4+
)
5+
local_path_override(
6+
module_name = "rules_swift_package_manager",
7+
path = "../..",
8+
)
9+
10+
bazel_dep(name = "cgrindel_bazel_starlib", version = "0.27.0")
11+
bazel_dep(name = "bazel_skylib", version = "1.8.1")
12+
bazel_dep(name = "apple_support", version = "1.23.1")
13+
bazel_dep(
14+
name = "rules_swift",
15+
version = "3.1.2",
16+
repo_name = "build_bazel_rules_swift",
17+
)
18+
bazel_dep(
19+
name = "rules_apple",
20+
version = "4.2.0",
21+
repo_name = "build_bazel_rules_apple",
22+
)
23+
24+
bazel_dep(
25+
name = "bazel_skylib_gazelle_plugin",
26+
version = "1.8.1",
27+
dev_dependency = True,
28+
)
29+
bazel_dep(
30+
name = "gazelle",
31+
version = "0.45.0",
32+
dev_dependency = True,
33+
repo_name = "bazel_gazelle",
34+
)
35+
36+
swift_deps = use_extension(
37+
"@rules_swift_package_manager//:extensions.bzl",
38+
"swift_deps",
39+
)
40+
swift_deps.from_package(
41+
resolved = "//:Package.resolved",
42+
swift = "//:Package.swift",
43+
)
44+
use_repo(
45+
swift_deps,
46+
"swift_package",
47+
"swiftpkg_sqlite_data",
48+
"swiftpkg_swift_tagged",
49+
)

examples/sqlite_data_example/Package.resolved

Lines changed: 149 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// swift-tools-version: 6.0
2+
3+
import PackageDescription
4+
5+
let package = Package(
6+
name: "sqlite_data_example",
7+
dependencies: [
8+
.package(url: "https://github.com/pointfreeco/sqlite-data", exact: "1.0.0"),
9+
.package(url: "https://github.com/pointfreeco/swift-tagged", from: "0.10.0"),
10+
]
11+
)

0 commit comments

Comments
 (0)