Browse Source

Add option to clean.py to only remove dist and out dirs

Kevin Sawicki 8 years ago
parent
commit
2d638e5da7

+ 1 - 1
docs/development/build-instructions-linux.md

@@ -123,7 +123,7 @@ To clean only `out` and `dist` directories:
 $ npm run clean-build
 ```
 
-Note that both commands will require to do run bootstrap again .
+**Note:** Both clean commands require running `bootstrap` again before building.
 
 ## Troubleshooting
 

+ 1 - 1
docs/development/build-instructions-osx.md

@@ -91,7 +91,7 @@ To clean only `out` and `dist` directories:
 $ npm run clean-build
 ```
 
-Note that both commands will require to do run bootstrap again .
+**Note:** Both clean commands require running `bootstrap` again before building.
 
 ## Tests
 

+ 1 - 1
docs/development/build-instructions-windows.md

@@ -89,7 +89,7 @@ To clean only `out` and `dist` directories:
 $ npm run clean-build
 ```
 
-Note that both commands will require to do run bootstrap again .
+**Note:** Both clean commands require running `bootstrap` again before building.
 
 ## Tests
 

+ 1 - 1
package.json

@@ -30,7 +30,7 @@
     "bump-version": "./script/bump-version.py",
     "build": "python ./script/build.py -c D",
     "clean": "python ./script/clean.py",
-    "clean-build": "python ./script/clean-build.py",
+    "clean-build": "python ./script/clean.py --build",
     "coverage": "npm run instrument-code-coverage && npm test -- --use-instrumented-asar",
     "instrument-code-coverage": "electabul instrument --input-path ./lib --output-path ./out/coverage/electron.asar",
     "lint": "npm run lint-js && npm run lint-cpp && npm run lint-py && npm run lint-api-docs-js && npm run lint-api-docs",

+ 0 - 18
script/clean-build.py

@@ -1,18 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import sys
-
-from lib.util import rm_rf
-
-
-SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
-
-
-def main():
-  os.chdir(SOURCE_ROOT)
-  rm_rf('dist')
-  rm_rf('out')
-
-if __name__ == '__main__':
-  sys.exit(main())

+ 29 - 7
script/clean.py

@@ -1,5 +1,6 @@
 #!/usr/bin/env python
 
+import argparse
 import os
 import sys
 
@@ -11,13 +12,34 @@ SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
 
 def main():
   os.chdir(SOURCE_ROOT)
-  rm_rf('node_modules')
-  rm_rf('dist')
-  rm_rf('out')
-  rm_rf('spec/node_modules')
-  rm_rf('vendor/brightray/vendor/download/libchromiumcontent')
-  rm_rf('vendor/brightray/vendor/libchromiumcontent/src')
-  rm_rf(os.path.expanduser('~/.node-gyp'))
+
+  args = parse_args()
+
+  remove_directory('dist')
+  remove_directory('out')
+
+  if not args.build:
+    remove_directory('node_modules')
+    remove_directory('spec/node_modules')
+
+    remove_directory('vendor/brightray/vendor/download/libchromiumcontent')
+    remove_directory('vendor/brightray/vendor/libchromiumcontent/src')
+
+    remove_directory(os.path.expanduser('~/.node-gyp'))
+
+
+def parse_args():
+  parser = argparse.ArgumentParser(description='Remove generated and' \
+                                               'downloaded build files')
+  parser.add_argument('-b', '--build',
+                      help='Only remove out and dist directories',
+                      action='store_true')
+  return parser.parse_args()
+
+
+def remove_directory(directory):
+  print 'Removing %s' % directory
+  rm_rf(directory)
 
 
 if __name__ == '__main__':