View on GitHub

julia-doc

Julia入門

パッケージ

パッケージとは

独自パッケージの作り方

パッケージの作成

PkgTemplates を用いて tpkg という名前のパッケージを作成する例を示します。

適切なディレクトリへ移動し、juliaを起動します。

$ julia

パッケージを作成します。ここではMITライセンスを適用し、CIとしてGitHub Actionsを利用します。

(@v1.4) pkg> add PkgTemplates
julia> using PkgTemplates
julia> t=Template(
           user = "YOUR-USER-NAME",  # github の ユーザ名
           julia = v"1.4.1",         # Julia の version
           authors=["Hoge Hoge"],
           dir="./",                 # ./ に tpkg というディレクトリを作成
           plugins=[License(name="MIT"),GitHubActions(),Documenter{GitHubActions}()]
       )
julia> t("tpkg")
julia> exit()

これで自動的に作成される tpkg/src/tpkg.jl にパッケージの内容を記述します。

パッケージのディレクトリへ移動し、julia を起動します。

$ cd tpkg
$ julia

依存関係を Project.toml へ反映させます。例えば、tpkg から外部パッケージである pkg1, pkg2 を利用している場合を示します。

(@v1.4) pkg> activate .
(@v1.4) pkg> add pkg1
(@v1.4) pkg> add pkg2

これで Project.toml の [deps] へ反映されていることを確認してみましょう。

test の作成

動作確認のためのテストを作成します。test/runtests.jl に記述し、@test の評価式が True になるかどうかを確認します。

using tpkg
using Test

@testset "tpkg.jl" begin
    # Write your tests here.

    a = tpkg_run()
    @test a == 1
end

test の実行はパッケージモードで行います。

(@v1.4) pkg> activate .
(@v1.4) pkg> test

github への公開

github上にtpkg.jlという名前で空のレポジトリを作成した上で、

$ git push -u origin main

とすることで公開されます。「Actions」を見ると、CI の実行状況が分かります。

ドキュメント自動生成の準備

(@v1.4) pkg> add DocumenterTools
julia> using DocumenterTools
julia> DocumenterTools.genkeys(user="YOUR-USER-NAME",repo="git@github.com:YOUR-USER-NAME/tpkg.git")

短いキーと長いキーが表示され、前者は deploy key、後者は DOCUMENTER_KEY として用います。

deploy key の登録は、「Settings」-「Deploy keys」から行います。title は documenter など好きな名前で大丈夫です。Key には、ssh-rsa で始まる key をそのままコピペします。登録の前に「Allow write access」にチェックを入れます。

DOCUMENTER_KEY の登録は、「Settings」-「Secrets and variables」-「Actions」-「Environment secrets」から行います。こちらも Name は適当な名前(documenterなど)で構いません。「Environment secrets」から、Name として”DOCUMENTER_KEY”、Value として DOCUMENTER_KEY をそのままコピペします。

参考