-
Notifications
You must be signed in to change notification settings - Fork 14
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
Standard Makefile targets and minimize duplication across apps #604
Comments
This issue comes out of comment owncloud/files_antivirus#273 (comment) |
One example to look at that has rules in separate files: https://github.com/owncloud/customgroups/blob/master/Makefile |
as suggested by @patrickjahns, see https://github.com/cloudposse/build-harness or need to replace Makefiles with a tool that lives in another repo which must be used for buildling all apps and core |
@phil-davis AFAIK we already normalized the make targets across apps as part of #582 so we can keep this ticket for the "central make rules" part and relevant research |
We normalized most of them - the But when we design a place that has "central make rules" then as we "include" that from each app, we will be forced to normalize any left-over |
backlogged for now |
Removed my assignment. Someone will need to decide if we want to do any more here. The Makefile targets for tests are all standardized. Places where build-dist-release targets are a bit confusing/different are getting found as app releases are done. The structure of all this is stable now, so I don't know if we want/need to try to put stuff into common files... for these existing apps. |
Overview
The
Makefiles
in core and apps have a range of different targets for build, dist, dev, clean and so on.For example, we currently have
Makefile
targets like:(examples above were found by looking in the core and password_policy Makefiles - there will be others, I suspect)
In various apps we have been adding
make test-php-style
make test-php-phan
make test-php-phpstan
Those things put dependencies under avendor-bin
folder. The dependencies get "sorted out" and loaded by composer when you first run the relevant type of test. Versions of dependencies will get loaded to match the version of PHP that the developer happens to be running.If the developer switches to using a different version of PHP (e.g. when testing "interesting stuff" locally), specially if they switch back to PHP 5.6, then the loaded dependencies might not be correct any more.
It would be handy if there is a way to
clean
these loaded dependencies so that the developer can quickly start-over and have composer sort out new dependencies to match the current PHP version.Issue
Decide some "standard" targets for:
make ddev
or whatever)vendor-bin
dependency files, other composer, yarn, JS whatever artifactsMakefile
in one app and agree on it, merge itThe text was updated successfully, but these errors were encountered: