dapphub / dapple

EVM contract system developer multitool
GNU General Public License v3.0
299 stars 59 forks source link

usability wish list #293

Open nmushegian opened 8 years ago

nmushegian commented 8 years ago

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

nmushegian commented 8 years ago

https://github.com/nexusdev/dapple/issues/160

rainbreak commented 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.

dbrock commented 8 years ago

@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...?

rainbreak commented 8 years ago

@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)

mhhf commented 8 years ago

@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.

nmushegian commented 8 years ago

I think it shouldn't add the org prefix, but should add the commit hash and other info into the dappfile