• Cecile Tonglet's avatar
    CLI improvements & fixes (#4812) · 099cd0f2
    Cecile Tonglet authored
    These are a few changes I missed during the refactoring.
    
    1. Initialization issue and boilerplate
    
        Most importantly: part of the `Configuration` initialization was done in `sc_cli::init`. This means the user can not benefit from this initialization boilerplate if they have multiple `Configuration` since `sc_cli::init` can only be called once.
    
    2. Boilerplate for `VersionInfo` and `Configuration`
    
        I'm also answering to the critic of @bkchr on the initialization using version: https://github.com/paritytech/substrate/pull/4692/files/bea809d4c14a2ede953227ac885e3b3f9771c548#r372047238 This will allow initializing a `Configuration` and provide the version by default.
    
    3. Loading the `chain_spec` explicitly
    
        In the past it was done automatically but in some cases we want to delay this. I moved the code to `Configuration.load_spec()` so it can be called later on. `chain_spec` can also be written directly to the `Configuration` without using this `load_spec` helper.
    
    4. [deleted]
    
    5. Fixing issue that prevents the user to override the port
    
        In the refactoring I introduced a bug by mistake that could potentially prevent the CLI user to override the ports if defaults where provided for these ports (only on cumulus).
    
    6. Change task_executor from Box to Arc
    
        This is useful for cumulus where we have 2 nodes with 2 separate Configuration that need to spawn tasks to the same runtime.
    
    7. Renamed TasksExecutorRequired to TaskExecutor
    
        For consistency.
    
    This is related to https://github.com/paritytech/cumulus/issues/24
    
    This is the continuation (and hopefully the end of) #4692 
    099cd0f2
Validating GitLab CI configuration… Learn more