mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
46 lines
1.8 KiB
Makefile
46 lines
1.8 KiB
Makefile
RULES := rule-source-added \
|
|
rule-translation-requested \
|
|
rule-translation-completed \
|
|
rule-translation-revised \
|
|
rule-translation-published
|
|
.PHONY: check match $(RULES)
|
|
|
|
CHANGE_FILE := /tmp/changes
|
|
|
|
check: $(CHANGE_FILE)
|
|
echo 'PR #$(TRAVIS_PULL_REQUEST) Changes:'
|
|
cat $(CHANGE_FILE)
|
|
echo
|
|
echo 'Check for rules...'
|
|
make -k $(RULES) 2>/dev/null | grep '^Rule Matched: '
|
|
|
|
$(CHANGE_FILE):
|
|
git --no-pager diff $(TRAVIS_BRANCH) FETCH_HEAD --no-renames --name-status > $@
|
|
|
|
rule-source-added:
|
|
[ $(shell egrep '^A\s*sources/(news|talk|tech)/\d{8} [a-zA-Z0-9_.,\(\) \-]*\.md' $(CHANGE_FILE) | wc -l) -ge 1 ]
|
|
[ $(shell egrep -v '^A\s*sources/(news|talk|tech)/\d{8} [a-zA-Z0-9_.,\(\) \-]*\.md' $(CHANGE_FILE) | wc -l) = 0 ]
|
|
echo 'Rule Matched: $(@)'
|
|
|
|
rule-translation-requested:
|
|
[ $(shell egrep '^M\s*sources/(news|talk|tech)/\d{8} [a-zA-Z0-9_.,\(\) \-]*\.md' $(CHANGE_FILE) | wc -l) = 1 ]
|
|
[ $(shell cat $(CHANGE_FILE) | wc -l) = 1 ]
|
|
echo 'Rule Matched: $(@)'
|
|
|
|
rule-translation-completed:
|
|
[ $(shell egrep '^D\s*sources/(news|talk|tech)/\d{8} [a-zA-Z0-9_.,\(\) \-]*\.md' $(CHANGE_FILE) | wc -l) = 1 ]
|
|
[ $(shell egrep '^A\s*translated/(news|talk|tech)/\d{8} [a-zA-Z0-9_.,\(\) \-]*\.md' $(CHANGE_FILE) | wc -l) = 1 ]
|
|
[ $(shell cat $(CHANGE_FILE) | wc -l) = 2 ]
|
|
echo 'Rule Matched: $(@)'
|
|
|
|
rule-translation-revised:
|
|
[ $(shell egrep '^M\s*translated/(news|talk|tech)/\d{8} [a-zA-Z0-9_.,\(\) \-]*\.md' $(CHANGE_FILE) | wc -l) = 1 ]
|
|
[ $(shell cat $(CHANGE_FILE) | wc -l) = 1 ]
|
|
echo 'Rule Matched: $(@)'
|
|
|
|
rule-translation-published:
|
|
[ $(shell egrep '^D\s*translated/(news|talk|tech)/\d{8} [a-zA-Z0-9_.,\(\) \-]*\.md' $(CHANGE_FILE) | wc -l) = 1 ]
|
|
[ $(shell egrep '^A\s*published/\d{8} [a-zA-Z0-9_.,\(\) \-]*\.md' $(CHANGE_FILE) | wc -l) = 1 ]
|
|
[ $(shell cat $(CHANGE_FILE) | wc -l) = 2 ]
|
|
echo 'Rule Matched: $(@)'
|