@@ -22,9 +22,12 @@ REQ_CLIENT_LDFLAG := github.com/tencentcloudstack/terraform-provider-tencentclou
22
22
OS := $(shell uname)
23
23
EMPTY_TO_AVOID_SED := ""
24
24
25
+ PULUMI_SKIP_ERROR := true
26
+
25
27
prepare ::
26
28
@if test -z " ${NAME} " ; then echo " NAME not set" ; exit 1; fi
27
29
@if test -z " ${REPOSITORY} " ; then echo " REPOSITORY not set" ; exit 1; fi
30
+ @if test -z " ${ORG} " ; then echo " ORG not set" ; exit 1; fi
28
31
@if test ! -d " provider/cmd/pulumi-tfgen-x${EMPTY_TO_AVOID_SED} yz" ; then " Project already prepared" ; exit 1; fi
29
32
30
33
mv "provider/cmd/pulumi-tfgen-x${EMPTY_TO_AVOID_SED}yz" provider/cmd/pulumi-tfgen-${NAME}
@@ -33,12 +36,14 @@ prepare::
33
36
if [[ "${OS}" != "Darwin" ]]; then \
34
37
sed -i 's,github.com/tencentcloudstack/pulumi-tencentcloud,${REPOSITORY},g' provider/go.mod; \
35
38
find ./ ! -path './.git/*' -type f -exec sed -i 's/[x]yz/${NAME}/g' {} \; &> /dev/null; \
39
+ find ./ ! -path './.git/*' -type f -exec sed -i 's/[a]bc/${ORG}/g' {} \; &> /dev/null; \
36
40
fi
37
41
38
42
# In MacOS the -i parameter needs an empty string to execute in place.
39
43
if [[ "${OS}" == "Darwin" ]]; then \
40
44
sed -i '' 's,github.com/tencentcloudstack/pulumi-tencentcloud,${REPOSITORY},g' provider/go.mod; \
41
45
find ./ ! -path './.git/*' -type f -exec sed -i '' 's/[x]yz/${NAME}/g' {} \; &> /dev/null; \
46
+ find ./ ! -path './.git/*' -type f -exec sed -i '' 's/[a]bc/${ORG}/g' {} \; &> /dev/null; \
42
47
fi
43
48
44
49
.PHONY : development provider build_sdks build_nodejs build_dotnet build_go build_python cleanup
@@ -49,27 +54,32 @@ development:: install_plugins provider lint_provider build_sdks install_sdks cle
49
54
build :: install_plugins provider build_sdks install_sdks
50
55
only_build :: build
51
56
57
+ tfgen :: export PULUMI_SKIP_MISSING_MAPPING_ERROR := ${PULUMI_SKIP_ERROR}
52
58
tfgen :: install_plugins
53
59
(cd provider && go build -o $( WORKING_DIR) /bin/${TFGEN} -ldflags " -X ${PROJECT} /${VERSION_PATH} =${VERSION} " ${PROJECT} /${PROVIDER_PATH} /cmd/${TFGEN} )
54
60
$(WORKING_DIR ) /bin/${TFGEN} schema --out provider/cmd/${PROVIDER}
55
61
(cd provider && VERSION=$( VERSION) go generate cmd/${PROVIDER} /main.go)
56
62
63
+ provider :: export PULUMI_SKIP_MISSING_MAPPING_ERROR := ${PULUMI_SKIP_ERROR}
57
64
provider :: tfgen install_plugins # build the provider binary
58
65
(cd provider && go build -o $( WORKING_DIR) /bin/${PROVIDER} -ldflags " -X ${PROJECT} /${VERSION_PATH} =${VERSION} -X ${REQ_CLIENT_LDFLAG} " ${PROJECT} /${PROVIDER_PATH} /cmd/${PROVIDER} )
59
66
67
+ build_sdks :: export PULUMI_SKIP_MISSING_MAPPING_ERROR := ${PULUMI_SKIP_ERROR}
60
68
build_sdks :: install_plugins provider build_nodejs build_python build_go build_dotnet # build all the sdks
61
69
62
70
build_nodejs :: VERSION := $(shell pulumictl get version --language javascript)
71
+ build_nodejs :: export PULUMI_SKIP_MISSING_MAPPING_ERROR := ${PULUMI_SKIP_ERROR}
63
72
build_nodejs :: install_plugins tfgen # build the node sdk
73
+ rm -rf sdk/nodejs/node_modules # clean node_modules before building
64
74
$(WORKING_DIR ) /bin/$(TFGEN ) nodejs --overlays provider/overlays/nodejs --out sdk/nodejs/
65
75
cd sdk/nodejs/ && \
66
76
yarn install && \
67
77
yarn run tsc && \
68
- cp -R scripts/ bin && \
69
78
cp ../../README.md ../../LICENSE package.json yarn.lock ./bin/ && \
70
79
sed -i.bak -e "s/\$${VERSION}/$(VERSION)/g" ./bin/package.json
71
80
72
81
build_python :: PYPI_VERSION := $(shell pulumictl get version --language python)
82
+ build_python :: export PULUMI_SKIP_MISSING_MAPPING_ERROR := ${PULUMI_SKIP_ERROR}
73
83
build_python :: install_plugins tfgen # build the python sdk
74
84
$(WORKING_DIR ) /bin/$(TFGEN ) python --overlays provider/overlays/python --out sdk/python/
75
85
cd sdk/python/ && \
@@ -81,13 +91,16 @@ build_python:: install_plugins tfgen # build the python sdk
81
91
cd ./bin && python3 setup.py build sdist
82
92
83
93
build_dotnet :: DOTNET_VERSION := $(shell pulumictl get version --language dotnet)
94
+ build_dotnet :: export PULUMI_SKIP_MISSING_MAPPING_ERROR := ${PULUMI_SKIP_ERROR}
84
95
build_dotnet :: install_plugins tfgen # build the dotnet sdk
96
+ @echo " PULUMI_SKIP_MISSING_MAPPING_ERROR: ${PULUMI_SKIP_MISSING_MAPPING_ERROR} "
85
97
pulumictl get version --language dotnet
86
98
$(WORKING_DIR ) /bin/$(TFGEN ) dotnet --overlays provider/overlays/dotnet --out sdk/dotnet/
87
99
cd sdk/dotnet/ && \
88
100
echo " ${DOTNET_VERSION} " > version.txt && \
89
101
dotnet build /p :Version=${DOTNET_VERSION}
90
102
103
+ build_go :: export PULUMI_SKIP_MISSING_MAPPING_ERROR := ${PULUMI_SKIP_ERROR}
91
104
build_go :: install_plugins tfgen # build the go sdk
92
105
$(WORKING_DIR ) /bin/$(TFGEN ) go --overlays provider/overlays/go --out sdk/go/
93
106
@@ -100,8 +113,8 @@ cleanup:: # cleans up the temporary directory
100
113
101
114
help ::
102
115
@grep ' ^[^.#]\+:\s\+.*#' Makefile | \
103
- sed "s/\(.\+\) :\s* \(.* \) # \s*\(.*\)/`printf "\033[93m"`\1`printf "\033[0m"` \3 [\2]/" | \
104
- expand -t20
116
+ sed " s/\(.\+\):\s*\(.*\) #\s*\(.*\)/` printf " \033[93m" ` \1` printf " \033[0m" ` \3 [\2]/" | \
117
+ expand -t20
105
118
106
119
clean ::
107
120
rm -rf sdk/{dotnet,nodejs,go,python}
0 commit comments