File: generate

package info (click to toggle)
golang-github-mmcloughlin-avo 0.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 15,024 kB
  • sloc: xml: 71,029; asm: 14,862; sh: 194; makefile: 21; ansic: 11
file content (24 lines) | stat: -rwxr-xr-x 731 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash -ex

# Separate core packages from those that depend on the whole library being built.
core=$(go list ./... | grep -Ev 'avo/(examples|tests)')
post=$(go list ./... | grep -E  'avo/(examples|tests)')

# Install avogen (for bootstrapping).
go install ./internal/cmd/avogen

# Attempt to delete generated files, to prove we can recreate them.
grep -RE '^// Code generated.*DO NOT EDIT\.$' . | grep -v download | cut -d: -f1 | grep -v '.md$' | xargs rm -v

# Generate once.
go generate -v -x ${core}

# If the instruction database has changed, may need to repeat.
go install ./internal/cmd/avogen
go generate -v -x ${core}

# Generate dependent packages.
go generate -v -x ${post}

# Regenerate documentation.
./script/doc