Skip to content

Commit ba0c27d

Browse files
committed
Merge branch 'bug/appdir' into 'master'
fix appdir bug See merge request !50
2 parents 1095c82 + 60aa0bc commit ba0c27d

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.7.12f
1+
0.7.13

cluster/calcium/build_image.go

+15-13
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ RUN {{$value}}
5757
{{end}}
5858
`
5959

60-
// Entry is used to format templates
61-
type entry struct {
60+
// richSpecs is used to format templates
61+
type richSpecs struct {
62+
types.Specs
6263
Command string
6364
Appdir string
64-
Appname string
6565
UID string
6666
}
6767

@@ -154,10 +154,11 @@ func (c *calcium) BuildImage(repository, version, uid, artifact string) (chan *t
154154
}
155155

156156
// create launcher scripts and dockerfile
157-
if err := createLauncher(c.config.AppDir, buildDir, uid, specs); err != nil {
157+
rs := richSpecs{specs, "", strings.TrimRight(c.config.AppDir, "/"), uid}
158+
if err := createLauncher(buildDir, rs); err != nil {
158159
return ch, err
159160
}
160-
if err := createDockerfile(buildDir, uid, reponame, specs); err != nil {
161+
if err := createDockerfile(buildDir, reponame, rs); err != nil {
161162
return ch, err
162163
}
163164

@@ -255,19 +256,19 @@ func createTarStream(path string) (io.ReadCloser, error) {
255256
}
256257

257258
// launcher scripts
258-
func createLauncher(appDir, buildDir, uid string, specs types.Specs) error {
259+
func createLauncher(buildDir string, rs richSpecs) error {
259260
launcherScriptTemplate, _ := template.New("launcher script").Parse(launcherScript)
260261

261-
entryCommand := fmt.Sprintf("exec sudo -E -u %s $@", specs.Appname)
262+
entryCommand := fmt.Sprintf("exec sudo -E -u %s $@", rs.Appname)
262263
entryRootCommand := "exec $@"
263264

264265
f, err := os.Create(filepath.Join(buildDir, "launcher"))
265266
if err != nil {
266267
return err
267268
}
268269
defer f.Close()
269-
appDir = strings.TrimRight(appDir, "/")
270-
launcherScriptTemplate.Execute(f, entry{Command: entryCommand, Appdir: appDir, Appname: specs.Appname, UID: uid})
270+
rs.Command = entryCommand
271+
launcherScriptTemplate.Execute(f, rs)
271272
if err := f.Sync(); err != nil {
272273
return err
273274
}
@@ -280,7 +281,8 @@ func createLauncher(appDir, buildDir, uid string, specs types.Specs) error {
280281
return err
281282
}
282283
defer fr.Close()
283-
launcherScriptTemplate.Execute(fr, entry{Command: entryRootCommand, Appdir: appDir, Appname: specs.Appname, UID: uid})
284+
rs.Command = entryRootCommand
285+
launcherScriptTemplate.Execute(fr, rs)
284286
if err := fr.Sync(); err != nil {
285287
return err
286288
}
@@ -292,20 +294,20 @@ func createLauncher(appDir, buildDir, uid string, specs types.Specs) error {
292294
}
293295

294296
// Dockerfile
295-
func createDockerfile(buildDir, uid, reponame string, specs types.Specs) error {
297+
func createDockerfile(buildDir, reponame string, rs richSpecs) error {
296298
f, err := os.Create(filepath.Join(buildDir, "Dockerfile"))
297299
if err != nil {
298300
return err
299301
}
300302
defer f.Close()
301303

302-
dockerFileFormatted := fmt.Sprintf(dockerFile, reponame, uid, uid)
304+
dockerFileFormatted := fmt.Sprintf(dockerFile, reponame, rs.UID, rs.UID)
303305
t := template.New("docker file template")
304306
parsedTemplate, err := t.Parse(dockerFileFormatted)
305307
if err != nil {
306308
return err
307309
}
308-
err = parsedTemplate.Execute(f, specs)
310+
err = parsedTemplate.Execute(f, rs)
309311
if err != nil {
310312
return err
311313
}

0 commit comments

Comments
 (0)