Skip to content
  • Serdar Sutay's avatar
    This commit adds the ability to collect licensing information from the... · b3e7e3d6
    Serdar Sutay authored
    This commit adds the ability to collect licensing information from the dependencies of software definitions that are not defined in omnibus. We use license_scout gem in order to collect licensing information from the dependency managers used by the software. Since many softwares are not using dependency managers we are also including some options to enable/disable collection of licensing information:
    
    1. New software dsl method 'skip_transitive_dependency_licensing'
    When set omnibus will skip collecting licensing information for the dependencies. By default this is set to false.
    
    2. Temporary configuration value 'fatal_transitive_dependency_licensing_warnings'
    When set omnibus will fail the build when there is a warning from transitive dependency license collection. We are introducing this as a feature flag while we are implementing support for new types of dependency managers in license scout. Once we implement license detection for most commonly used set of projects, we will remove this configuration option and fall back to 'fatal_licensing_warnings'.
    
    This feature is compatible with git_cache. We drop in a manifest and a set of license files after the software is built and before it is cached. Therefore any software restored from git_cache will always have the correct licensing information.
    
    Just like the other licensing information, the license files of the transitive dependencies will be placed under LICENSES directory and information about them will be included in the defined license file for the project (by default LICENSE).
    b3e7e3d6