Commit Graph

21 Commits

Author SHA1 Message Date
Andrea Bedini
285c8e31b1 Comments and formatting 2023-05-15 14:43:16 +08:00
Andrea Bedini
754a1c1bd7 Remove dead code 2023-05-15 14:12:42 +08:00
Andrea Bedini
16d75ecc16 Rework the metadata validation 2023-04-24 22:09:17 +08:00
Yvan Sraka
7da6927247
Fix #18: add support for deprecated-versions
Co-authored-by: Andrea Bedini <andrea@andreabedini.com>
2023-04-20 16:45:08 +02:00
Andrea Bedini
9a4d097cde Rework internals and add consistency check
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.
2023-03-03 08:15:19 +08:00
Andrea Bedini
4b6fed5d6a Drop PackageVersionMeta
It's not the right abstraction
2023-03-03 08:15:19 +08:00
Andrea Bedini
eaff46e671 Whitespace 2023-03-03 08:15:19 +08:00
Andrea Bedini
c0714b1b3d Finish off pages
- 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
2022-10-26 14:12:40 +08:00
Andrea Bedini
f697629717 WIP fix botched rebase 2022-10-21 12:30:55 +08:00
Andrea Bedini
9f22d7295d First go at generating html pages 2022-10-21 11:37:20 +08:00
Andrea Bedini
572e37cb8e WIP 2022-10-21 11:36:47 +08:00
Andrea Bedini
9cc19c70ea Move json stuff to its own module 2022-10-14 09:28:31 +08:00
Andrea Bedini
678943d4b6 WIP 2022-10-14 07:56:59 +08:00
Andrea Bedini
9151ec36b2 Implement GitHub backend 2022-09-29 15:49:42 +02:00
Andrea Bedini
cbb726a6f5 Avoid partial functions 2022-09-29 15:49:07 +02:00
Andrea Bedini
f9fc67df4d
Start work to support preferred versions 2022-05-19 14:42:41 +08:00
Andrea Bedini
88e7bba9d5
Make revisions timestamps mandatory
Also introduce sanity checks for the following cases

- Package timestamp is later than any revision timestamp
- Package has no timestamp but has revisions

The above cases do not make any sense and are considered invalid.
2022-05-16 17:23:18 +08:00
Andrea Bedini
d7f78543d4
Fix force-version implementation.
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.
2022-04-01 12:52:14 +08:00
Andrea Bedini
4e333ef49f
Implement force version
Doesn't quite work because srcDir is unique by url, so if you have the
same url with different versions, things will collide. This is a bug
that might affect patching too.
2022-03-31 15:02:00 +08:00
Andrea Bedini
bf855dfbf1
Make timestamp optional 2022-03-29 16:38:10 +08:00
Andrea Bedini
080197e9e2
Big rewrite
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.
2022-03-28 17:18:27 +08:00