Adding a new package

Adding a new package

Creating the github repository

To create an empty repository, go to your user name and click on New. If you have write access to the JuliaReach org, click on New on the top-right or go to the link Create a new repository.

Creating the Julia package

Using JuliaReachTemplatePkg

The github repository JuliaReachTemplatePkg contains a template package for JuliaReach projects.

Using PkgTemplates

Alternatively, an easy way to create an empty package is to use PkgTemplates. An example is given below:

julia> using PkgTemplates

julia> t = Template(; user="JuliaReach", license="MIT",
                      authors=["Marcelo Forets", "Benoît Legat", "Christian Schilling"],
                      plugins=[TravisCI(), Codecov(), AppVeyor(), GitHubPages()])

julia> generate("MathematicalSets", t)

Some settings are used in JuliaReach's projects:

Deploying the documentation

Follow the guidelines described in Documenter.jl's manual: Hosting documentation.

Integrating the repository with gitter

Github uses Webhooks to set up GitHub Apps which subscribe to certain events on github repositories. To make your newly created package under https://github.com/JuliaReach to be integrated with the main gitter channel https://gitter.im/JuliaReach/Lobby, do the following steps:

  1. In gitter, go to Room settings, then click on Integrations.

  2. Select Add an integration (Github).

  3. You may be asked to grant write access.

  4. In the tab Pick which repositories you want to subscribe to:, select the new created project.

Note

If the project is hosted under the org, gitter should have been granted write access to it; see this FAQ for details.

Adding requirements

These are links we have found useful:

julia> using Pkg

julia> Pkg.METADATA_compatible_uuid("LazySets")
UUID("b4f0291d-fe17-52bc-9479-3d1a343d9043")

Adding code coverage

Enable codecov in the .travis.yml file:

codecov: true
language: julia
...