# -*-perl-*-

package.TwitchExtensionsConfiguration = {
    interfaces = (1.0);

    deploy = {
        generic = true;
        map = (default, "-gopath/src/**", "-gopath/pkg/**");
    };

    dependencies = {
        1.0 = {
            AlbBehindNlbLambda = 2.0;
            C7-go = 0.1;
            BONESArnMapping = 1.0;
            BONESHydraTemplate = 1.1;
            TwitchECSCanaryRelease = 1.0;
            TwitchExtensionsConfigurationTwirp = 1.0;
            BONESIsengardAMITemplate = tip;
            TwitchECSAutoScalingOnEC2 = 1.0;
            TwitchECSDrainTasksOnTerminate = 1.0;
            TwitchECSCanaryDrainTasksOnTerminate = 1.0;
            FultonGoHttp = 1.0;
            FultonGoLangBootstrap = 1.1;
            FultonGoLocalDev = 1.0;
            FultonPrivateLinkCfn = 1.0;
            TwitchLoggingMiddleware = 1.0;
            TwitchTelemetryPollingCollector = 1.0;
            TwitchTelemetrySystemMetricsCollector = 1.0;

            GoAmzn-Github-Aws-AwsSdkGo = 1.x;

            # Need for Twirp
            Go3p-Github-Golang-Protobuf = 1.x;
            Go3p-Github-Twitchtv-Twirp = 1.x;

            # Autoprof Infra
            Twitch-Autoprof-Cfn = 1.0;

            # Custom dependencies
            Go3p-Github-Afex-HystrixGo = 1.x;
            Go3p-Github-Mitchellh-Hashstructure = 0.x;
            Go3p-Github-Patrickmn-GoCache = 2.x;
            Go3p-Github-Sirupsen-Logrus = 1.x;
            Go3p-Github-Jixwanwang-Apiutils = 0.x;
            TwitchExtensionsBarbradyTwirp = 1.0;
            Twitch-Common-Jwt = 1.0;
            Twitch-Common-Config = 2.0;
            Twitch-Common-Goauthorization = 1.0;
            Twitch-Infosec-Cors = 1.0;
            Twitch-Extensions-Instrumentation = 1.0;
            Twitch-Extensions-Golibs-Awsutil = 1.0;
            Twitch-Extensions-Golibs-Cache = 1.0;
            Twitch-Extensions-Golibs-Config = 1.0;
            Twitch-Extensions-Golibs-Dynamodb = 1.0;
            TwitchExtGdsErrors = 1.0;
            TwitchExtGdsEvent = 1.0;
            Twitch-Extensions-Http = 1.0;
            Twitch-Extensions-Hystrix = 1.0;
            Twitch-Extensions-Params = 1.0;
            Twitch-Extensions-Golibs-Uuid = 1.0;
            Twitch-Extensions-Golibs-Sandstorm = 1.0;
            Twitch-Extensions-Golibs-Metrics = 1.0;
        };
    };

    build-environment = {
        chroot = basic;
        network-access = blocked;
    };

    # Use CfnBuild. See https://code.amazon.com/packages/CfnBuild
    build-system = bgo-wrap-make;
    build-tools = {
        1.0 = {
            C7BrazilBuilder = 0.1;

            CfnBuild = 1.0;
            RDE-DevWorkflowScripts = 1.0;
            SAMToolkit = 1.0;

            BrazilMakeGo = 2.0;
            FultonGoMakeLib = 1.0;
            GoLang = 1.0;

            TwitchExtensionsConfigurationSchema = 1.0;
        };
    };

    test-dependencies = {
        1.0 = {
            Go3p-Github-Stretchr-Testify = 1.x;
            Twitch-Common-GoTestDynamo = 1.0;
            Twitch-Extensions-Golibs-Mocks = 1.0;
            # Required for Twitch-Common-GoTestDynamo
            JDK8 = 1.0;
        };
    };

    resolves-conflict-dependencies = {
        1.0 = {
            TwirpGoLangClientAutowire = 1.1;
        };
    };
};
