#
#  Copyright (C) 2019 Bloomberg Finance L.P.
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#
#  Authors:
#        Raoul Hidalgo Charman <raoul.hidalgocharman@codethink.co.uk>
#

from buildstream.element import ElementError
from buildstream.buildelement import BuildElement


class AlwaysFail(BuildElement):

    BST_MIN_VERSION = "2.0"

    def assemble(self, sandbox):
        raise ElementError("Always fails")


def setup():
    return AlwaysFail
