-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
119 lines (97 loc) · 4.97 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
.DEFAULT_GOAL := help
.PHONY: openapi-generator
SHELL := /bin/bash
define git_checkout
@echo "Pull client "$(1)
@mkdir -p ./build
@git clone git@github.com:influxdata/$(1).git ./build/$(1) || true
@git --git-dir ./build/$(1)/.git pull
endef
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " start-server to start the InfluxDB server"
@echo " stop-server to stop the InfluxDB server"
@echo " openapi-generator to build openapi-generator"
@echo " generate-java to generate Java API sources from swagger.yml"
@echo " generate-csharp to generate C# API sources from swagger.yml"
@echo " generate-python to generate Python API sources from swagger.yml"
@echo " generate-php to generate Php API sources from swagger.yml"
@echo " generate-all to generate all clients API sources from swagger.yml"
@echo " pr-java to create PR into influxdb-client-java"
@echo " pr-csharp to create PR into influxdb-client-csharp"
@echo " pr-python to create PR into influxdb-client-python"
@echo " pr-php to create PR into influxdb-client-php"
dshell:
@docker-compose run java bash
git-checkout-all:
$(call git_checkout,influxdb-client-java)
$(call git_checkout,influxdb-client-csharp)
$(call git_checkout,influxdb-client-python)
$(call git_checkout,influxdb-client-php)
openapi-generator: git-checkout-all
@docker-compose build
@docker-compose run java mvn -DskipTests -f openapi-generator/pom.xml clean install
#### Java
generate-java:
$(call git_checkout,influxdb-client-java)
@docker-compose run download-oss-swagger
@docker-compose run download-cloud-swagger
@docker-compose run download-invocable-scripts
@docker-compose run java mvn -f ./openapi-generator/pom.xml compile exec:java -Dexec.mainClass="com.influxdb.MergeContracts" -Dexec.args="oss.yml invocable-scripts.yml"
@docker-compose run java mvn -f ./openapi-generator/pom.xml compile exec:java -Dexec.mainClass="com.influxdb.AppendCloudDefinitions" -Dexec.args="oss.yml cloud.yml"
@docker-compose run java mvn -f ./openapi-generator/pom.xml compile exec:java -Dexec.mainClass="com.influxdb.AppendCustomDefinitions" -Dexec.args="oss.yml --write-consistency"
@docker-compose run java ./generate-java.sh
check-java:
@docker-compose run -w /code/build/influxdb-client-java java mvn clean compile
pr-java:
@create-pr.sh influxdb-client-java
### CSharp
generate-csharp:
$(call git_checkout,influxdb-client-csharp)
@docker-compose run download-oss-swagger
@docker-compose run download-cloud-swagger
@docker-compose run download-invocable-scripts
@docker-compose run java mvn -f ./openapi-generator/pom.xml compile exec:java -Dexec.mainClass="com.influxdb.MergeContracts" -Dexec.args="oss.yml invocable-scripts.yml"
@docker-compose run java mvn -f ./openapi-generator/pom.xml compile exec:java -Dexec.mainClass="com.influxdb.AppendCloudDefinitions" -Dexec.args="oss.yml cloud.yml"
@docker-compose run java ./generate-csharp.sh
check-csharp:
@docker-compose run -w /code/build/influxdb-client-csharp csharp dotnet build
pr-csharp:
@create-pr.sh influxdb-client-csharp
#### Python
generate-python:
$(call git_checkout,influxdb-client-python)
@docker-compose run download-oss-swagger
@docker-compose run download-cloud-swagger
@docker-compose run download-invocable-scripts
@docker-compose run java mvn -f ./openapi-generator/pom.xml compile exec:java -Dexec.mainClass="com.influxdb.MergeContracts" -Dexec.args="oss.yml invocable-scripts.yml"
@docker-compose run java mvn -f ./openapi-generator/pom.xml compile exec:java -Dexec.mainClass="com.influxdb.AppendCloudDefinitions" -Dexec.args="oss.yml cloud.yml"
@docker-compose run java ./generate-python.sh
check-python:
@docker-compose run --workdir=/code/build/influxdb-client-python python pip install -e .
@docker-compose run --workdir=/code/build/influxdb-client-python python python ./setup.py install
pr-python:
@create-pr.sh influxdb-client-python
#### Php
generate-php:
$(call git_checkout,influxdb-client-php)
@docker-compose run download-oss-swagger
@docker-compose run download-cloud-swagger
@docker-compose run download-invocable-scripts
@docker-compose run java mvn -f ./openapi-generator/pom.xml compile exec:java -Dexec.mainClass="com.influxdb.MergeContracts" -Dexec.args="oss.yml invocable-scripts.yml"
@docker-compose run java mvn -f ./openapi-generator/pom.xml compile exec:java -Dexec.mainClass="com.influxdb.AppendCloudDefinitions" -Dexec.args="oss.yml cloud.yml"
@docker-compose run java ./generate-php.sh
check-php:
@docker-compose run php composer install --working-dir=/code/build/influxdb-client-php
@docker-compose run php composer run test --working-dir=/code/build/influxdb-client-php
pr-php:
@create-pr.sh influxdb-client-php
check-all: check-java check-csharp check-python check-php
generate-all: generate-java generate-csharp generate-python generate-php
start-server:
@docker-compose up -d influxdb_v2
@scripts/influxdb-onboarding.sh ||:
stop-server:
@docker-compose stop influxdb_v2
delete-sources:
@rm -rf ./build