Créer un Module en Julia
Pour générer un nouveau module :
julia>]
pkg> generate Module
julia>;
shell>cd Module/
deux fichiers seront crées : Project.toml
qui contient le nom du package, son UUID unique, sa version, l'auteur et les éventuelles dépendances et le fichier src/Module.jl
qui contient :
module Module
greet() = print("Hello World!")
end # module
ensuite vous pouvez activer le module pour pouvoir l'utiliser en faisant :
pkg> activate .
julia> import Module
julia> Module.greet()
Hello World!
Ajout des dépendances au Module
Pour ajouter des dépendances au Module (les packages utilisés dans le Module):
pkg> add Module1 Module2
Resolving package versions...
Updating "/Module/Project.toml"
+ ...
+ ...
les dépendances résultantes sont ajoutées au fichier Manifest.toml
voici un exemple de fichier Project.toml
:
name = "Module"
uuid = "d9fbbd2f-b07c-4129-9383-1eb96f1f244d"
authors = [<nom & adresse mail>]
version = "0.1.0"
[deps]
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
maintenant on peut faire une mise à jour du fichier src/Module.jl
:
module Module
import Module1
import Module2
greet() = print("Hello World!")
end # module
Ajouter des tests
les tests à réaliser doivent être inclus dans le fichier test/runtests.jl
une fois fait, on peut lancer les tests :
(Module) pkg> test
Testing Module
Resolving package versions...
...
Testing Module tests passed
Ajouter des dépendances spécifiques aux tests
pour ajouter des dépendances spécifiques aux tests (ou à la génération de la documentation) il faut activer l'environnement test/
et ajouter les modules utilisés:
(Module) pkg> activate ./test
[ Info: activating environment at `/Module/test/Project.toml`.
(test) pkg> add Module3
Resolving package versions...
Updating `/Module/test/Project.toml`
[8dfed614] + Module3
Updating `/Module/test/Manifest.toml`
[...]
comme pour l'environnement principal les dépendances sont ajoutées dans un fichier test/Manifest.toml
.
Consultez cette page savoir plus sur la création des packages en Julia.