Open nmushegian opened 8 years ago
Would be good to be able to pin a version of a subpackage across the whole project. Then you know that e.g. your dappsys version is the same throughout all your subpackages.
Maybe this doesn't work so well if dapple follows the npm way of vendoring everything, so it could just be an assertion that a given subpackage version is in a given range, which causes the build to fail if this isn't universally true across subpackage dependencies.
@rainbeam Did you know you can do
git submodule update --init --recursive --remote
to recursively fetch all submodules and check out the remote master branch of each?
And if you're editing and committing things in your submodules, you can do
git submodule update --init --recursive --remote --rebase
to fetch all submodules and rebase each of them on top of the new remote master.
Maybe Dapple should have an alias for at least the former...?
@dbrock: hadn't seen the --remote
flag before, thanks!
This won't help when you don't control your subpackages though (or at least their dependencies)
@nmushegian: are other usages of dapple install in use? Currently ipfs/ git/ dapphub are supported. Github is restricted to provide an exact commit hash during installation. Currently I've just refactored it to support the following:
dapple pkg install github/nexusdev/ds-auth
which dafaults to:
git submodule add https://github.com/nexusdev/ds-auth.git .dapple/packages/nexusdev_ds-auth
git submodule update --recursive
so the commit hash is omitted, is this ok? I'd also to slightly refactor packages. Although dapphub and ipfs are working, a lot of things are deprecated and we currently don't have all things in place to figure out a future proof architecture. So maybe its the best thing to go for git as default and move to dapphub without using ipfs or swarm once we have resources to address this. This would remove support of ipfs/dapphub from dapple.
I think it shouldn't add the org prefix, but should add the commit hash and other info into the dappfile
dapple install nexusdev/ds-auth
->git submodule add ???/nexusdev/ds-auth.git <PACKAGE_DIR>/ds-auth && git submodule update --recursive
allow subpackage dir and contract dir be same directory https://github.com/nexusdev/dapple/issues/288
dapple init defaults https://github.com/nexusdev/dapple/issues/287