blob: f162736e875b7763dc2e669b3fa5e4cd2913c8e7 [file] [log] [blame]
# 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.
#
# protect the default target for this file from the targets in Makefile.global
default: all
ifneq "$(HD)" ""
BUILD_PARAMS+= -Dhd=$(HD)
else
ifneq "$(PXF_HOME)" ""
BUILD_PARAMS+= -DdeployPath="$(PXF_HOME)"
else ifneq "$(GPHOME)" ""
PXF_HOME= "$(GPHOME)/pxf"
BUILD_PARAMS+= -DdeployPath="$(PXF_HOME)"
else
@echo "Cannot invoke install without configuring either PXF_HOME or GPHOME"
exit
endif
endif
ifneq "$(LICENSE)" ""
BUILD_PARAMS+= -Plicense="$(LICENSE)"
endif
ifneq "$(VENDOR)" ""
BUILD_PARAMS+= -Pvendor="$(VENDOR)"
endif
ifneq "$(PXF_VERSION)" ""
BUILD_PARAMS+= -Pversion="$(PXF_VERSION)"
endif
ifneq "$(DATABASE)" ""
BUILD_PARAMS+= -Ddatabase="$(DATABASE)"
endif
help:
@echo
@echo "help it is then"
@echo "Possible targets"
@echo " - all (clean, build, unittest, jar, tar, rpm)"
@echo " - - HD=<hdp> - set classpath to match hadoop distribution. default will be apache hadoop compliant"
@echo " - - LICENSE=<license info> - add license info to created RPMs"
@echo " - - VENDOR=<vendor name> - add vendor name to created RPMs"
@echo " - - PLUGINS_EXCLUDE_RPM=plugin1, plugin2,... - do not build and RPM for given comma-separated list of plugins"
@echo " - - DATABASE=build pxf for specific database(HAWQ is default, other databases are defined under gradle/profiles)"
@echo " - tomcat - builds tomcat rpm from downloaded tarball"
@echo " - - LICENSE and VENDOR parameters can be used as well"
@echo " - install - setup PXF along with tomcat in the configured deployPath"
@echo " - bundle - bundle PXF along with tomcat into a single tarball"
@echo " - doc - creates aggregate javadoc under docs"
all:
./gradlew clean release $(BUILD_PARAMS) $$(echo $$(for i in $$(echo ${PLUGINS_EXCLUDE_RPM} | sed 's/,/ /g'); do echo -x $$i:buildRpm ; done))
unittest:
./gradlew test
jar:
./gradlew jar $(BUILD_PARAMS)
tar:
./gradlew tar $(BUILD_PARAMS)
rpm: tomcat
./gradlew rpm $(BUILD_PARAMS)
clean:
./gradlew clean
@rm -rf ./distributions/apache-tomcat*.rpm
distclean maintainer-clean: clean
doc:
./gradlew aggregateJavadoc
.PHONY: tomcat
tomcat:
./gradlew tomcatRpm $(BUILD_PARAMS)
install:
./gradlew install $(BUILD_PARAMS)
@if [ -d "$(PXF_HOME)/lib" ] ; then \
cd $(PXF_HOME)/lib && \
for X in pxf-*-[0-9]*.jar; do \
ln -sf $$X `echo $$X | sed -e 's/-[a-zA-Z0-9.]*.jar/.jar/'`; \
done; \
fi
bundle:
./gradlew bundle $(BUILD_PARAMS)