123456789101112131415161718192021222324252627 |
- #!/usr/bin/env node
- const fs = require('fs');
- const glob = require('glob');
- const proc = require('child_process');
- const gitStatus = proc.execFileSync('git', ['status', '--porcelain', '-uno', 'contracts/**/*.sol']);
- if (gitStatus.length > 0) {
- console.error('Contracts directory is not clean');
- process.exit(1);
- }
- const { version } = require('../../package.json');
- const files = glob.sync('contracts/!(mocks)/**/*.sol');
- for (const file of files) {
- const current = fs.readFileSync(file, 'utf8');
- const updated = current.replace(
- /(\/\/ SPDX-License-Identifier:.*)$(\n\/\/ OpenZeppelin Contracts v.*$)?/m,
- `$1\n// OpenZeppelin Contracts v${version} (${file.replace('contracts/', '')})`,
- );
- fs.writeFileSync(file, updated);
- }
- proc.execFileSync('git', ['add', '--update', 'contracts']);
|