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
+
2
17
3
- ENV LC_ALL=C.UTF-8
4
- ENV LANG=C.UTF-8
18
+
19
+ FROM python:3.6.3-jessie
5
20
6
21
MAINTAINER Masashi Yoshikawa <
[email protected] >
7
22
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
12
25
13
26
# 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 && \
15
34
apt-get install -y \
16
- ant \
17
35
bc \
18
36
coq=8.4pl4dfsg-1 \
19
37
libxml2-dev \
20
38
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')"
25
43
26
44
WORKDIR /app
27
45
ADD . /app
@@ -37,46 +55,39 @@ RUN tar xvf models-1.02.tgz && \
37
55
echo "candc:/app/parsers/candc-1.00" >> /app/en/parser_location.txt
38
56
39
57
# Install easyccg
40
- WORKDIR /app/parsers
41
- RUN git clone https://github.com/mikelewis0/easyccg
42
58
WORKDIR /app/parsers/easyccg
59
+ COPY --from=build-env /build/easyccg/easyccg.jar /app/parsers/easyccg/easyccg.jar
43
60
ADD 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
45
63
46
64
# Install EasySRL
47
- RUN git clone https://github.com/uwnlp/EasySRL /app/parsers/EasySRL
48
65
WORKDIR /app/parsers/EasySRL
66
+ COPY --from=build-env /build/EasySRL/easysrl.jar /app/parsers/EasySRL/easysrl.jar
49
67
# Download model file (the ugly script is due to downloading the large file from Google Drive)
50
68
RUN wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet \
51
69
--save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate \
52
70
'https://docs.google.com/uc?export=download&id=0B7AY6PGZ8lc-R1E3aTA5WG54bWM' -O- | \
53
71
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 && \
56
74
echo "easysrl:/app/parsers/EasySRL/" >> /app/en/parser_location.txt
57
75
58
76
# 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
62
78
ADD https://github.com/mynlp/jigg/releases/download/v-0.4/ccg-models-0.4.jar /app/parsers/jigg-v-0.4/jar/
63
79
RUN echo "/app/parsers/jigg-v-0.4" > /app/ja/jigg_location.txt && \
64
80
echo "jigg:/app/parsers/jigg-v-0.4" >> /app/ja/parser_location_ja.txt
65
81
66
82
# 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
77
88
78
89
WORKDIR /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
81
92
# CMD ["en/rte_en_mp_any.sh", "en/sample_en.txt", "en/semantic_templates_en_emnlp2015.yaml"]
82
93
CMD ["/bin/bash" ]
0 commit comments