tom@9684: # Docker file for D4E River GWT client tom@9684: tom@9684: FROM centos:7 tom@9684: MAINTAINER tom@intevation.de tom@9684: tom@9715: # Necessary to run further yum-installs inside Docker container, tom@9715: # if not already part of the base image: tom@9732: RUN yum -q -y install yum-plugin-ovl && rpm --rebuilddb tom@9715: tom@9684: # Install prerequisites tom@9732: RUN yum -q -y install maven mercurial tomcat gnu-free-sans-fonts curl tom@9684: tom@9684: WORKDIR /opt/d4e tom@9684: ENV REPO_URL https://scm.wald.intevation.org/hg/dive4elements/ tom@9684: ENV BRANCH 3.2.x tom@9684: RUN hg clone -b $BRANCH $REPO_URL/framework tom@9684: RUN hg clone -b $BRANCH $REPO_URL/http-client tom@9684: tom@9684: RUN mvn -q -f framework/pom.xml install tom@9684: RUN mvn -q -f http-client/pom.xml install tom@9684: tom@9741: RUN curl -sLO "https://github.com/openlayers/ol2/releases/download/release-2.11/OpenLayers-2.11.tar.gz" tom@9685: tom@9684: # Use latest patch release and fake version=4.1-p20141119 to work around tom@9684: # the actual version (which is known to work properly) tom@9684: # is not publicly available tom@9741: RUN curl -sLO https://www.smartclient.com/builds/SmartGWT/4.1p/LGPL/latest/smartgwt.jar tom@9741: RUN mvn -q install:install-file -Dfile=smartgwt.jar -Dversion=4.1-p20141119 \ tom@9741: -DartifactId=smartgwt-lgpl -DgroupId=com.isomorphic.smartgwt.lgpl \ tom@9741: -Dpackaging=jar tom@9684: tom@9684: ADD . river tom@9684: tom@9685: RUN tar -C river/gwt-client/src/main/webapp \ tom@9685: --exclude=OpenLayers-2.11/doc --exclude=OpenLayers-2.11/tests \ tom@9685: --exclude=OpenLayers-2.11/examples -xf OpenLayers-2.11.tar.gz tom@9685: RUN rm OpenLayers-2.11.tar.gz tom@9684: RUN mvn -q -f river/gwt-client/pom.xml package && \ tom@9686: mv river/gwt-client/target/gwt-client-*.war \ tom@9686: /usr/share/tomcat/webapps/d4e-river.war tom@9684: tom@9684: ADD docker/flys_user_file /root/ tom@9684: tom@9684: EXPOSE 8080 tom@9684: CMD ["/usr/libexec/tomcat/server", "start"]