Switching package registration systems soon

Here’s a script that can generate a project file for a package with a REQUIRE file:

https://github.com/JuliaLang/Pkg.jl/pull/1133/files

You call it with ARGS as directories where packages live. If the first argument is -f then it will overwrite existing Project.toml files, otherwise it will refuse to do so. It generates a [compat] section that approximates the bounds in the REQUIRE file as closely as possible, but unfortunately since the [compat] section doesn’t support version ranges this translation can be a bit messy. It is strongly encouraged that you manually review the [compat] section and edit by hand as appropriate.

Oh, I should also note that this will only generate a correct project file if all of the dependencies have METADATA-compatible UUIDs. If you try to use this to generate a project file for a package that has dependencies that are not registered in General, this might not be the case and the results will be wrong. This is designed primarily to work for already-registered packages.

The sync script is still offline because of a hardware failure. I’m getting the sync script up and running on a different machine.

34 Likes