Developer Guide
Open an issue before starting significant work. The ColPrac guidelines is recommended. This project uses Runic, a code formatter with rules set in stone. Runic have no configuration.
Local Setup
This procedure is required only once. Install several Julia packages for development. Revise.jl and Runic.jl are required.
Clone this repository.
Start from Step 3 https://julialang.org/contribute/developingpackage/#step3writecode
# Install Tools
julia --startup-file=no -e 'import Pkg; Pkg.add("Revise")'
julia --project=@runic --startup-file=no -e 'using Pkg; Pkg.add("Runic")'
# Clone Repo
git clone https://github.com/ohno/MyPkg45.jl.git
cd MyPkg45.jl
# Start Session
julia --startup-file=no -i -E 'using Revise; import Pkg; Pkg.activate("."); using MyPkg45'
# Development Flow
Start an interactive session with Revise.jl. Evaluate any function to see loading.
cd MyPkg45.jl
julia --startup-file=no -i -E 'using Revise; import Pkg; Pkg.activate("."); using MyPkg45'The Jupyter Notebook is available instead of REPL Or run folloing code to start session on .
using Revise
using Pkg
Pkg.activate("./MyPkg45.jl") # change here
Pkg.resolve()
Pkg.instantiate()
using MyPkg45Use these commands to add Something.jl as a dependency. Project.toml will be updated. If dependencies were edited manually, run Pkg.resolve() and Pkg.instantiate().
Run formatter
Run the local test suite before pushing commits.
julia --project=. --startup-file=no -e 'import Pkg; Pkg.add("Something"); Pkg.resolve(); Pkg.instantiate()'
# Run Test
julia --project=. --startup-file=no -e 'using Pkg; Pkg.test()'https://documenter.juliadocs.org/stable/man/guide/
Build the documentation locally. Run the first command once to set up the docs environment, and run the second command to rebuild the documentation.
# Generate Documentation
julia --project=docs --startup-file=no -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate();'
julia --project=docs --startup-file=no -e 'include("docs/make.jl")'Versioning and Registering
Versioning
This project follows Semantic Versioning. When bumping the version, update the version number in:
Registering
Install Registrator.
Via the GitHub App:
@JuliaRegistrator register