Юля - получение номера версии моего модуля - PullRequest
4 голосов
/ 08 марта 2020

Я пишу пакет для Джулии, и в этом пакете я хотел бы иметь возможность напечатать номер текущей версии моего пакета. Конечно, я могу сделать это вручную, но я искал способ прочитать его прямо из модуля. номер версии записан в файле Project.toml, но я не смог найти способ прочитать его из кода. Есть идеи?

Ответы [ 2 ]

3 голосов
/ 08 марта 2020

Вы можете использовать что-то вроде

julia> using Pkg

julia> loadedversion(m::Module) =  VersionNumber(Pkg.TOML.parsefile(joinpath(string(first(methods(m.eval)).file), "..", "..", "Project.toml"))["version"])
loadedversion (generic function with 1 method)

julia> loadedversion(Atom)
v"0.12.8"

Конечно, некоторая обработка ошибок будет разумной, но это даст вам версию пакета, который фактически загружен (вместо того, который указан в текущей среде). ).

2 голосов
/ 08 марта 2020

Возможно -

using Pkg
Pkg.TOML.parse(read("Project.toml", String))["version"]

-> "0.0.1"

...