This function is very similar to a part from getComposerInformation - so we can use this function in getComposerInformation too. And because it is almost everywhere the same we can put it to abstract class.
By implementing getComposerInformation in abstract class we need to add the getChangeDate to interface too. Only Problem: perforce seems not to support a ChangeDate. For this we use 'now' to have at least something.
Url encode all non alphanumeric characters in project name for GitLabDriver.
If the project name has "." characters in it, which is supported in Gitlab, the Gitlab API will 404 when requesting the branches or tags of the repository. This commit urlencodes all non alphanumeric characters in the project name in requests to the Gitlab API.
Since gitlab can be hosted on any url also subdirectories should be
supported. (e.g https://mycompany.com/gitlab).
This supports only http and https protocols since the gitlab api url
is derived from the package repository url. And the ssh protocol doesn't
support folders this way.
Add an interactive prompt for gitlab token
Update doc for gitlab-domains
Add tests on GitLabDriver::supports
Update doc + CS
Optimize branch detection + fix typos
Fix test on GitLab support as it depends on SSL
Remove useless method + fix repository URL containing .git
Store missing composer.json into the cache
[GitLab] Reduce API calls by caching
Download ZIP archives from gitlab + fix repo URL
Fix cached commit objects
This is a proof of concept, and mostly done to gather feedback on the
structure of the driver and to see if this is something that Composer
should include in core.
Various review changes based on Stof comments.
* Remove cleanup() as it is implemented by the abstract class.
* Remove wrong comment in getReferences
* Implement getSource (as GitHubDriver does)
* Finish phpDocs for methods.