Skip to content
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

Reduce dependency on getdkan/contracts (part 1) #4177

Draft
wants to merge 21 commits into
base: 2.x
Choose a base branch
from
Draft

Conversation

paul-m
Copy link
Contributor

@paul-m paul-m commented May 4, 2024

Fixes #3821

Old interface New interface
\Contracts\CountableInterface \Countable
\Contracts\HydratableInterface \Procrastinator\HydratableInterface
\Contracts\ParserInterface \CsvParser\Parser\ParserInterface

\Contracts\RetrieverInterface and \Contracts\StorerInterface remain in getdkan/contracts because there is no clear place to move them. They're needed within multiple libraries.

We also need to keep getdkan/contracts as a dependency in many places because some libraries use Contracts\Mock\Storage\Memory for tests.

Our changes to Drupal\common\Storage\Query... See the @todo which asks if we should just make a QueryInterface.

In order to make all these changes, we have to modify the following libraries, maybe in this order.

Each PR is a branch named no-contracts, some of which have interdependencies on each other. These PRs will need to be updated to require the release of each of these dependencies.

Package Comment PR
getdkan/contracts Deprecates all the interfaces changed above (for now). GetDKAN/contracts#16
getdkan/csv-parser Has no dependencies on getdkan/contracts after PR. GetDKAN/csv-parser#20
getdkan/file-fetcher Uses Contracts\Mock\Storage\Memory for testing. GetDKAN/file-fetcher#39
getdkan/harvest Uses Contracts\Mock\Storage\Memory for testing. GetDKAN/harvest#20
getdkan/procrastinator Uses StorerInterface and RetrieverInterface. We need to figure out where to put storage-related interfaces. GetDKAN/procrastinator#23

@paul-m paul-m changed the title Remove dependency on getdkan/contracts Reduce dependency on getdkan/contracts (part 1) May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove dependencies on contracts
1 participant