diff options
author | Leonid <logvinov.leon@gmail.com> | 2018-02-21 02:55:10 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-21 02:55:10 +0800 |
commit | f60b00d116e525e5b789684e68b1541cedba1665 (patch) | |
tree | 9c8f33bafb1fb2eef5bfcaaefed781ccae6ffba9 /packages/deployer/src/cli.ts | |
parent | 76afb6b1163182446a1f3646b4bc89b5dc271738 (diff) | |
parent | 3a36e0621f0ad0c77c14a04bdaa85131b57ef0ea (diff) | |
download | dexon-sol-tools-f60b00d116e525e5b789684e68b1541cedba1665.tar dexon-sol-tools-f60b00d116e525e5b789684e68b1541cedba1665.tar.gz dexon-sol-tools-f60b00d116e525e5b789684e68b1541cedba1665.tar.bz2 dexon-sol-tools-f60b00d116e525e5b789684e68b1541cedba1665.tar.lz dexon-sol-tools-f60b00d116e525e5b789684e68b1541cedba1665.tar.xz dexon-sol-tools-f60b00d116e525e5b789684e68b1541cedba1665.tar.zst dexon-sol-tools-f60b00d116e525e5b789684e68b1541cedba1665.zip |
Merge branch 'development' into feature/web3-abi-v2-types
Diffstat (limited to 'packages/deployer/src/cli.ts')
-rw-r--r-- | packages/deployer/src/cli.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/deployer/src/cli.ts b/packages/deployer/src/cli.ts index 0fe412bdf..3c6d042c0 100644 --- a/packages/deployer/src/cli.ts +++ b/packages/deployer/src/cli.ts @@ -14,6 +14,7 @@ const DEFAULT_ARTIFACTS_DIR = path.resolve('artifacts'); const DEFAULT_NETWORK_ID = 50; const DEFAULT_JSONRPC_PORT = 8545; const DEFAULT_GAS_PRICE = (10 ** 9 * 2).toString(); +const DEFAULT_CONTRACTS_LIST = '*'; /** * Compiles all contracts with options passed in through CLI. @@ -25,6 +26,7 @@ async function onCompileCommand(argv: CliOptions): Promise<void> { networkId: argv.networkId, optimizerEnabled: argv.shouldOptimize ? 1 : 0, artifactsDir: argv.artifactsDir, + specifiedContracts: getContractsSetFromList(argv.contracts), }; await commands.compileAsync(opts); } @@ -43,6 +45,7 @@ async function onMigrateCommand(argv: CliOptions): Promise<void> { networkId, optimizerEnabled: argv.shouldOptimize ? 1 : 0, artifactsDir: argv.artifactsDir, + specifiedContracts: getContractsSetFromList(argv.contracts), }; await commands.compileAsync(compilerOpts); @@ -72,6 +75,7 @@ async function onDeployCommand(argv: CliOptions): Promise<void> { networkId, optimizerEnabled: argv.shouldOptimize ? 1 : 0, artifactsDir: argv.artifactsDir, + specifiedContracts: getContractsSetFromList(argv.contracts), }; await commands.compileAsync(compilerOpts); @@ -90,6 +94,18 @@ async function onDeployCommand(argv: CliOptions): Promise<void> { await commands.deployAsync(argv.contract, deployerArgs, deployerOpts); } /** + * Creates a set of contracts to compile. + * @param contracts Comma separated list of contracts to compile + */ +function getContractsSetFromList(contracts: string): Set<string> { + const specifiedContracts = new Set(); + const contractsArray = contracts.split(','); + _.forEach(contractsArray, contractName => { + specifiedContracts.add(contractName); + }); + return specifiedContracts; +} +/** * Provides extra required options for deploy command. * @param yargsInstance yargs instance provided in builder function callback. */ @@ -144,6 +160,11 @@ function deployCommandBuilder(yargsInstance: any) { type: 'string', description: 'account to use for deploying contracts', }) + .option('contracts', { + type: 'string', + default: DEFAULT_CONTRACTS_LIST, + description: 'comma separated list of contracts to compile', + }) .command('compile', 'compile contracts', identityCommandBuilder, onCompileCommand) .command( 'migrate', |