This repository has been archived by the owner on Nov 8, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
125 lines (95 loc) · 4.12 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
HERCULE := ./node_modules/.bin/hercule
DREDD := ./node_modules/.bin/dredd
FURY := ./node_modules/.bin/fury
SOURCE_FIXTURES := \
apib/normal apib/warning apib/error \
apiaryb/normal apiaryb/error \
swagger.json/normal swagger.json/warning swagger.json/error \
swagger.yaml/normal swagger.yaml/warning swagger.yaml/error
FIXTURES := \
$(foreach path,$(SOURCE_FIXTURES),source/fixtures/$(path).refract.parse-result.json) \
$(foreach path,$(SOURCE_FIXTURES),source/fixtures/$(path).refract.parse-result.yaml) \
$(foreach path,$(SOURCE_FIXTURES),source/fixtures/$(path).refract.parse-result.1.0.json) \
$(foreach path,$(SOURCE_FIXTURES),source/fixtures/$(path).refract.parse-result.1.0.yaml)
SOURCES := apiary.apib introduction.md \
root.apib parser.apib composer.apib \
fixtures/apib/error.apib \
fixtures/swagger.yaml/normal.yaml
DEPENDENCIES = $(foreach file,$(SOURCES),source/$(file)) \
$(FIXTURES)
HOST := https://api.apiblueprint.org/
APIARY_API := apiblueprintapi
FURY_06_JSON = $(FURY) -f 'application/vnd.refract.parse-result+json; version=0.6'
FURY_06_YAML = $(FURY) -f 'application/vnd.refract.parse-result+yaml; version=0.6'
FURY_JSON = $(FURY) -f 'application/vnd.refract.parse-result+json'
FURY_YAML = $(FURY) -f 'application/vnd.refract.parse-result+yaml'
apiary.apib: node_modules $(DEPENDENCIES)
@echo "Transcluding API Blueprint"
@$(HERCULE) source/apiary.apib -o apiary.apib
test: apiary.apib
$(DREDD) --hookfiles source/dredd-hooks.js apiary.apib $(HOST)
clean:
@echo "Cleaning"
@rm -fr apiary.apib
.PHONY: publish
publish: gems
@echo "Uploading blueprint to Apiary"
@bundle exec apiary publish --api-name=$(APIARY_API)
.PHONY: fixtures
fixtures: $(FIXTURES)
.PHONY: cleanfixtures
cleanfixtures:
@echo "Cleaning Fixtures"
@rm $(FIXTURES)
source/fixtures/apib/%.refract.parse-result.json: source/fixtures/apib/%.apib
@echo "Generating $@"
@$(FURY_06_JSON) $< > $@ || true
source/fixtures/apib/%.refract.parse-result.1.0.json: source/fixtures/apib/%.apib
@echo "Generating $@"
@$(FURY_JSON) $< > $@ || true
source/fixtures/apib/%.refract.parse-result.yaml: source/fixtures/apib/%.apib
@echo "Generating $@"
@$(FURY_06_YAML) $< > $@ || true
source/fixtures/apib/%.refract.parse-result.1.0.yaml: source/fixtures/apib/%.apib
@echo "Generating $@"
@$(FURY_YAML) $< > $@ || true
source/fixtures/apiaryb/%.refract.parse-result.json: source/fixtures/apiaryb/%.apiaryb
@echo "Generating $@"
@$(FURY_06_JSON) $< > $@ || true
source/fixtures/apiaryb/%.refract.parse-result.yaml: source/fixtures/apiaryb/%.apiaryb
@echo "Generating $@"
@$(FURY_06_YAML) $< > $@ || true
source/fixtures/apiaryb/%.refract.parse-result.1.0.json: source/fixtures/apiaryb/%.apiaryb
@echo "Generating $@"
@$(FURY_JSON) $< > $@ || true
source/fixtures/apiaryb/%.refract.parse-result.1.0.yaml: source/fixtures/apiaryb/%.apiaryb
@echo "Generating $@"
@$(FURY_YAML) $< > $@ || true
source/fixtures/swagger.json/%.refract.parse-result.json: source/fixtures/swagger.json/%.json
@echo "Generating $@"
@$(FURY_06_JSON) $< > $@ || true
source/fixtures/swagger.json/%.refract.parse-result.yaml: source/fixtures/swagger.json/%.json
@echo "Generating $@"
@$(FURY_06_YAML) $< > $@ || true
source/fixtures/swagger.json/%.refract.parse-result.1.0.json: source/fixtures/swagger.json/%.json
@echo "Generating $@"
@$(FURY_JSON) $< > $@ || true
source/fixtures/swagger.json/%.refract.parse-result.1.0.yaml: source/fixtures/swagger.json/%.json
@echo "Generating $@"
@$(FURY_YAML) $< > $@ || true
source/fixtures/swagger.yaml/%.refract.parse-result.json: source/fixtures/swagger.yaml/%.yaml
@echo "Generating $@"
@$(FURY_06_JSON) $< > $@ || true
source/fixtures/swagger.yaml/%.refract.parse-result.yaml: source/fixtures/swagger.yaml/%.yaml
@echo "Generating $@"
@$(FURY_06_YAML) $< > $@ || true
source/fixtures/swagger.yaml/%.refract.parse-result.1.0.json: source/fixtures/swagger.yaml/%.yaml
@echo "Generating $@"
@$(FURY_JSON) $< > $@ || true
source/fixtures/swagger.yaml/%.refract.parse-result.1.0.yaml: source/fixtures/swagger.yaml/%.yaml
@echo "Generating $@"
@$(FURY_YAML) $< > $@ || true
node_modules:
@npm install --no-optional
gems:
@bundle install --path=gems