Diff of /trunk/wharfie/wharfie.py [r30] .. [r31]  Maximize  Restore

Switch to unified view

a/trunk/wharfie/wharfie.py b/trunk/wharfie/wharfie.py
...
...
91
from shutil import copyfile
91
from shutil import copyfile
92
from lib import makefile as make
92
from lib import makefile as make
93
from lib import actions
93
from lib import actions
94
from lib import files
94
from lib import files
95
95
96
regexCommand = '^[ \t]*(RUN HOST|RUN|FROM|TOOLCHAIN|TO|ADD|COPY|ENTRYPOINT|SOURCE|LICENSE|ENV|[a-zA-Z0-9]+)([^\n]*)';
96
regexCommand = '^[ \t]*(RUN HOST|RUN|FROM|TOOLCHAIN|TO|ADD|COPY|WORKDIR|ENTRYPOINT|SOURCE|LICENSE|ENV|ARG|EXPOSE|[a-zA-Z0-9]+)([^\n]*)';
97
g_depend = '';
97
g_depend = '';
98
98
99
#
99
#
100
# Read a Wharfile
100
# Read a Wharfile
101
#
101
#
...
...
111
        if bld != '':
111
        if bld != '':
112
            dep.append(bld);
112
            dep.append(bld);
113
        if g_depend != '':
113
        if g_depend != '':
114
            dep.append(g_depend);
114
            dep.append(g_depend);
115
115
116
        if cmd[0] not in ('FROM', 'ENV'):
116
        if cmd[0] not in ('FROM', 'ENV', 'ARG', 'EXPOSE', 'WORKDIR'):
117
            g_allDepends += str(cmd);
117
            g_allDepends += str(cmd);
118
            if g_allDepends != '':
118
            if g_allDepends != '':
119
                bld = format(0xFFFFFFFF & binascii.crc32(g_allDepends), '02X') + ".piling.tar";
119
                bld = format(0xFFFFFFFF & binascii.crc32(g_allDepends), '02X') + ".piling.tar";
120
120
121
        # EXPOSE
122
        if cmd[0] == 'EXPOSE':
123
            pass
124
        # WORKDIR
125
        elif cmd[0] == 'WORKDIR':
126
            actions.workingdir(bld, dep, cmd)
121
        # FROM
127
        # FROM
122
        if cmd[0] == 'FROM':
128
        elif cmd[0] == 'FROM':
123
            # special handling for debootstrap
129
            # special handling for debootstrap
124
            if cmd[1].lstrip().startswith("debian_"):
130
            if cmd[1].lstrip().startswith("debian_"):
125
                g_depend = cmd[1].lstrip() + ".tar";
131
                g_depend = cmd[1].lstrip() + ".tar";
126
            else:
132
            else:
127
                g_depend = files.input_file(cmd[1]);
133
                g_depend = files.input_file(cmd[1]);
128
134
129
        # ENV
135
        # ENV / ARG
130
        elif cmd[0] == 'ENV':
136
        elif cmd[0] == 'ENV' or cmd[0] == 'ARG':
137
            arg = cmd[1].lstrip()
138
            if (not " " in arg) and ("=" in arg):
139
                arg = arg.replace("=", " ")
131
            make.environment.append(cmd[1]);
140
            make.environment.append(arg);
132
141
133
        # RUN
142
        # RUN
134
        elif cmd[0] == 'RUN':
143
        elif cmd[0] == 'RUN':
135
            makeTarget=actions.run(bld, dep, cmd)
144
            makeTarget=actions.run(bld, dep, cmd)
136
            make.makeTargets.append(makeTarget);
145
            make.makeTargets.append(makeTarget);