mirror of
https://github.com/samuelncui/acp.git
synced 2026-11-08 04:21:16 +00:00
Reshape the public API around one push engine and restore theaf05f05csurface as a compatibility shell over it. - NewStream takes caller-owned items (Source/Targets), reports every accepted item through one results callback, and Wait returns the run's terminal error. Run, BatchSource and the item callbacks are gone. - The engine owns the result path: WithResultBuffer is the depth of the result queue, WithResultBatch is how many results one delivery carries, and WithResultFlushInterval is how long a successful result may wait. A result that carries any error is delivered immediately as its own batch. - Restore theaf05f05cAPI byte-compatibly in the same package: New, Copyer, Wait/WaitErr, AccurateJob, WildcardJob, the report events and the JSON report round-trip through encoding/json alone. - One descriptor serves a whole item; the stored hash is read through the descriptor that reads the content and the computed hash is published through it before it closes. - Make every handoff escapable by a hard stop: the read buffer, a chunk send, an event send and the result buffer. - Fix the recorded sweep findings: report indent and round-trip, cmd/acp exit status, acp-rewrite final paths, mmap EOF/close/slice, disk-usage reservations, ErrTargetIO identity, the fatal-panic safety net, option validation, and the FreeBSD/Windows build paths. - Cover the contract with semantic tests, add Makefile check/race/vet/cross targets, and document the withdrawn v0.1.0/v0.2.0 migration in README.
29 lines
572 B
Makefile
29 lines
572 B
Makefile
GO ?= go
|
|
|
|
.PHONY: help test race vet check cross bench
|
|
|
|
help:
|
|
@sed -n 's/^\([a-z-]*\):.*/\1/p' Makefile | sort
|
|
|
|
test:
|
|
$(GO) test ./...
|
|
|
|
race:
|
|
$(GO) test -race ./...
|
|
|
|
vet:
|
|
$(GO) vet ./...
|
|
|
|
cross:
|
|
GOOS=linux GOARCH=amd64 $(GO) build ./...
|
|
GOOS=windows GOARCH=amd64 $(GO) build ./...
|
|
GOOS=darwin GOARCH=arm64 $(GO) build ./...
|
|
GOOS=freebsd GOARCH=amd64 $(GO) build ./...
|
|
|
|
bench:
|
|
$(GO) test -run XXX -bench . -benchtime=1x .
|
|
|
|
check: test vet cross
|
|
@files="$$(gofmt -l .)"; if [ -n "$$files" ]; then echo "gofmt needed:"; echo "$$files"; exit 1; fi
|
|
@echo "check ok"
|