diff --git a/CHANGELOG.md b/CHANGELOG.md index 5252b97d..66781aa1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ A preview of the next release can be installed from ## Unreleased +- [#1777] Add java.nio.file.attribute.UserDefinedFileAttributeView - [#1776] Add java.nio.file.attribute.PosixFileAttributes - [#1761] Support calling `clojure.lang.RT/iter` - [#1760] For compatibility with [Fireworks v0.10.3](https://github.com/paintparty/fireworks), added the following to `:instance-checks` entry in `babashka.impl.classes/classes`([@paintparty](https://github.com/paintparty)) diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index 35ce12d4..3a77e854 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -410,7 +410,8 @@ java.nio.file.attribute.FileTime java.nio.file.attribute.PosixFileAttributes java.nio.file.attribute.PosixFilePermission - java.nio.file.attribute.PosixFilePermissions]) + java.nio.file.attribute.PosixFilePermissions + java.nio.file.attribute.UserDefinedFileAttributeView]) java.security.DigestInputStream java.security.KeyFactory java.security.KeyPairGenerator @@ -765,6 +766,8 @@ java.nio.file.attribute.PosixFileAttributes (instance? java.nio.file.attribute.BasicFileAttributes v) java.nio.file.attribute.BasicFileAttributes + (instance? java.nio.file.attribute.UserDefinedFileAttributeView v) + java.nio.file.attribute.UserDefinedFileAttributeView (instance? java.util.concurrent.Future v) java.util.concurrent.Future (instance? java.util.concurrent.ScheduledExecutorService v) diff --git a/test-resources/extended-attributes.txt b/test-resources/extended-attributes.txt new file mode 100644 index 00000000..d81cc071 --- /dev/null +++ b/test-resources/extended-attributes.txt @@ -0,0 +1 @@ +42 diff --git a/test/babashka/interop_test.clj b/test/babashka/interop_test.clj index d732b8c2..7dd0cf85 100644 --- a/test/babashka/interop_test.clj +++ b/test/babashka/interop_test.clj @@ -209,3 +209,17 @@ (into-array LinkOption [])) .permissions type))))))) + +(deftest extended-attributes + (is (true? + (bb nil + '(do + (import + [java.nio.file Files LinkOption Path] + [java.nio.file.attribute UserDefinedFileAttributeView]) + (instance? UserDefinedFileAttributeView + (Files/getFileAttributeView (Path/of "test-resources/extended-attributes.txt" + (into-array String [])) + UserDefinedFileAttributeView + ^"[Ljava.nio.file.LinkOption;" + (into-array LinkOption []))))))))