Skip to content

Conversation

@hkirsman
Copy link
Collaborator

@hkirsman hkirsman commented Nov 5, 2025

Overview

This pull request updates the installation process and documentation for the Wunderio DDEV Drupal integration, transitioning from a Composer plugin to a DDEV add-on. It introduces a new install.yaml file to automate installation, update, and removal actions, and revises the README.md to reflect the new workflow and provide migration guidance for existing users.

In this version, instead of ignoring the core scripts and commands (.ddev/wunderio/core and .ddev/commands/wunderio-core), we now use the global_files directive in install.yaml. This moves the files to the host's ~/.ddev/ directory, creating a single source of truth for all projects. The advantage of this approach is less clutter within individual projects. However, a potential drawback is that a broken update will affect all projects simultaneously. This risk can be mitigated by using versioning and allowing users to revert to a previous version of the add-on if necessary.

Screenshots

Screenshot 2025-11-10 at 20 32 36

Testing

Cd to your project and install the addon from this repo

git clone -b feature/#55-refactor-to-Add-on-Architecture [email protected]:wunderio/ddev-drupal.git && ddev add-on get ./ddev-drupal

- Reorganize dist folder: move files from dist/.ddev/ to dist/ root
  - dist/.ddev/wunderio/ -> dist/wunderio/
  - dist/.ddev/commands/ -> dist/commands/
  - dist/.ddev/config.wunderio.yaml -> dist/config.wunderio.yaml
- Update install.yaml to reflect new structure (remove dist/ prefix)
- Remove InstallHelperPlugin.php (no longer needed)
- Update .gitignore paths to match new structure
- Update references from dist/.ddev/wunderio/core/ to .ddev/wunderio/core/
- Reflect that dist folder structure now mirrors target project structure
- moved #ddev-generated marker to line 3 in all command files for consistency
- reorganized command metadata annotations to prioritize user-facing documentation
- updated annotation order: Description, Usage, Example, then technical config (AutocompleteTerms, MutagenSync, ExecRaw, ProjectTypes)
- improved install.yaml to check if .gitignore entries exist before adding them
- added #ddev-generated markers to core helper scripts and tooling files
- moved update-grumphp-command.sh from scripts/ to addon-install-actions/ directory
- removed duplicate update-grumphp-command.sh from scripts/ directory
- updated install.yaml to reference correct path for update-grumphp-command.sh

Refs: install.yaml, wunderio-core-*.sh, tooling-*.sh, hooks-*.sh
@hkirsman hkirsman changed the title [WORK IN PROGRESS] #55 Refactor to DDEV Addon. [WORK IN PROGRESS] #55 Refactor to DDEV Addon? Nov 10, 2025
- docker-compose.wunderio.yaml
# - drush/sites/local.site.yml

global_files:
Copy link
Collaborator Author

@hkirsman hkirsman Nov 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zHelmet I discovered this install.yml trick - global_files entry moves the commands/ and wunderio/core/ folders under your host ~/.ddev/ folder to be global. wunderio/core/ I had to manually mount in docker-composer.wunderio.yaml. So instead of using .gitignore to hide the files, they'll be always there, shared, no bloat. I think this sounds promissing?

Screenshot 2025-11-11 at 08 45 01

I don't have yet full picture as I don't have this as package yet. I'd like to try and create that, then try out versioning and maybe if possible add some scripts that would check version, update the packege, make sure old files are removed.

@hkirsman
Copy link
Collaborator Author

I've moved this to separate repo and this is the new PR wunderio/ddev-wunderio-drupal#3

@hkirsman hkirsman closed this Nov 11, 2025
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