chore: use various electron-builder defaults (#1543)

Now that all GUI builds are done through electron-builder, we'll
simplify our Makefile by adopting certain electron-builder defaults:

- Output final packages in `dist/`
- Adopt electron-builder code-signing environment variables

Change-Type: patch
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
This commit is contained in:
Juan Cruz Viotti 2017-06-24 15:54:55 -04:00 committed by GitHub
parent a7ac28b717
commit 9b735778c2

103
Makefile
View File

@ -124,16 +124,16 @@ endif
# --------------------------------------------------------------------- # ---------------------------------------------------------------------
ifeq ($(TARGET_PLATFORM),darwin) ifeq ($(TARGET_PLATFORM),darwin)
ifndef CODE_SIGN_IDENTITY ifndef CSC_NAME
$(warning No code-sign identity found (CODE_SIGN_IDENTITY is not set)) $(warning No code-sign identity found (CSC_NAME is not set))
endif endif
endif endif
ifeq ($(TARGET_PLATFORM),win32) ifeq ($(TARGET_PLATFORM),win32)
ifndef CODE_SIGN_CERTIFICATE ifndef CSC_LINK
$(warning No code-sign certificate found (CODE_SIGN_CERTIFICATE is not set)) $(warning No code-sign certificate found (CSC_LINK is not set))
ifndef CODE_SIGN_CERTIFICATE_PASSWORD ifndef CSC_KEY_PASSWORD
$(warning No code-sign certificate password found (CODE_SIGN_CERTIFICATE_PASSWORD is not set)) $(warning No code-sign certificate password found (CSC_KEY_PASSWORD is not set))
endif endif
endif endif
endif endif
@ -264,18 +264,18 @@ ifeq ($(TARGET_PLATFORM),win32)
endif endif
ifeq ($(TARGET_PLATFORM),darwin) ifeq ($(TARGET_PLATFORM),darwin)
ifdef CODE_SIGN_IDENTITY ifdef CSC_NAME
./scripts/build/electron-sign-file-darwin.sh -f $@/etcher -i "$(CODE_SIGN_IDENTITY)" ./scripts/build/electron-sign-file-darwin.sh -f $@/etcher -i "$(CSC_NAME)"
endif endif
endif endif
ifeq ($(TARGET_PLATFORM),win32) ifeq ($(TARGET_PLATFORM),win32)
ifdef CODE_SIGN_CERTIFICATE ifdef CSC_LINK
ifdef CODE_SIGN_CERTIFICATE_PASSWORD ifdef CSC_KEY_PASSWORD
./scripts/build/electron-sign-exe-win32.sh -f $@/etcher.exe \ ./scripts/build/electron-sign-exe-win32.sh -f $@/etcher.exe \
-d "$(APPLICATION_NAME) - $(APPLICATION_VERSION)" \ -d "$(APPLICATION_NAME) - $(APPLICATION_VERSION)" \
-c $(CODE_SIGN_CERTIFICATE) \ -c $(CSC_LINK) \
-p $(CODE_SIGN_CERTIFICATE_PASSWORD) -p $(CSC_KEY_PASSWORD)
endif endif
endif endif
endif endif
@ -297,56 +297,46 @@ $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGE
assets/osx/installer.tiff: assets/osx/installer.png assets/osx/installer@2x.png assets/osx/installer.tiff: assets/osx/installer.png assets/osx/installer@2x.png
tiffutil -cathidpicheck $^ -out $@ tiffutil -cathidpicheck $^ -out $@
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-darwin-$(TARGET_ARCH).dmg: assets/osx/installer.tiff \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-darwin-$(TARGET_ARCH).dmg: assets/osx/installer.tiff \
| $(BUILD_OUTPUT_DIRECTORY) | $(BUILD_DIRECTORY)
CSC_NAME="$(CODE_SIGN_IDENTITY)" CSC_IDENTITY_AUTO_DISCOVERY=false TARGET_ARCH=$(TARGET_ARCH) \ TARGET_ARCH=$(TARGET_ARCH) $(NPX) build --mac dmg $(ELECTRON_BUILDER_OPTIONS)
$(NPX) build --mac dmg $(ELECTRON_BUILDER_OPTIONS)
mv $(BUILD_DIRECTORY)/$(notdir $@) $@
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-darwin-$(TARGET_ARCH).zip: assets/osx/installer.tiff \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-darwin-$(TARGET_ARCH).zip: assets/osx/installer.tiff \
| $(BUILD_OUTPUT_DIRECTORY) | $(BUILD_DIRECTORY)
CSC_NAME="$(CODE_SIGN_IDENTITY)" CSC_IDENTITY_AUTO_DISCOVERY=false TARGET_ARCH=$(TARGET_ARCH) \ TARGET_ARCH=$(TARGET_ARCH) $(NPX) build --mac zip $(ELECTRON_BUILDER_OPTIONS)
$(NPX) build --mac zip $(ELECTRON_BUILDER_OPTIONS)
mv $(BUILD_DIRECTORY)/$(notdir $@) $@
APPLICATION_NAME_ELECTRON = $(APPLICATION_NAME_LOWERCASE)-electron APPLICATION_NAME_ELECTRON = $(APPLICATION_NAME_LOWERCASE)-electron
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)-$(APPLICATION_VERSION_REDHAT).$(TARGET_ARCH_REDHAT).rpm: \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)-$(APPLICATION_VERSION_REDHAT).$(TARGET_ARCH_REDHAT).rpm: \
| $(BUILD_OUTPUT_DIRECTORY) | $(BUILD_DIRECTORY)
$(NPX) build --linux rpm $(ELECTRON_BUILDER_OPTIONS) \ $(NPX) build --linux rpm $(ELECTRON_BUILDER_OPTIONS) \
--extraMetadata.name=$(APPLICATION_NAME_ELECTRON) \ --extraMetadata.name=$(APPLICATION_NAME_ELECTRON) \
--extraMetadata.version=$(APPLICATION_VERSION_REDHAT) \ --extraMetadata.version=$(APPLICATION_VERSION_REDHAT) \
$(DISABLE_UPDATES_ELECTRON_BUILDER_OPTIONS) $(DISABLE_UPDATES_ELECTRON_BUILDER_OPTIONS)
mv $(BUILD_DIRECTORY)/$(notdir $@) $@
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)_$(APPLICATION_VERSION_DEBIAN)_$(TARGET_ARCH_DEBIAN).deb: \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)_$(APPLICATION_VERSION_DEBIAN)_$(TARGET_ARCH_DEBIAN).deb: \
| $(BUILD_OUTPUT_DIRECTORY) | $(BUILD_DIRECTORY)
$(NPX) build --linux deb $(ELECTRON_BUILDER_OPTIONS) \ $(NPX) build --linux deb $(ELECTRON_BUILDER_OPTIONS) \
--extraMetadata.name=$(APPLICATION_NAME_ELECTRON) \ --extraMetadata.name=$(APPLICATION_NAME_ELECTRON) \
--extraMetadata.version=$(APPLICATION_VERSION_DEBIAN) \ --extraMetadata.version=$(APPLICATION_VERSION_DEBIAN) \
$(DISABLE_UPDATES_ELECTRON_BUILDER_OPTIONS) $(DISABLE_UPDATES_ELECTRON_BUILDER_OPTIONS)
mv $(BUILD_DIRECTORY)/$(notdir $@) $@
$(BUILD_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-$(TARGET_ARCH_APPIMAGE).AppImage: \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-$(TARGET_ARCH_APPIMAGE).AppImage: \
| $(BUILD_DIRECTORY) | $(BUILD_DIRECTORY)
$(NPX) build --linux AppImage $(ELECTRON_BUILDER_OPTIONS) $(NPX) build --linux AppImage $(ELECTRON_BUILDER_OPTIONS)
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-linux-$(TARGET_ARCH).zip: \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-linux-$(TARGET_ARCH).zip: \
$(BUILD_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-$(TARGET_ARCH_APPIMAGE).AppImage \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-$(TARGET_ARCH_APPIMAGE).AppImage \
| $(BUILD_OUTPUT_DIRECTORY) | $(BUILD_DIRECTORY)
./scripts/build/zip-file.sh -f $< -s $(TARGET_PLATFORM) -o $@ ./scripts/build/zip-file.sh -f $< -s $(TARGET_PLATFORM) -o $@
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-win32-$(TARGET_ARCH)-portable.exe: \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-win32-$(TARGET_ARCH)-portable.exe: \
| $(BUILD_OUTPUT_DIRECTORY) | $(BUILD_DIRECTORY)
CSC_LINK=$(CODE_SIGN_CERTIFICATE) CSC_KEY_PASSWORD=$(CODE_SIGN_CERTIFICATE_PASSWORD) TARGET_ARCH=$(TARGET_ARCH) \ TARGET_ARCH=$(TARGET_ARCH) $(NPX) build --win portable $(ELECTRON_BUILDER_OPTIONS)
$(NPX) build --win portable $(ELECTRON_BUILDER_OPTIONS)
mv $(BUILD_DIRECTORY)/$(notdir $@) $@
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-win32-$(TARGET_ARCH).exe: \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-win32-$(TARGET_ARCH).exe: \
| $(BUILD_OUTPUT_DIRECTORY) | $(BUILD_OUTPUT_DIRECTORY)
CSC_LINK=$(CODE_SIGN_CERTIFICATE) CSC_KEY_PASSWORD=$(CODE_SIGN_CERTIFICATE_PASSWORD) TARGET_ARCH=$(TARGET_ARCH) \ TARGET_ARCH=$(TARGET_ARCH) $(NPX) build --win nsis $(ELECTRON_BUILDER_OPTIONS)
$(NPX) build --win nsis $(ELECTRON_BUILDER_OPTIONS)
mv $(BUILD_DIRECTORY)/$(notdir $@) $@
# --------------------------------------------------------------------- # ---------------------------------------------------------------------
# Phony targets # Phony targets
@ -374,33 +364,28 @@ TARGETS = \
electron-develop electron-develop
package-electron: package-electron:
CSC_NAME="$(CODE_SIGN_IDENTITY)" \ TARGET_ARCH=$(TARGET_ARCH) $(NPX) build --dir $(ELECTRON_BUILDER_OPTIONS)
CSC_IDENTITY_AUTO_DISCOVERY=false \
CSC_LINK=$(CODE_SIGN_CERTIFICATE) \
CSC_KEY_PASSWORD=$(CODE_SIGN_CERTIFICATE_PASSWORD) \
TARGET_ARCH=$(TARGET_ARCH) \
$(NPX) build --dir $(ELECTRON_BUILDER_OPTIONS)
package-cli: $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH) package-cli: $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH)
ifeq ($(TARGET_PLATFORM),darwin) ifeq ($(TARGET_PLATFORM),darwin)
electron-installer-app-zip: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip electron-installer-app-zip: $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip
electron-installer-dmg: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).dmg electron-installer-dmg: $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).dmg
cli-installer-tar-gz: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).tar.gz cli-installer-tar-gz: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).tar.gz
TARGETS += \ TARGETS += \
electron-installer-dmg \ electron-installer-dmg \
electron-installer-app-zip \ electron-installer-app-zip \
cli-installer-tar-gz cli-installer-tar-gz
PUBLISH_AWS_S3 += \ PUBLISH_AWS_S3 += \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).dmg \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).dmg \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).tar.gz $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).tar.gz
endif endif
ifeq ($(TARGET_PLATFORM),linux) ifeq ($(TARGET_PLATFORM),linux)
electron-installer-appimage: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip electron-installer-appimage: $(BUILD_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip
electron-installer-debian: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)_$(APPLICATION_VERSION_DEBIAN)_$(TARGET_ARCH_DEBIAN).deb electron-installer-debian: $(BUILD_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)_$(APPLICATION_VERSION_DEBIAN)_$(TARGET_ARCH_DEBIAN).deb
electron-installer-redhat: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)-$(APPLICATION_VERSION_REDHAT).$(TARGET_ARCH_REDHAT).rpm electron-installer-redhat: $(BUILD_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)-$(APPLICATION_VERSION_REDHAT).$(TARGET_ARCH_REDHAT).rpm
cli-installer-tar-gz: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).tar.gz cli-installer-tar-gz: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).tar.gz
TARGETS += \ TARGETS += \
electron-installer-appimage \ electron-installer-appimage \
@ -408,25 +393,25 @@ TARGETS += \
electron-installer-redhat \ electron-installer-redhat \
cli-installer-tar-gz cli-installer-tar-gz
PUBLISH_AWS_S3 += \ PUBLISH_AWS_S3 += \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).tar.gz $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).tar.gz
PUBLISH_BINTRAY_DEBIAN += \ PUBLISH_BINTRAY_DEBIAN += \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)_$(APPLICATION_VERSION_DEBIAN)_$(TARGET_ARCH_DEBIAN).deb $(BUILD_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)_$(APPLICATION_VERSION_DEBIAN)_$(TARGET_ARCH_DEBIAN).deb
PUBLISH_BINTRAY_REDHAT += \ PUBLISH_BINTRAY_REDHAT += \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)-$(APPLICATION_VERSION_REDHAT).$(TARGET_ARCH_REDHAT).rpm $(BUILD_DIRECTORY)/$(APPLICATION_NAME_ELECTRON)-$(APPLICATION_VERSION_REDHAT).$(TARGET_ARCH_REDHAT).rpm
endif endif
ifeq ($(TARGET_PLATFORM),win32) ifeq ($(TARGET_PLATFORM),win32)
electron-installer-portable: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-portable.exe electron-installer-portable: $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-portable.exe
electron-installer-nsis: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).exe electron-installer-nsis: $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).exe
cli-installer-zip: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip cli-installer-zip: $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip
TARGETS += \ TARGETS += \
electron-installer-portable \ electron-installer-portable \
electron-installer-nsis \ electron-installer-nsis \
cli-installer-zip cli-installer-zip
PUBLISH_AWS_S3 += \ PUBLISH_AWS_S3 += \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-portable.exe \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-portable.exe \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).exe \ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).exe \
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip $(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-cli-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip
endif endif