From 9b26969d16d4a5dc8c6ae204723248388a23133f Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Mon, 31 Mar 2025 20:53:22 -0400 Subject: [PATCH 1/9] feat Adds a test case for using swift-build This new test should be able to build the example project added, it cannot right now due to errors in rspm around bundle accessors Signed-off-by: Maxwell Elliott --- .gitignore | 1 + examples/example_infos.bzl | 2 + examples/swift_build_example/.bazelrc | 8 + examples/swift_build_example/BUILD.bazel | 33 ++ examples/swift_build_example/MODULE.bazel | 32 ++ examples/swift_build_example/Package.resolved | 105 ++++++ examples/swift_build_example/Package.swift | 10 + examples/swift_build_example/WORKSPACE | 1 + examples/swift_build_example/WORKSPACE.bzlmod | 1 + examples/swift_build_example/do_test | 17 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 85 +++++ .../Assets.xcassets/Contents.json | 6 + .../swift-build-app/ContentView.swift | 24 ++ .../Preview Assets.xcassets/Contents.json | 6 + .../swift-build-app.xcodeproj/project.pbxproj | 340 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../swift_build_app.entitlements | 10 + .../swift-build-app/swift_build_appApp.swift | 17 + shared.bazelrc | 6 +- 20 files changed, 719 insertions(+), 3 deletions(-) create mode 100644 examples/swift_build_example/.bazelrc create mode 100644 examples/swift_build_example/BUILD.bazel create mode 100644 examples/swift_build_example/MODULE.bazel create mode 100644 examples/swift_build_example/Package.resolved create mode 100644 examples/swift_build_example/Package.swift create mode 100644 examples/swift_build_example/WORKSPACE create mode 100644 examples/swift_build_example/WORKSPACE.bzlmod create mode 100644 examples/swift_build_example/do_test create mode 100644 examples/swift_build_example/swift-build-app/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 examples/swift_build_example/swift-build-app/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 examples/swift_build_example/swift-build-app/Assets.xcassets/Contents.json create mode 100644 examples/swift_build_example/swift-build-app/ContentView.swift create mode 100644 examples/swift_build_example/swift-build-app/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 examples/swift_build_example/swift-build-app/swift-build-app.xcodeproj/project.pbxproj create mode 100644 examples/swift_build_example/swift-build-app/swift-build-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 examples/swift_build_example/swift-build-app/swift_build_app.entitlements create mode 100644 examples/swift_build_example/swift-build-app/swift_build_appApp.swift diff --git a/.gitignore b/.gitignore index 1dd2e5550..d8677aa93 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ bazel-* **/.build **/Packages **/*.xcodeproj +!examples/swift_build_example/swift-build-app/swift-build-app.xcodeproj **/xcuserdata/ **/DerivedData/ **/.swiftpm/config/registries.json diff --git a/examples/example_infos.bzl b/examples/example_infos.bzl index 45e6830ae..6ccbe5e41 100644 --- a/examples/example_infos.bzl +++ b/examples/example_infos.bzl @@ -116,6 +116,7 @@ _timeouts = { "soto_example": "eternal", "vapor_example": "eternal", "xcmetrics_example": "eternal", + "swift_build_example": "eternal", } _default_enable_bzlmods = [True] @@ -151,6 +152,7 @@ _macos_single_bazel_version_test_examples = [ "tca_example", "symlink_example", "swift_package_registry_example", + "swift_build_example", ] _linux_single_bazel_version_test_examples = [] diff --git a/examples/swift_build_example/.bazelrc b/examples/swift_build_example/.bazelrc new file mode 100644 index 000000000..e9769fc7b --- /dev/null +++ b/examples/swift_build_example/.bazelrc @@ -0,0 +1,8 @@ +# Import Shared settings +import %workspace%/../../shared.bazelrc + +# Import CI settings. +import %workspace%/../../ci.bazelrc + +# Try to import a local.rc file; typically, written by CI +try-import %workspace%/../../local.bazelrc diff --git a/examples/swift_build_example/BUILD.bazel b/examples/swift_build_example/BUILD.bazel new file mode 100644 index 000000000..561b30397 --- /dev/null +++ b/examples/swift_build_example/BUILD.bazel @@ -0,0 +1,33 @@ +load("@bazel_gazelle//:def.bzl", "gazelle", "gazelle_binary") +load("@cgrindel_bazel_starlib//bzltidy:defs.bzl", "tidy") + +tidy( + name = "tidy", + targets = [ + ":update_build_files", + ], +) + +# MARK: - Gazelle + +# Ignore the Swift build folder +# gazelle:exclude .build + +gazelle_binary( + name = "gazelle_bin", + languages = [ + "@bazel_skylib_gazelle_plugin//bzl", + "@swift_gazelle_plugin//gazelle", + ], +) + +gazelle( + name = "update_build_files", + data = [ + "@swift_deps_info//:swift_deps_index", + ], + extra_args = [ + "-swift_dependency_index=$(location @swift_deps_info//:swift_deps_index)", + ], + gazelle = ":gazelle_bin", +) diff --git a/examples/swift_build_example/MODULE.bazel b/examples/swift_build_example/MODULE.bazel new file mode 100644 index 000000000..17eac46ed --- /dev/null +++ b/examples/swift_build_example/MODULE.bazel @@ -0,0 +1,32 @@ +bazel_dep( + name = "rules_swift_package_manager", + version = "0.0.0", +) +local_path_override( + module_name = "rules_swift_package_manager", + path = "../..", +) +bazel_dep(name = "cgrindel_bazel_starlib", version = "0.25.2") + +bazel_dep( + name = "rules_swift", + version = "2.7.0", + repo_name = "build_bazel_rules_swift", +) +bazel_dep(name = "rules_apple", version = "3.20.1", repo_name = "build_bazel_rules_apple") + +swift_deps = use_extension( + "@rules_swift_package_manager//:extensions.bzl", + "swift_deps", +) +swift_deps.from_package( + declare_swift_deps_info = True, + resolved = "//:Package.resolved", + swift = "//:Package.swift", +) +use_repo( + swift_deps, + "swift_deps_info", # This is generated by the ruleset.`. + "swift_package", + "swiftpkg_swift_build", +) diff --git a/examples/swift_build_example/Package.resolved b/examples/swift_build_example/Package.resolved new file mode 100644 index 000000000..1e7d61ccb --- /dev/null +++ b/examples/swift_build_example/Package.resolved @@ -0,0 +1,105 @@ +{ + "originHash" : "72612e2f7597bb45d1461348e365b4e815c8da1b0b8ba03d928ae516193d48ee", + "pins" : [ + { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser.git", + "state" : { + "revision" : "41982a3656a71c768319979febd796c6fd111d5c", + "version" : "1.5.0" + } + }, + { + "identity" : "swift-asn1", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-asn1.git", + "state" : { + "revision" : "ae33e5941bb88d88538d0a6b19ca0b01e6c76dcf", + "version" : "1.3.1" + } + }, + { + "identity" : "swift-build", + "kind" : "remoteSourceControl", + "location" : "https://github.com/maxwellE/swift-build", + "state" : { + "branch" : "maxwelle/bazel-poc", + "revision" : "74b3037bcc13813330579b554f0d10d241e82f8d" + } + }, + { + "identity" : "swift-crypto", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-crypto.git", + "state" : { + "revision" : "a6ce32a18b81b04ce7e897d1d98df6eb2da04786", + "version" : "3.12.2" + } + }, + { + "identity" : "swift-driver", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-driver.git", + "state" : { + "branch" : "main", + "revision" : "d47f564b360fe4505d263dfbac4c48c39595c8ca" + } + }, + { + "identity" : "swift-llbuild", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-llbuild.git", + "state" : { + "branch" : "main", + "revision" : "55c358ad54f2983b50b3806fa2f1b2c63d36f54b" + } + }, + { + "identity" : "swift-log", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-log.git", + "state" : { + "revision" : "3d8596ed08bd13520157f0355e35caed215ffbfa", + "version" : "1.6.3" + } + }, + { + "identity" : "swift-protobuf", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-protobuf.git", + "state" : { + "revision" : "d72aed98f8253ec1aa9ea1141e28150f408cf17f", + "version" : "1.29.0" + } + }, + { + "identity" : "swift-system", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-system.git", + "state" : { + "revision" : "a34201439c74b53f0fd71ef11741af7e7caf01e1", + "version" : "1.4.2" + } + }, + { + "identity" : "swift-toolchain-sqlite", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-toolchain-sqlite", + "state" : { + "revision" : "4ee66b3ab1c40d20176045e61d8276242e73b01d", + "version" : "1.0.3" + } + }, + { + "identity" : "swift-tools-support-core", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-tools-support-core.git", + "state" : { + "branch" : "main", + "revision" : "bfafdebdbc7b3743dded75c5e1f4a97c164deada" + } + } + ], + "version" : 3 +} diff --git a/examples/swift_build_example/Package.swift b/examples/swift_build_example/Package.swift new file mode 100644 index 000000000..078e25b1d --- /dev/null +++ b/examples/swift_build_example/Package.swift @@ -0,0 +1,10 @@ +// swift-tools-version: 6.0 + +import PackageDescription + +let package = Package( + name: "swift_build_example", + dependencies: [ + .package(url: "https://github.com/maxwellE/swift-build", branch: "maxwelle/bazel-poc"), + ] +) diff --git a/examples/swift_build_example/WORKSPACE b/examples/swift_build_example/WORKSPACE new file mode 100644 index 000000000..d251ab7ba --- /dev/null +++ b/examples/swift_build_example/WORKSPACE @@ -0,0 +1 @@ +# Intentionally blank: Using bzlmod diff --git a/examples/swift_build_example/WORKSPACE.bzlmod b/examples/swift_build_example/WORKSPACE.bzlmod new file mode 100644 index 000000000..af8a0e896 --- /dev/null +++ b/examples/swift_build_example/WORKSPACE.bzlmod @@ -0,0 +1 @@ +# Intentionally blank: Force bzlmod to strict mode diff --git a/examples/swift_build_example/do_test b/examples/swift_build_example/do_test new file mode 100644 index 000000000..547ff42e7 --- /dev/null +++ b/examples/swift_build_example/do_test @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -o errexit -o nounset -o pipefail + +script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null && pwd)" + +# Use the Bazel binary specified by the integration test. Otherise, fall back +# to bazel. +bazel="${BIT_BAZEL_BINARY:-bazel}" + +# Generate Swift external deps and update build files +"${bazel}" run //:tidy + +# Ensure that it builds and tests pass +"${bazel}" run @swiftpkg_swift_build//:swbuild -- build \ + "${script_dir}/swift-build-app/swift-build-app.xcodeproj" \ + --target swift-build-app diff --git a/examples/swift_build_example/swift-build-app/Assets.xcassets/AccentColor.colorset/Contents.json b/examples/swift_build_example/swift-build-app/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 000000000..eb8789700 --- /dev/null +++ b/examples/swift_build_example/swift-build-app/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/examples/swift_build_example/swift-build-app/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/swift_build_example/swift-build-app/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..ffdfe150b --- /dev/null +++ b/examples/swift_build_example/swift-build-app/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,85 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/examples/swift_build_example/swift-build-app/Assets.xcassets/Contents.json b/examples/swift_build_example/swift-build-app/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/examples/swift_build_example/swift-build-app/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/examples/swift_build_example/swift-build-app/ContentView.swift b/examples/swift_build_example/swift-build-app/ContentView.swift new file mode 100644 index 000000000..d8a797725 --- /dev/null +++ b/examples/swift_build_example/swift-build-app/ContentView.swift @@ -0,0 +1,24 @@ +// +// ContentView.swift +// swift-build-app +// +// Created by Maxwell Elliott on 3/31/25. +// + +import SwiftUI + +struct ContentView: View { + var body: some View { + VStack { + Image(systemName: "globe") + .imageScale(.large) + .foregroundStyle(.tint) + Text("Hello, world!") + } + .padding() + } +} + +#Preview { + ContentView() +} diff --git a/examples/swift_build_example/swift-build-app/Preview Content/Preview Assets.xcassets/Contents.json b/examples/swift_build_example/swift-build-app/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/examples/swift_build_example/swift-build-app/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/examples/swift_build_example/swift-build-app/swift-build-app.xcodeproj/project.pbxproj b/examples/swift_build_example/swift-build-app/swift-build-app.xcodeproj/project.pbxproj new file mode 100644 index 000000000..8e8f5b77a --- /dev/null +++ b/examples/swift_build_example/swift-build-app/swift-build-app.xcodeproj/project.pbxproj @@ -0,0 +1,340 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXFileReference section */ + B562DAC12D9B6E0300CACB6E /* swift-build-app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "swift-build-app.app"; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + B562DAC32D9B6E0300CACB6E /* swift-build-app */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = "swift-build-app"; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + B562DABE2D9B6E0300CACB6E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + B562DAB82D9B6E0300CACB6E = { + isa = PBXGroup; + children = ( + B562DAC32D9B6E0300CACB6E /* swift-build-app */, + B562DAC22D9B6E0300CACB6E /* Products */, + ); + sourceTree = ""; + }; + B562DAC22D9B6E0300CACB6E /* Products */ = { + isa = PBXGroup; + children = ( + B562DAC12D9B6E0300CACB6E /* swift-build-app.app */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + B562DAC02D9B6E0300CACB6E /* swift-build-app */ = { + isa = PBXNativeTarget; + buildConfigurationList = B562DAD02D9B6E0400CACB6E /* Build configuration list for PBXNativeTarget "swift-build-app" */; + buildPhases = ( + B562DABD2D9B6E0300CACB6E /* Sources */, + B562DABE2D9B6E0300CACB6E /* Frameworks */, + B562DABF2D9B6E0300CACB6E /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + B562DAC32D9B6E0300CACB6E /* swift-build-app */, + ); + name = "swift-build-app"; + packageProductDependencies = ( + ); + productName = "swift-build-app"; + productReference = B562DAC12D9B6E0300CACB6E /* swift-build-app.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + B562DAB92D9B6E0300CACB6E /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1620; + LastUpgradeCheck = 1620; + TargetAttributes = { + B562DAC02D9B6E0300CACB6E = { + CreatedOnToolsVersion = 16.2; + }; + }; + }; + buildConfigurationList = B562DABC2D9B6E0300CACB6E /* Build configuration list for PBXProject "swift-build-app" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = B562DAB82D9B6E0300CACB6E; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = B562DAC22D9B6E0300CACB6E /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + B562DAC02D9B6E0300CACB6E /* swift-build-app */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + B562DABF2D9B6E0300CACB6E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + B562DABD2D9B6E0300CACB6E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + B562DACE2D9B6E0400CACB6E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + B562DACF2D9B6E0400CACB6E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SWIFT_COMPILATION_MODE = wholemodule; + }; + name = Release; + }; + B562DAD12D9B6E0400CACB6E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "swift-build-app/swift_build_app.entitlements"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"swift-build-app/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 18.2; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 14.7; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "rules-swlft-package-manager.swift-build-app"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = auto; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,7"; + XROS_DEPLOYMENT_TARGET = 2.2; + }; + name = Debug; + }; + B562DAD22D9B6E0400CACB6E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "swift-build-app/swift_build_app.entitlements"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"swift-build-app/Preview Content\""; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; + "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 18.2; + LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 14.7; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "rules-swlft-package-manager.swift-build-app"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = auto; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx xros xrsimulator"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,7"; + XROS_DEPLOYMENT_TARGET = 2.2; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + B562DABC2D9B6E0300CACB6E /* Build configuration list for PBXProject "swift-build-app" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B562DACE2D9B6E0400CACB6E /* Debug */, + B562DACF2D9B6E0400CACB6E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B562DAD02D9B6E0400CACB6E /* Build configuration list for PBXNativeTarget "swift-build-app" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B562DAD12D9B6E0400CACB6E /* Debug */, + B562DAD22D9B6E0400CACB6E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = B562DAB92D9B6E0300CACB6E /* Project object */; +} diff --git a/examples/swift_build_example/swift-build-app/swift-build-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/swift_build_example/swift-build-app/swift-build-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/examples/swift_build_example/swift-build-app/swift-build-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/swift_build_example/swift-build-app/swift_build_app.entitlements b/examples/swift_build_example/swift-build-app/swift_build_app.entitlements new file mode 100644 index 000000000..f2ef3ae02 --- /dev/null +++ b/examples/swift_build_example/swift-build-app/swift_build_app.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/examples/swift_build_example/swift-build-app/swift_build_appApp.swift b/examples/swift_build_example/swift-build-app/swift_build_appApp.swift new file mode 100644 index 000000000..3de89705f --- /dev/null +++ b/examples/swift_build_example/swift-build-app/swift_build_appApp.swift @@ -0,0 +1,17 @@ +// +// swift_build_appApp.swift +// swift-build-app +// +// Created by Maxwell Elliott on 3/31/25. +// + +import SwiftUI + +@main +struct swift_build_appApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} diff --git a/shared.bazelrc b/shared.bazelrc index 621d6b31c..ec3933ee0 100644 --- a/shared.bazelrc +++ b/shared.bazelrc @@ -30,9 +30,9 @@ build:cache --experimental_remote_cache_compression # Recommended by BuildBuddy build --experimental_remote_build_event_upload=minimal -build --noslim_profile -build --experimental_profile_include_target_label -build --experimental_profile_include_primary_output +build --noslim_profile +build --experimental_profile_include_target_label +build --experimental_profile_include_primary_output build --nolegacy_important_outputs # Finish BES upload in the background. Disable BES upload when running. From 52d3cfc666bc43de36b87fceee2f6dfa9ea1195d Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Mon, 31 Mar 2025 21:19:32 -0400 Subject: [PATCH 2/9] more updates Signed-off-by: Maxwell Elliott --- examples/swift_build_example/MODULE.bazel | 16 ++++++++++++++++ .../swift-build-app/BUILD.bazel | 11 +++++++++++ 2 files changed, 27 insertions(+) create mode 100644 examples/swift_build_example/swift-build-app/BUILD.bazel diff --git a/examples/swift_build_example/MODULE.bazel b/examples/swift_build_example/MODULE.bazel index 17eac46ed..6d9db4f87 100644 --- a/examples/swift_build_example/MODULE.bazel +++ b/examples/swift_build_example/MODULE.bazel @@ -14,6 +14,22 @@ bazel_dep( repo_name = "build_bazel_rules_swift", ) bazel_dep(name = "rules_apple", version = "3.20.1", repo_name = "build_bazel_rules_apple") +bazel_dep( + name = "bazel_skylib_gazelle_plugin", + version = "1.7.1", + dev_dependency = True, +) +bazel_dep( + name = "gazelle", + version = "0.42.0", + dev_dependency = True, + repo_name = "bazel_gazelle", +) +bazel_dep( + name = "swift_gazelle_plugin", + version = "0.1.0", + dev_dependency = True, +) swift_deps = use_extension( "@rules_swift_package_manager//:extensions.bzl", diff --git a/examples/swift_build_example/swift-build-app/BUILD.bazel b/examples/swift_build_example/swift-build-app/BUILD.bazel new file mode 100644 index 000000000..0c51193d2 --- /dev/null +++ b/examples/swift_build_example/swift-build-app/BUILD.bazel @@ -0,0 +1,11 @@ +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + +swift_library( + name = "swift-build-app", + srcs = [ + "ContentView.swift", + "swift_build_appApp.swift", + ], + module_name = "swift-build-app", + visibility = ["//visibility:public"], +) From 334f8e8c4cece2b77c9b02f33cf1f980603d5ba9 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Mon, 31 Mar 2025 21:28:56 -0400 Subject: [PATCH 3/9] more updates Signed-off-by: Maxwell Elliott --- .bazelrc | 6 +++--- .github/workflows/ci.yml | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.bazelrc b/.bazelrc index 622a8c0ba..b1dd2d2ad 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,7 +1,7 @@ -# To update these lines, execute +# To update these lines, execute # `bazel run @rules_bazel_integration_test//tools:update_deleted_packages` -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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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 -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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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 +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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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,examples/swift_build_example +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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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,examples/swift_build_example # Import Shared settings import %workspace%/shared.bazelrc diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b78469525..ad2ba2725 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,7 @@ -# Portions of this file are generated by the build. +# Portions of this file are generated by the build. # # Note: -# - Modification to values outside of the matrix strategy sections should +# - Modification to values outside of the matrix strategy sections should # persist. # - Comments and custom formatting will be lost. name: Continuous Integration @@ -85,6 +85,8 @@ jobs: runner: macos-15 - test: '@@//examples:xcmetrics_example_test_bazel_.bazelversion' runner: macos-15 + - test: '@@//examples:swift_build_example_test_bazel_.bazelversion' + runner: macos-15 - test: '@@//release:archive_test' runner: ubuntu-22.04 - test: '@@//release:archive_test' From 3dbe27d9cfbc52d71ffe3dd8e5c1b5eaf3c9588c Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 1 Apr 2025 09:17:58 -0400 Subject: [PATCH 4/9] more updates Signed-off-by: Maxwell Elliott --- .bazelrc | 4 ++-- .github/workflows/ci.yml | 8 ++++---- examples/example_infos.bzl | 2 +- examples/swift_build_example/do_test | 0 4 files changed, 7 insertions(+), 7 deletions(-) mode change 100644 => 100755 examples/swift_build_example/do_test diff --git a/.bazelrc b/.bazelrc index b1dd2d2ad..dc65ac969 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,7 +1,7 @@ # To update these lines, execute # `bazel run @rules_bazel_integration_test//tools:update_deleted_packages` -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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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,examples/swift_build_example -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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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,examples/swift_build_example +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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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_build_example,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/algorithm,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/base,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/cleanup,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/container,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/crc,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/debugging,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/flags,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/functional,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/hash,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/log,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/log/internal,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/memory,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/meta,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/numeric,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/profiling,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/random,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/random/internal,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/status,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/strings,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/synchronization,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/time,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/time/internal/cctz,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/types,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/utility,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/utf8_range/fuzz,examples/swift_build_example/swift-build-app,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 +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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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_build_example,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/algorithm,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/base,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/cleanup,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/container,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/crc,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/debugging,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/flags,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/functional,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/hash,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/log,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/log/internal,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/memory,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/meta,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/numeric,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/profiling,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/random,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/random/internal,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/status,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/strings,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/synchronization,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/time,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/time/internal/cctz,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/types,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/utility,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/utf8_range/fuzz,examples/swift_build_example/swift-build-app,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 # Import Shared settings import %workspace%/shared.bazelrc diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad2ba2725..ca0df4338 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,7 @@ -# Portions of this file are generated by the build. +# Portions of this file are generated by the build. # # Note: -# - Modification to values outside of the matrix strategy sections should +# - Modification to values outside of the matrix strategy sections should # persist. # - Comments and custom formatting will be lost. name: Continuous Integration @@ -73,6 +73,8 @@ jobs: runner: macos-15 - test: '@@//examples:stripe_example_test_bazel_.bazelversion' runner: macos-15 + - test: '@@//examples:swift_build_example_test_bazel_.bazelversion' + runner: macos-15 - test: '@@//examples:swift_package_registry_example_test_bazel_.bazelversion' runner: macos-15 - test: '@@//examples:symlink_example_test_bazel_.bazelversion' @@ -85,8 +87,6 @@ jobs: runner: macos-15 - test: '@@//examples:xcmetrics_example_test_bazel_.bazelversion' runner: macos-15 - - test: '@@//examples:swift_build_example_test_bazel_.bazelversion' - runner: macos-15 - test: '@@//release:archive_test' runner: ubuntu-22.04 - test: '@@//release:archive_test' diff --git a/examples/example_infos.bzl b/examples/example_infos.bzl index 6ccbe5e41..cf7458e71 100644 --- a/examples/example_infos.bzl +++ b/examples/example_infos.bzl @@ -114,9 +114,9 @@ _default_timeout = "eternal" _timeouts = { "firebase_example": "eternal", "soto_example": "eternal", + "swift_build_example": "eternal", "vapor_example": "eternal", "xcmetrics_example": "eternal", - "swift_build_example": "eternal", } _default_enable_bzlmods = [True] diff --git a/examples/swift_build_example/do_test b/examples/swift_build_example/do_test old mode 100644 new mode 100755 From a128c127977425cd4e45906e490134a3a591012f Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 1 Apr 2025 09:56:22 -0400 Subject: [PATCH 5/9] more updates Signed-off-by: Maxwell Elliott --- .bazelrc | 4 ++-- examples/swift_build_example/.bazelignore | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 examples/swift_build_example/.bazelignore diff --git a/.bazelrc b/.bazelrc index dc65ac969..2946f35b0 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,7 +1,7 @@ # To update these lines, execute # `bazel run @rules_bazel_integration_test//tools:update_deleted_packages` -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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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_build_example,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/algorithm,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/base,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/cleanup,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/container,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/crc,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/debugging,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/flags,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/functional,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/hash,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/log,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/log/internal,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/memory,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/meta,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/numeric,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/profiling,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/random,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/random/internal,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/status,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/strings,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/synchronization,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/time,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/time/internal/cctz,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/types,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/utility,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/utf8_range/fuzz,examples/swift_build_example/swift-build-app,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 -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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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_build_example,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/algorithm,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/base,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/cleanup,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/container,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/crc,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/debugging,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/flags,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/functional,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/hash,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/log,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/log/internal,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/memory,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/meta,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/numeric,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/profiling,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/random,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/random/internal,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/status,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/strings,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/synchronization,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/time,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/time/internal/cctz,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/types,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/abseil-cpp/absl/utility,examples/swift_build_example/.build/checkouts/swift-llbuild/thirdparty/protobuf/third_party/utf8_range/fuzz,examples/swift_build_example/swift-build-app,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 +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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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_build_example,examples/swift_build_example/swift-build-app,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 +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/interesting_deps,examples/interesting_deps/ios,examples/ios_sim,examples/ios_sim/Sources/Foo,examples/ios_sim/Tests/FooTests,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/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_build_example,examples/swift_build_example/swift-build-app,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 # Import Shared settings import %workspace%/shared.bazelrc diff --git a/examples/swift_build_example/.bazelignore b/examples/swift_build_example/.bazelignore new file mode 100644 index 000000000..24e5b0a1a --- /dev/null +++ b/examples/swift_build_example/.bazelignore @@ -0,0 +1 @@ +.build From 74ae91fed4a1f2c84a6e9629397a486468847b04 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 1 Apr 2025 09:57:09 -0400 Subject: [PATCH 6/9] more updates Signed-off-by: Maxwell Elliott --- examples/swift_build_example/MODULE.bazel | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/swift_build_example/MODULE.bazel b/examples/swift_build_example/MODULE.bazel index 6d9db4f87..f4bdf5c67 100644 --- a/examples/swift_build_example/MODULE.bazel +++ b/examples/swift_build_example/MODULE.bazel @@ -8,6 +8,7 @@ local_path_override( ) bazel_dep(name = "cgrindel_bazel_starlib", version = "0.25.2") +bazel_dep(name = "apple_support", version = "1.19.0") bazel_dep( name = "rules_swift", version = "2.7.0", From d49ceb75e0612c7dcd8dfe8fd181291b8da73a3a Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Sat, 5 Apr 2025 19:49:15 -0400 Subject: [PATCH 7/9] update swift build Signed-off-by: Maxwell Elliott --- examples/swift_build_example/Package.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/swift_build_example/Package.resolved b/examples/swift_build_example/Package.resolved index 1e7d61ccb..62bd00cfa 100644 --- a/examples/swift_build_example/Package.resolved +++ b/examples/swift_build_example/Package.resolved @@ -25,7 +25,7 @@ "location" : "https://github.com/maxwellE/swift-build", "state" : { "branch" : "maxwelle/bazel-poc", - "revision" : "74b3037bcc13813330579b554f0d10d241e82f8d" + "revision" : "06d496eac2b71221ff7d0185ef49635b6f754805" } }, { From 92e47ddb1fca2d168b9871dae34d7ca2a90e52d9 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Mon, 7 Apr 2025 14:06:57 -0400 Subject: [PATCH 8/9] add macos_command_line example Signed-off-by: Maxwell Elliott --- examples/swift_build_example/BUILD.bazel | 18 +++++++++++++++++ examples/swift_build_example/do_test | 2 +- .../swift_build_example/main_entrypoint.swift | 20 +++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 examples/swift_build_example/main_entrypoint.swift diff --git a/examples/swift_build_example/BUILD.bazel b/examples/swift_build_example/BUILD.bazel index 561b30397..6043df433 100644 --- a/examples/swift_build_example/BUILD.bazel +++ b/examples/swift_build_example/BUILD.bazel @@ -1,4 +1,6 @@ load("@bazel_gazelle//:def.bzl", "gazelle", "gazelle_binary") +load("@build_bazel_rules_apple//apple:macos.bzl", "macos_command_line_application") +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") load("@cgrindel_bazel_starlib//bzltidy:defs.bzl", "tidy") tidy( @@ -31,3 +33,19 @@ gazelle( ], gazelle = ":gazelle_bin", ) + +swift_library( + name = "main", + srcs = ["main_entrypoint.swift"], + deps = [ + "@swiftpkg_swift_build//:SwiftBuild", + ], +) + +macos_command_line_application( + name = "swbuild_macos_command_line_application", + minimum_os_version = "14.0", + deps = [ + ":main", + ], +) diff --git a/examples/swift_build_example/do_test b/examples/swift_build_example/do_test index 547ff42e7..37e839e1c 100755 --- a/examples/swift_build_example/do_test +++ b/examples/swift_build_example/do_test @@ -12,6 +12,6 @@ bazel="${BIT_BAZEL_BINARY:-bazel}" "${bazel}" run //:tidy # Ensure that it builds and tests pass -"${bazel}" run @swiftpkg_swift_build//:swbuild -- build \ +"${bazel}" run //:swbuild_macos_command_line_application -- build \ "${script_dir}/swift-build-app/swift-build-app.xcodeproj" \ --target swift-build-app diff --git a/examples/swift_build_example/main_entrypoint.swift b/examples/swift_build_example/main_entrypoint.swift new file mode 100644 index 000000000..eb2ec5841 --- /dev/null +++ b/examples/swift_build_example/main_entrypoint.swift @@ -0,0 +1,20 @@ +//===----------------------------------------------------------------------===// +// +// This source file is part of the Swift open source project +// +// Copyright (c) 2025 Apple Inc. and the Swift project authors +// Licensed under Apache License v2.0 with Runtime Library Exception +// +// See http://swift.org/LICENSE.txt for license information +// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors +// +//===----------------------------------------------------------------------===// + +import SwiftBuild + +@main +struct SWBuildMain { + static func main() async { + await SwiftBuild.main() + } +} From 6084485b62ad24d5f9f0359af7ed7c41305ffac7 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 8 Apr 2025 09:54:02 -0400 Subject: [PATCH 9/9] Revert "add macos_command_line example" This reverts commit 92e47ddb1fca2d168b9871dae34d7ca2a90e52d9. --- examples/swift_build_example/BUILD.bazel | 18 ----------------- examples/swift_build_example/do_test | 2 +- .../swift_build_example/main_entrypoint.swift | 20 ------------------- 3 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 examples/swift_build_example/main_entrypoint.swift diff --git a/examples/swift_build_example/BUILD.bazel b/examples/swift_build_example/BUILD.bazel index 6043df433..561b30397 100644 --- a/examples/swift_build_example/BUILD.bazel +++ b/examples/swift_build_example/BUILD.bazel @@ -1,6 +1,4 @@ load("@bazel_gazelle//:def.bzl", "gazelle", "gazelle_binary") -load("@build_bazel_rules_apple//apple:macos.bzl", "macos_command_line_application") -load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") load("@cgrindel_bazel_starlib//bzltidy:defs.bzl", "tidy") tidy( @@ -33,19 +31,3 @@ gazelle( ], gazelle = ":gazelle_bin", ) - -swift_library( - name = "main", - srcs = ["main_entrypoint.swift"], - deps = [ - "@swiftpkg_swift_build//:SwiftBuild", - ], -) - -macos_command_line_application( - name = "swbuild_macos_command_line_application", - minimum_os_version = "14.0", - deps = [ - ":main", - ], -) diff --git a/examples/swift_build_example/do_test b/examples/swift_build_example/do_test index 37e839e1c..547ff42e7 100755 --- a/examples/swift_build_example/do_test +++ b/examples/swift_build_example/do_test @@ -12,6 +12,6 @@ bazel="${BIT_BAZEL_BINARY:-bazel}" "${bazel}" run //:tidy # Ensure that it builds and tests pass -"${bazel}" run //:swbuild_macos_command_line_application -- build \ +"${bazel}" run @swiftpkg_swift_build//:swbuild -- build \ "${script_dir}/swift-build-app/swift-build-app.xcodeproj" \ --target swift-build-app diff --git a/examples/swift_build_example/main_entrypoint.swift b/examples/swift_build_example/main_entrypoint.swift deleted file mode 100644 index eb2ec5841..000000000 --- a/examples/swift_build_example/main_entrypoint.swift +++ /dev/null @@ -1,20 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// This source file is part of the Swift open source project -// -// Copyright (c) 2025 Apple Inc. and the Swift project authors -// Licensed under Apache License v2.0 with Runtime Library Exception -// -// See http://swift.org/LICENSE.txt for license information -// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors -// -//===----------------------------------------------------------------------===// - -import SwiftBuild - -@main -struct SWBuildMain { - static func main() async { - await SwiftBuild.main() - } -}