Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
da294255
Unverified
Commit
da294255
authored
Sep 06, 2021
by
liuzhe-lz
Committed by
GitHub
Sep 06, 2021
Browse files
Make JupyterLab extension optional for develop mode (#4147)
parent
dfba3aed
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
14 deletions
+25
-14
setup_ts.py
setup_ts.py
+24
-12
ts/nni_manager/.gitignore
ts/nni_manager/.gitignore
+0
-1
ts/nni_manager/tsconfig.json
ts/nni_manager/tsconfig.json
+1
-1
No files found.
setup_ts.py
View file @
da294255
...
...
@@ -19,6 +19,7 @@ import shutil
import
subprocess
import
sys
import
tarfile
import
traceback
from
zipfile
import
ZipFile
...
...
@@ -39,7 +40,7 @@ def build(release):
if
release
or
not
os
.
environ
.
get
(
'GLOBAL_TOOLCHAIN'
):
download_toolchain
()
prepare_nni_node
()
compile_ts
()
compile_ts
(
release
)
if
release
or
sys
.
platform
==
'win32'
:
copy_nni_node
(
release
)
else
:
...
...
@@ -134,7 +135,7 @@ def prepare_nni_node():
shutil
.
copy
(
node_src
,
node_dst
)
def
compile_ts
():
def
compile_ts
(
release
):
"""
Use yarn to download dependencies and compile TypeScript code.
"""
...
...
@@ -150,8 +151,16 @@ def compile_ts():
_yarn
(
'ts/webui'
,
'build'
)
_print
(
'Building JupyterLab extension'
)
_yarn
(
'ts/jupyter_extension'
)
_yarn
(
'ts/jupyter_extension'
,
'build'
)
if
release
:
_yarn
(
'ts/jupyter_extension'
)
_yarn
(
'ts/jupyter_extension'
,
'build'
)
else
:
try
:
_yarn
(
'ts/jupyter_extension'
)
_yarn
(
'ts/jupyter_extension'
,
'build'
)
except
Exception
:
_print
(
'Failed to build JupyterLab extension, skip for develop mode'
,
color
=
'yellow'
)
_print
(
traceback
.
format_exc
(),
color
=
'yellow'
)
def
symlink_nni_node
():
...
...
@@ -168,7 +177,8 @@ def symlink_nni_node():
_symlink
(
'ts/webui/build'
,
'nni_node/static'
)
_symlink
(
'ts/jupyter_extension/dist'
,
'nni_node/jupyter-extension'
)
if
Path
(
'ts/jupyter_extension/dist'
).
exists
():
_symlink
(
'ts/jupyter_extension/dist'
,
'nni_node/jupyter-extension'
)
def
copy_nni_node
(
version
):
...
...
@@ -182,10 +192,10 @@ def copy_nni_node(version):
# copytree(..., dirs_exist_ok=True) is not supported by Python 3.6
for
path
in
Path
(
'ts/nni_manager/dist'
).
iterdir
():
if
path
.
is_file
():
shutil
.
copyfile
(
path
,
Path
(
'nni_node'
,
path
.
name
))
else
:
if
path
.
is_dir
():
shutil
.
copytree
(
path
,
Path
(
'nni_node'
,
path
.
name
))
elif
path
.
name
!=
'nni_manager.tsbuildinfo'
:
shutil
.
copyfile
(
path
,
Path
(
'nni_node'
,
path
.
name
))
package_json
=
json
.
load
(
open
(
'ts/nni_manager/package.json'
))
if
version
:
...
...
@@ -199,7 +209,8 @@ def copy_nni_node(version):
shutil
.
copytree
(
'ts/webui/build'
,
'nni_node/static'
)
shutil
.
copytree
(
'ts/jupyter_extension/dist'
,
'nni_node/jupyter-extension'
)
if
version
or
Path
(
'ts/jupyter_extension/dist'
).
exists
():
shutil
.
copytree
(
'ts/jupyter_extension/dist'
,
'nni_node/jupyter-extension'
)
_yarn_env
=
dict
(
os
.
environ
)
...
...
@@ -221,11 +232,12 @@ def _symlink(target_file, link_location):
link
.
symlink_to
(
relative
,
target
.
is_dir
())
def
_print
(
*
args
):
def
_print
(
*
args
,
color
=
'cyan'
):
color_code
=
{
'yellow'
:
33
,
'cyan'
:
36
}[
color
]
if
sys
.
platform
==
'win32'
:
print
(
*
args
,
flush
=
True
)
else
:
print
(
'
\033
[1;
36
m#'
,
*
args
,
'
\033
[0m'
,
flush
=
True
)
print
(
f
'
\033
[1;
{
color_code
}
m#'
,
*
args
,
'
\033
[0m'
,
flush
=
True
)
generated_files
=
[
...
...
@@ -236,8 +248,8 @@ generated_files = [
# unit test
'ts/nni_manager/.nyc_output'
,
'ts/nni_manager/coverage'
,
'ts/nni_manager/exp_profile.json'
,
'ts/nni_manager/htmlcov'
,
'ts/nni_manager/metrics.json'
,
'ts/nni_manager/trial_jobs.json'
,
]
ts/nni_manager/.gitignore
View file @
da294255
# Build result
/dist
/.tsbuildinfo
# node modules
/node_modules
...
...
ts/nni_manager/tsconfig.json
View file @
da294255
...
...
@@ -26,6 +26,6 @@
"experimentalDecorators"
:
true
,
"target"
:
"ESNext"
,
"incremental"
:
true
,
"tsBuildInfoFile"
:
"
./
.tsbuildinfo"
"tsBuildInfoFile"
:
"
dist/nni_manager
.tsbuildinfo"
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment