-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
66 lines (47 loc) · 2.03 KB
/
Copy pathMakefile
File metadata and controls
66 lines (47 loc) · 2.03 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
MORPHIA_CURRENT=2.5.2
MORPHIA_M2=$(HOME)/.m2/repository/dev/morphia/morphia
MORPHIA_HOME?=$(if $(wildcard $(HOME)/dev/morphia.dev/morphia),$(HOME)/dev/morphia.dev/morphia,git@github.com:MorphiaOrg/morphia.git)
MORPHIA_JAR=$(MORPHIA_M2)/morphia-core/3.0.0-SNAPSHOT/morphia-core-3.0.0-SNAPSHOT.jar
REWRITE_JAR=$(MORPHIA_M2)/morphia-rewrite/3.0.0-SNAPSHOT/morphia-rewrite-3.0.0-SNAPSHOT.jar
PROJECT_ROOT=projects/$(PROJECT)
MORPHIA_UPGRADE_REPO=/tmp/morphia_upgrades/$(PROJECT)/
$(info HOME=$(HOME))
$(info MORPHIA_HOME=$(MORPHIA_HOME))
all: morphia javabot
morphia:
@PROJECT=$@ $(MAKE) upgrade
javabot:
@PROJECT=$@ $(MAKE) upgrade
log:
@echo "upgrading $(PROJECT)"
upgrade: log checkout jars rewrite build
rewrite:
@echo "*** Rewriting $(PROJECT)"
@cd $(PROJECT_ROOT) ; [ -f prep.sh ] && sh prep.sh || true
@cd $(MORPHIA_UPGRADE_REPO) ; mvn -e \
org.openrewrite.maven:rewrite-maven-plugin:run \
-Drewrite.recipeArtifactCoordinates=dev.morphia.morphia:morphia-rewrite:3.0.0-SNAPSHOT \
-Drewrite.activeRecipes=dev.morphia.UpgradeToMorphia30,dev.morphia.InternalOnly \
-Drewrite.recipeChangeLogLevel=DEBUG \
-Drewrite.exportDatatables=true \
-Drewrite.exclusions=target/generated-* && \
mvn spotless:apply || true
build:
@echo "*** Building $(PROJECT)"
@cd $(MORPHIA_UPGRADE_REPO) ; mvn -e clean test-compile
checkout: $(MORPHIA_UPGRADE_REPO)
@echo "*** Preparing repository for $(PROJECT)"
@[ -d $(MORPHIA_UPGRADE_REPO) ] && cd $(MORPHIA_UPGRADE_REPO) && git reset --hard || true
$(MORPHIA_UPGRADE_REPO):
@git clone $(shell cat ${PROJECT_ROOT}/git) $@
jars: $(REWRITE_JAR) $(MORPHIA_JAR)
$(MORPHIA_JAR): $(shell find $(MORPHIA_HOME)/core -name *.java 2>/dev/null)
[ -d $(MORPHIA_HOME) ] && (cd $(MORPHIA_HOME) ; mvn -q install -DskipTests)
$(REWRITE_JAR): $(shell find $(MORPHIA_HOME)/rewrite/src/main 2>/dev/null)
[ -d $(MORPHIA_HOME) ] && (cd $(MORPHIA_HOME) ; mvn install -DskipTests)
reset:
@PROJECT=morphia $(MAKE) -s checkout
@PROJECT=javabot $(MAKE) -s checkout
clean:
rm -rf $(MORPHIA_UPGRADE_REPO)
.PHONY: log rewrite build reset