trufflesuite / truffle-compile

Compiler helper and artifact manager
22 stars 46 forks source link

Support passing required contract names to compile #23

Closed axic closed 6 years ago

axic commented 7 years ago

compile current doesn't support a way to know what contract names are required and thus is required to always use * in the output selection of Solidity's interface: https://github.com/trufflesuite/truffle-compile/blob/master/index.js#L71-L72

gnidan commented 7 years ago

@axic What's the status of this on Solidity's side? It looks like ethereum/solidity#2897 implies that this isn't yet available?

Will plan to implement this for Truffle, but just want to confirm that it works with Solidity first!

axic commented 7 years ago

The next release will have limited support for that already (only target contract names supplied are compiled, irrelevant to what is supplied as sources). That issue encompasses the advanced features to selectively enable different output bits (such as assembly vs. binary, etc).

cgewecke commented 6 years ago

@axic Thank you for this suggestion - this has been implemented in #53 and merged into our next major release branch.

Closing.

axic commented 6 years ago

Great! When will this be released? It should speed up compilation speed in many cases.

cgewecke commented 6 years ago

@axic Not sure when the next official major release will be but this change along with support for compilation with the docker images, native binaries and the ability to fetch arbitrary solcjs from solc-bin should be available on a nightly release relatively soon.

gnidan commented 6 years ago

support for compilation with the docker images, native binaries and the ability to fetch arbitrary solcjs from solc-bin

@axic: once this is released, would love to see truffle's tests get run as part of solc's test suite—let us know if we can help with that!

axic commented 6 years ago

That would be nice! Please submit a PR, should only change test/externalTests.sh to enable it.