Size: a a a

2019 October 03

ВВ

Виктор Вербицкий in graalvm_ru
@asm0dey выложит новый релиз: https://github.com/vektory79/plantuml-native-image/releases/tag/v2019-09-03
Можно тестировать.
Думаю, что если будут ещё замечания, то можно прямо в репозитории баги заволить, чтобы тут не флудить лишний раз ;-)
источник

ВВ

Виктор Вербицкий in graalvm_ru
pdf пока поддерживать не стал, т.к. там ещё кучу либ притягивать придётся
источник

λ

λoλdog in graalvm_ru
Так а где ты там воевал
источник

ВВ

Виктор Вербицкий in graalvm_ru
Ну и надо будет версию самого plantuml обновить...
источник

λ

λoλdog in graalvm_ru
Я не слишком много вижу ключей и прочей магии
источник

ВВ

Виктор Вербицкий in graalvm_ru
λoλdog
Так а где ты там воевал
Там основное вот в этом файле: https://github.com/vektory79/plantuml-native-image/blob/master/src/main/java/me/vektory79/plantuml/stubs/JNIRegistrationFeature.java
И чтобы составить его содержимое пришлось очень много перекопать 😉
источник

λ

λoλdog in graalvm_ru
Ох блин
источник

λ

λoλdog in graalvm_ru
А там ж можно рефлексии сделать нормально через файл
источник

ВВ

Виктор Вербицкий in graalvm_ru
Фактически прошлось чуть ли ни все исходники свинга прочитать
источник

ВВ

Виктор Вербицкий in graalvm_ru
λoλdog
А там ж можно рефлексии сделать нормально через файл
Можно. Но пока так мне проще
источник

λ

λoλdog in graalvm_ru
Жестко
источник

ВВ

Виктор Вербицкий in graalvm_ru
угу...
источник

ВВ

Виктор Вербицкий in graalvm_ru
😂
источник

ВВ

Виктор Вербицкий in graalvm_ru
И вообще, у меня претензий накопилось к native-image. Пока пробный шар закинул: https://github.com/oracle/graal/issues/1716
А дальше видно будет.
источник

ВВ

Виктор Вербицкий in graalvm_ru
Например, если базовый класс помечен, как инициализируемый в рантайме, то все его наследники можно было бы автоматом помечать так же. В противном случае и так и так ошибка будет.
Мне же прихлось городить костыль, чтобы сначала при компиляции выводить все такие классы, а портом копипастить из вывода в отдельный метод.
источник

ВВ

Виктор Вербицкий in graalvm_ru
Ещё в некоторых случаях статическая инициализация в рантайме не срабатывает и все поля остаются пустыми. Приходится отдельно явно их дёргать перед началом работы...
источник

ВВ

Виктор Вербицкий in graalvm_ru
Ну и т.п.
источник

λ

λoλdog in graalvm_ru
Виктор Вербицкий
Например, если базовый класс помечен, как инициализируемый в рантайме, то все его наследники можно было бы автоматом помечать так же. В противном случае и так и так ошибка будет.
Мне же прихлось городить костыль, чтобы сначала при компиляции выводить все такие классы, а портом копипастить из вывода в отдельный метод.
Ну ты ж можешь там пакет написать, если они конечно рядом лежат
источник

λ

λoλdog in graalvm_ru
Мне кажется будет лучше, если ты сделаешь отдельную фичу чисто для авт) и пошаришь ее как добрый человек
источник

ВВ

Виктор Вербицкий in graalvm_ru
λoλdog
Мне кажется будет лучше, если ты сделаешь отдельную фичу чисто для авт) и пошаришь ее как добрый человек
Есть такая мысль. Но для начала надо добиться, чтобы оно нормально заработало. А для этого надо как минимум мою багу закрыть.
источник