From c0da777f3ea32bf1ac4f45f24c4b21e69c1c7d7b Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Thu, 24 Feb 2022 19:17:16 +0200 Subject: [PATCH] fix bugs with paths Signed-off-by: Jari Kolehmainen --- .../directory-for-binaries.injectable.ts | 6 ------ ...rectory-for-bundled-binaries.injectable.ts | 21 +++++++++++++++++++ .../create-kube-auth-proxy.injectable.ts | 4 ++-- 3 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 src/common/app-paths/directory-for-bundled-binaries/directory-for-bundled-binaries.injectable.ts diff --git a/src/common/app-paths/directory-for-binaries/directory-for-binaries.injectable.ts b/src/common/app-paths/directory-for-binaries/directory-for-binaries.injectable.ts index a2b6360683..628949d310 100644 --- a/src/common/app-paths/directory-for-binaries/directory-for-binaries.injectable.ts +++ b/src/common/app-paths/directory-for-binaries/directory-for-binaries.injectable.ts @@ -4,16 +4,10 @@ */ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; import path from "path"; -import isDevelopmentInjectable from "../../vars/is-development.injectable"; -import contextDirInjectable from "../../vars/context-dir.injectable"; import directoryForUserDataInjectable from "../directory-for-user-data/directory-for-user-data.injectable"; const directoryForBinariesInjectable = getInjectable({ instantiate: (di) => { - if (di.inject(isDevelopmentInjectable)) { - return path.join(di.inject(contextDirInjectable), "binaries"); - } - return path.join(di.inject(directoryForUserDataInjectable), "binaries"); }, lifecycle: lifecycleEnum.singleton, diff --git a/src/common/app-paths/directory-for-bundled-binaries/directory-for-bundled-binaries.injectable.ts b/src/common/app-paths/directory-for-bundled-binaries/directory-for-bundled-binaries.injectable.ts new file mode 100644 index 0000000000..ae5ee63660 --- /dev/null +++ b/src/common/app-paths/directory-for-bundled-binaries/directory-for-bundled-binaries.injectable.ts @@ -0,0 +1,21 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; +import path from "path"; +import isDevelopmentInjectable from "../../vars/is-development.injectable"; +import contextDirInjectable from "../../vars/context-dir.injectable"; + +const directoryForBundledBinariesInjectable = getInjectable({ + instantiate: (di) => { + if (di.inject(isDevelopmentInjectable)) { + return path.join(di.inject(contextDirInjectable), "binaries"); + } + + return path.join(process.resourcesPath); + }, + lifecycle: lifecycleEnum.singleton, +}); + +export default directoryForBundledBinariesInjectable; diff --git a/src/main/kube-auth-proxy/create-kube-auth-proxy.injectable.ts b/src/main/kube-auth-proxy/create-kube-auth-proxy.injectable.ts index 3731a939a6..2fba107bbf 100644 --- a/src/main/kube-auth-proxy/create-kube-auth-proxy.injectable.ts +++ b/src/main/kube-auth-proxy/create-kube-auth-proxy.injectable.ts @@ -5,16 +5,16 @@ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable"; import { KubeAuthProxy } from "./kube-auth-proxy"; import type { Cluster } from "../../common/cluster/cluster"; -import directoryForBinariesInjectable from "../../common/app-paths/directory-for-binaries/directory-for-binaries.injectable"; import path from "path"; import { isDevelopment, isWindows } from "../../common/vars"; +import directoryForBundledBinariesInjectable from "../../common/app-paths/directory-for-bundled-binaries/directory-for-bundled-binaries.injectable"; const createKubeAuthProxyInjectable = getInjectable({ instantiate: (di) => { const binaryName = isWindows ? "lens-k8s-proxy.exe" : "lens-k8s-proxy"; const proxyPath = isDevelopment ? path.join("client", process.platform, process.arch) : process.arch; const dependencies = { - proxyBinPath: path.join(di.inject(directoryForBinariesInjectable), proxyPath, binaryName), + proxyBinPath: path.join(di.inject(directoryForBundledBinariesInjectable), proxyPath, binaryName), }; return (cluster: Cluster, environmentVariables: NodeJS.ProcessEnv) =>