-
Notifications
You must be signed in to change notification settings - Fork 108
Implement support for a local registry #321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This is a sensible approach. I think it would be beneficial to be able to specify a local path. For parsimony it makes sense to use TOML for the registry format, to avoid needing an additional dependency. For fpm-registry, I distinguish between the TOML registry file and the JSON index file; the former is manually edited and hence contains the minimum information necessary, whereas the latter is generated from the former and contains additional information required for browsing/searching packages. Some dependency information is also included which could be used to fetch dependencies faster. JSON was used merely because I thought I'd need to load it dynamically with Javascript, but then I realised that Jekyll could consume it directly. So the index format can change. |
Should fpm be able to consume both a registry file and an index file (generating the latter by processing the former)? |
I had envisaged that fpm would only interact with the index file since it can convey information stored within the package manifest without needing to download the package. Generating the index requires downloading every package in the registry and reading its manifest, so I'm not sure we want fpm to do that? |
To give the user the option to use an alternative registry, we thought about introducing a global configuration file that specifies the source of the registry. It could be a
or
If no |
Before we make fpm aware of the fpm-registry, we should create a minimal working implementation for a local registry (this registry might even be built-in to simplify things a bit at the beginning).
In analogy to Cargo we could use a syntax like:
This requires:
src/fpm/versioning.f90
defines only a version type)build/cache.toml
, alternatively a lock file)(the fpm-registry has both TOML and JSON representations of the registry right now)
local://
orfile://
(libcurl interface or just shell escape to curl/wget)A full registry is discussed in #35
The text was updated successfully, but these errors were encountered: