From fc5383ad7961c2cddd8d402264e6c1f89773aa92 Mon Sep 17 00:00:00 2001 From: Marcin Abramowicz Date: Thu, 20 Jul 2023 12:49:52 +0000 Subject: [PATCH] [fix] aspects don't throw an exception for kotlin rules if an attr doesn't exist Merge-request: BAZEL-MR-378 Merged-by: Marcin Abramowicz --- CHANGELOG.md | 7 ++++--- install/src/main/resources/aspects.bzl | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7795000b6..69953ae45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,6 @@ ## [Unreleased] -### Features 🎉 -- Experimental `workspace/libraries` endpoint that returns list of external libraries -- Support for Python targets, including `buildTarget/pythonOptions` endpoint ### BREAKING CHANGES 🚨 @@ -19,9 +16,13 @@ ### Features 🎉 - Enhance support for Kotlin by providing Kotlin target's specific info. | [#BAZEL-460](https://youtrack.jetbrains.com/issue/BAZEL-460) +- Experimental `workspace/libraries` endpoint that returns list of external libraries +- Support for Python targets, including `buildTarget/pythonOptions` endpoint ### Fixes 🛠️ - Now we report the failure of the whole test target and binaries are reporting stdout. +- Aspects don't throw an exception for kotlin rules if an attr doesn't exist. + ## [2.7.2] diff --git a/install/src/main/resources/aspects.bzl b/install/src/main/resources/aspects.bzl index c4dd60010..e2bea2366 100644 --- a/install/src/main/resources/aspects.bzl +++ b/install/src/main/resources/aspects.bzl @@ -221,7 +221,7 @@ def extract_runtime_jars(target, provider): def extract_compile_jars(provider): compilation_info = getattr(provider, "compilation_info", None) - transitive_compile_time_jars = getattr(provider, "transitive_compile_time_jars", []) + transitive_compile_time_jars = getattr(provider, "transitive_compile_time_jars", depset()) return compilation_info.compilation_classpath if compilation_info else transitive_compile_time_jars @@ -247,7 +247,7 @@ def extract_java_info(target, ctx, output_groups): runtime_jars = extract_runtime_jars(target, provider).to_list() compile_jars = extract_compile_jars(provider).to_list() - source_jars = provider.transitive_source_jars.to_list() + source_jars = getattr(provider, "transitive_source_jars", depset()).to_list() resolve_files += runtime_jars resolve_files += compile_jars resolve_files += source_jars