From d7acccd36dcf1b62f144eb7389a5e221fe824be4 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Wed, 19 Jul 2023 13:22:20 -0700 Subject: interpreter: deprecate 'jar' value of build_target(target_type) Jar has a very low set of overlap with other target types, including that jar sources *must* be .java, and no other target allows .java sources. As such, the difficulty in crafting a useful `build_target` invocation that allows both `jar` and anything else is high, and the usefulness is dubious. Just use `jar()` directly instead. This depends on the changes to make all of the jar() specific keyword arguments be handled by typed_kwargs so that the deprecation messages are correct and consistent. --- docs/markdown/snippets/deprecate_build_target_jar.md | 8 ++++++++ docs/yaml/functions/build_target.yaml | 7 +++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 docs/markdown/snippets/deprecate_build_target_jar.md (limited to 'docs') diff --git a/docs/markdown/snippets/deprecate_build_target_jar.md b/docs/markdown/snippets/deprecate_build_target_jar.md new file mode 100644 index 000000000..992903e53 --- /dev/null +++ b/docs/markdown/snippets/deprecate_build_target_jar.md @@ -0,0 +1,8 @@ +## Deprecate 'jar' as a build_target type + +The point of `build_target()` is that what is produced can be conditionally +changed. However, `jar()` has a significant number of non-overlapping arguments +from other build_targets, including the kinds of sources it can include. Because +of this crafting a `build_target` that can be used as a Jar and as something +else is incredibly hard to do. As such, it has been deprecated, and using +`jar()` directly is recomended. diff --git a/docs/yaml/functions/build_target.yaml b/docs/yaml/functions/build_target.yaml index 48385f252..74d45f007 100644 --- a/docs/yaml/functions/build_target.yaml +++ b/docs/yaml/functions/build_target.yaml @@ -12,7 +12,7 @@ description: | - `static_library` (see [[static_library]]) - `both_libraries` (see [[both_libraries]]) - `library` (see [[library]]) - - `jar` (see [[jar]]) + - `jar` (see [[jar]])* This declaration: @@ -32,6 +32,9 @@ description: | The returned object also has methods that are documented in [[@build_tgt]]. + *"jar" is deprecated because it is fundementally a different thing than the + other build_target types. + posargs_inherit: _build_target_base varargs_inherit: _build_target_base kwargs_inherit: @@ -42,4 +45,4 @@ kwargs_inherit: kwargs: target_type: type: str - description: The actual target to build + description: The actual target type to build -- cgit v1.2.3