Skip to content

E3-756: Remove leaves

Anders Lindh Olsson requested to merge e3-756_remove_leaves into e3-756

This MR is complementary to !9 (merged) , and removes all wrappers that nothing depends on from the global substitutions list.

The leaf nodes were identified by using a small script:

import yaml

from e3 import utils
from e3.git import registry


gl = registry.WrapperRegistry()

def depends_on(module):
    config = utils.read_makefile_definitions(
        gl.get_config_from(
            module,
            ref="master",
            config_file="CONFIG_MODULE",
        ),
    )
    return [dep for dep in config if "DEP" in dep]


wrappers = [key for key in gl.get_all_projects()]
leaf_nodes = wrappers.copy()
for proj in wrappers:
    name = proj[3:]  # without e3- prefix

    deps = depends_on(name)
    for dep in deps:
        offset = len("_DEP_VERSION")
        cleaned_name = dep[:-offset].lower()
        try:
            leaf_nodes.remove(f"e3-{cleaned_name}")
        except ValueError:
            pass

with open("leaves.yml", "w") as f:
    f.write(yaml.safe_dump(leaf_nodes))

and this is the list produced (sorted alphabetically):

- e3-adandor
- e3-adandor3
- e3-adcsimdetector
- e3-adgraphicsmagick
- e3-admisc
- e3-adplugincalib
- e3-adpluginedge
- e3-adpointgrey
- e3-adprosilica
- e3-adps4000a
- e3-ads
- e3-adsimdetector
- e3-adsis8300bcm
- e3-adsis8300bpm
- e3-adsis8300fc
- e3-adspinnaker
- e3-adurl
- e3-base
- e3-beamprod
- e3-cabtr
- e3-caenelfastps
- e3-caenelsmagnetps
- e3-caensyproxy
- e3-calibration
- e3-cfhvms
- e3-chebyshev
- e3-crome
- e3-delaygen
- e3-ecmc
- e3-ecmccfg
- e3-emudaqsim
- e3-essioc
- e3-ethercatmc
- e3-evr_seq_calc
- e3-evr_timestamp_buffer
- e3-evrioc
- e3-evrisland
- e3-examplemodule
- e3-fug
- e3-gammaspc
- e3-hfc8
- e3-ifcdaqdrv
- e3-iocshutils
- e3-ip
- e3-ipmicomm
- e3-ipmimanager
- e3-julabof25hl
- e3-keller33x
- e3-keypress
- e3-lakeshore336
- e3-llrfsystem
- e3-lm510
- e3-lobox
- e3-m300_gps
- e3-manifest
- e3-mca
- e3-mcoreutils
- e3-mebtbuncheramp
- e3-modulator
- e3-momuda
- e3-nblmioc
- e3-nddriverstdarrays
- e3-odh
- e3-opcua-build
- e3-prl_amplifier
- e3-prlamppdc
- e3-regdev
- e3-require
- e3-rf_power_station
- e3-rfcond
- e3-rfqvoltprof
- e3-rs_nrpxxsn
- e3-rs_nrpz
- e3-ruckig
- e3-sairem
- e3-simupulse
- e3-sis8300llrf
- e3-sorensen
- e3-supercycleengine
- e3-sysfs
- e3-tdklambdagenesys
- e3-tdklambdaz
- e3-training-material
- e3-vac_ctrl_digitelqpce
- e3-vac_ctrl_halrcrga
- e3-vac_ctrl_leyboldtd20
- e3-vac_ctrl_mks946_937b
- e3-vac_ctrl_sens4_vpm7
- e3-vac_ctrl_tcp350
- e3-vac_ctrl_tpg300_500
- e3-vac_starting_switchyard
- e3-vacs_accv_vac_ioc_11010
- e3-vacs_accv_vac_plc_01001
- e3-vacs_accv_vac_plc_10001
- e3-wavepro
- e3-wirescanner

Merge request reports