-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathMakefile
More file actions
67 lines (57 loc) · 2.13 KB
/
Makefile
File metadata and controls
67 lines (57 loc) · 2.13 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
SHELL := /bin/bash
OS := $(shell uname -s)
ARCH := $(shell uname -m)
DRIVER_LOCATION := geckodriver
# Linux only
FIREFOX_DIR := firefox
FIREFOX_LOCATION_LINUX := $(FIREFOX_DIR)/firefox
FIREFOX_TARBALL := firefox.tar
FIREFOX_URL_LINUX := https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US
# macOS uses installed Firefox
FIREFOX_LOCATION_MAC := /Applications/Firefox.app/Contents/MacOS/firefox
# Geckodriver URLs (yours)
ifeq ($(OS),Darwin)
ifeq ($(ARCH),arm64)
DRIVER_URL := https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-macos-aarch64.tar.gz
else
DRIVER_URL := https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-macos.tar.gz
endif
else
ifeq ($(ARCH),aarch64)
DRIVER_URL := https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-linux-aarch64.tar.gz
else
DRIVER_URL := https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-linux64.tar.gz
endif
endif
$(DRIVER_LOCATION):
curl -fL "$(DRIVER_URL)" | tar -xz
chmod +x $(DRIVER_LOCATION)
# Linux: download Firefox locally
$(FIREFOX_LOCATION_LINUX):
rm -rf $(FIREFOX_DIR) firefox.tar firefox
mkdir -p $(FIREFOX_DIR)
curl -fL -o $(FIREFOX_TARBALL) "$(FIREFOX_URL_LINUX)"
tar -xaf $(FIREFOX_TARBALL)
mv firefox/* $(FIREFOX_DIR)/
rmdir firefox
chmod +x $(FIREFOX_LOCATION_LINUX)
# macOS: verify Firefox exists
.PHONY: firefox
firefox:
ifeq ($(OS),Darwin)
@test -x "$(FIREFOX_LOCATION_MAC)" || (echo "Firefox not found at $(FIREFOX_LOCATION_MAC). Install Firefox or set FIREFOX_LOCATION_MAC."; exit 1)
else
@$(MAKE) $(FIREFOX_LOCATION_LINUX)
endif
test: $(DRIVER_LOCATION) firefox
ifeq ($(OS),Darwin)
API_KEY=$(API_KEY) PATH_TO_WEBDRIVER=$(realpath $(DRIVER_LOCATION)) \
PATH_TO_FIREFOX=$(FIREFOX_LOCATION_MAC) \
mvn test -Dtest=com.mailslurp.examples.SmsUsageTest
else
API_KEY=$(API_KEY) PATH_TO_WEBDRIVER=$(realpath $(DRIVER_LOCATION)) \
PATH_TO_FIREFOX=$(realpath $(FIREFOX_LOCATION_LINUX)) \
mvn test -Dtest=com.mailslurp.examples.SmsUsageTest
endif
clean:
rm -rf $(FIREFOX_DIR) firefox.tar geckodriver firefox