* Minimal test suite
- Add support for urls with file: schema; both absolute (file:/path) and
relative (file:path) paths are supported.
- Log curl invocation in case of failure
- Rename fetchRemoteAsset to fetchURL
- Add verbosity flag
- Bump GHC to 9.4.7
- Bump flake inputs
* Apply suggestions from code review
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* Add short option '-v' for '--verbosity'
* Whitespace
* Add comment explaining why the dot
* Rename withFixture to inTemporaryDirectoryWithFixture
* Small refactor of PrepareSource
* Rename TarballSource to URISource
- Move sourceUrl to Foliage.Meta.packageVersionSourceToUri
* Simplify inTemporaryDirectoryWithFixture
* Document tar and cp flags
* Reformat
---------
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
The function preparePackageVersion is now responsible for doing
everything we need to do to be able to include the package in the index.
The function also returns a denormalised view of the package information
which can be taken as a proof that everything is consistent.
- Summary page has the list of all packages available (with details of the latest version)
- Timeline page has the list of all entries as they appear in the index
Also:
- Rebuild sdists is they are missing
Now the tarballs are downloaded only once but now each package name and
version is unpacked independently in its own directory. Then patches are
applied there.
1. Foliage takes as input a complete description of the index, where
source distributions and revisions come with a timestamp. This allows
us to recreate the entire index in a reproducible way.
2. Added a experimental command to import an index from a Hackage (as
downloaded with Cabal). This was originally a testing/development
need but there might be different use cases.