@@ -36,13 +36,13 @@ class EcosystemConfig:
3636 # are options in the pipelines
3737 ecosystem_option : str = "Default"
3838
39- # These are extensions for packages of this ecosystem which
40- # need to be matched from purldb
41- purldb_package_extensions : list = field (default_factory = list )
39+ # These are extensions for package archive files for this ecosystem
40+ # that are matchable against the purldb using matchcode
41+ matchable_package_extensions : list = field (default_factory = list )
4242
43- # These are extensions for resources of this ecosystem which
44- # need to be matched from purldb
45- purldb_resource_extensions : list = field (default_factory = list )
43+ # These are extensions for file of this ecosystem that are
44+ # matchable against the purldb using matchcode
45+ matchable_resource_extensions : list = field (default_factory = list )
4646
4747 # Extensions for document files which do not require review
4848 doc_extensions : list = field (default_factory = list )
@@ -60,11 +60,15 @@ class EcosystemConfig:
6060 # which are not so useful in mapping
6161 standard_symbols_to_exclude : list = field (default_factory = list )
6262
63+ # File extesions which should be looked at for source symbol extraction
64+ # for mapping using symbols for a specific selected option/ecosystem
65+ source_symbol_extensions : list = field (default_factory = list )
66+
6367
6468# Dictionary of ecosystem configurations
6569ECOSYSTEM_CONFIGS = {
6670 "Default" : EcosystemConfig (
67- purldb_package_extensions = [".zip" , ".tar.gz" , ".tar.xz" ],
71+ matchable_package_extensions = [".zip" , ".tar.gz" , ".tar.xz" ],
6872 devel_resource_path_exclusions = ["*/tests/*" ],
6973 doc_extensions = [
7074 ".pdf" ,
@@ -79,12 +83,12 @@ class EcosystemConfig:
7983 ),
8084 "Java" : EcosystemConfig (
8185 ecosystem_option = "Java" ,
82- purldb_package_extensions = [".jar" , ".war" ],
83- purldb_resource_extensions = [".class" ],
86+ matchable_package_extensions = [".jar" , ".war" ],
87+ matchable_resource_extensions = [".class" ],
8488 ),
8589 "JavaScript" : EcosystemConfig (
8690 ecosystem_option = "JavaScript" ,
87- purldb_resource_extensions = [
91+ matchable_resource_extensions = [
8892 ".map" ,
8993 ".js" ,
9094 ".mjs" ,
@@ -98,21 +102,35 @@ class EcosystemConfig:
98102 ".sass" ,
99103 ".soy" ,
100104 ],
105+ source_symbol_extensions = [".ts" , ".js" ],
101106 ),
102107 "Go" : EcosystemConfig (
103108 ecosystem_option = "Go" ,
104- purldb_resource_extensions = [".go" ],
109+ matchable_resource_extensions = [".go" ],
105110 ),
106111 "Rust" : EcosystemConfig (
107112 ecosystem_option = "Rust" ,
108- purldb_resource_extensions = [".rs" ],
113+ matchable_resource_extensions = [".rs" ],
114+ source_symbol_extensions = [".rs" ],
109115 ),
110116 "Ruby" : EcosystemConfig (
111117 ecosystem_option = "Ruby" ,
112- purldb_package_extensions = [".gem" ],
113- purldb_resource_extensions = [".rb" ],
118+ matchable_package_extensions = [".gem" ],
119+ matchable_resource_extensions = [".rb" ],
114120 deployed_resource_path_exclusions = ["*checksums.yaml.gz*" , "*metadata.gz*" ],
115121 ),
122+ "Elf" : EcosystemConfig (
123+ ecosystem_option = "Elf" ,
124+ source_symbol_extensions = [".c" , ".cpp" , ".h" ],
125+ ),
126+ "MacOS" : EcosystemConfig (
127+ ecosystem_option = "MacOS" ,
128+ source_symbol_extensions = [".c" , ".cpp" , ".h" , ".m" , ".swift" ],
129+ ),
130+ "Windows" : EcosystemConfig (
131+ ecosystem_option = "Windows" ,
132+ source_symbol_extensions = [".c" , ".cpp" , ".h" , ".cs" ],
133+ ),
116134}
117135
118136
@@ -150,8 +168,8 @@ def add_ecosystem_config(pipeline_ecosystem_config, ecosystem_config):
150168 based configuration defined in `ecosystem_config`.
151169 """
152170 d2d_pipeline_configs = [
153- "purldb_package_extensions " ,
154- "purldb_resource_extensions " ,
171+ "matchable_package_extensions " ,
172+ "matchable_resource_extensions " ,
155173 "deployed_resource_path_exclusions" ,
156174 ]
157175
0 commit comments