[ 
https://issues.apache.org/jira/browse/GROOVY-7906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15432875#comment-15432875
 ] 

Serge edited comment on GROOVY-7906 at 8/23/16 2:20 PM:
--------------------------------------------------------

Sure, here's the sum of my dockerfiles (internal images).
One layer used as a base from alpine.
One layer adding JDK8
One layer adding groovy.

{code}
# Layer 1 - base
FROM    alpine:3.4

ENV     TIMEZONE Europe/Paris
ENV     LANG fr_FR.UTF-8
ENV     LANGUAGE fr_FR.UTF-8
ENV     LC_ALL fr_FR.UTF-8
ENV     HOME /root
ENV     TERM xterm

# Insert bashrc
ADD     bashrc /root/.bashrc

RUN     apk add --update bash tzdata
RUN     echo $TIMEZONE > /etc/timezone && \
        cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime
RUN     apk del tzdata && rm -rf /var/cache/apk/*

# Layer 2 - base + java

# Install cURL
ENV     GLIBC_VERSION   2.23-r3
ENV     GLIBC_URL 
https://github.com/sgerrand/alpine-pkg-glibc/releases/download/unreleased
RUN     apk --no-cache --update add curl ca-certificates tar && \
        echo "${GLIBC_URL}/glibc-${GLIBC_VERSION}.apk" && \
        curl -sLo /tmp/glibc-${GLIBC_VERSION}.apk 
${GLIBC_URL}/glibc-${GLIBC_VERSION}.apk && \
        curl -sLo /tmp/glibc-bin-${GLIBC_VERSION}.apk 
${GLIBC_URL}/glibc-bin-${GLIBC_VERSION}.apk && \
        curl -sLo /tmp/glibc-i18n-${GLIBC_VERSION}.apk 
${GLIBC_URL}/glibc-i18n-${GLIBC_VERSION}.apk && \
        apk add --no-cache --allow-untrusted /tmp/glibc-${GLIBC_VERSION}.apk 
/tmp/glibc-bin-${GLIBC_VERSION}.apk /tmp/glibc-i18n-${GLIBC_VERSION}.apk && \
        /usr/glibc-compat/bin/localedef -i fr_FR -f UTF-8 fr_FR.UTF-8

# Java Version
ENV     JAVA_VERSION_MAJOR 8
ENV     JAVA_VERSION_MINOR 102
ENV     JAVA_VERSION_BUILD 14
ENV     JAVA_PACKAGE       jdk

# Download and unarchive Java
RUN mkdir /opt && curl -jksSLH "Cookie: 
oraclelicense=accept-securebackup-cookie"\
  
http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-b${JAVA_VERSION_BUILD}/${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz
 \
    | tar -xzf - -C /opt &&\
    echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> 
/etc/nsswitch.conf && \
    ln -s /opt/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} /opt/jdk &&\
    rm -rf /opt/jdk/*src.zip \
           /opt/jdk/lib/missioncontrol \
           /opt/jdk/lib/visualvm \
           /opt/jdk/lib/*javafx* \
           /opt/jdk/jre/lib/plugin.jar \
           /opt/jdk/jre/lib/ext/jfxrt.jar \
           /opt/jdk/jre/bin/javaws \
           /opt/jdk/jre/lib/javaws.jar \
           /opt/jdk/jre/lib/desktop \
           /opt/jdk/jre/plugin \
           /opt/jdk/jre/lib/deploy* \
           /opt/jdk/jre/lib/*javafx* \
           /opt/jdk/jre/lib/*jfx* \
           /opt/jdk/jre/lib/amd64/libdecora_sse.so \
           /opt/jdk/jre/lib/amd64/libprism_*.so \
           /opt/jdk/jre/lib/amd64/libfxplugins.so \
           /opt/jdk/jre/lib/amd64/libglass.so \
           /opt/jdk/jre/lib/amd64/libgstreamer-lite.so \
           /opt/jdk/jre/lib/amd64/libjavafx*.so \
           /opt/jdk/jre/lib/amd64/libjfx*.so && \
    rm -rf /opt/jdk/jre/bin/jjs \
           /opt/jdk/jre/bin/keytool \
           /opt/jdk/jre/bin/orbd \
           /opt/jdk/jre/bin/pack200 \
           /opt/jdk/jre/bin/policytool \
           /opt/jdk/jre/bin/rmid \
           /opt/jdk/jre/bin/rmiregistry \
           /opt/jdk/jre/bin/servertool \
           /opt/jdk/jre/bin/tnameserv \
           /opt/jdk/jre/bin/unpack200 \
           /opt/jdk/jre/lib/ext/nashorn.jar \
           /opt/jdk/jre/lib/jfr.jar \
           /opt/jdk/jre/lib/jfr \
           /opt/jdk/jre/lib/oblique-fonts

# Set environment
ENV     JAVA_HOME /opt/jdk
ENV     PATH ${PATH}:${JAVA_HOME}/bin

# Layer 3 - groovy

WORKDIR /opt/
ENV     GROOVY_HOME /opt/groovy/
ENV     PATH ${PATH}:${GROOVY_HOME}/bin
ENV     GROOVY_VERSION 2.4.7

RUN     apk --update add curl unzip && \
        curl -sLo /opt/groovy.zip 
https://bintray.com/artifact/download/groovy/maven/apache-groovy-binary-${GROOVY_VERSION}.zip
 && \
        unzip /opt/groovy.zip && \
        rm -f /opt/groovy.zip && \
        ln -s /opt/groovy-${GROOVY_VERSION} /opt/groovy
{code}


was (Author: sr-g):
Sure, here's the sum of my dockerfiles (internal images).
One layer used as a base from alpine.
One layer adding JDK8
One layer adding groovy.

{quote}
# Layer 1 - base
FROM    alpine:3.4

ENV     TIMEZONE Europe/Paris
ENV     LANG fr_FR.UTF-8
ENV     LANGUAGE fr_FR.UTF-8
ENV     LC_ALL fr_FR.UTF-8
ENV     HOME /root
ENV     TERM xterm

# Insert bashrc
ADD     bashrc /root/.bashrc

RUN     apk add --update bash tzdata
RUN     echo $TIMEZONE > /etc/timezone && \
        cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime
RUN     apk del tzdata && rm -rf /var/cache/apk/*

# Layer 2 - base + java

# Install cURL
ENV     GLIBC_VERSION   2.23-r3
ENV     GLIBC_URL 
https://github.com/sgerrand/alpine-pkg-glibc/releases/download/unreleased
RUN     apk --no-cache --update add curl ca-certificates tar && \
        echo "${GLIBC_URL}/glibc-${GLIBC_VERSION}.apk" && \
        curl -sLo /tmp/glibc-${GLIBC_VERSION}.apk 
${GLIBC_URL}/glibc-${GLIBC_VERSION}.apk && \
        curl -sLo /tmp/glibc-bin-${GLIBC_VERSION}.apk 
${GLIBC_URL}/glibc-bin-${GLIBC_VERSION}.apk && \
        curl -sLo /tmp/glibc-i18n-${GLIBC_VERSION}.apk 
${GLIBC_URL}/glibc-i18n-${GLIBC_VERSION}.apk && \
        apk add --no-cache --allow-untrusted /tmp/glibc-${GLIBC_VERSION}.apk 
/tmp/glibc-bin-${GLIBC_VERSION}.apk /tmp/glibc-i18n-${GLIBC_VERSION}.apk && \
        /usr/glibc-compat/bin/localedef -i fr_FR -f UTF-8 fr_FR.UTF-8

# Java Version
ENV     JAVA_VERSION_MAJOR 8
ENV     JAVA_VERSION_MINOR 102
ENV     JAVA_VERSION_BUILD 14
ENV     JAVA_PACKAGE       jdk

# Download and unarchive Java
RUN mkdir /opt && curl -jksSLH "Cookie: 
oraclelicense=accept-securebackup-cookie"\
  
http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-b${JAVA_VERSION_BUILD}/${JAVA_PACKAGE}-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz
 \
    | tar -xzf - -C /opt &&\
    echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> 
/etc/nsswitch.conf && \
    ln -s /opt/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} /opt/jdk &&\
    rm -rf /opt/jdk/*src.zip \
           /opt/jdk/lib/missioncontrol \
           /opt/jdk/lib/visualvm \
           /opt/jdk/lib/*javafx* \
           /opt/jdk/jre/lib/plugin.jar \
           /opt/jdk/jre/lib/ext/jfxrt.jar \
           /opt/jdk/jre/bin/javaws \
           /opt/jdk/jre/lib/javaws.jar \
           /opt/jdk/jre/lib/desktop \
           /opt/jdk/jre/plugin \
           /opt/jdk/jre/lib/deploy* \
           /opt/jdk/jre/lib/*javafx* \
           /opt/jdk/jre/lib/*jfx* \
           /opt/jdk/jre/lib/amd64/libdecora_sse.so \
           /opt/jdk/jre/lib/amd64/libprism_*.so \
           /opt/jdk/jre/lib/amd64/libfxplugins.so \
           /opt/jdk/jre/lib/amd64/libglass.so \
           /opt/jdk/jre/lib/amd64/libgstreamer-lite.so \
           /opt/jdk/jre/lib/amd64/libjavafx*.so \
           /opt/jdk/jre/lib/amd64/libjfx*.so && \
    rm -rf /opt/jdk/jre/bin/jjs \
           /opt/jdk/jre/bin/keytool \
           /opt/jdk/jre/bin/orbd \
           /opt/jdk/jre/bin/pack200 \
           /opt/jdk/jre/bin/policytool \
           /opt/jdk/jre/bin/rmid \
           /opt/jdk/jre/bin/rmiregistry \
           /opt/jdk/jre/bin/servertool \
           /opt/jdk/jre/bin/tnameserv \
           /opt/jdk/jre/bin/unpack200 \
           /opt/jdk/jre/lib/ext/nashorn.jar \
           /opt/jdk/jre/lib/jfr.jar \
           /opt/jdk/jre/lib/jfr \
           /opt/jdk/jre/lib/oblique-fonts

# Set environment
ENV     JAVA_HOME /opt/jdk
ENV     PATH ${PATH}:${JAVA_HOME}/bin

# Layer 3 - groovy

WORKDIR /opt/
ENV     GROOVY_HOME /opt/groovy/
ENV     PATH ${PATH}:${GROOVY_HOME}/bin
ENV     GROOVY_VERSION 2.4.7

RUN     apk --update add curl unzip && \
        curl -sLo /opt/groovy.zip 
https://bintray.com/artifact/download/groovy/maven/apache-groovy-binary-${GROOVY_VERSION}.zip
 && \
        unzip /opt/groovy.zip && \
        rm -f /opt/groovy.zip && \
        ln -s /opt/groovy-${GROOVY_VERSION} /opt/groovy
{quote}

> groovy-2.4.7/bin/startGroovy: line 275: syntax error: bad substitution
> ----------------------------------------------------------------------
>
>                 Key: GROOVY-7906
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7906
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.4.7
>         Environment: Alpine linux (=> no bash, busybox only)
>            Reporter: Peter B.
>
> running groovy in alpine linux results in:
> {code}
> /tmp/groovy-2.4.7/bin/startGroovy: line 275: syntax error: bad substitution
> {code}
> as a workaround I'm running:
> {code}
> sed -ie '274,275d' /tmp/groovy-2.4.7/bin/startGroovy
> {code}
> prior to invoking groovy



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to