lindera-ipadic-builder 0.3.3

A Japanese morphological dictionary builder for IPADIC.
Documentation
BIN_DIR ?= ./bin
IPADIC_VERSION ?= 2.7.0-20070801
SOURCE_URL ?= http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/$(IPADIC_VERSION)/mecab-ipadic-$(IPADIC_VERSION).tar.gz
LINDERA_IPADIC_BUILDER_VERSION ?= $(shell cargo metadata --no-deps --format-version=1 | jq -r '.packages[] | select(.name=="lindera-ipadic-builder") | .version')

clean:
	rm -rf $(BIN_DIR)
	rm -rf ./lindera-ipadic-*
	rm -rf ./mecab-ipadic-*
	cargo clean

format:
	cargo fmt

build:
	cargo build --release
	mkdir -p $(BIN_DIR)
	cp -p ./target/release/lindera-ipadic $(BIN_DIR)

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

mecab-ipadic-extract: mecab-ipadic-download
ifeq ($(wildcard ./mecab-ipadic-$(IPADIC_VERSION)/*),)
	tar zxvf ./mecab-ipadic-$(IPADIC_VERSION).tar.gz
endif

lindera-ipadic: build mecab-ipadic-extract
	$(BIN_DIR)/lindera-ipadic ./mecab-ipadic-$(IPADIC_VERSION) ./lindera-ipadic-$(IPADIC_VERSION)
	tar -cvjf ./lindera-ipadic-$(IPADIC_VERSION).tar.bz2 ./lindera-ipadic-$(IPADIC_VERSION)

test:
	cargo test

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

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