snap/snapcraft.yaml (46 lines of code) (raw):

name: terraformer summary: CLI tool. description:| CLI tool to generate terraform files from existing infrastructure (reverse Terraform). adopt-info:terraformer grade: stable confinement: strict architectures: - build-on: amd64 - build-on: armhf - build-on: arm64 apps: terraformer: command: bin/terraformer plugs: - home - network - removable-media parts: terraformer: plugin: nil source: https://github.com/GoogleCloudPlatform/terraformer.git source-type: git override-pull: | git clone https://github.com/GoogleCloudPlatform/terraformer.git src/github.com/GoogleCloudPlatform/terraformer cd src/github.com/GoogleCloudPlatform/terraformer last_committed_tag="$(git describe --tags --abbrev=0)" last_committed_tag_ver="$(echo ${last_committed_tag} | sed 's/v//')" last_released_tag="$(snap info $SNAPCRAFT_PROJECT_NAME | awk '$1 == "beta:" { print $2 }')" # If the latest tag from the upstream project has not been released to # beta, build that tag instead of master. if [ "${last_committed_tag_ver}" != "${last_released_tag}" ]; then git fetch git checkout "${last_committed_tag}" fi snapcraftctl set-version "$(git describe --tags | sed 's/v//')" override-build: | export GOPATH=$PWD cd src/github.com/GoogleCloudPlatform/terraformer env CGO_ENABLED=0 GOOS=linux \ go build --ldflags "-s -w \ -X 'github.com/GoogleCloudPlatform/terraformer/version.GitCommit=$(git rev-list -1 HEAD)' \ -X 'github.com/GoogleCloudPlatform/terraformer/version.Version=$(git describe --tags --abbrev=0)'" \ -a -installsuffix cgo -o $SNAPCRAFT_PART_INSTALL/bin/terraformer build-snaps: - go build-packages: - git - sed