Files
kopia/app/Makefile
Jarek Kowalski 2e16917518 chore(ci): enforce consistent formatting of KopiaUI code (#4586)
* chore(ci): enforce consistent formatting of KopiaUI code

* fix htmlui_changelog.sh

* fix
2025-05-20 22:33:54 -07:00

95 lines
2.2 KiB
Makefile
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
SHELL:=/bin/bash
include ../tools/tools.mk
deps: node_modules/.up-to-date
node_modules/.up-to-date: $(npm) package.json package-lock.json
$(retry) $(npm) $(npm_flags) $(npm_install_or_ci) --no-audit
$(npm) $(npm_flags) audit --omit=dev
echo updated > node_modules/.up-to-date
electron_builder_flags+=-c.extraMetadata.version=$(KOPIA_VERSION:v%=%)
electron_publish_flag:=never
ifeq ($(IS_PULL_REQUEST),false)
electron_builder_flags+=-c.publish.owner=$(REPO_OWNER)
ifeq ($(CI_TAG),)
ifneq ($(NON_TAG_RELEASE_REPO),)
electron_builder_flags+=-c.publish.repo=$(NON_TAG_RELEASE_REPO)
endif
endif
else
# Running as part of a pull_request event on GH, or outside a GH workflow, then
# don't build installer and don't publish
ifneq ($(FORCE_KOPIA_UI_SIGN),)
electron_builder_flags+=--dir
else
# unset CSC_LINK completely, otherwise electron builder hangs attempting to
# notarize.
unexport CSC_LINK
unexport CSC_KEY_PASSWORD
unexport KOPIA_UI_NOTARIZE
endif
endif
# empty CSC_LINK, unset completely since empty value confuses electron builder.
ifeq ($(CSC_LINK),)
unexport CSC_LINK
unexport CSC_KEY_PASSWORD
endif
ifeq ($(GOOS),windows)
# disable Kopia UI code signing on Windows.
unexport CSC_LINK
unexport CSC_KEY_PASSWORD
endif
# build x86_64 and apple silicon binaries
ifeq ($(GOOS),darwin)
ifeq ($(KOPIA_UI_CURRENT_ARCH_ONLY),)
electron_builder_flags+=--x64 --arm64
endif
endif
# build x86_64 and arm64 binaries
ifeq ($(GOOS),linux)
ifeq ($(KOPIA_UI_CURRENT_ARCH_ONLY),)
electron_builder_flags+=--x64 --arm64 --armv7l
endif
endif
dev: node_modules/.up-to-date
$(npm) $(npm_flags) run dev
run:
$(npm) $(npm_flags) run start-electron-prebuilt
e2e-test:
$(npm) $(npm_flags) run e2e
build-electron: ../dist/kopia-ui/.up-to-date
# rebuild packages if HTML, embedded EXE or build config changed.
../dist/kopia-ui/.up-to-date: package.json ../dist/kopia_*/kopia* node_modules/.up-to-date public/* resources/*/*/*
$(retry) $(npm) $(npm_flags) run build-electron -- $(electron_builder_flags) -p $(electron_publish_flag)
echo updated > ../dist/kopia-ui/.up-to-date
check-prettier: node_modules/.up-to-date
$(npm) run prettier:check
prettier: node_modules/.up-to-date
$(npm) run prettier