diff --git a/templates/drupal8-govcms8/.platform.template.yaml b/archived/drupal8-govcms8/.platform.template.yaml
similarity index 100%
rename from templates/drupal8-govcms8/.platform.template.yaml
rename to archived/drupal8-govcms8/.platform.template.yaml
diff --git a/templates/drupal8-govcms8/files/.editorconfig b/archived/drupal8-govcms8/files/.editorconfig
similarity index 100%
rename from templates/drupal8-govcms8/files/.editorconfig
rename to archived/drupal8-govcms8/files/.editorconfig
diff --git a/templates/drupal8-govcms8/files/.environment b/archived/drupal8-govcms8/files/.environment
similarity index 100%
rename from templates/drupal8-govcms8/files/.environment
rename to archived/drupal8-govcms8/files/.environment
diff --git a/templates/drupal8-govcms8/files/.gitignore b/archived/drupal8-govcms8/files/.gitignore
similarity index 100%
rename from templates/drupal8-govcms8/files/.gitignore
rename to archived/drupal8-govcms8/files/.gitignore
diff --git a/templates/drupal8-govcms8/files/.lando.upstream.yml b/archived/drupal8-govcms8/files/.lando.upstream.yml
similarity index 100%
rename from templates/drupal8-govcms8/files/.lando.upstream.yml
rename to archived/drupal8-govcms8/files/.lando.upstream.yml
diff --git a/templates/drupal8-govcms8/files/.platform.app.yaml b/archived/drupal8-govcms8/files/.platform.app.yaml
similarity index 100%
rename from templates/drupal8-govcms8/files/.platform.app.yaml
rename to archived/drupal8-govcms8/files/.platform.app.yaml
diff --git a/templates/drupal8-govcms8/files/.platform/routes.yaml b/archived/drupal8-govcms8/files/.platform/routes.yaml
similarity index 100%
rename from templates/drupal8-govcms8/files/.platform/routes.yaml
rename to archived/drupal8-govcms8/files/.platform/routes.yaml
diff --git a/templates/drupal8-govcms8/files/.platform/services.yaml b/archived/drupal8-govcms8/files/.platform/services.yaml
similarity index 100%
rename from templates/drupal8-govcms8/files/.platform/services.yaml
rename to archived/drupal8-govcms8/files/.platform/services.yaml
diff --git a/templates/drupal8-govcms8/files/README.md b/archived/drupal8-govcms8/files/README.md
similarity index 100%
rename from templates/drupal8-govcms8/files/README.md
rename to archived/drupal8-govcms8/files/README.md
diff --git a/templates/drupal8-govcms8/files/config/sync/.gitkeep b/archived/drupal8-govcms8/files/config/sync/.gitkeep
similarity index 100%
rename from templates/drupal8-govcms8/files/config/sync/.gitkeep
rename to archived/drupal8-govcms8/files/config/sync/.gitkeep
diff --git a/templates/drupal8-govcms8/files/docroot/sites/default/settings.php b/archived/drupal8-govcms8/files/docroot/sites/default/settings.php
similarity index 100%
rename from templates/drupal8-govcms8/files/docroot/sites/default/settings.php
rename to archived/drupal8-govcms8/files/docroot/sites/default/settings.php
diff --git a/templates/drupal8-govcms8/files/docroot/sites/default/settings.platformsh.php b/archived/drupal8-govcms8/files/docroot/sites/default/settings.platformsh.php
similarity index 100%
rename from templates/drupal8-govcms8/files/docroot/sites/default/settings.platformsh.php
rename to archived/drupal8-govcms8/files/docroot/sites/default/settings.platformsh.php
diff --git a/templates/drupal8-govcms8/files/drush/platformsh_generate_drush_yml.php b/archived/drupal8-govcms8/files/drush/platformsh_generate_drush_yml.php
similarity index 100%
rename from templates/drupal8-govcms8/files/drush/platformsh_generate_drush_yml.php
rename to archived/drupal8-govcms8/files/drush/platformsh_generate_drush_yml.php
diff --git a/templates/drupal8-govcms8/files/header.svg b/archived/drupal8-govcms8/files/header.svg
similarity index 100%
rename from templates/drupal8-govcms8/files/header.svg
rename to archived/drupal8-govcms8/files/header.svg
diff --git a/templates/drupal8-govcms8/gitignore.patch b/archived/drupal8-govcms8/gitignore.patch
similarity index 100%
rename from templates/drupal8-govcms8/gitignore.patch
rename to archived/drupal8-govcms8/gitignore.patch
diff --git a/templates/drupal8-govcms8/info/info.yaml b/archived/drupal8-govcms8/info/info.yaml
similarity index 100%
rename from templates/drupal8-govcms8/info/info.yaml
rename to archived/drupal8-govcms8/info/info.yaml
diff --git a/templates/drupal8-govcms8/info/post_install.md b/archived/drupal8-govcms8/info/post_install.md
similarity index 100%
rename from templates/drupal8-govcms8/info/post_install.md
rename to archived/drupal8-govcms8/info/post_install.md
diff --git a/templates/drupal8-govcms8/platformsh.wizard.yaml b/archived/drupal8-govcms8/platformsh.wizard.yaml
similarity index 100%
rename from templates/drupal8-govcms8/platformsh.wizard.yaml
rename to archived/drupal8-govcms8/platformsh.wizard.yaml
diff --git a/templates/drupal8-multisite/.platform.template.yaml b/archived/drupal8-multisite/.platform.template.yaml
similarity index 100%
rename from templates/drupal8-multisite/.platform.template.yaml
rename to archived/drupal8-multisite/.platform.template.yaml
diff --git a/templates/drupal8-multisite/files/.editorconfig b/archived/drupal8-multisite/files/.editorconfig
similarity index 100%
rename from templates/drupal8-multisite/files/.editorconfig
rename to archived/drupal8-multisite/files/.editorconfig
diff --git a/templates/drupal8-multisite/files/.environment b/archived/drupal8-multisite/files/.environment
similarity index 100%
rename from templates/drupal8-multisite/files/.environment
rename to archived/drupal8-multisite/files/.environment
diff --git a/templates/drupal8-multisite/files/.gitignore b/archived/drupal8-multisite/files/.gitignore
similarity index 100%
rename from templates/drupal8-multisite/files/.gitignore
rename to archived/drupal8-multisite/files/.gitignore
diff --git a/templates/drupal8-multisite/files/.lando.upstream.yml b/archived/drupal8-multisite/files/.lando.upstream.yml
similarity index 100%
rename from templates/drupal8-multisite/files/.lando.upstream.yml
rename to archived/drupal8-multisite/files/.lando.upstream.yml
diff --git a/templates/drupal8-multisite/files/.platform.app.yaml b/archived/drupal8-multisite/files/.platform.app.yaml
similarity index 100%
rename from templates/drupal8-multisite/files/.platform.app.yaml
rename to archived/drupal8-multisite/files/.platform.app.yaml
diff --git a/templates/drupal8-multisite/files/.platform/routes.yaml b/archived/drupal8-multisite/files/.platform/routes.yaml
similarity index 100%
rename from templates/drupal8-multisite/files/.platform/routes.yaml
rename to archived/drupal8-multisite/files/.platform/routes.yaml
diff --git a/templates/drupal8-multisite/files/.platform/services.yaml b/archived/drupal8-multisite/files/.platform/services.yaml
similarity index 100%
rename from templates/drupal8-multisite/files/.platform/services.yaml
rename to archived/drupal8-multisite/files/.platform/services.yaml
diff --git a/templates/drupal8-multisite/files/README.md b/archived/drupal8-multisite/files/README.md
similarity index 100%
rename from templates/drupal8-multisite/files/README.md
rename to archived/drupal8-multisite/files/README.md
diff --git a/templates/drupal8-multisite/files/config/sync/first/.gitkeep b/archived/drupal8-multisite/files/config/sync/first/.gitkeep
similarity index 100%
rename from templates/drupal8-multisite/files/config/sync/first/.gitkeep
rename to archived/drupal8-multisite/files/config/sync/first/.gitkeep
diff --git a/templates/drupal8-multisite/files/config/sync/main/.gitkeep b/archived/drupal8-multisite/files/config/sync/main/.gitkeep
similarity index 100%
rename from templates/drupal8-multisite/files/config/sync/main/.gitkeep
rename to archived/drupal8-multisite/files/config/sync/main/.gitkeep
diff --git a/templates/drupal8-multisite/files/config/sync/second/.gitkeep b/archived/drupal8-multisite/files/config/sync/second/.gitkeep
similarity index 100%
rename from templates/drupal8-multisite/files/config/sync/second/.gitkeep
rename to archived/drupal8-multisite/files/config/sync/second/.gitkeep
diff --git a/templates/drupal8-multisite/files/drush/platformsh_generate_drush_yml.php b/archived/drupal8-multisite/files/drush/platformsh_generate_drush_yml.php
similarity index 100%
rename from templates/drupal8-multisite/files/drush/platformsh_generate_drush_yml.php
rename to archived/drupal8-multisite/files/drush/platformsh_generate_drush_yml.php
diff --git a/templates/drupal8-multisite/files/header.svg b/archived/drupal8-multisite/files/header.svg
similarity index 100%
rename from templates/drupal8-multisite/files/header.svg
rename to archived/drupal8-multisite/files/header.svg
diff --git a/templates/drupal8-multisite/files/psh-subsite-add.php b/archived/drupal8-multisite/files/psh-subsite-add.php
similarity index 100%
rename from templates/drupal8-multisite/files/psh-subsite-add.php
rename to archived/drupal8-multisite/files/psh-subsite-add.php
diff --git a/templates/drupal8-multisite/files/web/sites/default.services.yml b/archived/drupal8-multisite/files/web/sites/default.services.yml
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/default.services.yml
rename to archived/drupal8-multisite/files/web/sites/default.services.yml
diff --git a/templates/drupal8-multisite/files/web/sites/default.settings.php b/archived/drupal8-multisite/files/web/sites/default.settings.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/default.settings.php
rename to archived/drupal8-multisite/files/web/sites/default.settings.php
diff --git a/templates/drupal8-multisite/files/web/sites/default/drushrc.php b/archived/drupal8-multisite/files/web/sites/default/drushrc.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/default/drushrc.php
rename to archived/drupal8-multisite/files/web/sites/default/drushrc.php
diff --git a/templates/drupal8-multisite/files/web/sites/default/services.yml b/archived/drupal8-multisite/files/web/sites/default/services.yml
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/default/services.yml
rename to archived/drupal8-multisite/files/web/sites/default/services.yml
diff --git a/templates/drupal8-multisite/files/web/sites/default/settings.php b/archived/drupal8-multisite/files/web/sites/default/settings.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/default/settings.php
rename to archived/drupal8-multisite/files/web/sites/default/settings.php
diff --git a/templates/drupal8-multisite/files/web/sites/first/drushrc.php b/archived/drupal8-multisite/files/web/sites/first/drushrc.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/first/drushrc.php
rename to archived/drupal8-multisite/files/web/sites/first/drushrc.php
diff --git a/templates/drupal8-multisite/files/web/sites/first/services.yml b/archived/drupal8-multisite/files/web/sites/first/services.yml
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/first/services.yml
rename to archived/drupal8-multisite/files/web/sites/first/services.yml
diff --git a/templates/drupal8-multisite/files/web/sites/first/settings.php b/archived/drupal8-multisite/files/web/sites/first/settings.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/first/settings.php
rename to archived/drupal8-multisite/files/web/sites/first/settings.php
diff --git a/templates/drupal8-multisite/files/web/sites/main/drushrc.php b/archived/drupal8-multisite/files/web/sites/main/drushrc.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/main/drushrc.php
rename to archived/drupal8-multisite/files/web/sites/main/drushrc.php
diff --git a/templates/drupal8-multisite/files/web/sites/main/services.yml b/archived/drupal8-multisite/files/web/sites/main/services.yml
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/main/services.yml
rename to archived/drupal8-multisite/files/web/sites/main/services.yml
diff --git a/templates/drupal8-multisite/files/web/sites/main/settings.php b/archived/drupal8-multisite/files/web/sites/main/settings.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/main/settings.php
rename to archived/drupal8-multisite/files/web/sites/main/settings.php
diff --git a/templates/drupal8-multisite/files/web/sites/second/drushrc.php b/archived/drupal8-multisite/files/web/sites/second/drushrc.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/second/drushrc.php
rename to archived/drupal8-multisite/files/web/sites/second/drushrc.php
diff --git a/templates/drupal8-multisite/files/web/sites/second/services.yml b/archived/drupal8-multisite/files/web/sites/second/services.yml
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/second/services.yml
rename to archived/drupal8-multisite/files/web/sites/second/services.yml
diff --git a/templates/drupal8-multisite/files/web/sites/second/settings.php b/archived/drupal8-multisite/files/web/sites/second/settings.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/second/settings.php
rename to archived/drupal8-multisite/files/web/sites/second/settings.php
diff --git a/templates/drupal8-multisite/files/web/sites/settings.platformsh.php b/archived/drupal8-multisite/files/web/sites/settings.platformsh.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/settings.platformsh.php
rename to archived/drupal8-multisite/files/web/sites/settings.platformsh.php
diff --git a/templates/drupal8-multisite/files/web/sites/sites.php b/archived/drupal8-multisite/files/web/sites/sites.php
similarity index 100%
rename from templates/drupal8-multisite/files/web/sites/sites.php
rename to archived/drupal8-multisite/files/web/sites/sites.php
diff --git a/templates/drupal8-multisite/info/info.yaml b/archived/drupal8-multisite/info/info.yaml
similarity index 100%
rename from templates/drupal8-multisite/info/info.yaml
rename to archived/drupal8-multisite/info/info.yaml
diff --git a/templates/drupal8-multisite/info/post_install.md b/archived/drupal8-multisite/info/post_install.md
similarity index 100%
rename from templates/drupal8-multisite/info/post_install.md
rename to archived/drupal8-multisite/info/post_install.md
diff --git a/templates/drupal8-multisite/platformsh.wizard.yaml b/archived/drupal8-multisite/platformsh.wizard.yaml
similarity index 100%
rename from templates/drupal8-multisite/platformsh.wizard.yaml
rename to archived/drupal8-multisite/platformsh.wizard.yaml
diff --git a/templates/drupal8-opigno/.platform.template.yaml b/archived/drupal8-opigno/.platform.template.yaml
similarity index 100%
rename from templates/drupal8-opigno/.platform.template.yaml
rename to archived/drupal8-opigno/.platform.template.yaml
diff --git a/templates/drupal8-opigno/files/.editorconfig b/archived/drupal8-opigno/files/.editorconfig
similarity index 100%
rename from templates/drupal8-opigno/files/.editorconfig
rename to archived/drupal8-opigno/files/.editorconfig
diff --git a/templates/drupal8-opigno/files/.environment b/archived/drupal8-opigno/files/.environment
similarity index 100%
rename from templates/drupal8-opigno/files/.environment
rename to archived/drupal8-opigno/files/.environment
diff --git a/templates/drupal8-opigno/files/.gitignore b/archived/drupal8-opigno/files/.gitignore
similarity index 100%
rename from templates/drupal8-opigno/files/.gitignore
rename to archived/drupal8-opigno/files/.gitignore
diff --git a/templates/drupal8-opigno/files/.lando.upstream.yml b/archived/drupal8-opigno/files/.lando.upstream.yml
similarity index 100%
rename from templates/drupal8-opigno/files/.lando.upstream.yml
rename to archived/drupal8-opigno/files/.lando.upstream.yml
diff --git a/templates/drupal8-opigno/files/.platform.app.yaml b/archived/drupal8-opigno/files/.platform.app.yaml
similarity index 100%
rename from templates/drupal8-opigno/files/.platform.app.yaml
rename to archived/drupal8-opigno/files/.platform.app.yaml
diff --git a/templates/drupal8-opigno/files/.platform/routes.yaml b/archived/drupal8-opigno/files/.platform/routes.yaml
similarity index 100%
rename from templates/drupal8-opigno/files/.platform/routes.yaml
rename to archived/drupal8-opigno/files/.platform/routes.yaml
diff --git a/templates/drupal8-opigno/files/.platform/services.yaml b/archived/drupal8-opigno/files/.platform/services.yaml
similarity index 100%
rename from templates/drupal8-opigno/files/.platform/services.yaml
rename to archived/drupal8-opigno/files/.platform/services.yaml
diff --git a/templates/drupal8-opigno/files/README.md b/archived/drupal8-opigno/files/README.md
similarity index 100%
rename from templates/drupal8-opigno/files/README.md
rename to archived/drupal8-opigno/files/README.md
diff --git a/templates/drupal8-opigno/files/config/sync/.gitkeep b/archived/drupal8-opigno/files/config/sync/.gitkeep
similarity index 100%
rename from templates/drupal8-opigno/files/config/sync/.gitkeep
rename to archived/drupal8-opigno/files/config/sync/.gitkeep
diff --git a/templates/drupal8-opigno/files/drush/platformsh_generate_drush_yml.php b/archived/drupal8-opigno/files/drush/platformsh_generate_drush_yml.php
similarity index 100%
rename from templates/drupal8-opigno/files/drush/platformsh_generate_drush_yml.php
rename to archived/drupal8-opigno/files/drush/platformsh_generate_drush_yml.php
diff --git a/templates/drupal8-opigno/files/header.svg b/archived/drupal8-opigno/files/header.svg
similarity index 100%
rename from templates/drupal8-opigno/files/header.svg
rename to archived/drupal8-opigno/files/header.svg
diff --git a/templates/drupal8-opigno/files/web/sites/default/settings.php b/archived/drupal8-opigno/files/web/sites/default/settings.php
similarity index 100%
rename from templates/drupal8-opigno/files/web/sites/default/settings.php
rename to archived/drupal8-opigno/files/web/sites/default/settings.php
diff --git a/templates/drupal8-opigno/files/web/sites/default/settings.platformsh.php b/archived/drupal8-opigno/files/web/sites/default/settings.platformsh.php
similarity index 100%
rename from templates/drupal8-opigno/files/web/sites/default/settings.platformsh.php
rename to archived/drupal8-opigno/files/web/sites/default/settings.platformsh.php
diff --git a/templates/drupal8-opigno/info/info.yaml b/archived/drupal8-opigno/info/info.yaml
similarity index 100%
rename from templates/drupal8-opigno/info/info.yaml
rename to archived/drupal8-opigno/info/info.yaml
diff --git a/templates/drupal8-opigno/info/post_install.md b/archived/drupal8-opigno/info/post_install.md
similarity index 100%
rename from templates/drupal8-opigno/info/post_install.md
rename to archived/drupal8-opigno/info/post_install.md
diff --git a/templates/drupal8-opigno/platformsh.wizard.yaml b/archived/drupal8-opigno/platformsh.wizard.yaml
similarity index 100%
rename from templates/drupal8-opigno/platformsh.wizard.yaml
rename to archived/drupal8-opigno/platformsh.wizard.yaml
diff --git a/templates/drupal8/.platform.template.yaml b/archived/drupal8/.platform.template.yaml
similarity index 100%
rename from templates/drupal8/.platform.template.yaml
rename to archived/drupal8/.platform.template.yaml
diff --git a/templates/drupal8/files/.editorconfig b/archived/drupal8/files/.editorconfig
similarity index 100%
rename from templates/drupal8/files/.editorconfig
rename to archived/drupal8/files/.editorconfig
diff --git a/templates/drupal8/files/.environment b/archived/drupal8/files/.environment
similarity index 100%
rename from templates/drupal8/files/.environment
rename to archived/drupal8/files/.environment
diff --git a/templates/drupal8/files/.gitignore b/archived/drupal8/files/.gitignore
similarity index 100%
rename from templates/drupal8/files/.gitignore
rename to archived/drupal8/files/.gitignore
diff --git a/templates/drupal8/files/.lando.upstream.yml b/archived/drupal8/files/.lando.upstream.yml
similarity index 100%
rename from templates/drupal8/files/.lando.upstream.yml
rename to archived/drupal8/files/.lando.upstream.yml
diff --git a/templates/drupal8/files/.platform.app.yaml b/archived/drupal8/files/.platform.app.yaml
similarity index 100%
rename from templates/drupal8/files/.platform.app.yaml
rename to archived/drupal8/files/.platform.app.yaml
diff --git a/templates/drupal8/files/.platform/routes.yaml b/archived/drupal8/files/.platform/routes.yaml
similarity index 100%
rename from templates/drupal8/files/.platform/routes.yaml
rename to archived/drupal8/files/.platform/routes.yaml
diff --git a/templates/drupal8/files/.platform/services.yaml b/archived/drupal8/files/.platform/services.yaml
similarity index 100%
rename from templates/drupal8/files/.platform/services.yaml
rename to archived/drupal8/files/.platform/services.yaml
diff --git a/templates/drupal8/files/README.md b/archived/drupal8/files/README.md
similarity index 100%
rename from templates/drupal8/files/README.md
rename to archived/drupal8/files/README.md
diff --git a/templates/drupal8/files/config/sync/.gitkeep b/archived/drupal8/files/config/sync/.gitkeep
similarity index 100%
rename from templates/drupal8/files/config/sync/.gitkeep
rename to archived/drupal8/files/config/sync/.gitkeep
diff --git a/templates/drupal8/files/drush/platformsh_generate_drush_yml.php b/archived/drupal8/files/drush/platformsh_generate_drush_yml.php
similarity index 100%
rename from templates/drupal8/files/drush/platformsh_generate_drush_yml.php
rename to archived/drupal8/files/drush/platformsh_generate_drush_yml.php
diff --git a/templates/drupal8/files/header.svg b/archived/drupal8/files/header.svg
similarity index 100%
rename from templates/drupal8/files/header.svg
rename to archived/drupal8/files/header.svg
diff --git a/templates/drupal8/files/web/sites/default/settings.php b/archived/drupal8/files/web/sites/default/settings.php
similarity index 100%
rename from templates/drupal8/files/web/sites/default/settings.php
rename to archived/drupal8/files/web/sites/default/settings.php
diff --git a/templates/drupal8/files/web/sites/default/settings.platformsh.php b/archived/drupal8/files/web/sites/default/settings.platformsh.php
similarity index 100%
rename from templates/drupal8/files/web/sites/default/settings.platformsh.php
rename to archived/drupal8/files/web/sites/default/settings.platformsh.php
diff --git a/templates/drupal8/info/info.yaml b/archived/drupal8/info/info.yaml
similarity index 100%
rename from templates/drupal8/info/info.yaml
rename to archived/drupal8/info/info.yaml
diff --git a/templates/drupal8/info/post_install.md b/archived/drupal8/info/post_install.md
similarity index 100%
rename from templates/drupal8/info/post_install.md
rename to archived/drupal8/info/post_install.md
diff --git a/templates/drupal8/platformsh.wizard.yaml b/archived/drupal8/platformsh.wizard.yaml
similarity index 100%
rename from templates/drupal8/platformsh.wizard.yaml
rename to archived/drupal8/platformsh.wizard.yaml
diff --git a/dodo.py b/dodo.py
index 1970bdccc..d59ab97c0 100644
--- a/dodo.py
+++ b/dodo.py
@@ -11,8 +11,7 @@
from project import BaseProject, TEMPLATEDIR
from project.akeneo import Akeneo
from project.backdrop import Backdrop
-from project.drupal import Drupal7_vanilla, Drupal8, Drupal8_multisite, Drupal8_opigno, Drupal8_govcms8, Drupal9
-from project.drupal import Drupal9_multisite, Contentacms, Drupal10
+from project.drupal import Drupal9, Drupal9_multisite, Contentacms, Drupal9_govcms9, Drupal10
from project.elasticapm import Elastic_apm
from project.gatsby import Gatsby
from project.hugo import Hugo
diff --git a/project/drupal.py b/project/drupal.py
index 4263cfad5..7c049dc7a 100644
--- a/project/drupal.py
+++ b/project/drupal.py
@@ -8,70 +8,6 @@
TEMPLATEDIR = os.path.join(ROOTDIR, 'templates')
-class Drupal7_vanilla(BaseProject):
- version = '7.67'
-
- @property
- def update(self):
- return super(Drupal7_vanilla, self).update + [
- "wget https://ftp.drupal.org/files/projects/drupal-{0}.tar.gz && tar xzvf drupal-{0}.tar.gz -C {1}".format(
- self.version, self.builddir),
- "rm drupal-{0}.tar.gz".format(self.version),
- "rm -rf {0}public || true".format(self.builddir),
- "mv {0}drupal-{1} {0}public".format(self.builddir, self.version),
- ]
-
-
-class Drupal8(RemoteProject):
- major_version = '8.9'
- remote = 'https://github.com/drupal/recommended-project.git'
-
-
- def package_update_actions(self):
- actions = super(Drupal8, self).package_update_actions()
- return [
- 'cd {0} && composer config -g allow-plugins.composer/installers true --no-plugins'.format(
- self.builddir),
- 'cd {0} && composer config allow-plugins.composer/installers true --no-plugins'.format(
- self.builddir),
- 'cd {0} && composer config allow-plugins.drupal/core-composer-scaffold true --no-plugins'.format(
- self.builddir),
- 'cd {0} && composer config allow-plugins.drupal/console-extend-plugin true --no-plugins'.format(
- self.builddir),
- 'cd {0} && composer config allow-plugins.drupal/core-project-message true --no-plugins'.format(
- self.builddir),
- 'cd {0} && composer config allow-plugins.cweagans/composer-patches true --no-plugins '.format(
- self.builddir),
- ] + actions
-
- @property
- def update(self):
- projectName = "drupal8"
-
- def drupal8_modify_composer(composer):
- """
- This change makes the template loadable via Composer (see https://github.com/platformsh-templates/drupal9/pull/33).
- """
-
- composer['name'] = "platformsh/{0}".format(projectName)
- composer[
- 'description'] = "This template builds Drupal 8 for Platform.sh based the \"Drupal Recommended\" Composer project."
-
- return composer
-
- return super(Drupal8, self).update + [
- (self.modify_composer, [drupal8_modify_composer])
- ]
-
- @property
- def platformify(self):
- return super(Drupal8, self).platformify + [
- 'cd {0} && composer require platformsh/config-reader drush/drush:^10.6 drupal/console drupal/redis'.format(
- self.builddir) + self.composer_defaults(),
- 'rsync -aP {0} {1}'.format(os.path.join(ROOTDIR, 'common/drupal8/'), self.builddir),
- ]
-
-
class Drupal9(RemoteProject):
# This can have a common base with Drupal 8 eventually, once modules are updated.
major_version = "9.5"
@@ -141,146 +77,6 @@ def drupal9_multisite_modify_composer(composer):
]
-class Drupal8_multisite(Drupal8):
- @property
- def update(self):
- projectName = "drupal8-multisite"
-
- def drupal8_multisite_modify_composer(composer):
- """
- This change makes the template loadable via Composer (see https://github.com/platformsh-templates/drupal9/pull/33).
- """
-
- composer['name'] = "platformsh/{0}".format(projectName)
- composer[
- 'description'] = "This template builds Drupal 8 in the multi-site configuration for Platform.sh based the \"Drupal Recommended\" Composer project."
-
- return composer
-
- return super(Drupal8_multisite, self).update + [
- (self.modify_composer, [drupal8_multisite_modify_composer])
- ]
-
-
-class Drupal8_opigno(RemoteProject):
- # major_version = '2'
- major_version = '3'
- # todo: update all of the bottom to d9
- remote = 'https://bitbucket.org/opigno/opigno-composer.git'
-
- def package_update_actions(self):
- actions = super(Drupal8_opigno, self).package_update_actions()
- return [
- 'cd {0} && composer config -g allow-plugins.composer/installers true --no-plugins'.format(self.builddir),
- 'cd {0} && composer config allow-plugins.composer/installers true --no-plugins'.format(self.builddir),
- 'cd {0} && composer config allow-plugins.drupal/core-composer-scaffold true --no-plugins'.format(self.builddir),
- 'cd {0} && composer config allow-plugins.drupal/console-extend-plugin true --no-plugins'.format(self.builddir),
- 'cd {0} && composer config allow-plugins.wikimedia/composer-merge-plugin true --no-plugins'.format(self.builddir),
- 'cd {0} && composer config allow-plugins.drupal/core-project-message true --no-plugins'.format(self.builddir),
- 'cd {0} && composer config allow-plugins.cweagans/composer-patches true --no-plugins '.format(self.builddir),
- ] + actions
-
- @property
- def update(self):
- projectName = "opigno-composer"
-
- def drupal8_opigno_modify_composer(composer):
- """
- This change makes the template loadable via Composer (see https://github.com/platformsh-templates/drupal9/pull/33).
- """
-
- composer['name'] = "platformsh/{0}".format(projectName)
- composer[
- 'description'] = "This template builds the Opigno Drupal 9 distribution using the \"Drupal Recommended\" Composer project."
-
- return composer
-
- return super(Drupal8_opigno, self).update + [
- (self.modify_composer, [drupal8_opigno_modify_composer])
- ]
-
- @property
- def platformify(self):
- return super(Drupal8_opigno, self).platformify + [
- 'cd {0} && composer require platformsh/config-reader drupal/redis'.format(
- self.builddir) + self.composer_defaults(),
- # 'cd {0} && composer require platformsh/config-reader drush/drush:^9.1 drupal/console drupal/redis psr/cache:^1.0'.format(self.builddir) + self.composer_defaults(),
- # 'cd {0} && composer config -g allow-plugins.composer/installers true --no-plugins'.format(self.builddir),
- # 'cd {0} && composer config allow-plugins.composer/installers true --no-plugins'.format(self.builddir),
- # 'cd {0} && composer config allow-plugins.drupal/core-composer-scaffold true --no-plugins'.format(self.builddir),
- # 'cd {0} && composer config allow-plugins.drupal/console-extend-plugin true --no-plugins'.format(self.builddir),
- # 'cd {0} && composer config allow-plugins.wikimedia/composer-merge-plugin true --no-plugins'.format(self.builddir),
- # 'cd {0} && composer config allow-plugins.drupal/core-project-message true --no-plugins'.format(self.builddir),
- # 'cd {0} && composer config allow-plugins.cweagans/composer-patches true --no-plugins '.format(self.builddir),
- 'cd {0} && composer update -W'.format(self.builddir) + self.composer_defaults(),
- 'rsync -aP {0} {1}'.format(os.path.join(ROOTDIR, 'common/drupal9/'), self.builddir),
- ]
-
-
-class Drupal8_govcms8(RemoteProject):
- major_version = '2.12'
- remote = 'https://github.com/govCMS/GovCMS.git'
-
- def package_update_actions(self):
- actions = super(Drupal8_govcms8, self).package_update_actions()
- return [
- 'cd {0} && composer config -g allow-plugins.composer/installers true --no-plugins'.format(
- self.builddir),
- 'cd {0} && composer config allow-plugins.composer/installers true --no-plugins'.format(
- self.builddir),
- 'cd {0} && composer config allow-plugins.drupal/core-composer-scaffold true --no-plugins'.format(
- self.builddir),
- 'cd {0} && composer config allow-plugins.drupal/core-project-message true --no-plugins'.format(
- self.builddir),
- 'cd {0} && composer config allow-plugins.cweagans/composer-patches true --no-plugins '.format(
- self.builddir),
- ] + actions
-
- @property
- def update(self):
- projectName = "govcms9"
-
- def drupal8_govcms8_modify_composer(composer):
- """
- This change makes the template loadable via Composer (see https://github.com/platformsh-templates/drupal9/pull/33).
- """
-
- composer['name'] = "platformsh/{0}".format(projectName)
- composer[
- 'description'] = "This template builds the Australian government's GovCMS Drupal 9 distribution using the \"Drupal Recommended\" Composer project."
-
- return composer
-
- return super(Drupal8_govcms8, self).update + [
- (self.modify_composer, [drupal8_govcms8_modify_composer])
- ]
-
- @property
- def update(self):
- return super(Drupal8_govcms8, self).update + [
- 'cd {0} && rm -rf .circleci'.format(self.builddir),
- 'cd {0} && rm -rf .github'.format(self.builddir),
- 'cd {0} && rm -rf .tugboat'.format(self.builddir),
- 'cd {0} && composer remove php {1}'.format(self.builddir, self.composer_defaults().replace('--prefer-dist', '')),
- # 'cd {0} && rm -rf web/profiles/govcms'.format(self.builddir),
- ]
-
- @property
- def platformify(self):
- return super(Drupal8_govcms8, self).platformify + [
- # GovCMS comes with a pre-made lock file that pins symfony/filesystem at v4, but
- # drupal/console only works with the 3.x version, and therefore will fail.
- # It should work to remove the lock file first, but for some reason that is still failing.
- # For now, just skip installing console on GovCMS. I don't know if anyone uses it anyway.
- # 'cd {0} && composer require platformsh/config-reader drush/drush drupal/redis'.format(self.builddir) + self.composer_defaults(),
- 'cd {0} && composer require platformsh/config-reader drush/drush:^10 drupal/redis'.format(
- self.builddir) + self.composer_defaults(),
- 'cd {0} && composer update -W'.format(self.builddir) + self.composer_defaults(),
- 'cd {0} && rm -rf web/profiles/govcms'.format(self.builddir),
- 'rsync -aP {0} {1}'.format(os.path.join(ROOTDIR, 'common/drupal9/'), self.builddir),
- ]
-
-
class Contentacms(BaseProject):
@property
@@ -362,7 +158,6 @@ def drupal9_govcms9_modify_composer(composer):
(self.modify_composer, [drupal9_govcms9_modify_composer])
]
-
@property
def update(self):
return super(Drupal9_govcms9, self).update + [
diff --git a/templates/drupal8-govcms8/files/scripts/composer/ScriptHandler.php b/templates/drupal8-govcms8/files/scripts/composer/ScriptHandler.php
deleted file mode 100644
index a75e4d34e..000000000
--- a/templates/drupal8-govcms8/files/scripts/composer/ScriptHandler.php
+++ /dev/null
@@ -1,100 +0,0 @@
-locateRoot(getcwd());
- $drupalRoot = $drupalFinder->getDrupalRoot();
-
- $dirs = [
- 'modules',
- 'profiles',
- 'themes',
- ];
-
- // Required for unit testing
- foreach ($dirs as $dir) {
- if (!$fs->exists($drupalRoot . '/'. $dir)) {
- $fs->mkdir($drupalRoot . '/'. $dir);
- $fs->touch($drupalRoot . '/'. $dir . '/.gitkeep');
- }
- }
-
- // Prepare the settings file for installation
- if (!$fs->exists($drupalRoot . '/sites/default/settings.php') and $fs->exists($drupalRoot . '/sites/default/default.settings.php')) {
- $fs->copy($drupalRoot . '/sites/default/default.settings.php', $drupalRoot . '/sites/default/settings.php');
- require_once $drupalRoot . '/core/includes/bootstrap.inc';
- require_once $drupalRoot . '/core/includes/install.inc';
- $settings['config_directories'] = [
- CONFIG_SYNC_DIRECTORY => (object) [
- 'value' => Path::makeRelative($drupalFinder->getComposerRoot() . '/config/sync', $drupalRoot),
- 'required' => TRUE,
- ],
- ];
- drupal_rewrite_settings($settings, $drupalRoot . '/sites/default/settings.php');
- $fs->chmod($drupalRoot . '/sites/default/settings.php', 0666);
- $event->getIO()->write("Create a sites/default/settings.php file with chmod 0666");
- }
-
- // Create the files directory with chmod 0777
- if (!$fs->exists($drupalRoot . '/sites/default/files')) {
- $oldmask = umask(0);
- $fs->mkdir($drupalRoot . '/sites/default/files', 0777);
- umask($oldmask);
- $event->getIO()->write("Create a sites/default/files directory with chmod 0777");
- }
- }
-
- /**
- * Checks if the installed version of Composer is compatible.
- *
- * Composer 1.0.0 and higher consider a `composer install` without having a
- * lock file present as equal to `composer update`. We do not ship with a lock
- * file to avoid merge conflicts downstream, meaning that if a project is
- * installed with an older version of Composer the scaffolding of Drupal will
- * not be triggered. We check this here instead of in drupal-scaffold to be
- * able to give immediate feedback to the end user, rather than failing the
- * installation after going through the lengthy process of compiling and
- * downloading the Composer dependencies.
- *
- * @see https://github.com/composer/composer/pull/5035
- */
- public static function checkComposerVersion(Event $event) {
- $composer = $event->getComposer();
- $io = $event->getIO();
-
- $version = $composer::VERSION;
-
- // The dev-channel of composer uses the git revision as version number,
- // try to the branch alias instead.
- if (preg_match('/^[0-9a-f]{40}$/i', $version)) {
- $version = $composer::BRANCH_ALIAS_VERSION;
- }
-
- // If Composer is installed through git we have no easy way to determine if
- // it is new enough, just display a warning.
- if ($version === '@package_version@' || $version === '@package_branch_alias_version@') {
- $io->writeError('You are running a development version of Composer. If you experience problems, please update Composer to the latest stable version.');
- }
- elseif (Comparator::lessThan($version, '1.0.0')) {
- $io->writeError('Drupal-project requires Composer version 1.0.0 or higher. Please update your Composer before continuing.');
- exit(1);
- }
- }
-
-}