Skip to content

Cut down on build dependencies (data files and binaries) #62

@foolip

Description

@foolip

A few things are currently less than ideal:

  • A lot of data needs to be downloaded, and it's all thrown away when "Build tools have been updated since last run; clearing the cache."
  • .entity-proccessor.py says "this uses 658 MB and in fact I cannot run it on my VPS.
  • Users need to install Subversion and Perl's XML::Parser, which are likely not pre-installed.
  • (minor) We don't track dependencies, so builds are not reproducible.

Wouldn't it be nice if building were just blazing fast by default, and rebuilding dependencies was an option that should rarely be used?

It looks like the files that are eventually used are only these 6:

  • caniuse.json
  • cldr.inc
  • entities-dtd.url
  • entities.inc
  • entities.json
  • w3cbugs.csv

Together they are only 1.7 MB, or 282 kB gzipped. That's a lot of room for saving.

Rough proposal:

  • Separate out the scripts for building these dependencies so that they can easily be built without also building the spec.
  • Set up an automatically updated html-build-deps repo that has the output.
  • In build.sh, by default use the html-build-deps repo, but have an option to generate from scratch.
  • (maybe) Track the exact html-build-deps commit to use, using either submodules or a DEPS file.

Related issues:
#24
#38
#55
#60 (would be made obsolete)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions