| # Licensed to the Apache Software Foundation (ASF) under one | |
| # or more contributor license agreements. See the NOTICE file | |
| # distributed with this work for additional information | |
| # regarding copyright ownership. The ASF licenses this file | |
| # to you under the Apache License, Version 2.0 (the | |
| # "License"); you may not use this file except in compliance | |
| # with the License. You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, | |
| # software distributed under the License is distributed on an | |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| # KIND, either express or implied. See the License for the | |
| # specific language governing permissions and limitations | |
| # under the License. | |
| all: generate | |
| generate: | |
| @if ! command -v curl &> /dev/null; then \ | |
| echo "curl could not be found, please install curl."; \ | |
| exit 1; \ | |
| fi | |
| @if ! command -v thrift &> /dev/null; then \ | |
| echo "thrift could not be found, please install thrift 0.15.0"; \ | |
| exit 1; \ | |
| fi | |
| @if [[ "`thrift --version|grep -o '0.15.[0-9]'`" == "" ]]; then \ | |
| echo "please install thrift 0.15.0"; \ | |
| exit 1; \ | |
| fi | |
| @if [ -f "../thrift/src/main/thrift/rpc.thrift" ]; then \ | |
| thrift -out . -gen go ../thrift/src/main/thrift/rpc.thrift; \ | |
| else \ | |
| curl -o rpc.thrift https://raw.githubusercontent.com/apache/iotdb/master/thrift/src/main/thrift/rpc.thrift; \ | |
| thrift -out . -gen go rpc.thrift; \ | |
| rm -f rpc.thrift; \ | |
| fi | |
| @rm -rf rpc/t_s_i_service-remote | |
| .PHONY: generate all test e2e_test e2e_test_clean | |
| test: | |
| go test -v ./client/... | |
| e2e_test: | |
| sh -c "cd /tmp/ && rm -rf iotdb && git clone https://github.com/apache/iotdb.git && cd iotdb && mvn clean package -pl distribution -am -DskipTests" | |
| mkdir -p target/iotdb | |
| unzip -o -q /tmp/iotdb/distribution/target/apache-iotdb-*-all-bin.zip -d target | |
| mv target/*/* target/iotdb | |
| docker-compose -f test/e2e/docker-compose.yml up --build --abort-on-container-exit --remove-orphans | |
| e2e_test_clean: | |
| rm -rf /tmp/iotdb target | |
| docker-compose -f test/e2e/docker-compose.yml down | |
| #only used for project structure that the iotdb main project is in the parent folder of this project. | |
| e2e_test_for_parent_git_repo: | |
| mkdir -p target/iotdb | |
| unzip -o -q ../distribution/target/apache-iotdb-*-all-bin.zip -d target | |
| mv target/*/* target/iotdb | |
| docker-compose -f test/e2e/docker-compose.yml up --build --abort-on-container-exit --remove-orphans | |
| e2e_test_clean_for_parent_git_repo: | |
| rm -rf target | |
| docker-compose -f test/e2e/docker-compose.yml down |