Skip to content

Add backslash line continuation to package install scripts - #708

Open
ryanjbonnell wants to merge 6 commits into
serversideup:release/webserver-improvements-and-fixesfrom
ryanjbonnell:patch-1
Open

ryanjbonnell wants to merge 6 commits into
serversideup:release/webserver-improvements-and-fixesfrom
ryanjbonnell:patch-1

Conversation

@ryanjbonnell

Copy link
Copy Markdown

This update allows for packages to be installed using line continuation, improving the developer experience writing Dockerfile commands.

Presently, the docker-php-serversideup-dep-install-debian (or -alpine) commands allow for one or more packages to be installed using spaces or commas:

# Single package
RUN docker-php-serversideup-dep-install-debian git

# Space separated
RUN docker-php-serversideup-dep-install-debian git zip

# Comma separated
RUN docker-php-serversideup-dep-install-debian "git,zip"

RUN docker-php-serversideup-dep-install-debian "git, zip"

With these changes, the command can now accept packages across lines using the backspace line continuation method, as well as other existing methods.

RUN docker-php-serversideup-dep-install-debian \
        bat \
        eza \
        fd-find \
        less \
        nano \
        ripgrep \
        zip

This greatly increases readability, and allows for cleaner diffs when many packages are listed. It remains fully backwards compatible with no breaking changes.

The inspiration came from using the command alongside install-php-extensions, which neatly allowed for line breaks:

RUN install-php-extensions \
       pdo_snowflake-4.2.0 \
       pdo_sqlsrv-5.13.3 \
       sqlsrv-5.13.3

If by chance an empty string is passed in as an argument, an INFO message is displayed and allows the script to continue with an exit code of zero.

I've found this to be immensely helpful in my own work and wanted to share it with others.

@jaydrogers
jaydrogers changed the base branch from main to release/webserver-improvements-and-fixes September 25, 2026 23:49

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants