Directive inheritance: laziness for the win (#2623)
* inheritance of directives: using meta-classes to inject attributes coming from directives into packages + lazy directives * _dep_types -> dependency_types * using a meta-class to inject directives into packages * directives are lazy fixes #2466 * directives.py: allows for multiple inheritance. Added blank lines as suggested by @tgamblin * directives.py: added a test for simple inheritance of directives * Minor improvement requested by @tgamblin CMakePackage: importing names from spack.directives directives: wrap __new__ to respect pep8 * Refactoring requested by @tgamblin directives: removed global variables in favor of class variables. Simplified the interface for directives (they return a callable on a package or a list of them).
Showing
- lib/spack/llnl/util/lang.py 0 additions, 32 deletionslib/spack/llnl/util/lang.py
- lib/spack/spack/build_systems/cmake.py 3 additions, 0 deletionslib/spack/spack/build_systems/cmake.py
- lib/spack/spack/directives.py 224 additions, 157 deletionslib/spack/spack/directives.py
- lib/spack/spack/package.py 2 additions, 6 deletionslib/spack/spack/package.py
- lib/spack/spack/spec.py 1 addition, 1 deletionlib/spack/spack/spec.py
- lib/spack/spack/test/mock_packages_test.py 1 addition, 1 deletionlib/spack/spack/test/mock_packages_test.py
- lib/spack/spack/test/packages.py 26 additions, 0 deletionslib/spack/spack/test/packages.py
- var/spack/repos/builtin.mock/packages/simple_inheritance/package.py 24 additions, 0 deletions...repos/builtin.mock/packages/simple_inheritance/package.py
- var/spack/repos/builtin/packages/dealii/package.py 0 additions, 1 deletionvar/spack/repos/builtin/packages/dealii/package.py
- var/spack/repos/builtin/packages/openjpeg/package.py 0 additions, 2 deletionsvar/spack/repos/builtin/packages/openjpeg/package.py
- var/spack/repos/builtin/packages/yaml-cpp/package.py 0 additions, 2 deletionsvar/spack/repos/builtin/packages/yaml-cpp/package.py
Loading
Please register or sign in to comment