aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/library')
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/cache/dependency/artifact.lux10
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux24
2 files changed, 23 insertions, 11 deletions
diff --git a/stdlib/source/library/lux/tool/compiler/meta/cache/dependency/artifact.lux b/stdlib/source/library/lux/tool/compiler/meta/cache/dependency/artifact.lux
index d87c2ccd6..90bee909d 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/cache/dependency/artifact.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/cache/dependency/artifact.lux
@@ -132,9 +132,13 @@
{synthesis.#Loop value}
(case value
{synthesis.#Scope value}
- (|> value
- (the synthesis.#iteration)
- references)
+ (let [of_inits (|> value
+ (the synthesis.#inits)
+ (list#each references))
+ of_iteration (|> value
+ (the synthesis.#iteration)
+ references)]
+ (list#conjoint (partial_list of_iteration of_inits)))
{synthesis.#Again value}
(|> value
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 2de06bf46..ac4987646 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux
@@ -136,12 +136,18 @@
(-> (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))]
+ (java/util/jar/Attributes::put (java/util/jar/Attributes$Name::MANIFEST_VERSION)
+ (ffi.as_string ..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)))
+ (java/util/jar/Attributes::put (java/util/jar/Attributes$Name::MAIN_CLASS)
+ (|> program
+ runtime.class_name
+ name.internal
+ name.external
+ ffi.as_string)))
{.#None}
attrs)
@@ -156,7 +162,8 @@
(text.replaced "." "/")
(text.suffix (the context.#artifact_extension static)))]
(do try.monad
- [_ (java/util/jar/JarOutputStream::putNextEntry (java/util/jar/JarEntry::new class_path) sink)]
+ [_ (java/util/jar/JarOutputStream::putNextEntry (java/util/jar/JarEntry::new (ffi.as_string class_path))
+ sink)]
(in (do_to sink
(java/util/zip/ZipOutputStream::write content (ffi.as_int +0) (ffi.as_int (.int (binary.size content))))
(java/io/Flushable::flush)
@@ -205,7 +212,7 @@
(def: (read_jar_entry entry input)
(-> java/util/jar/JarEntry java/util/jar/JarInputStream [Nat Binary])
- (case (java/util/zip/ZipEntry::getSize entry)
+ (case (ffi.of_long (java/util/zip/ZipEntry::getSize entry))
-1
(..read_jar_entry_with_unknown_size input)
@@ -234,14 +241,15 @@
{try.#Success [entries duplicates sink]})
{.#Some entry}
- (let [entry_path (java/util/zip/ZipEntry::getName entry)
- entry_size (java/util/zip/ZipEntry::getSize entry)]
- (if (not (or (java/util/zip/ZipEntry::isDirectory entry)
+ (let [entry_path (ffi.of_string (java/util/zip/ZipEntry::getName entry))
+ entry_size (ffi.of_long (java/util/zip/ZipEntry::getSize entry))]
+ (if (not (or (ffi.of_boolean (java/util/zip/ZipEntry::isDirectory entry))
(or (text.starts_with? "META-INF/maven/" entry_path)
(text.starts_with? "META-INF/leiningen/" entry_path))
(or (text.ends_with? ".SF" entry_path)
(text.ends_with? ".DSA" entry_path))))
- (case (java/util/jar/JarOutputStream::putNextEntry (java/util/jar/JarEntry::new entry_path) sink)
+ (case (java/util/jar/JarOutputStream::putNextEntry (java/util/jar/JarEntry::new (ffi.as_string entry_path))
+ sink)
{try.#Failure error}
(again entries
(set.has entry_path duplicates)