Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ExternalLinksParser rework #4425

Merged
merged 2 commits into from
Feb 5, 2018
Merged

Commits on Feb 2, 2018

  1. refactor: Rename ExtLink* objects

    Rename ExtLink* objects and the namespace to provide clearer idea about
    the intent.
    RussKie committed Feb 2, 2018
    Configuration menu
    Copy the full SHA
    80ad372 View commit details
    Browse the repository at this point in the history
  2. refactor: ExternalLinksParser rework

    ExternalLinksParser implementation is convoluted and is a mix of a number
    of different concerns - e.g. loading and saving definition to/from files,
    keeping track of current definitions, aggregating defintions across settings
    layers, parsing GitRevision for external links.
    
    * ExternalLinksParser renamed to ExternalLinksManager. The manager
    remains stateful maintaining a collection of definitions at the top settings level.
    * Extract Load and Save functionality into ExternalLinksLoader.
    Functionality is simplified to deal with only supplied layer of settings.
    * Extract ExternalLinksParser.Parse to GitRevisionExternalLinksParser.
    Used by CommitInfo while loading commit information and applying
    configured external links.
    * Extract effective external links configuration loading into
    ConfiguredLinkDefinitionsProvider. Definitions are loaded across different
    layers of configuration. This is used by GitRevisionExternalLinksParser.
    
    Added unit and integration tests.
    RussKie committed Feb 2, 2018
    Configuration menu
    Copy the full SHA
    0a6997e View commit details
    Browse the repository at this point in the history