Skip to content
This repository has been archived by the owner on Apr 3, 2023. It is now read-only.

Releases: cgrindel/rules_spm

Release v0.11.2

21 Nov 23:14
1542f5c
Compare
Choose a tag to compare

What's Changed

  • Update README.md for v0.11.1 by @cgrindel-app-token-generator in #191
  • fix: ensure swift-argument-parser stays below next minor version by @cgrindel in #193

Full Changelog: v0.11.1...v0.11.2

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "cgrindel_rules_spm",
    sha256 = "777e687245faa7340488e61f5abb23b95b4c0e27e05f7cea7318c03e4cc38289",
    strip_prefix = "rules_spm-0.11.2",
    urls = [
        "http://github.com/cgrindel/rules_spm/archive/v0.11.2.tar.gz",
    ],
)

load(
    "@cgrindel_rules_spm//spm:deps.bzl",
    "spm_rules_dependencies",
)

spm_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:repositories.bzl",
    "swift_rules_dependencies",
)

swift_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:extras.bzl",
    "swift_rules_extra_dependencies",
)

swift_rules_extra_dependencies()

Release v0.11.1

14 Nov 22:07
48d9b06
Compare
Choose a tag to compare

What's Changed

  • Update README.md for v0.11.0 by @cgrindel-app-token-generator in #159
  • Upgrade bazel-skylib (1.3.0) and rules_swift (1.1.1) by @cgrindel in #165
  • Use FilesToRunProvider.executable to find the Swift worker executable. by @cgrindel in #167
  • Add support for parsing submodules to modulemap parser by @cgrindel in #169
  • Move main to AsyncMain for spm_parser by @cgrindel in #173
  • Update build_mode documentation explaining that it is experimental by @cgrindel in #177
  • chore: upgrade Bazel to 5.3.2 by @cgrindel in #178
  • Configure Renovate by @renovate in #179
  • feat: point to Renovate preset for org by @cgrindel in #185
  • chore(deps): update actions/checkout action to v3 by @renovate in #181
  • chore(deps): update dependency apple/swift-argument-parser to from: "1.1.4" by @renovate in #180
  • chore: update Swift on Ubuntu to 5.7.1 by @cgrindel in #186
  • chore(deps): update dependency apple/swift-argument-parser to from: "1.2.0" by @renovate in #187
  • fix: resolve certain srcs before attempting to copy and use c99name to determine output directory by @cgrindel in #190

New Contributors

Full Changelog: v0.11.0...v0.11.1

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "cgrindel_rules_spm",
    sha256 = "d36697e83720e4dc29a97c7a8f1a02858b3c6ce51fa645be3faa03f51dbc1151",
    strip_prefix = "rules_spm-0.11.1",
    urls = [
        "http://github.com/cgrindel/rules_spm/archive/v0.11.1.tar.gz",
    ],
)

load(
    "@cgrindel_rules_spm//spm:deps.bzl",
    "spm_rules_dependencies",
)

spm_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:repositories.bzl",
    "swift_rules_dependencies",
)

swift_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:extras.bzl",
    "swift_rules_extra_dependencies",
)

swift_rules_extra_dependencies()

Release v0.11.0

28 Jun 13:25
5ef7fc2
Compare
Choose a tag to compare

What's Changed

  • Update README.md for v0.10.0 by @cgrindel-app-token-generator in #136
  • Upgrade rules_bazel_integration_test to use bazel-contrib release. by @cgrindel in #137
  • Upgraded Vapor to 4.56.0 in example project. by @cgrindel in #138
  • Create linux only integration tests by @cgrindel in #142
  • Add support for parsing multiple modules by @pswaminathan in #144
  • Upgrade Bazel to 5.2.0 and dependencies to their latest release by @cgrindel in #150
  • Introduce modes to build with SPM (original behavior) and build with Bazel (new behavior) by @cgrindel in #151
  • Continue build with Bazel POC by @cgrindel in #152
  • Always use the package path when resolving checkout location and the target path when resolving source file locations by @cgrindel in #153
  • Update interesting_deps example to use libwebp by @cgrindel in #154
  • Parse the Swift package manifest to get custom build settings by @cgrindel in #155

New Contributors

Full Changelog: v0.10.0...v0.11.0

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "cgrindel_rules_spm",
    sha256 = "03718eb865a100ba4449ebcbca6d97bf6ea78fa17346ce6d55532312e8bf9aa8",
    strip_prefix = "rules_spm-0.11.0",
    urls = [
        "http://github.com/cgrindel/rules_spm/archive/v0.11.0.tar.gz",
    ],
)

load(
    "@cgrindel_rules_spm//spm:deps.bzl",
    "spm_rules_dependencies",
)

spm_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:repositories.bzl",
    "swift_rules_dependencies",
)

swift_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:extras.bzl",
    "swift_rules_extra_dependencies",
)

swift_rules_extra_dependencies()

Release v0.10.0

09 Apr 20:47
71cf818
Compare
Choose a tag to compare

What's Changed

  • Update REAMDE.md for v0.9.0 by @cgrindel-app-token-generator in #124
  • Default vapor example integration test to use Xcode 13.1 by @cgrindel in #126
  • Updated bazel-starlib to 0.6.0 by @cgrindel in #127
  • Transitioned from_version to exact_version for integration tests. by @cgrindel in #131
  • Upgrade rules_swift and supported Bazel versions. by @cgrindel in #134
  • Fixed missing subtitle and generated new TOC. by @cgrindel in #135

Full Changelog: v0.9.0...v0.10.0

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "cgrindel_rules_spm",
    sha256 = "ba4310ba33cd1864a95e41d1ceceaa057e56ebbe311f74105774d526d68e2a0d",
    strip_prefix = "rules_spm-0.10.0",
    urls = [
        "http://github.com/cgrindel/rules_spm/archive/v0.10.0.tar.gz",
    ],
)

load(
    "@cgrindel_rules_spm//spm:deps.bzl",
    "spm_rules_dependencies",
)

spm_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:repositories.bzl",
    "swift_rules_dependencies",
)

swift_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:extras.bzl",
    "swift_rules_extra_dependencies",
)

swift_rules_extra_dependencies()

Release v0.9.0

08 Feb 20:36
286b8bc
Compare
Choose a tag to compare

What's Changed

  • Update REAMDE.md for v0.8.0 by @cgrindel-app-token-generator in #121
  • Add an example with TrustKit package by @pomozoff in #123

Full Changelog: v0.8.0...v0.9.0

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "cgrindel_rules_spm",
    sha256 = "b85d8d089c5f707b451f142718b32c647b22d0a72a5b7c1832af0f3e4d25be4f",
    strip_prefix = "rules_spm-0.9.0",
    urls = [
        "http://github.com/cgrindel/rules_spm/archive/v0.9.0.tar.gz",
    ],
)

load(
    "@cgrindel_rules_spm//spm:deps.bzl",
    "spm_rules_dependencies",
)

spm_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:repositories.bzl",
    "swift_rules_dependencies",
)

swift_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:extras.bzl",
    "swift_rules_extra_dependencies",
)

swift_rules_extra_dependencies()

Release v0.8.0

07 Feb 19:45
8627725
Compare
Choose a tag to compare

What's Changed

  • Switch workflows to use gha_* actions. by @cgrindel in #108
  • Upgraded to Bazel 5.0.0. by @cgrindel in #110
  • Upgraded to rules_bazel_integration_test 0.5.0. by @cgrindel in #111
  • Add workarounds to address missing libswift_Concurrency.dylib by @cgrindel in #113
  • Added scheduled builds and updated to install Swift and use simpler Swift Bazel config for Linux. by @cgrindel in #114
  • Updated workflow name to Continuous Integration. by @cgrindel in #115
  • Fix building dependencies in an SPM package by @pomozoff in #117
  • Added support for nested clang public header files and added example using libwebp-Xcode by @cgrindel in #119

New Contributors

Full Changelog: v0.7.0...v0.8.0

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "cgrindel_rules_spm",
    sha256 = "a99c2e02af2dfd320225fe7d42bca17d85a7f42055c43bd02dacb3a772d3dbc5",
    strip_prefix = "rules_spm-0.8.0",
    urls = [
        "http://github.com/cgrindel/rules_spm/archive/v0.8.0.tar.gz",
    ],
)

load(
    "@cgrindel_rules_spm//spm:deps.bzl",
    "spm_rules_dependencies",
)

spm_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:repositories.bzl",
    "swift_rules_dependencies",
)

swift_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:extras.bzl",
    "swift_rules_extra_dependencies",
)

swift_rules_extra_dependencies()

Release v0.7.0

12 Jan 15:42
90bbbec
Compare
Choose a tag to compare

What's Changed

  • Updated README.md with release 0.6.0 information. by @cgrindel in #81
  • Updated to rules_swift 0.24.0. by @cgrindel in #83
  • Added shell scripts to execute swiftlint and swiftformat by @cgrindel in #84
  • Migrated to bazel-doc macros and upgraded bazel-skylib to 1.1.1. by @cgrindel in #85
  • Add rules_bzlformat by @cgrindel in #89
  • Implemented Integration test targets by @cgrindel in #91
  • Removed debug stuff and enabled all integration tests for macos test. by @cgrindel in #94
  • Added TOC to README.md and added examples list to examples README. by @cgrindel in #95
  • Added support for executing integration tests with multiple versions of Bazel by @cgrindel in #96
  • Migrate to rules_bazel_integration_test by @cgrindel in #97
  • Update rules_bazel_integration_test to release 0.3.0. by @cgrindel in #99
  • Updated rules_bzlformat and added check for missing bzlformat_pkg declarations. by @cgrindel in #101
  • Migrate from rules_bzlformat, rules_updatesrc, and bazel_shlib to bazel-starlib by @cgrindel in #104
  • Updated spm_pkg to accept exact_version for a package. by @cgrindel in #105
  • Update repository to best practices by @cgrindel in #106
  • Refactored CI with shared actions and added first pass at release workflow. by @cgrindel in #107

Full Changelog: v0.6.0...v0.7.0

Workspace Snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "cgrindel_rules_spm",
    sha256 = "cbe5d5dccdc8d5aa300e1538c4214f44a1266895d9817e8279a9335bcbee2f1e",
    strip_prefix = "rules_spm-0.7.0",
    urls = [
        "http://github.com/cgrindel/rules_spm/archive/v0.7.0.tar.gz",
    ],
)

load(
    "@cgrindel_rules_spm//spm:deps.bzl",
    "spm_rules_dependencies",
)

spm_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:repositories.bzl",
    "swift_rules_dependencies",
)

swift_rules_dependencies()

load(
    "@build_bazel_rules_swift//swift:extras.bzl",
    "swift_rules_extra_dependencies",
)

swift_rules_extra_dependencies()

Release 0.6.0

21 Sep 14:34
8b446db
Compare
Choose a tag to compare

The spm_repositories rule requires Swift package manager (SPM) 5.4 or later. If the default SPM version for a host does not meet this criteria, the rule will fail.

On Macos, the SPM version is dictated by the version of Xcode that is installed. If multiple Xcode installations exist, the DEVELOPER_DIR environment variable can be used in conjunction with the Xcode utilities (e.g. xcrun) to specify the desired installation.

This release adds two mechanisms for specifying the DEVELOPER_DIR value to spm_repositories.

Option 1: DEVELOPER_DIR Environment Variable

If the DEVELOPER_DIR environment variable is set, spm_repositories will incorporate it into the execution environment for all of the SPM-specific commands. See this test for an example.

export DEVELOPER_DIR=/Applications/Xcode_12.5.1.app
bazel test //...

Option 2: env Attribute on spm_repositories

The DEVELOPER_DIR value can also be specified using the env attribute on spm_repositories. See this example for more details.

spm_repositories(
    name = "swift_pkgs",
    dependencies = [
        spm_pkg(
            "https://github.com/apple/swift-log.git",
            from_version = "1.0.0",
            products = ["Logging"],
        ),
    ],
    env = {
        "DEVELOPER_DIR": "/Applications/Xcode_12.5.1.app",
    },
)

Release 0.5.2

18 Sep 19:23
cc306c8
Compare
Choose a tag to compare
  • Fixed an issue where Swift packages with executable products that had a different name from the executable target did not work. (e.g. swiftformat).
  • Added swiftformat to simple_with_binary example.

Release 0.5.1

17 Sep 16:22
85749cd
Compare
Choose a tag to compare
  • Updated the SPM build to respect the selected Xcode version using xcode_config. (see Xcode select and Keith's post for more details)