-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[3.4] Composer Integration #3617
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
Conversation
… its dependencies
Move composer location to install libraries into our libraries folder
OK so I've PR'd against the Framework Application branch to remove the event dependency like we discussed a while ago but never did - so that should remove that from the PR. Also PR'd input to update copyrights there to 2014. Finally I there have been some minor changes but I think we can map JArrayHelper - but there have been some minor changes so we'd need to make sure there are no b/c breaks there - I only glanced over. |
I looked at it. Typehinting, protected methods being renamed and declared private; can't happen. |
@test I've been building a new website template on this branch and everything seems to be good. no issues in things like akeeba backup or some of no numbers extensions + tested the majority of core extensions without issues. I reckon we're probably good to merge this. |
have question, |
@Fedik For extension developer who wish to install extensions in Joomla you can check out our Joomlatools Composer installer plugin. The plugin is capable of installing any type of extension into Joomla. Github repo can be found here https://github.com/joomlatools/joomla-composer and developer docs are here : http://developer.joomlatools.com/tools/composer/introduction.html |
@Fedik - At the moment, this is only affecting the main CMS build. The intent is to further the integration to allow developers to use it, but right now that isn't coded. All - Updated test packages are posted to http://developer.joomla.org/PR-packages/3617/ in sync with commit c9d22b9 |
Installed the update package on the latest staging version. Initially got a white screen on update then after a couple of refreshes it confirmed install successful. |
I have tested a clean install of 3.3.6 staging on MAMP server using PHP5.5.10 |
Is there a reason you add the libraries/vendor folder to git? That's how Composer is usually used AFAIK. |
It's one way you could do it, but it makes it harder for people to test using a Git repo as they need composer installed and need a bit of knowledge about how to use it. I don't see any drawback having the vendor folder in the repo under version control. |
@Bakual covers some of the logic well. The primary thought at this point is that there is a much higher level of skill needed to be able to use the CMS from the source repo if we required everyone to be able to download and install Composer locally. The build scripts or Travis issues aren't as big of points IMO; everyone is dealing with that today (including myself in other projects) and I'd say Composer's caching works well unless you're installing never-before-used code on a platform (or using a platform which doesn't cache such as Travis). FWIW, Drupal 8 also includes their |
Updated test packages are posted to http://developer.joomla.org/PR-packages/3617/ in sync with commit 26f09fa |
Successful test of core installation and update from 3.3.x. Also tested installing 3rd libs via composer. It deleted contents of libraries/vendor but installed successfully. Installed Aws S3 via custom composer.json to libraries/vendor. Was able to register namespaces and use libs: JLoader::registerNamespace('Aws', JPATH_LIBRARIES.'/vendor/aws/aws-sdk-php/src/'); use Aws\S3\S3Client; $s3 = S3Client::factory(); |
Based on the various tests I'm marking this RTC. Thanks all! This finally clears the way for Joomla! 3.4 Beta 👍 |
WoW! Thanks a lot to all who was working hard on it! 👍 |
Tried to merge using a diff but had to revert since it messed up the file moving. Will try again later on :) |
Now merged for real 😄 |
Part of the vision for 3.4 is integrating Composer into the CMS. This pull request as of this time represents a working solution for this. Changes with this pull request:
libraries/vendor
Input
package is replaced withJoomla\Input
from the Framework with class mapping for B/C (same as what was done for theRegistry
package)JApplicationBase
now extendsJoomla\Application\AbstractApplication
and now duplicated code or class variables in that class and child objects are cleaned upTODO: