From 218dc24292b594397ad42d55cc6b109a7e171505 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Fri, 21 May 2021 12:00:54 +0200 Subject: [PATCH] wip --- src/babashka/impl/os.clj | 14 ++++++++++++++ src/babashka/os.clj | 18 ++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/babashka/impl/os.clj create mode 100644 src/babashka/os.clj diff --git a/src/babashka/impl/os.clj b/src/babashka/impl/os.clj new file mode 100644 index 00000000..7570391e --- /dev/null +++ b/src/babashka/impl/os.clj @@ -0,0 +1,14 @@ +(ns babashka.impl.os + {:no-doc true} + (:require [babashka.os :as os] + [sci.core :as sci])) + +(def ons (sci/create-ns 'babashka.os nil)) + +(def os-namespace + {'set-env (sci/copy-var os/set-env ons) + 'get-env (sci/copy-var os/get-env ons)}) + + + + diff --git a/src/babashka/os.clj b/src/babashka/os.clj new file mode 100644 index 00000000..655cddf8 --- /dev/null +++ b/src/babashka/os.clj @@ -0,0 +1,18 @@ +(ns babashka.os) + +(defmacro if-graal [then else] + (if (resolve 'babashka.impl.Graal) + then + else)) + +(defn set-env + ([name value] (set-env name value true)) + ([name value overwrite?] + (if-graal + (babashka.impl.Graal/setEnv name value overwrite?) + (throw (UnsupportedOperationException. "set-env is only available in the native image."))))) + +(defn get-env [name] + (if-graal + (babashka.impl.Graal/getEnv name) + (throw (UnsupportedOperationException. "set-env is only available in the native image."))))