Open akerouanton opened 7 years ago
I don't think PHP 7 is unsupported (except for some outdated adapters, like the Mongo one as it uses an old extension). The fact that Travis does not run tests on PHP 7 is a CI issue, not a compatibility issue.
What about keeping one repository for contribution and auto-splitting it into read-only repositories (one for the core and one for each adapter) ? The splitting script used on symfony/symfony was OSed but I don't know where it is.
Another idea would be to look how npm @
mecanism is working and see if the same behaviour exists on composer.
@gquemener the low-level tool is open-sourced at https://github.com/splitsh. But the full splitter is not open-source (you could request Fabien to run it for you though, as he already does it for other open-source projects).
The npm @
mechanism is a way to namespace packages. Composer has it since day 1 and requires using it since years, as packages registered on Packagist are required to use a vendor namespace.
List of referent maintainers:
Adapter | Referent |
---|---|
AwsS3 | @NiR- |
AzureBlobStorage | @NiR- |
DoctrineDbal | @pedrotroller, @NicolasNSSM |
Flysystem | @nicolasmure |
Ftp | @fabschurt |
GoogleCloudStorage | @AntoineLelaisant |
GridFS | @NiR- |
InMemory | |
Local | |
OpenCloud | |
PhpseclibSftp | @fabschurt |
Zip |
Is there any chance to also merge https://github.com/K-Phoen/gaufrette-extras as mentioned in #246 or implement something similar functionality?
You should also take the chance to review the API. For example, keys()
should really take an optional glob pattern, as I've discovered implementing #486. In most cases, you don't want to fetch ALL of your keys.
@dkarlovi There's also listKeys()
method from ListKeysAware
interface, and it takes an optional pattern. Both methods exist because some storages don't allow to search for a specific pattern. But I think the current implementation is cumbersome. IMHO it would be better to remove keys
method, merge ListKeysAware
into Adapter
interface and let adapters unable to list keys for a specific pattern mimic needed behaviors.
But I agree: we need to overhaul current API! We'll do it in coming months.
There's no option to just migrate to / merge with Flysystem?
Milestone: release v1.0.
Current situation
keys
/listKeys
methods (see #344)mongo
extension has been superseded bymongodb
extension (+mongodb/mongodb
php library)~ (see #460)google/apiclient
has been deprecated and superseded bygoogle/cloud
(see #427)guzzle/guzzle:~3
still used due byaws/aws-sdk-php:~2
&rackspace/php-opencloud:~1
(see #426)aws/aws-sdk-php
should be upgraded to v3~ (see #457)rackspace/php-opencloud
should be upgraded to v2Solutions
For the lack of required dependencies:
Don't split right now: carry on with only one repository.
Good point: Easier to enforce coherence & architectural changes
Downside: Harder to give maintainer access to community members
Split across multiple repositories.
Good point: 3rd-party libs would be required, not suggested / Easier to give maintainer access to community members. Downside: Hard & time-consuming task / Harder to have a complete overview of Issues & PRs / Needs to split doc too
Create as many repositories as adapters with only a composer.json requiring the main repo and 3rd-party libs (best of both world).
Good point: 3rd-party libs would be required too / Don't need to split doc across multiple repos / Easier to enforce coherance & architectural changes / Easier to have a complete overview of Issues & PRs
Downside: Harder to give maintainer rights to community members (compared to solution 2)
For the lack of maintainer, the solution will mostly depends on the answer to the previous problem: