kopia lustrzana https://github.com/jupyterhub/repo2docker
do not reuse BuildPack instances
rather than instantiating all buildpacks ahead of time, only instantiate as needed. Makes it clear that a given BuildPack should only perform a single build and a new BuildPack should be created for a subsequent build.pull/228/head
rodzic
e0f726dbe0
commit
1ffec7ded6
|
@ -60,13 +60,13 @@ class Repo2Docker(Application):
|
||||||
|
|
||||||
buildpacks = List(
|
buildpacks = List(
|
||||||
[
|
[
|
||||||
LegacyBinderDockerBuildPack(),
|
LegacyBinderDockerBuildPack,
|
||||||
DockerBuildPack(),
|
DockerBuildPack,
|
||||||
JuliaBuildPack(),
|
JuliaBuildPack,
|
||||||
CondaBuildPack(),
|
CondaBuildPack,
|
||||||
Python2BuildPack(),
|
Python2BuildPack,
|
||||||
RBuildPack(),
|
RBuildPack,
|
||||||
PythonBuildPack()
|
PythonBuildPack,
|
||||||
],
|
],
|
||||||
config=True,
|
config=True,
|
||||||
help="""
|
help="""
|
||||||
|
@ -75,7 +75,7 @@ class Repo2Docker(Application):
|
||||||
)
|
)
|
||||||
|
|
||||||
default_buildpack = Any(
|
default_buildpack = Any(
|
||||||
PythonBuildPack(),
|
PythonBuildPack,
|
||||||
config=True,
|
config=True,
|
||||||
help="""
|
help="""
|
||||||
The build pack to use when no buildpacks are found
|
The build pack to use when no buildpacks are found
|
||||||
|
@ -547,12 +547,14 @@ class Repo2Docker(Application):
|
||||||
)
|
)
|
||||||
|
|
||||||
os.chdir(checkout_path)
|
os.chdir(checkout_path)
|
||||||
picked_buildpack = self.default_buildpack
|
|
||||||
|
|
||||||
for bp in self.buildpacks:
|
for BP in self.buildpacks:
|
||||||
|
bp = BP()
|
||||||
if bp.detect():
|
if bp.detect():
|
||||||
picked_buildpack = bp
|
picked_buildpack = bp
|
||||||
break
|
break
|
||||||
|
else:
|
||||||
|
picked_buildpack = self.default_buildpack()
|
||||||
|
|
||||||
self.log.debug(picked_buildpack.render(),
|
self.log.debug(picked_buildpack.render(),
|
||||||
extra=dict(phase='building'))
|
extra=dict(phase='building'))
|
||||||
|
|
Ładowanie…
Reference in New Issue