-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathMakefile
More file actions
102 lines (79 loc) · 3.26 KB
/
Makefile
File metadata and controls
102 lines (79 loc) · 3.26 KB
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
#!/usr/bin/make -f
VERSION_FILE := Sources/SmartyStreets/Version.swift
VERSION := $(shell tagit -p --dryrun)
clean:
@git checkout "$(VERSION_FILE)"
@rm -rf .build
test:
swift test --disable-sandbox
run:
(cd samples && swift run swiftExamples)
# Helper function to run a specific example
# Usage: $(call run-example,ExampleName)
define run-example
@cp samples/Sources/swiftExamples/main.swift samples/Sources/swiftExamples/main.swift.bak
@sed -i '' 's/^print(/\/\/ print(/g' samples/Sources/swiftExamples/main.swift
@sed -i '' 's|^\/\/ print($(1)()\.run())|print($(1)().run())|' samples/Sources/swiftExamples/main.swift
@sed -i '' 's|^\/\/ print(try $(1)()\.run())|print(try $(1)().run())|' samples/Sources/swiftExamples/main.swift
@(cd samples && swift run --disable-sandbox swiftExamples) || true
@mv samples/Sources/swiftExamples/main.swift.bak samples/Sources/swiftExamples/main.swift
endef
# Example targets - run individual examples
example-us-street-single:
@$(call run-example,USStreetSingleAddressExample)
example-us-street-multiple:
@$(call run-example,USStreetMultipleAddressExample)
example-us-street-component-analysis:
@$(call run-example,USStreetComponentAnalysisExample)
example-us-zipcode-single:
@$(call run-example,USZipCodeSingleLookupExample)
example-us-zipcode-multiple:
@$(call run-example,USZipCodeMultipleLookupsExample)
example-us-autocomplete-pro:
@$(call run-example,USAutocompleteProExample)
example-us-extract:
@$(call run-example,USExtractExample)
example-international-street:
@$(call run-example,InternationalStreetExample)
example-international-autocomplete:
@$(call run-example,InternationalAutocompleteExample)
example-international-postal-code:
@$(call run-example,InternationalPostalCodeExample)
example-us-reverse-geo:
@$(call run-example,USReverseGeoExample)
example-us-street-iana-timezone:
@$(call run-example,USStreetIanaTimeZoneExample)
example-us-enrichment:
@$(call run-example,USEnrichmentExample)
# Run all examples
examples-all:
@echo "Running all examples..."
@$(MAKE) example-us-street-single
@$(MAKE) example-us-street-multiple
@$(MAKE) example-us-street-component-analysis
@$(MAKE) example-us-zipcode-single
@$(MAKE) example-us-zipcode-multiple
@$(MAKE) example-us-autocomplete-pro
@$(MAKE) example-us-extract
@$(MAKE) example-international-street
@$(MAKE) example-international-autocomplete
@$(MAKE) example-international-postal-code
@$(MAKE) example-us-reverse-geo
@$(MAKE) example-us-street-iana-timezone
@$(MAKE) example-us-enrichment
@echo "All examples completed!"
compile:
swift build
version:
@printf 'class Version {\n let version = "%s"\n}\n' "$(VERSION)" > "$(VERSION_FILE)"
publish: compile test version
git commit -am "Incremented version." \
&& tagit -p \
&& git push origin master --tags \
&& git checkout "$(VERSION_FILE)"
.PHONY: clean test compile version publish run examples-all
.PHONY: example-us-street-single example-us-street-multiple example-us-street-component-analysis
.PHONY: example-us-zipcode-single example-us-zipcode-multiple
.PHONY: example-us-autocomplete-pro example-us-extract
.PHONY: example-international-street example-international-autocomplete example-international-postal-code
.PHONY: example-us-reverse-geo example-us-street-iana-timezone example-us-enrichment