From 98a460bd4c73fff64e91fc8c9b613747d9e33758 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 11 Dec 2025 18:20:38 +0800 Subject: [PATCH] Handled the logger generated class in D2D #1994 Signed-off-by: Chin Yeung Li --- scanpipe/pipes/jvm.py | 6 +++++- scanpipe/tests/pipes/test_jvm.py | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/scanpipe/pipes/jvm.py b/scanpipe/pipes/jvm.py index 19dba92e6c..5cd420a274 100644 --- a/scanpipe/pipes/jvm.py +++ b/scanpipe/pipes/jvm.py @@ -136,7 +136,11 @@ def get_normalized_path(cls, path, extension): ) path = Path(path.strip("/")) class_name = path.name - if "$" in class_name: # inner class + # Handled generated logger class + # https://github.com/aboutcode-org/scancode.io/issues/1994 + if class_name.endswith("_$logger.class"): + class_name, _, _ = class_name.partition("_$logger.class") + elif "$" in class_name: # inner class class_name, _, _ = class_name.partition("$") else: class_name, _, _ = class_name.partition(".") # plain .class diff --git a/scanpipe/tests/pipes/test_jvm.py b/scanpipe/tests/pipes/test_jvm.py index a7d9ebf982..f7ecfb853c 100644 --- a/scanpipe/tests/pipes/test_jvm.py +++ b/scanpipe/tests/pipes/test_jvm.py @@ -94,6 +94,12 @@ def test_scanpipe_pipes_jvm_get_normalized_java_path_with_inner_class(self): ) self.assertEqual("foo/org/common/Bar.java", njp) + def test_scanpipe_pipes_jvm_get_normalized_java_path_with_logging_annotation(self): + njp = jvm.JavaLanguage.get_normalized_path( + "foo/org/common/Bar_$logger.class", ".java" + ) + self.assertEqual("foo/org/common/Bar.java", njp) + def test_scanpipe_pipes_jvm_get_fully_qualified_java_path(self): fqjp = jvm.get_fully_qualified_path("org.common", "Bar.java") self.assertEqual("org/common/Bar.java", fqjp)