1- FROM python:3.6.3-jessie
1+ FROM openjdk:8-jdk-stretch AS build-env
2+
3+ RUN apt-get update && \
4+ apt-get install -y ant
5+
6+ WORKDIR /build
7+ RUN git clone https://github.com/uwnlp/EasySRL && \
8+ cd EasySRL && \
9+ ant
10+
11+ WORKDIR /build
12+ RUN git clone https://github.com/mikelewis0/easyccg
13+
14+ ADD https://github.com/mynlp/jigg/archive/v-0.4.tar.gz /build/v-0.4.tar.gz
15+ RUN tar xzf v-0.4.tar.gz
16+
217
3- ENV LC_ALL=C.UTF-8
4- ENV LANG=C.UTF-8
18+
19+ FROM python:3.6.3-jessie
520
621MAINTAINER Masashi Yoshikawa <
[email protected] >
722
8- # Install Java
9- RUN echo "deb http://http.debian.net/debian jessie-backports main" >>/etc/apt/sources.list
10- RUN apt-get update
11- RUN apt-get install -y -t jessie-backports openjdk-8-jdk
23+ ENV LC_ALL=C.UTF-8
24+ ENV LANG=C.UTF-8
1225
1326# Install ccg2lambda specific dependencies
14- RUN apt-get update --fix-missing && \
27+ RUN sed -i -s '/debian jessie-updates main/d' /etc/apt/sources.list && \
28+ echo "deb http://archive.debian.org/debian jessie-backports main" >> /etc/apt/sources.list && \
29+ echo "Acquire::Check-Valid-Until false;" >/etc/apt/apt.conf.d/10-nocheckvalid && \
30+ echo 'Package: *\n Pin: origin "archive.debian.org"\n Pin-Priority: 500' >/etc/apt/preferences.d/10-archive-pi && \
31+ apt-get update && \
32+ apt-get install -y openjdk-8-jre && \
33+ apt-get update --fix-missing && \
1534 apt-get install -y \
16- ant \
1735 bc \
1836 coq=8.4pl4dfsg-1 \
1937 libxml2-dev \
2038 libxslt1-dev && \
21- rm -rf /var/lib/apt/lists/*
22-
23- RUN pip install lxml simplejson pyyaml -I nltk==3.0.5 cython chainer==4.0.0
24- RUN python -c "import nltk; nltk.download('wordnet')"
39+ rm -rf /var/lib/apt/lists/* && \
40+ pip install -U pip && \
41+ pip install lxml simplejson pyyaml -I nltk==3.0.5 cython numpy chainer==4.0.0 && \
42+ python -c "import nltk; nltk.download('wordnet')"
2543
2644WORKDIR /app
2745ADD . /app
@@ -37,46 +55,39 @@ RUN tar xvf models-1.02.tgz && \
3755 echo "candc:/app/parsers/candc-1.00" >> /app/en/parser_location.txt
3856
3957# Install easyccg
40- WORKDIR /app/parsers
41- RUN git clone https://github.com/mikelewis0/easyccg
4258WORKDIR /app/parsers/easyccg
59+ COPY --from=build-env /build/easyccg/easyccg.jar /app/parsers/easyccg/easyccg.jar
4360ADD https://drive.google.com/uc?export=download&id=0B7AY6PGZ8lc-dUN4SDcxWkczM2M /app/parsers/easyccg/model.tar.gz
44- RUN tar xvf model.tar.gz && echo "easyccg:" `pwd` >> /app/en/parser_location.txt
61+ RUN tar xvf model.tar.gz && \
62+ echo "easyccg:" `pwd` >> /app/en/parser_location.txt
4563
4664# Install EasySRL
47- RUN git clone https://github.com/uwnlp/EasySRL /app/parsers/EasySRL
4865WORKDIR /app/parsers/EasySRL
66+ COPY --from=build-env /build/EasySRL/easysrl.jar /app/parsers/EasySRL/easysrl.jar
4967# Download model file (the ugly script is due to downloading the large file from Google Drive)
5068RUN wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet \
5169 --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate \
5270 'https://docs.google.com/uc?export=download&id=0B7AY6PGZ8lc-R1E3aTA5WG54bWM' -O- | \
5371 sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n /p')&id=0B7AY6PGZ8lc-R1E3aTA5WG54bWM" -O model.tar.gz 2> /dev/null && \
54- rm -rf /tmp/cookies.txt
55- RUN ant && tar xvf model.tar.gz && \
72+ rm -rf /tmp/cookies.txt && \
73+ tar xvf model.tar.gz && \
5674 echo "easysrl:/app/parsers/EasySRL/" >> /app/en/parser_location.txt
5775
5876# Install Jigg
59- WORKDIR /app/parsers
60- ADD https://github.com/mynlp/jigg/archive/v-0.4.tar.gz /app/parsers/v-0.4.tar.gz
61- RUN tar xzf v-0.4.tar.gz
77+ COPY --from=build-env /build/jigg-v-0.4/jar/jigg-0.4.jar /app/parsers/jigg-v-0.4/jar/jigg-0.4.jar
6278ADD https://github.com/mynlp/jigg/releases/download/v-0.4/ccg-models-0.4.jar /app/parsers/jigg-v-0.4/jar/
6379RUN echo "/app/parsers/jigg-v-0.4" > /app/ja/jigg_location.txt && \
6480 echo "jigg:/app/parsers/jigg-v-0.4" >> /app/ja/parser_location_ja.txt
6581
6682# Install depccg
67- WORKDIR /app/parsers
68- RUN git clone https://github.com/masashi-y/depccg
69- WORKDIR /app/parsers/depccg/models
70- ADD http://cl.naist.jp/~masashi-y/resources/depccg/en_hf_tri.tar.gz /app/parsers/depccg/models/en_hf_tri.tar.gz
71- ADD http://cl.naist.jp/~masashi-y/resources/depccg/ja_hf_ccgbank.tar.gz /app/parsers/depccg/models/ja_hf_ccgbank.tar.gz
72- RUN tar xvf en_hf_tri.tar.gz && tar xvf ja_hf_ccgbank.tar.gz
73- WORKDIR /app/parsers/depccg/src
74- RUN python setup.py build_ext --inplace 2> /dev/null && \
75- echo "depccg:/app/parsers/depccg/" >> /app/en/parser_location.txt && \
76- echo "depccg:/app/parsers/depccg/" >> /app/ja/parser_location_ja.txt
83+ RUN pip install depccg && \
84+ python -m depccg en download && \
85+ python -m depccg ja download && \
86+ echo "depccg:" >> /app/en/parser_location.txt && \
87+ echo "depccg:" >> /app/ja/parser_location_ja.txt
7788
7889WORKDIR /app
79- RUN cp ./en/coqlib_sick.v ./coqlib.v && coqc coqlib.v
80- RUN cp ./en/tactics_coq_sick.txt ./tactics_coq.txt
90+ RUN cp ./en/coqlib_sick.v ./coqlib.v && coqc coqlib.v && \
91+ cp ./en/tactics_coq_sick.txt ./tactics_coq.txt
8192# CMD ["en/rte_en_mp_any.sh", "en/sample_en.txt", "en/semantic_templates_en_emnlp2015.yaml"]
8293CMD ["/bin/bash" ]
0 commit comments