shortform/Makefile
pfm 937f0fe10c
Initializing the ShortForm project.
ShortForm is an essay oriented discussion platform.
2023-11-28 11:10:42 -06:00

38 lines
1.1 KiB
Makefile

SHA = $(shell git rev-parse --short=7 HEAD)
VERSION = $(shell echo "$$(date +'%Y.%-m.%-d')-$(SHA)")
default: test
# Emit the calculated shortform version. Note that this version does not account
# for pre-release suffixes (-SNAPSHOT) -- it's the "raw" version.
version:
@echo $(VERSION)
# Clean up the shortform build. Note that this does NOT delete any releases from
# the `dist` directory. That should be managed manually.
clean:
sbt clean
# Compile all shortform source code.
compile:
sbt -Dversion="$(VERSION)" compile
# Run all unit tests.
test:
sbt -Dversion="$(VERSION)" test
# Run all integration tests.
integration:
sbt -Dversion="$(VERSION)" "db-integration-tests/test"
# Create a new release distribution of the shortform API.
# On disk, a versioned, compressed tarball will be produced in the `dist`
# directory.
api:
@echo "Releasing shortform-api: $(VERSION)"
@mkdir -p dist
sbt -Drelease=true -Dversion="$(VERSION)" "api / Universal / packageZipTarball"
@cp ./modules/api/target/universal/shortform-api-$(VERSION).tgz dist/
# TODO: Build container image using buildkit.
release: api