jydoop/Makefile

46 строки
1.9 KiB
Makefile

HBASE_CP ?= $(shell hbase classpath)
HADOOP_CP ?= $(shell hadoop classpath)
export HADOOP_USER_CLASSPATH_FIRST="true"
# this will need to change once more jars are added
export JACKSON_CP=jython-standalone-2.7-b1.jar:akela-0.5-SNAPSHOT.jar:jackson-core-2.1.4.jar:jackson-databind-2.1.4.jar:jackson-annotations-2.1.4.jar
export HADOOP_CLASSPATH := $(JACKSON_CP)
CP=$(HADOOP_CP):$(HBASE_CP):$(JACKSON_CP)
comma:=,
JAVA_SOURCE=$(addprefix org/mozilla/jydoop/,PythonWrapper.java PythonValue.java PythonKey.java HadoopDriver.java JacksonWrapper.java PySerializer.java)
TASK=HadoopDriver
ARGS=input output
SCRIPT=$(error Must specify SCRIPT=)
TEST_PY=test.py
all: driver.jar
check: driver.jar
java -cp driver.jar:$(CP) org.mozilla.jydoop.PythonWrapper $(TEST_PY)
run: driver.jar
java -cp driver.jar:$(CP) org.mozilla.jydoop.$(TASK)
hadoop: driver.jar
time hadoop jar $< org.mozilla.jydoop.$(TASK) -libjars $(subst :,$(comma),$(JACKSON_CP)) $(ARGS)
out/pylib:
mkdir -p out
ln -s ../pylib out/pylib
out/scripts:
mkdir -p out
ln -s ../scripts out/scripts
driver.jar: out/scripts out/pylib $(wildcard pylib/*.py scripts/*.py scripts/fhr/*.py) $(JAVA_SOURCE)
javac -Xlint:deprecation -d out -cp $(CP) $(JAVA_SOURCE)
jar -cvf $@ -C out .
%.class: ../%.java
download:
wget -c http://repo1.maven.org/maven2/org/python/jython-standalone/2.7-b1/jython-standalone-2.7-b1.jar -O jython-standalone-2.7-b1.jar
wget -c http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.1.4/jackson-core-2.1.4.jar -O jackson-core-2.1.4.jar
wget -c http://people.mozilla.org/~bsmedberg/akela-0.5-SNAPSHOT.jar -O akela-0.5-SNAPSHOT.jar
wget -c http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.1.4/jackson-databind-2.1.4.jar -O jackson-databind-2.1.4.jar
wget -c http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.1.4/jackson-annotations-2.1.4.jar -O jackson-annotations-2.1.4.jar