# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements; and to You under the Apache License, Version 2.0.

project:
    name: MyManagedProjectWithDependency
    packages:
        Extension2:
            dependencies:
                helloworlds:
                    location: github.com/apache/incubator-openwhisk-test/packages/helloworlds
                custom-hellowhisk:
                    location: github.com/apache/incubator-openwhisk-test/packages/hellowhisk
                custom-helloworlds:
                    location: github.com/apache/incubator-openwhisk-test/packages/helloworlds
            sequences:
                helloworld-sequence:
                   actions: custom-helloworlds/hello-js, custom-hellowhisk/greeting, helloworlds/hello-js
            triggers:
                trigger1:
                trigger2:
            rules:
                rule1:
                    trigger: trigger1
                    action: helloworld-sequence
                rule2:
                    trigger: trigger2
                    action: custom-helloworlds/helloworld-js
