Or(basestring, [basestring]), { "command": Or(basestring, [basestring]), Optional("requires"): [package_request_schema] } ) }) # package serialisation schema package_serialise_schema = Schema({ Required("name"): basestring, Optional("version"): version_schema, Optional("description"): basestring, Optional("authors"): [basestring], Optional("tools"): late_bound([basestring]), Optional('requires'): late_bound([package_request_schema]), Optional('build_requires'): late_bound([package_request_schema]), Optional('private_build_requires'): late_bound([package_request_schema]), Optional('variants'): [[package_request_schema]], Optional('pre_commands'): source_code_schema, Optional('commands'): source_code_schema, Optional('post_commands'): source_code_schema, Optional("help"): late_bound(help_schema), Optional("uuid"): basestring, Optional("config"): dict,
} ) }) package_schema = Schema({ Optional("requires_rez_version"): And(basestring, Use(Version)), Required("name"): basestring, Optional("base"): basestring, Optional("version"): Or(basestring, And(Version, Use(str))), Optional('description'): basestring, Optional('authors'): [basestring], Optional('requires'): late_bound([package_request_schema]), Optional('build_requires'): late_bound([package_request_schema]), Optional('private_build_requires'): late_bound([package_request_schema]), # deliberately not possible to late bind Optional('variants'): [[package_request_schema]], Optional('relocatable'): late_bound(Or(None, bool)), Optional('hashed_variants'): bool, Optional('uuid'): basestring, Optional('config'): dict, Optional('tools'): late_bound([basestring]), Optional('help'): late_bound(help_schema), Optional('tests'): late_bound(tests_schema),
Optional("requires"): [package_request_schema] }) }) package_schema = Schema({ Required("name"): basestring, Optional("base"): basestring, Optional("version"): Or(basestring, And(Version, Use(str))), Optional('description'): basestring, Optional('authors'): [basestring], Optional('requires'): late_bound([package_request_schema]), Optional('build_requires'): late_bound([package_request_schema]), Optional('private_build_requires'): late_bound([package_request_schema]), # deliberately not possible to late bind Optional('variants'): [[package_request_schema]], Optional('uuid'): basestring, Optional('config'): dict, Optional('tools'): late_bound([basestring]), Optional('help'): late_bound(help_schema),