-
Notifications
You must be signed in to change notification settings - Fork 23
Description
Describe what happened
Hi,
There is a "prepare" target in a Makefile. According to the README, is should perform these actions:
- rename folders in
provider/cmd
topulumi-resource-{NAME}
- replace dependencies in
provider/go.mod
to reflect your repository name - find and replace all instances of
provider-boilerplate
with theNAME
of your provider. - find and replace all instances of the boilerplate
abc
with theORG
of your provider. - replace all instances of the
github.com/pulumi/pulumi-provider-boilerplate
repository with theREPOSITORY
location
And there is a code snippet from the "prepare" target which pretends to perform actions mentioned above:
if [[ "${OS}" == "Darwin" ]]; then \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '' '/SED_SKIP/!s,github.com/pulumi/pulumi-[x]yz,${REPOSITORY},g' {} \; ; \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '' '/SED_SKIP/!s/[xX]yz/${NAME}/g' {} \; ; \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '' '/SED_SKIP/!s/[aA]bc/${ORG}/g' {} \; ; \
else \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '/SED_SKIP/!s,github.com/pulumi/pulumi-[x]yz,${REPOSITORY},g' {} \; ; \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '/SED_SKIP/!s/[xX]yz/${NAME}/g' {} \; ; \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '/SED_SKIP/!s/[aA]bc/${ORG}/g' {} \; ; \
fi
It just can't work as expected at least due to variables placed within single quotes (REPOSITORY and so on).
Also, regular expression looks strange. "pulumi-[x]yz' would match "pulumi-xyz". It's not clear how it's related with replacing the "github.com/pulumi/pulumi-provider-boilerplate" string.
Also, README mentions "replace all instances of the boilerplate abc
with the ORG
of your provider". There are no "abc" entries in the repository except this line in README.
Overall, it doesn't look like the "prepare" target acts as described in the README (and the README may needs to be updated).
Sample program
make prepare NAME=foo ORG=myorg REPOSITORY=github.com/myorg/pulumi-foo
Log output
# SED needs to not fail when encountering unicode characters
LC_CTYPE=C
LANG=C
mv "provider/cmd/pulumi-resource-provider-boilerplate" provider/cmd/pulumi-resource-foo # SED_SKIP
# In MacOS the -i parameter needs an empty to execute in place.
if [[ "" == "Darwin" ]]; then \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '' '/SED_SKIP/!s,github.com/pulumi/pulumi-[x]yz,github.com/myorg/pulumi-foo,g' {} \; ; \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '' '/SED_SKIP/!s/[xX]yz/foo/g' {} \; ; \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '' '/SED_SKIP/!s/[aA]bc/myorg/g' {} \; ; \
else \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '/SED_SKIP/!s,github.com/pulumi/pulumi-[x]yz,github.com/myorg/pulumi-foo,g' {} \; ; \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '/SED_SKIP/!s/[xX]yz/foo/g' {} \; ; \
find . \( -path './.git' -o -path './sdk' \) -prune -o -not -name 'go.sum' -type f -exec sed -i '/SED_SKIP/!s/[aA]bc/myorg/g' {} \; ; \
fi
sed: 1: "./go.mod": invalid command code .
sed: 1: "./LICENSE": invalid command code .
sed: 1: "./CODE-OF-CONDUCT.md": invalid command code .
sed: 1: "./Makefile": invalid command code .
sed: 1: "./tests/provider_test.go": invalid command code .
sed: 1: "./provider/random_resou ...": invalid command code .
sed: 1: "./provider/provider.go": invalid command code .
sed: 1: "./provider/cmd/pulumi-r ...": invalid command code .
sed: 1: "./provider/cmd/pulumi-r ...": invalid command code .
sed: 1: "./provider/random_compo ...": invalid command code .
sed: 1: "./provider/random_resou ...": invalid command code .
sed: 1: "./README.md": invalid command code .
sed: 1: "./mise.toml": invalid command code .
sed: 1: "./examples/java_test.go": invalid command code .
sed: 1: "./examples/testdata/rec ...": invalid command code .
sed: 1: "./examples/testdata/rec ...": invalid command code .
sed: 1: "./examples/nodejs/.giti ...": invalid command code .
sed: 1: "./examples/nodejs/packa ...": invalid command code .
sed: 1: "./examples/nodejs/tscon ...": invalid command code .
sed: 1: "./examples/nodejs/index.ts": invalid command code .
sed: 1: "./examples/nodejs/Pulum ...": invalid command code .
sed: 1: "./examples/go/go.mod": invalid command code .
sed: 1: "./examples/go/Pulumi.yaml": invalid command code .
sed: 1: "./examples/go/main.go": invalid command code .
sed: 1: "./examples/yaml_test.go": invalid command code .
sed: 1: "./examples/go_test.go": invalid command code .
sed: 1: "./examples/base_test.go": invalid command code .
sed: 1: "./examples/python/requi ...": invalid command code .
sed: 1: "./examples/python/.giti ...": invalid command code .
sed: 1: "./examples/python/Pulum ...": invalid command code .
sed: 1: "./examples/python/__mai ...": invalid command code .
sed: 1: "./examples/dotnet_test.go": invalid command code .
sed: 1: "./examples/dotnet/.giti ...": invalid command code .
sed: 1: "./examples/dotnet/provi ...": invalid command code .
sed: 1: "./examples/dotnet/Pulum ...": invalid command code .
sed: 1: "./examples/dotnet/Progr ...": invalid command code .
sed: 1: "./examples/nodejs_test.go": invalid command code .
sed: 1: "./examples/python_test.go": invalid command code .
sed: 1: "./examples/yaml/README.md": invalid command code .
sed: 1: "./examples/yaml/Pulumi. ...": invalid command code .
sed: 1: "./go.mod": invalid command code .
sed: 1: "./LICENSE": invalid command code .
sed: 1: "./CODE-OF-CONDUCT.md": invalid command code .
sed: 1: "./Makefile": invalid command code .
sed: 1: "./tests/provider_test.go": invalid command code .
sed: 1: "./provider/random_resou ...": invalid command code .
sed: 1: "./provider/provider.go": invalid command code .
sed: 1: "./provider/cmd/pulumi-r ...": invalid command code .
sed: 1: "./provider/cmd/pulumi-r ...": invalid command code .
sed: 1: "./provider/random_compo ...": invalid command code .
sed: 1: "./provider/random_resou ...": invalid command code .
sed: 1: "./README.md": invalid command code .
sed: 1: "./mise.toml": invalid command code .
sed: 1: "./examples/java_test.go": invalid command code .
sed: 1: "./examples/testdata/rec ...": invalid command code .
sed: 1: "./examples/testdata/rec ...": invalid command code .
sed: 1: "./examples/nodejs/.giti ...": invalid command code .
sed: 1: "./examples/nodejs/packa ...": invalid command code .
sed: 1: "./examples/nodejs/tscon ...": invalid command code .
sed: 1: "./examples/nodejs/index.ts": invalid command code .
sed: 1: "./examples/nodejs/Pulum ...": invalid command code .
sed: 1: "./examples/go/go.mod": invalid command code .
sed: 1: "./examples/go/Pulumi.yaml": invalid command code .
sed: 1: "./examples/go/main.go": invalid command code .
sed: 1: "./examples/yaml_test.go": invalid command code .
sed: 1: "./examples/go_test.go": invalid command code .
sed: 1: "./examples/base_test.go": invalid command code .
sed: 1: "./examples/python/requi ...": invalid command code .
sed: 1: "./examples/python/.giti ...": invalid command code .
sed: 1: "./examples/python/Pulum ...": invalid command code .
sed: 1: "./examples/python/__mai ...": invalid command code .
sed: 1: "./examples/dotnet_test.go": invalid command code .
sed: 1: "./examples/dotnet/.giti ...": invalid command code .
sed: 1: "./examples/dotnet/provi ...": invalid command code .
sed: 1: "./examples/dotnet/Pulum ...": invalid command code .
sed: 1: "./examples/dotnet/Progr ...": invalid command code .
sed: 1: "./examples/nodejs_test.go": invalid command code .
sed: 1: "./examples/python_test.go": invalid command code .
sed: 1: "./examples/yaml/README.md": invalid command code .
sed: 1: "./examples/yaml/Pulumi. ...": invalid command code .
sed: 1: "./go.mod": invalid command code .
sed: 1: "./LICENSE": invalid command code .
sed: 1: "./CODE-OF-CONDUCT.md": invalid command code .
sed: 1: "./Makefile": invalid command code .
sed: 1: "./tests/provider_test.go": invalid command code .
sed: 1: "./provider/random_resou ...": invalid command code .
sed: 1: "./provider/provider.go": invalid command code .
sed: 1: "./provider/cmd/pulumi-r ...": invalid command code .
sed: 1: "./provider/cmd/pulumi-r ...": invalid command code .
sed: 1: "./provider/random_compo ...": invalid command code .
sed: 1: "./provider/random_resou ...": invalid command code .
sed: 1: "./README.md": invalid command code .
sed: 1: "./mise.toml": invalid command code .
sed: 1: "./examples/java_test.go": invalid command code .
sed: 1: "./examples/testdata/rec ...": invalid command code .
sed: 1: "./examples/testdata/rec ...": invalid command code .
sed: 1: "./examples/nodejs/.giti ...": invalid command code .
sed: 1: "./examples/nodejs/packa ...": invalid command code .
sed: 1: "./examples/nodejs/tscon ...": invalid command code .
sed: 1: "./examples/nodejs/index.ts": invalid command code .
sed: 1: "./examples/nodejs/Pulum ...": invalid command code .
sed: 1: "./examples/go/go.mod": invalid command code .
sed: 1: "./examples/go/Pulumi.yaml": invalid command code .
sed: 1: "./examples/go/main.go": invalid command code .
sed: 1: "./examples/yaml_test.go": invalid command code .
sed: 1: "./examples/go_test.go": invalid command code .
sed: 1: "./examples/base_test.go": invalid command code .
sed: 1: "./examples/python/requi ...": invalid command code .
sed: 1: "./examples/python/.giti ...": invalid command code .
sed: 1: "./examples/python/Pulum ...": invalid command code .
sed: 1: "./examples/python/__mai ...": invalid command code .
sed: 1: "./examples/dotnet_test.go": invalid command code .
sed: 1: "./examples/dotnet/.giti ...": invalid command code .
sed: 1: "./examples/dotnet/provi ...": invalid command code .
sed: 1: "./examples/dotnet/Pulum ...": invalid command code .
sed: 1: "./examples/dotnet/Progr ...": invalid command code .
sed: 1: "./examples/nodejs_test.go": invalid command code .
sed: 1: "./examples/python_test.go": invalid command code .
sed: 1: "./examples/yaml/README.md": invalid command code .
sed: 1: "./examples/yaml/Pulumi. ...": invalid command code .
Affected Resource(s)
No response
Output of pulumi about
CLI
Version 3.191.0
Go Version go1.25.0
Go Compiler gc
Host
OS darwin
Version 15.4.1
Arch arm64
Backend
Name <...>
URL file://~
User <...>
Organizations
Token type personal
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).