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

Handle git submodules in foundry projects [APE-1429] #1685

Closed
fubuloubu opened this issue Oct 2, 2023 · 2 comments · Fixed by #2113
Closed

Handle git submodules in foundry projects [APE-1429] #1685

fubuloubu opened this issue Oct 2, 2023 · 2 comments · Fixed by #2113
Labels
category: bug Something isn't working

Comments

@fubuloubu
Copy link
Member

Environment information

  • OS: linux
  • Python Version: 3.11.6
  • ape and plugin versions:
$ ape --version
0.6.21

$ ape plugins list
solidity
  • Contents of your ape-config.yaml (NOTE: do not post anything private like RPC urls or secrets!):
$ cat ape-config.yaml
dependencies:
  - name: Uniswap
    github: Uniswap/v4-core
    ref: main

What went wrong?

foundry recommends the use of git submodules for managing dependencies, which is annoying

How can it be fixed?

fetch the submodules when you clone the project, also pay attention to foundry's remappings.txt file

@fubuloubu fubuloubu added the category: bug Something isn't working label Oct 2, 2023
@vany365 vany365 changed the title Handle git submodules in foundry projects Handle git submodules in foundry projects [APE-1429] Oct 2, 2023
@antazoey
Copy link
Member

antazoey commented Oct 6, 2023

This is where the ProjectAPI should be given a chance...
We have similar issues with Hardhat projects regarding config processing for these things.
ApeWorX/ape-hardhat#63

The project API is meant to process these alternative projects. We already do this for Brownie projects!

@fubuloubu
Copy link
Member Author

This is where the ProjectAPI should be given a chance... We have similar issues with Hardhat projects regarding config processing for these things. ApeWorX/ape-hardhat#63

The project API is meant to process these alternative projects. We already do this for Brownie projects!

yeah foundry is pretty unique in using this git submodule setup

additionally, this got me thinking how dependencies in dependent projects should be handled by recursively building manifests for each one of those, so we have those available to us to prevent dependency conflicts a bit better

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants