-
-
Notifications
You must be signed in to change notification settings - Fork 436
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
do we need the composer-installer package as part of the project? #554
Comments
I prefer to have it in. It lowers the barrier. If somebody knows a better alternative than what we use, I would like to hear the arguments. |
for which user-flows is it reducing the barrier? |
It is reducing the barier for people migrating from non-composer to composer way of installing magento. |
if this is the exact usecase: the installer is not needed/usefull for installing magento. This feature was split up into a different project which is dedicated to just installing the core. |
The installer is useful for installing the project. If someone has an issue with the installer used, they can solve that by a replace entry in their project or by having their other installer indicate that it replaces the one used by default |
Thats the point which was made, and which is true. The installer has absolutely no effect on installing the project, its only usefull for additional magento modules. |
What is the suggested way of managing an installation based on composer? It seems that it would require an Edit: It would be great to see an example project that requires this project as well as other third-party extensions, and perhaps add such an example to the README. |
What about adding a block of code like the following to /* Support additional includes, such as composer autoloaders */
foreach (glob(BP . DS . 'app' . DS . 'etc' . DS . 'includes' . DS . '*.php') as $path) {
include_once $path;
} For example I want to include "aws/aws-sdk-php" package and this package requires a specific file to be loaded in additional to the psr-4 class autoloader being registered: {
...
"autoload": {
"psr-4": {
"Aws\\": "src/"
},
"files": ["src/functions.php"]
},
...
} So without something like the suggestion above how do people handle loading this file properly in the Magento bootstrap process? |
from our own install page: http://openmage.github.io/magento-lts/install.html So managing the core installation is possible (and documented) completely without using the installer we have. Additionally the AOE installer is I think including the module installation functionality(at least someone mentioned to prefer the aoe installer above the hackathon one) questions which are currently open:
We then should split this up into dedicated Issues to focus on a single topic. Currently the hackathon composer installer is hacking/patching the core to load the composer autoloader. |
I tried and really like the It seems like there are many ways to do this and forcing one single way is perhaps not necessary. However, there is also an opportunity to settle on a good solution which works great out of the box and is easy for everyone to adopt. Using the glob include approach it would make it easy to integrate any number of methods of integrating composer and most importantly, allow it to be done without modifying core files. E.g. the aoepeople installer could be forked/updated to symlink the In case anyone wants to try this here is what I did:
You end up with the Magento root in
|
Regarding the original question, (sorry to sidetrack) since it seems other installers routinely use the "replace" keyword with this installer this shouldn't be a big deal to have it as a requirement. I could see changing it in the future to one that completes the autoloader integration automatically, though. |
…ntegration Example use: $ ln -s ../../../../vendor/autoload.php htdocs/app/etc/includes/composer.php refs: OpenMage#554
…ntegration Example use: $ ln -s ../../../../vendor/autoload.php htdocs/app/etc/includes/composer.php refs: OpenMage#554
…ntegration Example use: $ ln -s ../../../../vendor/autoload.php htdocs/app/etc/includes/composer.php refs: OpenMage#554
@colinmollenhour @Flyingmana How would this solution work with the compiler? would not be better to incorporate this with what exists in such a way we do not conflict with what exists? I was thinking of Magento 2 approach in this regard being honest! |
You mean Mage Compiler? I thought we removed this? |
@colinmollenhour Oh, I did not know that I joined this repo only recently. Why is that though? it used to boost up the platform performance by having all the necessary files in one place. Could you put some light on this matter? |
See #534 |
…ntegration Example use: $ ln -s ../../../../vendor/autoload.php htdocs/app/etc/includes/composer.php refs: OpenMage#554
…ntegration Example use: $ ln -s ../../../../vendor/autoload.php htdocs/app/etc/includes/composer.php refs: OpenMage#554
…ntegration Example use: $ ln -s ../../../../vendor/autoload.php htdocs/app/etc/includes/composer.php refs: OpenMage#554
I like to bring this back up as I got this comment from @AydenHassan today: AydinHassan/magento-core-composer-installer#57 (comment) There should be a fork of his project or the AOE one, if OpenMage wants to continue using those, of course with proper attribution. |
Btw it's not that the project is dead or abandoned - I'm just not actively working on it. Like I said I am happy to merge PR's but don't really want to spend time debugging it (I don't think that warrants a fork, someone will have to do the work either way, if it is truly a bug). Further to that the project has been stable for years and as far as I can remember the only real recent change was for composer 2 support. |
I think the initial topic is not relevant anymore. Most of the existing composer installers are not made compatible for Composer2 and the interest in them seems not be so big. regarding the Installer from AydinHassan, there would be no advantage in forking it, rather the opposite as long as Aydin is still taking care of PRs. And we dont really have spare resources for this currently. |
Someone was complaining (a few years ago already, but just saw it) that we require a specific composer installer while there are multiple different ones people use.
So I wonder, do we actually need it as part of the project, or can we remove this requirement?
The text was updated successfully, but these errors were encountered: