50 lines
1.5 KiB
Python

import os
from impl.package_reference import PackageReference
from impl.debug_processor import create_debug_processor, load_processors
__debug_processors = []
def enable_debug_processors(processors:list[str], skip_upload:bool):
if not processors:
return
load_processors()
for processor in processors:
processor = create_debug_processor(processor, skip_upload)
if not processor:
print(f'Unknown debug processor {processor}')
continue
if processor.activate():
__debug_processors.append(processor)
def finalize_debug_processors():
for processor in __debug_processors:
processor.finalize()
def discard_debug_data():
for processor in __debug_processors:
processor.discard()
def handle_build_completed(package_reference:PackageReference, source_dir: str, build_dir: str):
print(f'Processing debug info for {package_reference} ({source_dir}, {build_dir})')
if len(__debug_processors) == 0:
return
if not build_dir:
return
if type(build_dir) is list:
for dir in build_dir:
if os.path.exists(dir):
return handle_build_completed(package_reference, source_dir, dir)
print(f'No build directory found for {package_reference}')
return
if os.path.isdir(build_dir):
print(f'Processing debug info for {package_reference} ({source_dir}, {build_dir})')
for processor in __debug_processors:
processor.process(package_reference, source_dir, build_dir)