Skip to content

Commit

Permalink
Don't do settings.php templating in the-build.
Browse files Browse the repository at this point in the history
  • Loading branch information
becw committed Sep 3, 2021
1 parent e702e2f commit c6f0c98
Show file tree
Hide file tree
Showing 11 changed files with 38 additions and 258 deletions.
4 changes: 2 additions & 2 deletions defaults.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
build:
# The destination host, either 'acquia', 'pantheon', 'platformsh', or 'other'. This is
# currently only used when setting up the settings.php file for a Drupal site.
host: other
host: acquia

# Drupal configuration used by targets/drupal.xml
drupal:
Expand Down Expand Up @@ -240,7 +240,7 @@ phpcs:
# use the extensions option (below). This option should not be used with Coder >= 8.3.7, which only
# checks php, inc, css, and js by default.
ignore: "*.md"

# Comma-separated list of extensions to check in the PHP_CodeSniffer review.
extensions: "php,module,inc,install,test,profile,theme,css,info,txt,yml,js"

Expand Down
15 changes: 0 additions & 15 deletions defaults/install/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,6 @@
<mkdir dir="${drupal.root}/${drupal.site.settings.file_private_path}" />
<chmod file="${drupal.root}/${drupal.site.settings.file_private_path}" mode="640" />

<!-- Copy the settings.build.php and services.build.php templates into place. -->
<copy todir="${build.dir}" overwrite="true" mode="544">
<!-- Copy the template files -->
<filelist dir="${build.dir}" files="${drupal.site.build.settings_template},${drupal.site.build.services_template}" />
<!-- Map templates to their destinations -->
<mapper type="firstmatch">
<mapper type="glob" from="${drupal.site.build.settings_template}" to="${drupal.site.build.settings_dest}" />
<mapper type="glob" from="${drupal.site.build.services_template}" to="${drupal.site.build.services_dest}" />
</mapper>
<!-- Substitute property values -->
<filterchain>
<expandproperties />
</filterchain>
</copy>

<!-- Include styleguide resources in the theme. This approach will symlink
resources in development environments, and copy them for artifact builds. -->
<!-- <includeresource source="styleguide/source/assets/css" dest="${drupal.root}/themes/custom/example_theme/css" /> -->
Expand Down
6 changes: 0 additions & 6 deletions defaults/install/drupal/services.build.yml

This file was deleted.

43 changes: 0 additions & 43 deletions defaults/install/drupal/settings.build-acquia.php

This file was deleted.

18 changes: 0 additions & 18 deletions defaults/install/drupal/settings.build-pantheon.php

This file was deleted.

21 changes: 0 additions & 21 deletions defaults/install/drupal/settings.build-platformsh.php

This file was deleted.

49 changes: 0 additions & 49 deletions defaults/install/drupal/settings.build.php

This file was deleted.

10 changes: 0 additions & 10 deletions defaults/install/the-build/build.acquia.yml

This file was deleted.

10 changes: 0 additions & 10 deletions defaults/install/the-build/build.pantheon.yml

This file was deleted.

10 changes: 0 additions & 10 deletions defaults/install/the-build/build.platformsh.yml

This file was deleted.

110 changes: 36 additions & 74 deletions targets/install.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@
<case value="acquia">
<property name="drupal.root" value="docroot" />
</case>
<case value="pantheon">
<property name="drupal.root" value="web" />
</case>
<case value="platformsh">
<property name="drupal.root" value="web" />
</case>
<default />
</switch>

Expand Down Expand Up @@ -137,34 +143,8 @@
<!-- Copy the CircleCI properties. -->
<copy file="${phing.dir.install}/../defaults/install/the-build/build.circleci.yml" tofile="${application.startdir}/.the-build/build.circleci.yml" overwrite="true" />

<!-- Add host-specific files for settings.php templates, the-build properties, and hosting configuration. -->
<switch value="${build.host}">
<case value="acquia">
<copy file="${phing.dir.install}/../defaults/install/drupal/settings.build-acquia.php" todir="${application.startdir}/.the-build/drupal" overwrite="true" />
<copy file="${phing.dir.install}/../defaults/install/the-build/build.acquia.yml" todir="${application.startdir}/.the-build" overwrite="true" />
</case>

<case value="pantheon">
<copy file="${build.thebuild.dir}/defaults/install/drupal/settings.build-pantheon.php" todir="${application.startdir}/.the-build/drupal" overwrite="true" />
<copy file="${build.thebuild.dir}/defaults/install/the-build/build.pantheon.yml" todir="${application.startdir}/.the-build" overwrite="true" />
<copy file="${build.thebuild.dir}/defaults/install/pantheon.yml" todir="${application.startdir}" overwrite="true" />
</case>

<case value="platformsh">
<copy file="${build.thebuild.dir}/defaults/install/drupal/settings.build-platformsh.php" todir="${application.startdir}/.the-build/drupal" overwrite="true" />
<copy file="${build.thebuild.dir}/defaults/install/the-build/build.platformsh.yml" todir="${application.startdir}/.the-build" overwrite="true" />
<copy file="${build.thebuild.dir}/defaults/install/.platform.app.yaml" todir="${application.startdir}" overwrite="true" />
<copy todir="${application.startdir}/.platform" overwrite="true">
<fileset dir="${build.thebuild.dir}/defaults/install/.platform" />
</copy>
<httpget url="https://raw.githubusercontent.com/platformsh/template-drupal8/master/.environment" dir="${build.dir}/" />
</case>
<default />
</switch>

<!-- Copy Drupal configuration templates (used by the 'build' target). -->
<copy file="${phing.dir.install}/../defaults/install/drupal/services.build.yml" todir="${application.startdir}/.the-build/drupal" />
<copy file="${phing.dir.install}/../defaults/install/drupal/settings.build.php" todir="${application.startdir}/.the-build/drupal" />
<!-- Add host-specific configuration files. -->
<phingcall target="configure-host" />

<!-- Copy Drush configuration and aliases file templates. -->
<copy file="${phing.dir.install}/../defaults/install/drush/drush.yml" tofile="${application.startdir}/drush/drush.yml" overwrite="true">
Expand All @@ -181,9 +161,9 @@
</copy>

<!-- Set up the Drupal sites directory. -->
<phingcall target="drupal-sites-directory">
<property name="drupal.site.dir" value="default" />
</phingcall>
<mkdir dir="${build.dir}/${drupal.root}/sites/${drupal.site.dir}" />
<chmod mode="750" file="${build.dir}/${drupal.root}/sites/default/" />
<mkdir dir="${build.dir}/${drupal.root}/sites/${drupal.site.dir}/files" />

<!-- Run the first build. -->
<phing dir="${application.startdir}" target="build" inheritAll="false" />
Expand Down Expand Up @@ -224,55 +204,37 @@
$> phing test</echo>
</target>

<target name="configure-host" description="Add host-specific configuration files.">
<fail unless="build.host" />

<target name="drupal-sites-directory" hidden="true">
<fail unless="drupal.site.dir" />
<fail unless="build.host" />
<fail unless="drupal.root" />
<fail unless="build.dir" />
<switch value="${build.host}">
<case value="pantheon">
<!-- Project-level setup -->
<copy file="${build.thebuild.dir}/defaults/install/pantheon.yml" todir="${application.startdir}" overwrite="true" />

<!-- Make sure the sites directory exists. This is not necessary for the 'default' site, but is required for creating additional multisites. -->
<mkdir dir="${build.dir}/${drupal.root}/sites/${drupal.site.dir}" />
<!-- Site-level setup -->
<httpget url="https://raw.githubusercontent.com/pantheon-systems/drops-8/default/sites/default/settings.pantheon.php" dir="${build.dir}/${drupal.root}/sites/${drupal.site.dir}" />
</case>

<!-- Use our own basic Drupal settings.php file. -->
<chmod mode="750" file="${build.dir}/${drupal.root}/sites/default/" />
<copy file="${build.thebuild.dir}/defaults/install_site/drupal/settings.php" tofile="${build.dir}/${drupal.root}/sites/${drupal.site.dir}/settings.php" overwrite="true">
<filterchain>
<expandproperties />
</filterchain>
</copy>

<!-- Use the default Drupal services.yml file. -->
<copy file="${build.dir}/${drupal.root}/sites/default/default.services.yml" tofile="${build.dir}/${drupal.root}/sites/${drupal.site.dir}/services.yml" overwrite="true">
<filterchain>
<striplinecomments>
<comment value="#" />
</striplinecomments>
</filterchain>
<case value="platformsh">
<!-- Project-level setup -->
<copy file="${build.thebuild.dir}/defaults/install/.platform.app.yaml" todir="${application.startdir}" overwrite="true" />
<copy todir="${application.startdir}/.platform" overwrite="true">
<fileset dir="${build.thebuild.dir}/defaults/install/.platform" />
</copy>
<httpget url="https://raw.githubusercontent.com/platformsh/template-drupal8/master/.environment" dir="${build.dir}/" />

<!-- Add host-specific settings.php and deployment files. -->
<switch value="${build.host}">
<case value="acquia">
<copy file="${build.thebuild.dir}/defaults/install_site/drupal/settings.acquia.php" todir="${build.dir}/${drupal.root}/sites/${drupal.site.dir}" />
</case>
<!-- Site-level setup -->
<composer command="require" composer="${composer.composer}">
<arg line="--working-dir ${application.startdir}" />
<arg value="platformsh/config-reader:^2.1" />
</composer>
<httpget url="https://raw.githubusercontent.com/platformsh/template-drupal8/master/web/sites/default/settings.platformsh.php" dir="${build.dir}/${drupal.root}/sites/${drupal.site.dir}" />
</case>

<case value="pantheon">
<httpget url="https://raw.githubusercontent.com/pantheon-systems/drops-8/default/sites/default/settings.pantheon.php" dir="${build.dir}/${drupal.root}/sites/${drupal.site.dir}" />
</case>

<case value="platformsh">
<composer command="require" composer="${composer.composer}">
<arg line="--working-dir ${application.startdir}" />
<arg value="platformsh/config-reader:^2.1" />
</composer>
<httpget url="https://raw.githubusercontent.com/platformsh/template-drupal8/master/web/sites/default/settings.platformsh.php" dir="${build.dir}/${drupal.root}/sites/${drupal.site.dir}" />
</case>
<default />
</switch>

<echo msg="Set up the Drupal sites directory at '${drupal.root}/sites/${drupal.site.dir}/'" />
</target>
<default />
</switch>

</target>

</project>

0 comments on commit c6f0c98

Please sign in to comment.