Open JesterOrNot opened 4 years ago
Oh right...Build context...Hmm
What about a system like @Kreyren proposed where we use the package manager stating that but with the option to use $PATH for packages we find that weren't installed by the package manager and that it must be done from /
in Pseudocode Something like
IF !installedFromPackageManager THEN
// Do stuff to install from $PATH
END
@Kreyren, thoughts?
For the UX i would output a path to where this dockerfile has been saved:
Same for CLI:
Does not seem to have proper checking for required dependencies
Generated dockerfile is mostly unreadable -> Add spaces?
Proposed:
ENV \
BAZ=1
BAR=1
or
ENV BAZ=1
ENV BAR=1
...
COPY /home/gitpod/.pyenv/versions/3.6.2/bin /home/gitpod/.pyenv/versions/3.6.2/bin
COPY /home/gitpod/.pyenv/libexec /home/gitpod/.pyenv/libexec
COPY /home/gitpod/.pyenv/plugins/python-build/bin /home/gitpod/.pyenv/plugins/python-build/bin
COPY /home/gitpod/.pyenv/plugins/pyenv-virtualenv/bin /home/gitpod/.pyenv/plugins/pyenv-virtualenv/bin
COPY /home/gitpod/.pyenv/plugins/pyenv-update/bin /home/gitpod/.pyenv/plugins/pyenv-update/bin
COPY /home/gitpod/.pyenv/plugins/pyenv-installer/bin /home/gitpod/.pyenv/plugins/pyenv-installer/bin
COPY /home/gitpod/.pyenv/plugins/pyenv-doctor/bin /home/gitpod/.pyenv/plugins/pyenv-doctor/bin
COPY /home/gitpod/.cargo/bin /home/gitpod/.cargo/bin
COPY /home/gitpod/.pyenv/plugins/pyenv-virtualenv/shims /home/gitpod/.pyenv/plugins/pyenv-virtualenv/shims
COPY /home/gitpod/.pyenv/shims /home/gitpod/.pyenv/shims
COPY /workspace/.cargo/bin /workspace/.cargo/bin
COPY /workspace/.pip-modules/bin /workspace/.pip-modules/bin
COPY /workspace/.rvm/bin /workspace/.rvm/bin
COPY /home/gitpod/.cargo/bin /home/gitpod/.cargo/bin
COPY /home/gitpod/.sdkman/candidates/maven/current/bin /home/gitpod/.sdkman/candidates/maven/current/bin
COPY /home/gitpod/.sdkman/candidates/java/current/bin /home/gitpod/.sdkman/candidates/java/current/bin
COPY /home/gitpod/.sdkman/candidates/gradle/current/bin /home/gitpod/.sdkman/candidates/gradle/current/bin
COPY /home/gitpod/.cargo/bin /home/gitpod/.cargo/bin
...
I would say that this has a likelyhood of breaking on runtime -> Implement a logic based on dockerimage used?
i.e if we need cargo on debian -> apt install -y cargo
EDIT: It would also make it practically unusable after an update.
This iterates over $PATH and adds all folders/files from it. I have updated the CLI and GUI to allow for the option to opt-out of adding programs from $PATH.
fixes #7