LocalRegistry 0.5

LocalRegistry lets you create and maintain local registries for Julia packages.

Version 0.5.0 is a (somewhat marginally) breaking release.

Breaking Changes

  • The rules for how to interpret the registry argument have changed. This should not have any consequences for normal use but an incorrectly specified registry may fail in unexpected ways.
  • Some mistakes which previously resulted in errors may now successfully perform a registration, possibly unexpectedly. See next section.

New Features

The first three items are introduced for better support of running LocalRegistry in CI settings.

  • Registration can be made with a temporary git clone of the registry. This happens if the indicated registry is not a git clone, i.e. obtained from a package server, or if registry is specified by URL.
  • Registration can be made on a specified branch.
  • Re-registration of an existing version can be configured to do nothing instead of raising an error, using the ignore_reregistration keyword argument. In the future this might be the default or possibly the only behavior.
  • register() without argument will search for a package in the current directory if the active project is not a package.
  • Multiple registrations can be made with commit = false without aborting due to a dirty registry.

Summary for New Users

To create a new registry:

using LocalRegistry
create_registry(name, repository_url)

To register a new package or a new version of an existing package:

using LocalRegistry
register(package)

This assumes that the package is developed and that Project.toml is
updated with a new version number. See the README and the docstrings for details.

If you have the package activated or in the current directory, registration can be simplified to

using LocalRegistry
register()
14 Likes