LINDERA_IPADIC_BUILDER_VERSION ?= 0.3.3
IPADIC_VERSION ?= 2.7.0-20070801
SOURCE_URL ?= https://github.com/lindera-morphology/lindera-ipadic-builder/releases/download/v$(LINDERA_IPADIC_BUILDER_VERSION)/lindera-ipadic-$(IPADIC_VERSION).tar.bz2
LINDERA_IPADIC_VERSION ?= $(shell cargo metadata --no-deps --format-version=1 | jq -r '.packages[] | select(.name=="lindera-ipadic") | .version')

.DEFAULT_GOAL := build

clean:
	rm -rf ./lindera-ipadic-*
	cargo clean

format:
	cargo fmt

lindera-ipadic-download:
ifeq ($(wildcard ./lindera-ipadic-$(IPADIC_VERSION).tar.bz2),)
	curl -L -O "$(SOURCE_URL)"
endif

lindera-ipadic-extract: lindera-ipadic-download
ifeq ($(wildcard ./lindera-ipadic-$(IPADIC_VERSION)/*),)
	tar -xjvf ./lindera-ipadic-$(IPADIC_VERSION).tar.bz2
endif

lindera-ipadic: lindera-ipadic-extract
	cp ./lindera-ipadic-$(IPADIC_VERSION)/* ./lindera-ipadic

build: lindera-ipadic
	cargo build --release

test:
	cargo test

tag:
	git tag v$(LINDERA_IPADIC_VERSION)
	git push origin v$(LINDERA_IPADIC_VERSION)

publish:
ifeq ($(shell cargo show --json lindera-ipadic | jq -r '.versions[].num' | grep $(LINDERA_IPADIC_VERSION)),)
	cargo package && cargo publish
endif
