Releases: martis42/depend_on_what_you_use
0.2.0
Using Bzlmod (Recommended)
Add to your MODULE.bazel
file:
bazel_dep(name = "depend_on_what_you_use", version = "0.2.0")
Using WORKSPACE (Legacy)
Add to your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "fc0e730072265d72b796fb39e4d7022249ad35239fdd9fbbce33eb393862039f",
strip_prefix = "depend_on_what_you_use-0.2.0",
url = "https://github.com/martis42/depend_on_what_you_use/releases/download/0.2.0/depend_on_what_you_use-0.2.0.tar.gz",
)
load("@depend_on_what_you_use//:setup_step_1.bzl", dwyu_setup_step_1 = "setup_step_1")
dwyu_setup_step_1()
load("@depend_on_what_you_use//:setup_step_2.bzl", dwyu_setup_step_2 = "setup_step_2")
dwyu_setup_step_2()
Noteworthy Changes
- apply_fixes: Improve heuristic for finding missing dependencies #241
- Allow skipping external targets #242
What's Changed
- chore(deps): update quality tooling dependencies by @renovate in #232
- No automated updates of main deps by @martis42 in #233
- chore(deps): update softprops/action-gh-release action to v2 by @renovate in #235
- chore(deps): update quality tooling dependencies by @renovate in #234
- chore: Make Renovate aware of all Python requirements files by @martis42 in #236
- Update used and tested Bazel by @martis42 in #238
- Streamline module bazel by @martis42 in #239
- Document todo for after abandoning Bazel 5 support by @martis42 in #240
- apply_fixes: Improve dependency discovery heuristic by @martis42 in #241
- Allow skipping external targets by @martis42 in #242
Full Changelog: 0.1.0...0.2.0
0.1.0
🎉 This release is a major milestone for DWYU 🎉
This is the first release without a leading 0.0. While DWYU is not yet ready for 1.0.0, its overall feature set is now mostly stable. No bug reports with major gaps in functionality have been reported and thus we are confident to leave the "beta testing" phase.
This is also the first release supporting bzlmod. Also we added examples demonstrating DWYU usage.
Please note this release has some breaking changes as defined below.
Using Bzlmod (Recommended)
Add to your MODULE.bazel
file:
bazel_dep(name = "depend_on_what_you_use", version = "0.1.0")
Using WORKSPACE (Legacy)
Add to your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "746de76cb6a8d5e0d6e60c91bcc73ffd6088fff4152552c3e0aee6219c1d809d",
strip_prefix = "depend_on_what_you_use-0.1.0",
url = "https://github.com/martis42/depend_on_what_you_use/releases/download/0.1.0/depend_on_what_you_use-0.1.0.tar.gz",
)
load("@depend_on_what_you_use//:setup_step_1.bzl", dwyu_setup_step_1 = "setup_step_1")
dwyu_setup_step_1()
load("@depend_on_what_you_use//:setup_step_2.bzl", dwyu_setup_step_2 = "setup_step_2")
dwyu_setup_step_2()
Breaking Changes
- The minimum Bazel version is now 5.4.0
- The output group has been renamed. Replace
--output_groups=cc_dwyu_output
with--output_groups=dwyu
in your DWYU commands #170 - The name for the DWYU aspect option to provide a config file for ignored include paths changed from
config = "//<your_config_file>.json"
toignored_includes = "//<your_config_file>.json"
#181 - Renamed the
--bazel-bin
apply_fixes CLI option to--search-path
to make it more obvious how flexibly it can be used #221
Noteworthy Changes
- Windows and macOS are now explicitly tested in the CI to ensure DWYU behaves on those platforms as expected.
- You can now specify a custom list of tags to make DWYU skip analyzing targets #159
- Support depending on DWYU via bzlmod
- Ensure code quality with ruff (most checks are active)
- There is now a set of examples
- Add verbosity option to the aspect #209
What's Changed
- Add missing index entry to new feature by @martis42 in #156
- Remove deprecated doc parts by @martis42 in #157
- Chore: Toolchain updates by @martis42 in #158
- Allow specifying custom tags to skip DWYU analysis by @martis42 in #159
- Update Bazel mypy integration by @martis42 in #161
- Update rules_python to 0.27.0 by @martis42 in #162
- Bump actions/setup-python from 4 to 5 by @dependabot in #163
- Start using bzlmod by @martis42 in #165
- Be compatible to stop exporting language modules by @martis42 in #167
- Soft vendor pcpp by @martis42 in #168
- Various chores by @martis42 in #169
- Rename the DWYU output group by @martis42 in #170
- Use ruff for formatting and linting by @martis42 in #171
- Replace dependabot with renovate by @martis42 in #173
- Update minimum Python version for development to 3.9 by @martis42 in #175
- Update dependency pre-commit to v3.6.0 by @renovate in #176
- Explicitly use pre-commit 3.6 by @martis42 in #177
- Some Cleanup by @martis42 in #178
- Restructure aspect integration tests by @martis42 in #179
- Use Bazel version 7.0.0 for development by @martis42 in #180
- Give config for ignored includes an explicit name by @martis42 in #181
- More control over apply_fixes integration tests by @martis42 in #182
- Add examples by @martis42 in #183
- Cleanup by @martis42 in #184
- Test examples with both workspace modi by @martis42 in #185
- Make aspect tests proper integration tests by @martis42 in #186
- Extend testing by @martis42 in #187
- Consistent and modern type annotations by @martis42 in #188
- Update pre-commit hook astral-sh/ruff-pre-commit to v0.1.11 by @renovate in #189
- Extend ruff linting to most rules by @martis42 in #191
- Remove CI badge by @martis42 in #192
- Add pre-commit badge by @martis42 in #193
- Extend documentation for bzlmod by @martis42 in #194
- Ensure the examples work on all major platforms by @martis42 in #195
- Update pre-commit hook astral-sh/ruff-pre-commit to v0.1.13 by @renovate in #196
- Update mypy to 1.8.0 by @martis42 in #202
- Update rules python to 0 28 by @martis42 in #204
- Execute aspect integration tests with macos by @martis42 in #206
- Add verbosity option to aspect by @martis42 in #209
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.1.14 by @renovate in #210
- Make aspect integrations tests wotk on Windows by @martis42 in #207
- Execute apply_fixes integration tests on macos by @martis42 in #213
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.2.0 by @renovate in #215
- Execute apply_fixes integration tests on Windows by @martis42 in #214
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.2.1 by @renovate in #218
- Improve reports discovery speed by @martis42 in #221
- Update supported platforms by @martis42 in #222
- Automate part of the release creation by @martis42 in #224
- Prepare deployment to central bzlmod registry by @martis42 in #225
- chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.2.2 by @renovate in #223
- Downgrade rules python to 0.27.1 by @martis42 in #226
- chore: Update tool deps by @martis42 in #227
- BCR: Specify Bazel versions for testing by @martis42 in #228
- Improve releasing via bzlmod by @martis42 in #230
New Contributors
Full Changelog: 0.0.13...0.1.0
0.0.13
Put the following into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "0d53cc408f53c211172729d17735c5f81e2d08501bcf12218bd51f17a000c024",
strip_prefix = "depend_on_what_you_use-0.0.13",
url = "https://github.com/martis42/depend_on_what_you_use/archive/refs/tags/0.0.13.tar.gz",
)
load("@depend_on_what_you_use//:setup_step_1.bzl", dwyu_setup_step_1 = "setup_step_1")
dwyu_setup_step_1()
load("@depend_on_what_you_use//:setup_step_2.bzl", dwyu_setup_step_2 = "setup_step_2")
dwyu_setup_step_2()
load("@depend_on_what_you_use//:setup_step_3.bzl", dwyu_setup_step_3 = "setup_step_3")
dwyu_setup_step_3()
Noteworthy Changes
- Introduce target mapping by @martis42 in #153
- Fix recursive behavior for implementation_deps by @martis42 in #155
Full Changelog: 0.0.12...0.0.13
0.0.12
Put the following into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "e18fe44715612db914ee788f9ada77d6b7a7edc7f2c3c5e101d2d82b176248a2",
strip_prefix = "depend_on_what_you_use-0.0.12",
url = "https://github.com/martis42/depend_on_what_you_use/archive/refs/tags/0.0.12.tar.gz",
)
load("@depend_on_what_you_use//:setup_step_1.bzl", dwyu_setup_step_1 = "setup_step_1")
dwyu_setup_step_1()
load("@depend_on_what_you_use//:setup_step_2.bzl", dwyu_setup_step_2 = "setup_step_2")
dwyu_setup_step_2()
load("@depend_on_what_you_use//:setup_step_3.bzl", dwyu_setup_step_3 = "setup_step_3")
dwyu_setup_step_3()
Noteworthy Changes
Full Changelog: 0.0.11...0.0.12
0.0.11
Put the following into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "0a32e1f66068b3959db2480c502ed2a446086b61b5143e8d39454ec6ac5a2803",
strip_prefix = "depend_on_what_you_use-0.0.11",
url = "https://github.com/martis42/depend_on_what_you_use/archive/refs/tags/0.0.11.tar.gz",
)
load("@depend_on_what_you_use//:setup_step_1.bzl", dwyu_setup_step_1 = "setup_step_1")
dwyu_setup_step_1()
load("@depend_on_what_you_use//:setup_step_2.bzl", dwyu_setup_step_2 = "setup_step_2")
dwyu_setup_step_2()
load("@depend_on_what_you_use//:setup_step_3.bzl", dwyu_setup_step_3 = "setup_step_3")
dwyu_setup_step_3()
Noteworthy Changes
What's Changed
- Rework include path analysis by @martis42 in #137
- Support relative include statements for virtual paths by @martis42 in #144
- Enable processing defines from included headers by @martis42 in #146
- Enable parsing of pre processor tokens as include path by @martis42 in #149
New Contributors
Full Changelog: 0.0.10...0.0.11
0.0.10
Put the following into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "4986b05c2bf90fab23ce0cb78249d726a6a129c8d4817d1356d8900c711e7dc7",
strip_prefix = "depend_on_what_you_use-0.0.10",
url = "https://github.com/martis42/depend_on_what_you_use/archive/refs/tags/0.0.10.tar.gz",
)
load("@depend_on_what_you_use//:setup_step_1.bzl", dwyu_setup_step_1 = "setup_step_1")
dwyu_setup_step_1()
load("@depend_on_what_you_use//:setup_step_2.bzl", dwyu_setup_step_2 = "setup_step_2")
dwyu_setup_step_2()
load("@depend_on_what_you_use//:setup_step_3.bzl", dwyu_setup_step_3 = "setup_step_3")
dwyu_setup_step_3()
Breaking Changes
- Minimum Bazel version is now 5.0.0
- Minimum Python version is now 3.8
Noteworthy Changes
- Support TreeArtifacts by @martis42 in #136
- Use
no-dwyu
tag to allow skipping checks on specific targets. by @freeformstu in #124
New Contributors
- @freeformstu made their first contribution in #124
- @dependabot made their first contribution in #129
- @Vertexwahn made their first contribution in #131
Full Changelog: 0.0.9...0.0.10
0.0.9
This release will be the last one to support Bazel 4x.y and Python 3.6 and 3.7.
Put the following into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "96a98a8c365e268f13fccb3a1357fea1e1d41e862a73ca3d2f971d9661b932e2",
strip_prefix = "depend_on_what_you_use-0.0.9",
url = "https://github.com/martis42/depend_on_what_you_use/archive/refs/tags/0.0.9.tar.gz",
)
load("@depend_on_what_you_use//:setup_step_1.bzl", dwyu_setup_step_1 = "setup_step_1")
dwyu_setup_step_1()
load("@depend_on_what_you_use//:setup_step_2.bzl", dwyu_setup_step_2 = "setup_step_2")
dwyu_setup_step_2()
load("@depend_on_what_you_use//:setup_step_3.bzl", dwyu_setup_step_3 = "setup_step_3")
dwyu_setup_step_3()
Noteworthy Changes
- Make project compatible to Python 3.10 by @martis42 in #111
- Restructure dependency management by @martis42 in #112
- Use pcpp to parse C/C++ source code by @martis42 in #115
- Add basic support for processing preprocessor defines by @martis42 in #118
Full Changelog: 0.0.8...0.0.9
0.0.8
Put the following into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "798efaa3ec2fe136a7501b33b0b71db4c31c1fd0b537e9b294701261d7079a99",
strip_prefix = "depend_on_what_you_use-0.0.8",
url = "https://github.com/martis42/depend_on_what_you_use/archive/refs/tags/0.0.8.tar.gz",
)
load("@depend_on_what_you_use//:dependencies.bzl", dwyu_dependencies = "public_dependencies")
dwyu_dependencies()
Noteworthy Changes
Full Changelog: 0.0.7...0.0.8
0.0.7
Put the following into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "4cff3f84435a9407877094ae6b8df517394b38e3c5e023bab4ddecffcaeb3760",
strip_prefix = "depend_on_what_you_use-0.0.7",
url = "https://github.com/martis42/depend_on_what_you_use/archive/refs/tags/0.0.7.tar.gz",
)
load("@depend_on_what_you_use//:dependencies.bzl", dwyu_dependencies = "public_dependencies")
dwyu_dependencies()
Noteworthy Changes
Full Changelog: 0.0.6...0.0.7
0.0.6
Put the following into your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "depend_on_what_you_use",
sha256 = "ed70dcb0376ac1d0a6bb861e28077531e5c432ee983db419931d422db02dd31c",
strip_prefix = "depend_on_what_you_use-0.0.6",
url = "https://github.com/martis42/depend_on_what_you_use/archive/refs/tags/0.0.6.tar.gz",
)
load("@depend_on_what_you_use//:dependencies.bzl", dwyu_dependencies = "public_dependencies")
dwyu_dependencies()
Breaking Changes
- Use
re.match(pattern, include)
for ignored include patterns by @storypku in #77 - Naming: change all uses of "deps_info" to "headers_info" by @storypku in #90
Noteworthy Changes
- Unified target label naming for DWYU-generated files by @storypku in #78
- analyze_includes: add repr method for some classes to help debugging by @storypku in #82
- Support more cases of commented code by @storypku in #87
- Ensure implementation deps is only used on cc library by @martis42 in #94
- Handle the case where neither public-files nor private-files are present by @storypku in #96
- Improve support for resolving relative include statements @martis42 in #97 and #98
Full Changelog: 0.0.5...0.0.6