specs: remove parse_anonymous_spec(); use Spec() instead
- `parse_anonymous_spec()` is a vestige of the days when Spack didn't support nameless specs. We don't need it anymore because now we can write Spec() for a spec that will match anything, and satisfies() semantics work properly for anonymous specs. - Delete `parse_anonymous_spec()` and replace its uses with simple calls to the Spec() constructor. - make then handling of when='...' specs in directives more consistent. - clean up Spec.__contains__() - refactor directives and tests slightly to accommodate the change.
This commit is contained in:

committed by
Peter Scheibel

parent
12b9fad7b6
commit
515b4045e9
@@ -0,0 +1,28 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class WhenDirectivesFalse(Package):
|
||||
"""Package that tests False when specs on directives."""
|
||||
|
||||
homepage = "http://www.example.com"
|
||||
url = "http://www.example.com/example-1.0.tar.gz"
|
||||
|
||||
version('1.0', '0123456789abcdef0123456789abcdef')
|
||||
|
||||
patch('https://example.com/foo.patch',
|
||||
sha256='abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234',
|
||||
when=False)
|
||||
extends('extendee', when=False)
|
||||
depends_on('b', when=False)
|
||||
conflicts('@1.0', when=False)
|
||||
resource(url="http://www.example.com/example-1.0-resource.tar.gz",
|
||||
md5='0123456789abcdef0123456789abcdef',
|
||||
when=False)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -0,0 +1,28 @@
|
||||
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class WhenDirectivesTrue(Package):
|
||||
"""Package that tests True when specs on directives."""
|
||||
|
||||
homepage = "http://www.example.com"
|
||||
url = "http://www.example.com/example-1.0.tar.gz"
|
||||
|
||||
version('1.0', '0123456789abcdef0123456789abcdef')
|
||||
|
||||
patch('https://example.com/foo.patch',
|
||||
sha256='abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234',
|
||||
when=True)
|
||||
extends('extendee', when=True)
|
||||
depends_on('b', when=True)
|
||||
conflicts('@1.0', when=True)
|
||||
resource(url="http://www.example.com/example-1.0-resource.tar.gz",
|
||||
md5='0123456789abcdef0123456789abcdef',
|
||||
when=True)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
Reference in New Issue
Block a user