# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit go-module shell-completion

EGO_SUM=(
	"github.com/apple/pkl-go v0.8.0"
	"github.com/apple/pkl-go v0.8.0/go.mod"
	"github.com/appscode/jsonpatch v1.0.1"
	"github.com/appscode/jsonpatch v1.0.1/go.mod"
	"github.com/aws/aws-lambda-go v1.47.0"
	"github.com/aws/aws-lambda-go v1.47.0/go.mod"
	"github.com/aws/aws-lambda-go v1.48.0"
	"github.com/aws/aws-lambda-go v1.48.0/go.mod"
	"github.com/aws/aws-sdk-go-v2 v1.36.3"
	"github.com/aws/aws-sdk-go-v2 v1.36.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10"
	"github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10/go.mod"
	"github.com/aws/aws-sdk-go-v2/config v1.29.12"
	"github.com/aws/aws-sdk-go-v2/config v1.29.12/go.mod"
	"github.com/aws/aws-sdk-go-v2/config v1.29.14"
	"github.com/aws/aws-sdk-go-v2/config v1.29.14/go.mod"
	"github.com/aws/aws-sdk-go-v2/credentials v1.17.65"
	"github.com/aws/aws-sdk-go-v2/credentials v1.17.65/go.mod"
	"github.com/aws/aws-sdk-go-v2/credentials v1.17.67"
	"github.com/aws/aws-sdk-go-v2/credentials v1.17.67/go.mod"
	"github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30"
	"github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30/go.mod"
	"github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34"
	"github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34/go.mod"
	"github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34"
	"github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34/go.mod"
	"github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3"
	"github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.34"
	"github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.34/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/acm v1.31.1"
	"github.com/aws/aws-sdk-go-v2/service/acm v1.31.1/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/acm v1.31.3"
	"github.com/aws/aws-sdk-go-v2/service/acm v1.31.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.28.0"
	"github.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.28.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.29.0"
	"github.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.29.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.24.1"
	"github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.24.1/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.24.3"
	"github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.24.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/cloudformation v1.59.0"
	"github.com/aws/aws-sdk-go-v2/service/cloudformation v1.59.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/cloudformation v1.59.2"
	"github.com/aws/aws-sdk-go-v2/service/cloudformation v1.59.2/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/cloudfront v1.45.2"
	"github.com/aws/aws-sdk-go-v2/service/cloudfront v1.45.2/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/cloudfront v1.45.3"
	"github.com/aws/aws-sdk-go-v2/service/cloudfront v1.45.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/codeartifact v1.34.1"
	"github.com/aws/aws-sdk-go-v2/service/codeartifact v1.34.1/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/codeartifact v1.34.2"
	"github.com/aws/aws-sdk-go-v2/service/codeartifact v1.34.2/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/dynamodb v1.42.0"
	"github.com/aws/aws-sdk-go-v2/service/dynamodb v1.42.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/dynamodb v1.42.4"
	"github.com/aws/aws-sdk-go-v2/service/dynamodb v1.42.4/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/ec2 v1.211.0"
	"github.com/aws/aws-sdk-go-v2/service/ec2 v1.211.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/ec2 v1.211.3"
	"github.com/aws/aws-sdk-go-v2/service/ec2 v1.211.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/iam v1.41.0"
	"github.com/aws/aws-sdk-go-v2/service/iam v1.41.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/iam v1.41.1"
	"github.com/aws/aws-sdk-go-v2/service/iam v1.41.1/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3"
	"github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.0"
	"github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.15"
	"github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.15/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15"
	"github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.15"
	"github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.15/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/kms v1.38.1"
	"github.com/aws/aws-sdk-go-v2/service/kms v1.38.1/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/kms v1.38.3"
	"github.com/aws/aws-sdk-go-v2/service/kms v1.38.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/lightsail v1.43.1"
	"github.com/aws/aws-sdk-go-v2/service/lightsail v1.43.1/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/lightsail v1.43.2"
	"github.com/aws/aws-sdk-go-v2/service/lightsail v1.43.2/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/rds v1.94.2"
	"github.com/aws/aws-sdk-go-v2/service/rds v1.94.2/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/rds v1.94.4"
	"github.com/aws/aws-sdk-go-v2/service/rds v1.94.4/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/s3 v1.79.0"
	"github.com/aws/aws-sdk-go-v2/service/s3 v1.79.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/s3 v1.79.2"
	"github.com/aws/aws-sdk-go-v2/service/s3 v1.79.2/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/sagemaker v1.186.0"
	"github.com/aws/aws-sdk-go-v2/service/sagemaker v1.186.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/sagemaker v1.187.0"
	"github.com/aws/aws-sdk-go-v2/service/sagemaker v1.187.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/servicequotas v1.26.1"
	"github.com/aws/aws-sdk-go-v2/service/servicequotas v1.26.1/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/servicequotas v1.26.3"
	"github.com/aws/aws-sdk-go-v2/service/servicequotas v1.26.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/ssm v1.58.0"
	"github.com/aws/aws-sdk-go-v2/service/ssm v1.58.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/ssm v1.58.2"
	"github.com/aws/aws-sdk-go-v2/service/ssm v1.58.2/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/sso v1.25.2"
	"github.com/aws/aws-sdk-go-v2/service/sso v1.25.2/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/sso v1.25.3"
	"github.com/aws/aws-sdk-go-v2/service/sso v1.25.3/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.0"
	"github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.0/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1"
	"github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/sts v1.33.17"
	"github.com/aws/aws-sdk-go-v2/service/sts v1.33.17/go.mod"
	"github.com/aws/aws-sdk-go-v2/service/sts v1.33.19"
	"github.com/aws/aws-sdk-go-v2/service/sts v1.33.19/go.mod"
	"github.com/aws/smithy-go v1.22.3"
	"github.com/aws/smithy-go v1.22.3/go.mod"
	"github.com/chzyer/logex v1.1.10/go.mod"
	"github.com/chzyer/logex v1.2.1"
	"github.com/chzyer/logex v1.2.1/go.mod"
	"github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod"
	"github.com/chzyer/readline v1.5.1"
	"github.com/chzyer/readline v1.5.1/go.mod"
	"github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod"
	"github.com/chzyer/test v1.0.0"
	"github.com/chzyer/test v1.0.0/go.mod"
	"github.com/cpuguy83/go-md2man/v2 v2.0.6"
	"github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod"
	"github.com/davecgh/go-spew v1.1.0/go.mod"
	"github.com/davecgh/go-spew v1.1.1"
	"github.com/davecgh/go-spew v1.1.1/go.mod"
	"github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0"
	"github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod"
	"github.com/evanphx/json-patch v4.0.0+incompatible"
	"github.com/evanphx/json-patch v4.0.0+incompatible/go.mod"
	"github.com/fatih/color v1.18.0"
	"github.com/fatih/color v1.18.0/go.mod"
	"github.com/gabriel-vasile/mimetype v1.4.8"
	"github.com/gabriel-vasile/mimetype v1.4.8/go.mod"
	"github.com/goccy/go-json v0.10.5"
	"github.com/goccy/go-json v0.10.5/go.mod"
	"github.com/google/go-cmp v0.6.0"
	"github.com/google/go-cmp v0.6.0/go.mod"
	"github.com/google/uuid v1.6.0"
	"github.com/google/uuid v1.6.0/go.mod"
	"github.com/gookit/color v1.5.4"
	"github.com/gookit/color v1.5.4/go.mod"
	"github.com/inconshreveable/mousetrap v1.1.0"
	"github.com/inconshreveable/mousetrap v1.1.0/go.mod"
	"github.com/lestrrat-go/blackmagic v1.0.2"
	"github.com/lestrrat-go/blackmagic v1.0.2/go.mod"
	"github.com/lestrrat-go/blackmagic v1.0.3"
	"github.com/lestrrat-go/blackmagic v1.0.3/go.mod"
	"github.com/lestrrat-go/httpcc v1.0.1"
	"github.com/lestrrat-go/httpcc v1.0.1/go.mod"
	"github.com/lestrrat-go/httprc v1.0.6"
	"github.com/lestrrat-go/httprc v1.0.6/go.mod"
	"github.com/lestrrat-go/iter v1.0.2"
	"github.com/lestrrat-go/iter v1.0.2/go.mod"
	"github.com/lestrrat-go/jwx/v2 v2.1.4"
	"github.com/lestrrat-go/jwx/v2 v2.1.4/go.mod"
	"github.com/lestrrat-go/jwx/v2 v2.1.5"
	"github.com/lestrrat-go/jwx/v2 v2.1.5/go.mod"
	"github.com/lestrrat-go/option v1.0.1"
	"github.com/lestrrat-go/option v1.0.1/go.mod"
	"github.com/manifoldco/promptui v0.9.0"
	"github.com/manifoldco/promptui v0.9.0/go.mod"
	"github.com/mattn/go-colorable v0.1.14"
	"github.com/mattn/go-colorable v0.1.14/go.mod"
	"github.com/mattn/go-isatty v0.0.20"
	"github.com/mattn/go-isatty v0.0.20/go.mod"
	"github.com/mattn/go-runewidth v0.0.15"
	"github.com/mattn/go-runewidth v0.0.15/go.mod"
	"github.com/nathan-fiscaletti/consolesize-go v0.0.0-20220204101620-317176b6684d"
	"github.com/nathan-fiscaletti/consolesize-go v0.0.0-20220204101620-317176b6684d/go.mod"
	"github.com/pmezard/go-difflib v1.0.0"
	"github.com/pmezard/go-difflib v1.0.0/go.mod"
	"github.com/rivo/uniseg v0.2.0"
	"github.com/rivo/uniseg v0.2.0/go.mod"
	"github.com/russross/blackfriday/v2 v2.1.0"
	"github.com/russross/blackfriday/v2 v2.1.0/go.mod"
	"github.com/segmentio/asm v1.2.0"
	"github.com/segmentio/asm v1.2.0/go.mod"
	"github.com/spf13/cobra v1.9.1"
	"github.com/spf13/cobra v1.9.1/go.mod"
	"github.com/spf13/pflag v1.0.6"
	"github.com/spf13/pflag v1.0.6/go.mod"
	"github.com/stretchr/objx v0.1.0/go.mod"
	"github.com/stretchr/testify v1.2.2/go.mod"
	"github.com/stretchr/testify v1.6.1/go.mod"
	"github.com/stretchr/testify v1.7.1/go.mod"
	"github.com/stretchr/testify v1.10.0"
	"github.com/stretchr/testify v1.10.0/go.mod"
	"github.com/vmihailenco/msgpack/v5 v5.4.1"
	"github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod"
	"github.com/vmihailenco/tagparser/v2 v2.0.0"
	"github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod"
	"github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e"
	"github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod"
	"golang.org/x/crypto v0.36.0"
	"golang.org/x/crypto v0.36.0/go.mod"
	"golang.org/x/crypto v0.37.0"
	"golang.org/x/crypto v0.37.0/go.mod"
	"golang.org/x/exp v0.0.0-20250305212735-054e65f0b394"
	"golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod"
	"golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0"
	"golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod"
	"golang.org/x/net v0.38.0"
	"golang.org/x/net v0.38.0/go.mod"
	"golang.org/x/net v0.39.0"
	"golang.org/x/net v0.39.0/go.mod"
	"golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod"
	"golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod"
	"golang.org/x/sys v0.6.0/go.mod"
	"golang.org/x/sys v0.31.0"
	"golang.org/x/sys v0.31.0/go.mod"
	"golang.org/x/sys v0.32.0"
	"golang.org/x/sys v0.32.0/go.mod"
	"golang.org/x/term v0.30.0"
	"golang.org/x/term v0.30.0/go.mod"
	"golang.org/x/term v0.31.0"
	"golang.org/x/term v0.31.0/go.mod"
	"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405"
	"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
	"gopkg.in/yaml.v2 v2.4.0"
	"gopkg.in/yaml.v2 v2.4.0/go.mod"
	"gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod"
	"gopkg.in/yaml.v3 v3.0.1"
	"gopkg.in/yaml.v3 v3.0.1/go.mod"
	)
go-module_set_globals

DESCRIPTION="A development workflow tool for working with AWS CloudFormation"
HOMEPAGE="https://github.com/aws-cloudformation/rain"
SRC_URI="https://github.com/aws-cloudformation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
	${EGO_SUM_SRC_URI}"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"

src_compile() {
	ego build ./cmd/rain
}

src_test() {
	ego test -work ./...
}

src_install() {
	einstalldocs
	dobin rain

	newbashcomp docs/bash_completion.sh rain
	newzshcomp docs/zsh_completion.sh _rain
}