You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updating a project built with gitpod-laravel-starter is quite a pain. Without knowledge of the of some of the inner workings of the system, a user could break their project just trying to install or update to the latest release.
Background
gitpod-laravel-starter is essentially a codebase within a codebase, a project within a project if you will. gitpod-laravel-starter has quite a few files that a project might need to make changes to such as starter.ini, .gitignore, and gitattributes to name a few. This creates a set of challenges to making the update process as seamless as possible.
Proposed Solution
Add a set of three tools: install, update and uninstall . Although a language like Go would be probably be better suilted for building out command line tools like this, to reduce development time and increase transparency, these tools will be bash scripts that the user can invoke using curl, wget or fetch. Alternatively gitpod-laravel-starter will provide a bash script in /usr/bin that wraps these scripts to provide a convenient and terse way to install, update and uninstall gitpod-laravel-starter.
Constraints and Assumptions
The development cycle for these scripts will independent of gitpod-laravel-starter itself, so the tools: update.sh, install.sh and uninstall.sh will exist in their own dedicated repository: https://github.com/apolopena/gls-tools
As mentioned in the Background section, the scripts will be interactive but will all be built in a way that allows them to be run with the least amount of interactivity possible when yes is piped into them.
The scripts will share a lot of common functionality but we do not want copious amounts of redundant code. To handle this challenge, the tools will share some common files. Given that bash scripts as executables in /usr/bin need to be a single file, shared dependencies will be sourced into each script every time the script is invoked. This is not ideal but should suffice for the forseeable future.
Alternatives or Workarounds
Manual installs, updates and uninstalls can be done and is left up to the user as to how this should be done.
Additional context
This is the main feature request however a feature request for each script/tool/command will be created and linked to this one.
Problem this feature will solve
Updating a project built with
gitpod-laravel-starter
is quite a pain. Without knowledge of the of some of the inner workings of the system, a user could break their project just trying to install or update to the latest release.Background
gitpod-laravel-starter
is essentially a codebase within a codebase, a project within a project if you will.gitpod-laravel-starter
has quite a few files that a project might need to make changes to such asstarter.ini
,.gitignore
, andgitattributes
to name a few. This creates a set of challenges to making the update process as seamless as possible.Proposed Solution
Add a set of three tools:
install
,update
anduninstall
. Although a language like Go would be probably be better suilted for building out command line tools like this, to reduce development time and increase transparency, these tools will be bash scripts that the user can invoke usingcurl
,wget
orfetch
. Alternativelygitpod-laravel-starter
will provide a bash script in/usr/bin
that wraps these scripts to provide a convenient and terse way to install, update and uninstallgitpod-laravel-starter
.Constraints and Assumptions
gitpod-laravel-starter
itself, so the tools:update.sh
,install.sh
anduninstall.sh
will exist in their own dedicated repository: https://github.com/apolopena/gls-toolsyes
is piped into them./usr/bin
need to be a single file, shared dependencies will be sourced into each script every time the script is invoked. This is not ideal but should suffice for the forseeable future.Alternatives or Workarounds
Manual installs, updates and uninstalls can be done and is left up to the user as to how this should be done.
Additional context
This is the main feature request however a feature request for each script/tool/command will be created and linked to this one.
The main shared functionality for the scripts will be:
The text was updated successfully, but these errors were encountered: