Releases: cgrindel/rules_spm
Release v0.11.2
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
What's Changed
- Update README.md for v0.11.0 by @cgrindel-app-token-generator in #159
- Upgrade
bazel-skylib
(1.3.0) andrules_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
What's Changed
- Update README.md for v0.10.0 by @cgrindel-app-token-generator in #136
- Upgrade
rules_bazel_integration_test
to usebazel-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 uselibwebp
by @cgrindel in #154 - Parse the Swift package manifest to get custom build settings by @cgrindel in #155
New Contributors
- @pswaminathan made their first contribution in #144
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
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
toexact_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
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
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
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
, andbazel_shlib
tobazel-starlib
by @cgrindel in #104 - Updated
spm_pkg
to acceptexact_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
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
- 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
tosimple_with_binary
example.
Release 0.5.1
- Updated the SPM build to respect the selected Xcode version using
xcode_config
. (see Xcode select and Keith's post for more details)