diff options
Diffstat (limited to 'stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux')
-rw-r--r-- | stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux b/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux index 9b84fa64d..99c9a316b 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux @@ -131,11 +131,18 @@ "1.0") (def: (manifest program) - (-> unit.ID java/util/jar/Manifest) - (let [manifest (java/util/jar/Manifest::new)] - (exec (do_to (java/util/jar/Manifest::getMainAttributes manifest) - (java/util/jar/Attributes::put (java/util/jar/Attributes$Name::MAIN_CLASS) (|> program runtime.class_name name.internal name.external)) - (java/util/jar/Attributes::put (java/util/jar/Attributes$Name::MANIFEST_VERSION) ..manifest_version)) + (-> (Maybe unit.ID) java/util/jar/Manifest) + (let [manifest (java/util/jar/Manifest::new) + attrs (do_to (java/util/jar/Manifest::getMainAttributes manifest) + (java/util/jar/Attributes::put (java/util/jar/Attributes$Name::MANIFEST_VERSION) ..manifest_version))] + (exec + (case program + {.#Some program} + (do_to attrs + (java/util/jar/Attributes::put (java/util/jar/Attributes$Name::MAIN_CLASS) (|> program runtime.class_name name.internal name.external))) + + {.#None} + attrs) manifest))) (def: (write_class static module artifact custom content sink) |