Browse Source

wip update python commands

Steven Silvester 8 years ago
parent
commit
66e6644c9a
2 changed files with 9 additions and 25 deletions
  1. 3 3
      setup.py
  2. 6 22
      setupbase.py

+ 3 - 3
setup.py

@@ -45,7 +45,7 @@ from setupbase import (
     find_packages,
     find_package_data,
     js_prerelease,
-    NPM
+    CheckAssets
 )
 
 # BEFORE importing distutils, remove MANIFEST. distutils doesn't properly
@@ -96,10 +96,10 @@ setup_args = dict(
 
 
 cmdclass = dict(
-    build_ext = js_prerelease(build_ext),
+    build_ext = build_ext,
     sdist  = js_prerelease(sdist, strict=True),
-    jsdeps = NPM,
     bdist_egg = bdist_egg if 'bdist_egg' in sys.argv else bdist_egg_disabled,
+    jsdeps = CheckAssets
 )
 try:
     from wheel.bdist_wheel import bdist_wheel

+ 6 - 22
setupbase.py

@@ -83,12 +83,12 @@ def js_prerelease(command, strict=False):
             except Exception as e:
                 missing = [t for t in jsdeps.targets if not os.path.exists(t)]
                 if strict or missing:
-                    log.warn('rebuilding js and css failed')
+                    log.warn('js check failed')
                     if missing:
                         log.error('missing files: %s' % missing)
                     raise e
                 else:
-                    log.warn('rebuilding js and css failed (not a problem)')
+                    log.warn('js check failed (not a problem)')
                     log.warn(str(e))
             command.run(self)
     return DecoratedCommand
@@ -100,15 +100,15 @@ def update_package_data(distribution):
     build_py.finalize_options()
 
 
-class NPM(Command):
-    description = 'install package.json dependencies using npm'
+class CheckAssets(Command):
+    description = 'check for required assets'
 
     user_options = []
 
     # Representative files that should exist after a successful build
     targets = [
-        os.path.join(here, 'jupyterlab', 'static', 'build', 'main.css'),
-        os.path.join(here, 'jupyterlab', 'static', 'build', 'main.bundle.js'),
+        os.path.join(here, 'jupyterlab', 'build', 'release_data.json'),
+        os.path.join(here, 'jupyterlab', 'build', 'main.bundle.js'),
     ]
 
     def initialize_options(self):
@@ -117,26 +117,10 @@ class NPM(Command):
     def finalize_options(self):
         pass
 
-    def has_npm(self):
-        try:
-            run(['npm', '--version'])
-            return True
-        except:
-            return False
-
     def run(self):
-        has_npm = self.has_npm()
-        if not has_npm:
-            log.error("`npm` unavailable. If you're running this command using sudo, make sure `npm` is available to sudo")
-        log.info("Installing build dependencies with npm. This may take a while...")
-        target = os.path.join(here, 'jupyterlab')
-        run(['npm', 'run', 'build:static'], cwd=target)
-
         for t in self.targets:
             if not os.path.exists(t):
                 msg = 'Missing file: %s' % t
-                if not has_npm:
-                    msg += '\nnpm is required to build the development version'
                 raise ValueError(msg)
 
         # update package data in case this created new files