| # |
| # Copyright (C) 2018 Codethink Limited |
| # |
| # This program is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Lesser General Public |
| # License as published by the Free Software Foundation; either |
| # version 2 of the License, or (at your option) any later version. |
| # |
| # This library is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # Lesser General Public License for more details. |
| # |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with this library. If not, see <http://www.gnu.org/licenses/>. |
| # |
| # Authors: |
| # Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> |
| |
| |
| # Symbol(): |
| # |
| # A simple object to denote the symbols we load with from YAML |
| # |
| class Symbol(): |
| FILENAME = "filename" |
| KIND = "kind" |
| DEPENDS = "depends" |
| SOURCES = "sources" |
| CONFIG = "config" |
| VARIABLES = "variables" |
| ENVIRONMENT = "environment" |
| ENV_NOCACHE = "environment-nocache" |
| PUBLIC = "public" |
| TYPE = "type" |
| BUILD = "build" |
| RUNTIME = "runtime" |
| ALL = "all" |
| DIRECTORY = "directory" |
| JUNCTION = "junction" |
| SANDBOX = "sandbox" |
| |
| |
| # Dependency() |
| # |
| # A simple object describing a dependency |
| # |
| # Args: |
| # name (str): The element name |
| # dep_type (str): The type of dependency, can be |
| # Symbol.ALL, Symbol.BUILD, or Symbol.RUNTIME |
| # junction (str): The element name of the junction, or None |
| # provenance (Provenance): The YAML node provenance of where this |
| # dependency was declared |
| # |
| class Dependency(): |
| def __init__(self, name, |
| dep_type=None, junction=None, provenance=None): |
| self.name = name |
| self.dep_type = dep_type |
| self.junction = junction |
| self.provenance = provenance |