@@ -372,7 +372,7 @@ def test_scanpipe_pipes_d2d_map_java_to_class(self):
372372 self .project1 , logger = buffer .write , jvm_lang = jvm .JavaLanguage
373373 )
374374
375- expected = "Mapping 3 .class resources to 2 ('.java',)"
375+ expected = "Mapping 3 .class (or other deployed file) resources to 2 ('.java',)"
376376 self .assertIn (expected , buffer .getvalue ())
377377
378378 self .assertEqual (2 , self .project1 .codebaserelations .count ())
@@ -432,7 +432,7 @@ def test_scanpipe_pipes_d2d_map_java_to_class_with_java_in_deploy(self):
432432 d2d .map_jvm_to_class (
433433 self .project1 , logger = buffer .write , jvm_lang = jvm .JavaLanguage
434434 )
435- expected = "Mapping 1 .class resources to 1 ('.java',)"
435+ expected = "Mapping 1 .class (or other deployed file) resources to 1 ('.java',)"
436436 self .assertIn (expected , buffer .getvalue ())
437437
438438 def test_scanpipe_pipes_d2d_map_grammar_to_class (self ):
@@ -452,7 +452,9 @@ def test_scanpipe_pipes_d2d_map_grammar_to_class(self):
452452 self .project1 , logger = buffer .write , jvm_lang = jvm .GrammarLanguage
453453 )
454454
455- expected = "Mapping 1 .class resources to 1 ('.g', '.g4')"
455+ expected = (
456+ "Mapping 1 .class (or other deployed file) resources to 1 ('.g', '.g4')"
457+ )
456458 self .assertIn (expected , buffer .getvalue ())
457459 self .assertEqual (1 , self .project1 .codebaserelations .count ())
458460
@@ -480,7 +482,9 @@ def test_scanpipe_pipes_d2d_map_xtend_to_class(self):
480482 self .project1 , logger = buffer .write , jvm_lang = jvm .XtendLanguage
481483 )
482484
483- expected = "Mapping 1 .class resources to 1 ('.xtend',)"
485+ expected = (
486+ "Mapping 1 .class (or other deployed file) resources to 1 ('.xtend',)"
487+ )
484488 self .assertIn (expected , buffer .getvalue ())
485489 self .assertEqual (1 , self .project1 .codebaserelations .count ())
486490
@@ -569,6 +573,124 @@ def test_scanpipe_pipes_d2d_map_jar_to_java_source(self):
569573 self .assertEqual (from2 , relation .from_resource )
570574 self .assertEqual (to_jar , relation .to_resource )
571575
576+ def test_scanpipe_pipes_d2d_map_groovy_to_class (self ):
577+ from1 = make_resource_file (
578+ self .project1 ,
579+ path = "from/project/test.groovy" ,
580+ extra_data = {"groovy_package" : "project" },
581+ )
582+
583+ to1 = make_resource_file (
584+ self .project1 ,
585+ path = "to/project/test.class" ,
586+ )
587+
588+ buffer = io .StringIO ()
589+ d2d .map_jvm_to_class (
590+ self .project1 , logger = buffer .write , jvm_lang = jvm .GroovyLanguage
591+ )
592+
593+ expected = (
594+ "Mapping 1 .class (or other deployed file) resources to 1 ('.groovy',)"
595+ )
596+ self .assertIn (expected , buffer .getvalue ())
597+ self .assertEqual (1 , self .project1 .codebaserelations .count ())
598+
599+ r1 = self .project1 .codebaserelations .get (to_resource = to1 , from_resource = from1 )
600+ self .assertEqual ("groovy_to_class" , r1 .map_type )
601+ expected = {"from_source_root" : "from/" }
602+ self .assertEqual (expected , r1 .extra_data )
603+
604+ def test_scanpipe_pipes_d2d_map_aspectj_to_class (self ):
605+ from1 = make_resource_file (
606+ self .project1 ,
607+ path = "from/project/test.aj" ,
608+ extra_data = {"aspectj_package" : "project" },
609+ )
610+
611+ to1 = make_resource_file (
612+ self .project1 ,
613+ path = "to/project/test.class" ,
614+ )
615+
616+ buffer = io .StringIO ()
617+ d2d .map_jvm_to_class (
618+ self .project1 , logger = buffer .write , jvm_lang = jvm .AspectJLanguage
619+ )
620+
621+ expected = "Mapping 1 .class (or other deployed file) resources to 1 ('.aj',)"
622+ self .assertIn (expected , buffer .getvalue ())
623+ self .assertEqual (1 , self .project1 .codebaserelations .count ())
624+
625+ r1 = self .project1 .codebaserelations .get (to_resource = to1 , from_resource = from1 )
626+ self .assertEqual ("aspectj_to_class" , r1 .map_type )
627+ expected = {"from_source_root" : "from/" }
628+ self .assertEqual (expected , r1 .extra_data )
629+
630+ def test_scanpipe_pipes_d2d_map_clojure_to_class (self ):
631+ from1 = make_resource_file (
632+ self .project1 ,
633+ path = "from/project/test.clj" ,
634+ extra_data = {"clojure_package" : "project" },
635+ )
636+
637+ to1 = make_resource_file (
638+ self .project1 ,
639+ path = "to/project/test.class" ,
640+ )
641+
642+ buffer = io .StringIO ()
643+ d2d .map_jvm_to_class (
644+ self .project1 , logger = buffer .write , jvm_lang = jvm .ClojureLanguage
645+ )
646+
647+ expected = "Mapping 1 .class (or other deployed file) resources to 1 ('.clj',)"
648+ self .assertIn (expected , buffer .getvalue ())
649+ self .assertEqual (1 , self .project1 .codebaserelations .count ())
650+
651+ r1 = self .project1 .codebaserelations .get (to_resource = to1 , from_resource = from1 )
652+ self .assertEqual ("clojure_to_class" , r1 .map_type )
653+ expected = {"from_source_root" : "from/" }
654+ self .assertEqual (expected , r1 .extra_data )
655+
656+ def test_scanpipe_pipes_d2d_map_scala_to_class (self ):
657+ from1 = make_resource_file (
658+ self .project1 ,
659+ path = "from/tastyquery/Annotations.scala" ,
660+ extra_data = {"scala_package" : "tastyquery" },
661+ )
662+
663+ to1 = make_resource_file (
664+ self .project1 ,
665+ path = "to/tastyquery/Annotations.tasty" ,
666+ )
667+
668+ to2 = make_resource_file (
669+ self .project1 ,
670+ path = "to/tastyquery/Annotations.class" ,
671+ )
672+
673+ buffer = io .StringIO ()
674+ d2d .map_jvm_to_class (
675+ self .project1 , logger = buffer .write , jvm_lang = jvm .ScalaLanguage
676+ )
677+
678+ expected = (
679+ "Mapping 2 .class (or other deployed file) resources to 1 ('.scala',)"
680+ )
681+ self .assertIn (expected , buffer .getvalue ())
682+ self .assertEqual (2 , self .project1 .codebaserelations .count ())
683+
684+ r1 = self .project1 .codebaserelations .get (to_resource = to1 , from_resource = from1 )
685+ self .assertEqual ("scala_to_class" , r1 .map_type )
686+ expected = {"from_source_root" : "from/" }
687+ self .assertEqual (expected , r1 .extra_data )
688+
689+ r2 = self .project1 .codebaserelations .get (to_resource = to2 , from_resource = from1 )
690+ self .assertEqual ("scala_to_class" , r2 .map_type )
691+ expected = {"from_source_root" : "from/" }
692+ self .assertEqual (expected , r2 .extra_data )
693+
572694 def test_scanpipe_pipes_d2d_map_jar_to_scala_source (self ):
573695 from1 = make_resource_file (
574696 self .project1 ,
0 commit comments