https://github.com/zmoooooritz/aoc
https://github.com/zmoooooritz/aoc
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/zmoooooritz/aoc
- Owner: zMoooooritz
- License: mit
- Created: 2023-12-03T11:00:09.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-01-04T17:25:59.000Z (over 1 year ago)
- Last Synced: 2026-01-03T23:42:35.484Z (5 months ago)
- Language: Go
- Size: 107 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
## Running Locally
### Requirements
Go 1.16+ is required because [embed][embed] is used for input files.
Use `go run main.go -part <1 or 2>` will be usable to run the actual inputs for that day.
Use `go test -run RegExpToMatchFunctionNames .` to run examples and unit tests via the `main_test.go` files.
## Scripts
Makefile should be fairly self-documenting. Alternatively you can run the binaries yourself via `go run` or `go build`.
`make help` prints a help message.
### Create skeleton and input for a day
```bash
make setup DAY=10 YEAR=2020
```
### Make skeleton files
```bash
for ((i=1; i<26; i++)); do
make skeleton DAY=$i YEAR=2020
done
```
Note that skeletons use [embed][embed] and __will not compile__ without an `input.txt` file located in the same folder. Input files can be made via `make input`.
```sh
make skeleton DAY=10 YEAR=2020
make input DAY=10 YEAR=2020 AOC_SESSION_COOKIE=your_cookie
```
### Fetch inputs and write to input.txt files
Requires passing your cookie from AOC from either `-cookie` flag, or `AOC_SESSION_COOKIE` env variable.
```bash
make input DAY=10 YEAR=2020
```
[embed]: https://golang.org/pkg/embed/