# this schema will automatically harden request strings like 'python-*'; see
# the 'expand_requires' function for more info.
#
package_request_schema = Or(And(basestring, Use(expand_requirement)),
                            And(PackageRequest, Use(str)))

tests_schema = Schema({
    Optional(basestring):
    Or(
        Or(basestring, [basestring]),
        extensible_schema_dict({
            "command":
            Or(basestring, [basestring]),
            Optional("requires"): [package_request_schema],
            Optional("run_on"):
            Or(basestring, [basestring]),
            Optional("on_variants"):
            Or(bool, {
                "type": "requires",
                "value": [package_request_schema]
            })
        }))
})

package_schema = Schema({
    Optional("requires_rez_version"):
    And(basestring, Use(Version)),
    Required("name"):
    basestring,
    Optional("base"):
    basestring,
    Optional("version"):
Beispiel #2
0
# schema common to both package and variant
#

tests_schema = Schema({
    Optional(basestring):
    Or(
        Or(basestring, [basestring]),
        extensible_schema_dict({
            "command":
            Or(basestring, [basestring]),
            Optional("requires"):
            [Or(PackageRequest, And(basestring, Use(PackageRequest)))],
            Optional("run_on"):
            Or(basestring, [basestring]),
            Optional("on_variants"):
            Or(
                bool, {
                    "type":
                    "requires",
                    "value":
                    [Or(PackageRequest, And(basestring, Use(PackageRequest)))]
                })
        }))
})

package_base_schema_dict = base_resource_schema_dict.copy()
package_base_schema_dict.update({
    # basics
    Optional("base"):
    basestring,
    Optional("version"):