This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch bugfix/make-generate-metatype-more-resilient
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git

commit 0ffd3b814bf314a1e3631b8c1730de499dd95483
Author: Konrad Windszus <[email protected]>
AuthorDate: Sat May 9 18:29:02 2026 +0200

    Look for @Component annotation anywhere prior to class declaration
    
    Not just in the 20 lines before class declaration, as it can be further up 
in the file.
    Print warning and skip metatype generation if @Component annotation or 
class declaration cannot be found.
---
 skills/osgi-scr-migrator/scripts/migrate_annotations.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/skills/osgi-scr-migrator/scripts/migrate_annotations.py 
b/skills/osgi-scr-migrator/scripts/migrate_annotations.py
index 70385722..148f2549 100755
--- a/skills/osgi-scr-migrator/scripts/migrate_annotations.py
+++ b/skills/osgi-scr-migrator/scripts/migrate_annotations.py
@@ -905,16 +905,19 @@ class AnnotationMigrator:
                 break
 
         if class_idx is None:
+            print(f"Warning: Could not find class declaration for 
{self.component_name}, skipping metatype generation")
             return
 
         # Find the @Component annotation
         component_idx = None
-        for i in range(class_idx - 1, max(0, class_idx - 20), -1):
+        # must be somewhere between start of file and class declaration, look 
backwards from class declaration
+        for i in range(class_idx - 1, 0, -1): 
             if '@Component' in self.lines[i]:
                 component_idx = i
                 break
 
         if component_idx is None:
+            print(f"Warning: Could not find @Component annotation for 
{self.component_name}, skipping metatype generation")
             return
 
         # Add @Designate annotation before @Component

Reply via email to