-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.inc
100 lines (95 loc) · 4.35 KB
/
Makefile.inc
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
ifndef GIT_HOME
$(error Variable GIT_HOME is not set)
endif
ifndef JAVA_HOME
$(error Variable JAVA_HOME is not set)
endif
ifndef MAVEN_HOME
$(error Variable MAVEN_HOME is not set)
endif
ifndef SCALA_HOME
$(error Variable SCALA_HOME is not set)
endif
ifeq ($(OS),Windows_NT)
JAR = $(subst \,/,$(JAVA_HOME))/bin/jar.exe
JAVA = $(subst \,/,$(JAVA_HOME))/bin/java.exe
JAVAC = $(subst \,/,$(JAVA_HOME))/bin/javac.exe
JAVADOC = $(subst \,/,$(JAVA_HOME))/bin/javadoc.exe
MVN = $(subst \,/,$(MAVEN_HOME))/bin/mvn.cmd
SCALA = $(subst \,/,$(SCALA_HOME))/bin/scala.bat
SCALAC = $(subst \,/,$(SCALA_HOME))/bin/scalac.bat
SCALADOC = $(subst \,/,$(SCALA_HOME))/bin/scaladoc.bat
SCALAFMT = $(subst \,/,$(LOCALAPPDATA))/Coursier/data/bin/scalafmt.bat
LOCAL_REPO = $(subst \,/,$(USERPROFILE))/.m2/repository
PSEP = ;
## $(MSYS_HOME)\usr\bin\{cp.exe, make.exe, wget.exe}
CP = /usr/bin/cp.exe
ECHO = /usr/bin/echo.exe
FIND = /usr/bin/find.exe
MKDIR = /usr/bin/mkdir.exe
RM = /usr/bin/rm.exe
TOUCH = /usr/bin/touch.exe
WGET = /usr/bin/wget
else
JAR = $(JAVA_HOME)/bin/jar
JAVA = $(JAVA_HOME)/bin/java
JAVAC = $(JAVA_HOME)/bin/javac
JAVADOC = $(JAVA_HOME)/bin/javadoc
SCALA = $(SCALA_HOME)/bin/scala
SCALAC = $(SCALA_HOME)/bin/scalac
SCALADOC = $(SCALA_HOME)/bin/scaladoc
SCALAFMT = $(HOME)/Coursier/data/bin/scalafmt
LOCAL_REPO = $(HOME)/.m2/repository
PSEP = :
CP = cp
ECHO = echo
FIND = find
MKDIR = mkdir
MVN = mvn
RM = rm
TOUCH = touch
WGET = wget
endif
## https://mvnrepository.com/artifact/com.typesafe.akka/akka-actor
AKKA_VERSION = 2.9.5
## https://mvnrepository.com/artifact/com.typesafe/config
CONFIG_VERSION = 1.4.3
SCALA_LIB_JAR = $(shell $(FIND) "$(LOCAL_REPO)/org/scala-lang" -name "scala-library-2.13.*.jar" | tail -1)
CONFIG_JAR = $(shell $(FIND) "$(LOCAL_REPO)/com/typesafe" -name "config-$(CONFIG_VERSION).jar")
AKKA_ACTOR_JAR = $(shell $(FIND) "$(LOCAL_REPO)/com/typesafe" -name "akka-actor_2.13-$(AKKA_VERSION).jar")
MAVEN_REPO = https://repo1.maven.org/maven2
AKKA_REPO = https://repo.akka.io/maven
deps:
$(eval MVN_OPTS := -quiet)
$(eval WGET_OPTS := --user-agent="Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0)" --no-check-certificate --directory-prefix="$(TMP)")
@$(ECHO) "## Check Maven dependencies on $(MAVEN_REPO)"
ifeq (,$(wildcard $(SCALA_LIB_JAR)))
$(eval GROUP_ID := org.scala-lang)
$(eval ARTIFACT_ID := scala-library)
$(eval VERSION := 2.13.15)
$(eval JAR_FILE := $(TMP)/$(ARTIFACT_ID)-$(VERSION).jar)
$(eval URL := $(MAVEN_REPO)/$(subst .,/,$(GROUP_ID))/$(ARTIFACT_ID)/$(VERSION)/$(ARTIFACT_ID)-$(VERSION).jar)
$(WGET) $(WGET_OPTS) $(URL) || $(error Failed to download $(ARTIFACT_ID)-$(VERSION).jar)
$(MVN) $(MVN_OPTS) install:install-file -Dfile="$(JAR_FILE)" -DgroupId=$(GROUP_ID) -DartifactId=$(ARTIFACT_ID) -Dversion=$(VERSION) -Dpackaging=jar
$(eval SCALA_LIB_JAR := $(shell $(FIND) "$(LOCAL_REPO)/$(subst .,/,$(GROUP_ID))" -name $(ARTIFACT_ID)-$(VERSION).jar))
endif
ifeq (,$(wildcard $(CONFIG_JAR)))
$(eval GROUP_ID := com.typesafe)
$(eval ARTIFACT_ID := config)
$(eval VERSION := $(CONFIG_VERSION))
$(eval JAR_FILE := $(TMP)/$(ARTIFACT_ID)-$(SCALA_VERSION).jar)
$(eval URL := $(MAVEN_REPO)/$(subst .,/,$(GROUP_ID))/$(ARTIFACT_ID)/$(VERSION)/$(ARTIFACT_ID)-$(VERSION).jar)
$(WGET) $(WGET_OPTS) $(URL) || $(error Failed to download $(ARTIFACT_ID)-$(VERSION).jar)
$(MVN) $(MVN_OPTS) install:install-file -Dfile="$(JAR_FILE)" -DgroupId=$(GROUP_ID) -DartifactId=$(ARTIFACT_ID) -Dversion=$(VERSION) -Dpackaging=jar
$(eval CONFIG_JAR := $(shell $(FIND) "$(LOCAL_REPO)/$(subst .,/,$(GROUP_ID))" -name $(ARTIFACT_ID)-$(VERSION).jar))
endif
ifeq (,$(wildcard $(AKKA_ACTOR_JAR)))
$(eval GROUP_ID := com.typesafe)
$(eval ARTIFACT_ID := akka-actor_2.13)
$(eval VERSION := $(AKKA_VERSION))
$(eval JAR_FILE := $(TMP)/$(ARTIFACT_ID)-$(SCALA_VERSION).jar)
$(eval URL := $(AKKA_REPO)/$(subst .,/,$(GROUP_ID))/$(ARTIFACT_ID)/$(VERSION)/$(ARTIFACT_ID)-$(VERSION).jar)
$(WGET) $(WGET_OPTS) $(URL) || $(error Failed to download $(ARTIFACT_ID)-$(VERSION).jar)
$(MVN) $(MVN_OPTS) install:install-file -Dfile="$(JAR_FILE)" -DgroupId=$(GROUP_ID) -DartifactId=$(ARTIFACT_ID) -Dversion=$(VERSION) -Dpackaging=jar
$(eval AKKA_ACTOR_JAR := $(shell $(FIND) "$(LOCAL_REPO)/$(subst .,/,$(GROUP_ID))" -name $(ARTIFACT_ID)-$(VERSION).jar))
endif