59 lines
2.6 KiB
Makefile
59 lines
2.6 KiB
Makefile
PROJECT_NAME := Pulumi .NET Core SDK
|
|
LANGHOST_PKG := github.com/pulumi/pulumi/pkg/cmd/pulumi-language-dotnet
|
|
|
|
VERSION := $(shell ../../scripts/get-version HEAD --embed-feature-branch)
|
|
VERSION_DOTNET := ${VERSION:v%=%} # strip v from the beginning
|
|
VERSION_FIRST_WORD := $(word 1,$(subst -, ,${VERSION_DOTNET})) # e.g. 1.5.0
|
|
VERSION_SECOND_WORD := $(word 2,$(subst -, ,${VERSION_DOTNET})) # e.g. alpha or alpha.1
|
|
VERSION_THIRD_WORD := $(word 3,$(subst -, ,${VERSION_DOTNET})) # e.g. featbranch or featbranch.1
|
|
|
|
VERSION_PREFIX := $(strip ${VERSION_FIRST_WORD})
|
|
|
|
ifeq ($(strip ${VERSION_SECOND_WORD}),)
|
|
VERSION_SUFFIX := preview
|
|
else ifeq ($(strip ${VERSION_THIRD_WORD}),)
|
|
VERSION_SUFFIX := preview-$(strip ${VERSION_SECOND_WORD})
|
|
else
|
|
VERSION_SUFFIX := preview-$(strip ${VERSION_THIRD_WORD})-$(strip ${VERSION_SECOND_WORD})
|
|
endif
|
|
|
|
TESTPARALLELISM := 10
|
|
|
|
include ../../build/common.mk
|
|
|
|
build::
|
|
# .NET support is only in Preview currently. So unilaterally add `-preview` to the version suffix.
|
|
# From the nuget docs:
|
|
#
|
|
# Pre-release versions are then denoted by appending a hyphen and a string after the patch number.
|
|
# Technically speaking, you can use any string after the hyphen and NuGet will treat the package as
|
|
# pre-release. NuGet then displays the full version number in the applicable UI, leaving consumers
|
|
# to interpret the meaning for themselves.
|
|
#
|
|
# With this in mind, it's generally good to follow recognized naming conventions such as the
|
|
# following:
|
|
#
|
|
# -alpha: Alpha release, typically used for work-in-progress and experimentation
|
|
dotnet build dotnet.sln /p:VersionPrefix=${VERSION_PREFIX} /p:VersionSuffix=${VERSION_SUFFIX}
|
|
go install -ldflags "-X github.com/pulumi/pulumi/sdk/go/common/version.Version=${VERSION}" ${LANGHOST_PKG}
|
|
|
|
install_plugin::
|
|
GOBIN=$(PULUMI_BIN) go install -ldflags "-X github.com/pulumi/pulumi/sdk/go/common/version.Version=${VERSION}" ${LANGHOST_PKG}
|
|
|
|
install:: install_plugin
|
|
echo "Copying NuGet packages to ${PULUMI_NUGET}"
|
|
[ ! -e "$(PULUMI_NUGET)" ] || rm -rf "$(PULUMI_NUGET)/*"
|
|
find . -name '*.nupkg' -exec cp -p {} ${PULUMI_NUGET} \;
|
|
|
|
dotnet_test::
|
|
# include the version prefix/suffix to avoid generating a separate nupkg file
|
|
dotnet test /p:VersionPrefix=${VERSION_PREFIX} /p:VersionSuffix=${VERSION_SUFFIX}
|
|
# work around a bug where running `dotnet test` disables console stdinput display
|
|
stty echo
|
|
|
|
test_fast:: dotnet_test
|
|
|
|
test_all:: dotnet_test
|
|
|
|
dist::
|
|
go install -ldflags "-X github.com/pulumi/pulumi/sdk/go/common/version.Version=${VERSION}" ${LANGHOST_PKG}
|