Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Modulize OpenMage #4618

Draft
wants to merge 15 commits into
base: main
Choose a base branch
from
Draft

WIP: Modulize OpenMage #4618

wants to merge 15 commits into from

Conversation

sreichel
Copy link
Contributor

@sreichel sreichel commented Feb 8, 2025

Description (*)

I wanted to modulize OM since a long time b/c you not always need every module. The only way was was/is to disbale in xml-config file or disable output via admin setting - but the code is still there.

How about having modules for erverthing (like M2)?

I have started this two years ago, but never finished. Now, working again on it, it seem to be nealy done.

This PR

Todo;

  • automate ...
    • update after merger PR
    • tag new releases
  • create new repo with sample composer.json

* some repos need be be restored after yesterday, but a working one ... https://github.com/openmage-strict/module-catalog

Related Pull Requests

This PR targets to remove dependencies.

Manual testing scenarios (*)

  1. run ddev openmage-mono -d to download all modules to .localdev/
  2. run composer script to update to lateste version
  3. ... to be done (commit/push/tag/...)

Questions or comments

How it works?

I have prepared every "Mage-module" and added ...

  • composer.json (using requirements from xml-depends node).
  • modma-fille

Once git-cloned all modules to .localdev run the composer script.

It reads the modman-file, search the files in any target-path (app/code,lib, ...) and copies back to .localdev/<moudule>.

All i have to to is to automate to push changes to single repos and tag releases when required.

@github-actions github-actions bot added composer Relates to composer.json ddev labels Feb 8, 2025
Copy link

sonarqubecloud bot commented Feb 9, 2025

@sreichel
Copy link
Contributor Author

sreichel commented Mar 16, 2025

Modules

  • all modules are available at packist.org
  • all modules have dependencies declared like in app/etc/modules/<Mage_XYZ>.xml
  • all modules have all other dependies declared (e.g. Zend_XYZ, that requires to replace ZF1-Furture with ZF1s)
    • Zend
    • others

DDEV/bash command openmage-mono

  • -d dowload option ... download all modules to .localdev/<module>
  • -c commit option ... commit all changes
    • check commit message/hash
  • -p push option ... fails w/ denied permissions, check
  • -t tag option ... to tag commits
  • -v verbose/vendor option ... composer install all modules w/o deploy ... make sure all modules are available at packist.org
  • -g generate option ... dev-only ... will be removed later

Copy script

  • composer run mono-repo:copy works, space to improve left :P

GitHub workflow

  • on OM PR, copy changed files and commit
  • on OM release, add tag and make a release to all modules

Test

@sreichel
Copy link
Contributor Author

sreichel commented Mar 16, 2025

Manual steps to test

  • run ddev openmage-mono --download (or bash .ddev/commands/web/openmage-mono -d) ... to init repos
  • run composer run mono-repo:copy ... to apply latest changes
  • run ddev openmage-mono --commit
  • run ddev openmage-mono --tag
  • run ddev openmage-mono --push

Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
composer Relates to composer.json ddev
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants