mattermost-plugin-cleanup-c.../build/setup.mk
Felipe M. 75e5cb093d
Some checks failed
release / release (push) Waiting to run
ci / build (push) Has been cancelled
ci / test (push) Has been cancelled
ci / lint (push) Failing after 2m0s
Migrate from npm to bun
- Replace NPM variable with BUN in Makefile
- Update all npm commands to use bun instead
- Update build/setup.mk to check for bun availability
- Remove .nvmrc (nvm is for Node version management)
- Remove webapp/.npmrc (bun uses exact versions by default)
- Replace package-lock.json with bun.lock
- CI workflows already use setup-bun, no changes needed there
2026-07-25 18:59:34 +02:00

50 lines
1.9 KiB
Makefile

# Ensure that go is installed. Note that this is independent of whether or not a server is being
# built, since the build script itself uses go.
ifeq ($(GO),)
$(error "go is not available: see https://golang.org/doc/install")
endif
# Gather build variables to inject into the manifest tool
BUILD_HASH_SHORT = $(shell git rev-parse --short HEAD)
BUILD_TAG_LATEST = $(shell git describe --tags --match 'v*' --abbrev=0 2>/dev/null)
BUILD_TAG_CURRENT = $(shell git tag --points-at HEAD)
# Ensure that the build tools are compiled. Go's caching makes this quick.
$(shell cd build/manifest && $(GO) build -ldflags '-X "main.BuildHashShort=$(BUILD_HASH_SHORT)" -X "main.BuildTagLatest=$(BUILD_TAG_LATEST)" -X "main.BuildTagCurrent=$(BUILD_TAG_CURRENT)"' -o ../bin/manifest)
# Ensure that the deployment tools are compiled. Go's caching makes this quick.
$(shell cd build/pluginctl && $(GO) build -o ../bin/pluginctl)
# Extract the plugin id from the manifest.
PLUGIN_ID ?= $(shell build/bin/manifest id)
ifeq ($(PLUGIN_ID),)
$(error "Cannot parse id from $(MANIFEST_FILE)")
endif
# Extract the plugin version from the manifest.
PLUGIN_VERSION ?= $(shell build/bin/manifest version)
ifeq ($(PLUGIN_VERSION),)
$(error "Cannot parse version from $(MANIFEST_FILE)")
endif
# Determine if a server is defined in the manifest.
HAS_SERVER ?= $(shell build/bin/manifest has_server)
# Determine if a webapp is defined in the manifest.
HAS_WEBAPP ?= $(shell build/bin/manifest has_webapp)
# Determine if a /public folder is in use
HAS_PUBLIC ?= $(wildcard public/.)
# Determine if the mattermost-utilities repo is present
HAS_MM_UTILITIES ?= $(wildcard $(MM_UTILITIES_DIR)/.)
# Store the current path for later use
PWD ?= $(shell pwd)
# Ensure that bun is installed.
ifneq ($(HAS_WEBAPP),)
ifeq ($(BUN),)
$(error "bun is not available: see https://bun.sh/docs/installation")
endif
endif