forked from Silverfish/proton-bridge
GODT-1844: rename executable and do not override launcher flag if already set
This commit is contained in:
43
Makefile
43
Makefile
@ -41,30 +41,29 @@ BUILD_FLAGS_LAUNCHER+=-ldflags '${GO_LDFLAGS_LAUNCHER}'
|
|||||||
|
|
||||||
DEPLOY_DIR:=cmd/${TARGET_CMD}/deploy
|
DEPLOY_DIR:=cmd/${TARGET_CMD}/deploy
|
||||||
DIRNAME:=$(shell basename ${CURDIR})
|
DIRNAME:=$(shell basename ${CURDIR})
|
||||||
EXE:=${EXE_NAME}
|
|
||||||
EXE_GO:=bridge
|
LAUNCHER_EXE:=proton-bridge
|
||||||
EXE_GUI_NAME:=bridge-gui
|
BRIDGE_EXE=bridge
|
||||||
EXE_GUI:=${EXE_GUI_NAME}
|
BRIDGE_GUI_EXE_NAME=bridge-gui
|
||||||
|
BRIDGE_GUI_EXE=${BRIDGE_GUI_EXE_NAME}
|
||||||
LAUNCHER_PATH:=./cmd/launcher/
|
LAUNCHER_PATH:=./cmd/launcher/
|
||||||
LAUNCHER_EXE:=launcher-${EXE}
|
|
||||||
|
|
||||||
ifeq "${TARGET_OS}" "windows"
|
ifeq "${TARGET_OS}" "windows"
|
||||||
EXE:=${EXE}.exe
|
BRIDGE_EXE:=${BRIDGE_EXE}.exe
|
||||||
EXE_GUI:=${EXE_GUI}.exe
|
BRIDGE_GUI_EXE:=${BRIDGE_GUI_EXE}.exe
|
||||||
EXE_GO:=${EXE_GO}.exe
|
|
||||||
LAUNCHER_EXE:=${LAUNCHER_EXE}.exe
|
LAUNCHER_EXE:=${LAUNCHER_EXE}.exe
|
||||||
RESOURCE_FILE:=resource.syso
|
RESOURCE_FILE:=resource.syso
|
||||||
endif
|
endif
|
||||||
ifeq "${TARGET_OS}" "darwin"
|
ifeq "${TARGET_OS}" "darwin"
|
||||||
DARWINAPP_CONTENTS:=${DEPLOY_DIR}/darwin/${EXE}.app/Contents
|
BRIDGE_EXE_NAME:=${BRIDGE_EXE}
|
||||||
EXE:=${EXE}.app
|
BRIDGE_EXE:=${BRIDGE_EXE}.app
|
||||||
EXE_GUI:=${EXE_GUI_NAME}.app
|
BRIDGE_GUI_EXE:=${BRIDGE_GUI_EXE}.app
|
||||||
EXE_BINARY_DARWIN:=Contents/MacOS/${EXE_NAME}
|
EXE_BINARY_DARWIN:=Contents/MacOS/${BRIDGE_GUI_EXE_NAME}
|
||||||
EXE_GO:=${EXE_GUI}/Contents/MacOS/${EXE_GO}
|
EXE_TARGET_DARWIN:=${DEPLOY_DIR}/${TARGET_OS}/${LAUNCHER_EXE}.app
|
||||||
|
DARWINAPP_CONTENTS:=${EXE_TARGET_DARWIN}/Contents
|
||||||
endif
|
endif
|
||||||
EXE_TARGET:=${DEPLOY_DIR}/${TARGET_OS}/${EXE}
|
EXE_TARGET:=${DEPLOY_DIR}/${TARGET_OS}/${BRIDGE_EXE}
|
||||||
EXE_GUI_TARGET:=${DEPLOY_DIR}/${TARGET_OS}/${EXE_GUI}
|
EXE_GUI_TARGET:=${DEPLOY_DIR}/${TARGET_OS}/${BRIDGE_GUI_EXE}
|
||||||
EXE_GO_TARGET:=${DEPLOY_DIR}/${TARGET_OS}/${EXE_GO}
|
|
||||||
|
|
||||||
TGZ_TARGET:=bridge_${TARGET_OS}_${REVISION}.tgz
|
TGZ_TARGET:=bridge_${TARGET_OS}_${REVISION}.tgz
|
||||||
|
|
||||||
@ -119,15 +118,16 @@ ${DEPLOY_DIR}/linux: ${EXE_TARGET} build-launcher
|
|||||||
cp -pf ${LAUNCHER_EXE} ${DEPLOY_DIR}/linux/
|
cp -pf ${LAUNCHER_EXE} ${DEPLOY_DIR}/linux/
|
||||||
|
|
||||||
${DEPLOY_DIR}/darwin: ${EXE_TARGET} build-launcher
|
${DEPLOY_DIR}/darwin: ${EXE_TARGET} build-launcher
|
||||||
mv ${EXE_TARGET}/Contents/MacOS/{${EXE_GUI_NAME},${EXE_NAME}}
|
mv ${EXE_GUI_TARGET} ${EXE_TARGET_DARWIN}
|
||||||
perl -i -pe"s/>${EXE_GUI_NAME}/>${LAUNCHER_EXE}/g" ${ROOT_DIR}/${EXE_TARGET}/Contents/Info.plist
|
mv ${EXE_TARGET} ${DARWINAPP_CONTENTS}/MacOS/${BRIDGE_EXE_NAME}
|
||||||
|
perl -i -pe"s/>${BRIDGE_GUI_EXE_NAME}/>${LAUNCHER_EXE}/g" ${DARWINAPP_CONTENTS}/Info.plist
|
||||||
cp ./dist/${SRC_ICNS} ${DARWINAPP_CONTENTS}/Resources/${SRC_ICNS}
|
cp ./dist/${SRC_ICNS} ${DARWINAPP_CONTENTS}/Resources/${SRC_ICNS}
|
||||||
cp LICENSE ${DARWINAPP_CONTENTS}/Resources/
|
cp LICENSE ${DARWINAPP_CONTENTS}/Resources/
|
||||||
rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebEngine.framework"
|
rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebEngine.framework"
|
||||||
rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebView.framework"
|
rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebView.framework"
|
||||||
rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebEngineCore.framework"
|
rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebEngineCore.framework"
|
||||||
cp ${LAUNCHER_EXE} ${EXE_TARGET}/Contents/MacOS/${LAUNCHER_EXE}
|
cp ${LAUNCHER_EXE} ${DARWINAPP_CONTENTS}/MacOS/${LAUNCHER_EXE}
|
||||||
./utils/remove_non_relative_links_darwin.sh "${EXE_TARGET}/${EXE_BINARY_DARWIN}"
|
./utils/remove_non_relative_links_darwin.sh "${EXE_TARGET_DARWIN}/${EXE_BINARY_DARWIN}"
|
||||||
|
|
||||||
${DEPLOY_DIR}/windows: ${EXE_TARGET} build-launcher
|
${DEPLOY_DIR}/windows: ${EXE_TARGET} build-launcher
|
||||||
cp ./dist/${SRC_ICO} ${DEPLOY_DIR}/windows/logo.ico
|
cp ./dist/${SRC_ICO} ${DEPLOY_DIR}/windows/logo.ico
|
||||||
@ -148,8 +148,7 @@ ${EXE_TARGET}: check-build-essentials ${EXE_NAME}
|
|||||||
BRIDGE_GUI_BUILD_CONFIG=Release \
|
BRIDGE_GUI_BUILD_CONFIG=Release \
|
||||||
BRIDGE_INSTALL_PATH=${ROOT_DIR}/${DEPLOY_DIR}/${GOOS} \
|
BRIDGE_INSTALL_PATH=${ROOT_DIR}/${DEPLOY_DIR}/${GOOS} \
|
||||||
./build.sh install
|
./build.sh install
|
||||||
cp -pf "${ROOT_DIR}/${EXE_NAME}" "$(ROOT_DIR)/${EXE_GO_TARGET}"
|
mv "${ROOT_DIR}/${EXE_NAME}" "$(ROOT_DIR)/${EXE_TARGET}"
|
||||||
mv "${ROOT_DIR}/${EXE_GUI_TARGET}" "$(ROOT_DIR)/${EXE_TARGET}"
|
|
||||||
|
|
||||||
WINDRES_YEAR:=$(shell date +%Y)
|
WINDRES_YEAR:=$(shell date +%Y)
|
||||||
APP_VERSION_COMMA:=$(shell echo "${APP_VERSION}" | sed -e 's/[^0-9,.]*//g' -e 's/\./,/g')
|
APP_VERSION_COMMA:=$(shell echo "${APP_VERSION}" | sed -e 's/[^0-9,.]*//g' -e 's/\./,/g')
|
||||||
|
|||||||
@ -46,7 +46,7 @@ const (
|
|||||||
appName = "Proton Mail Launcher"
|
appName = "Proton Mail Launcher"
|
||||||
configName = "bridge"
|
configName = "bridge"
|
||||||
exeName = "bridge"
|
exeName = "bridge"
|
||||||
guiName = "proton-bridge"
|
guiName = "bridge-gui"
|
||||||
|
|
||||||
FlagCLI = "--cli"
|
FlagCLI = "--cli"
|
||||||
FlagCLIShort = "-c"
|
FlagCLIShort = "-c"
|
||||||
@ -138,32 +138,17 @@ func main() { //nolint:funlen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// appendLauncherPath add launcher path if missing.
|
||||||
func appendLauncherPath(path string, args []string) []string {
|
func appendLauncherPath(path string, args []string) []string {
|
||||||
res := append([]string{}, args...)
|
if !sliceContains(args, FlagLauncher) {
|
||||||
|
res := append([]string{}, args...)
|
||||||
hasFlag := false
|
|
||||||
|
|
||||||
for k, v := range res {
|
|
||||||
if v != FlagLauncher {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
hasFlag = true
|
|
||||||
|
|
||||||
if k+1 >= len(res) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
res[k+1] = path
|
|
||||||
}
|
|
||||||
|
|
||||||
if !hasFlag {
|
|
||||||
res = append(res, FlagLauncher, path)
|
res = append(res, FlagLauncher, path)
|
||||||
|
return res
|
||||||
}
|
}
|
||||||
|
return args
|
||||||
return res
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// inCLIMode detect if CLI mode is asked.
|
||||||
func inCLIMode(args []string) bool {
|
func inCLIMode(args []string) bool {
|
||||||
return sliceContains(args, FlagCLI) || sliceContains(args, FlagCLIShort)
|
return sliceContains(args, FlagCLI) || sliceContains(args, FlagCLIShort)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user