A Julia package to simplify package development. EasyPkg aims to reduce the boilerplate code typically found in a Julia project's "src/.jl" and "test/runtests.jl".
Package Source code
EasyPkg can include all Julia source files in your package automatically, or assist with manual source file handing.
Automatic source file handling
include_all_sources() to reduce the average Julia project's
__precompile__() module <PrjName> import EasyPkg EasyPkg.include_all_sources() function __init__() ... end end # module
For this to work, the structure of the sources files must not depend on
a specific inclusion order - so the source files should not contain any
initialization steps that depend on another source file. For precompiled
packages, this shouldn't be an issue, as all initialization steps will
Manual source file handling
If you need control over the order in which source files are included, you
EasyPkg.include_sources(name...) to shorten your source inclusion
code a little and handle subdirectories in a modular fashion.
Given a package structure like
EasyPkg.include_sources( "foo", "bar.jl", )
to include "foo/foo.jl" and "bar.jl". Obviously, "foo/foo.jl" will be
responsible for including "foo/xyz.jl" and other files in the "foo"
subdirectory (e.g using
Note: The source file structure of EasyPkg itself is not necessarily a good template - it is a bit complicated and deeply nested on purpose, so that EasyPkg can tests it's own functionality.
EasyPkg.run_all_tests() to reduce "test/runtests.jl" for a typical
Julia project to
import EasyPkg EasyPkg.run_all_tests()
It will automatically find and include all your test source files (may reside in nested directories). They should look like this:
import EasyPkg @EasyPkg.using_BaseTest @testset "Some tests" begin @test ... @test ... ... end @testset "Some more tests" ...