diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index e8cae06..0b53f19 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -1,8 +1,8 @@ cdt_name: - cos6 channel_sources: -- conda-forge,defaults +- conda-forge/label/jupyterlab_rc,conda-forge/label/jupyterlab_server_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge jupyter_lsp_rc docker_image: - quay.io/condaforge/linux-anvil-comp7 diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 87ba4db..36dacd6 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -45,8 +45,12 @@ fi if [ -z "${DOCKER_IMAGE}" ]; then SHYAML_INSTALLED="$(shyaml -h || echo NO)" if [ "${SHYAML_INSTALLED}" == "NO" ]; then - echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Falling back to condaforge/linux-anvil-comp7" - DOCKER_IMAGE="condaforge/linux-anvil-comp7" + echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" + DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) + if [ "${DOCKER_IMAGE}" = "" ]; then + echo "No docker_image entry found in ${CONFIG}. Falling back to condaforge/linux-anvil-comp7" + DOCKER_IMAGE="condaforge/linux-anvil-comp7" + fi else DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )" fi @@ -64,8 +68,8 @@ fi export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ + -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ -e CONFIG \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ diff --git a/README.md b/README.md index 5e50aec..a74f6bd 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Package license: BSD-3-Clause Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/jupyter-lsp-feedstock/blob/master/LICENSE.txt) -Summary: Multi-Language Server WebSocket proxy for Jupyter notebook or lab server for Python 3.5+. +Summary: Multi-Language Server WebSocket proxy for Jupyter Server Documentation: https://jupyterlab-lsp.readthedocs.io @@ -32,6 +32,7 @@ Current release info | [![Conda Recipe](https://img.shields.io/badge/recipe-jupyter--lsp-green.svg)](https://anaconda.org/conda-forge/jupyter-lsp) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/jupyter-lsp.svg)](https://anaconda.org/conda-forge/jupyter-lsp) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/jupyter-lsp.svg)](https://anaconda.org/conda-forge/jupyter-lsp) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/jupyter-lsp.svg)](https://anaconda.org/conda-forge/jupyter-lsp) | | [![Conda Recipe](https://img.shields.io/badge/recipe-jupyter--lsp--python-green.svg)](https://anaconda.org/conda-forge/jupyter-lsp-python) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/jupyter-lsp-python.svg)](https://anaconda.org/conda-forge/jupyter-lsp-python) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/jupyter-lsp-python.svg)](https://anaconda.org/conda-forge/jupyter-lsp-python) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/jupyter-lsp-python.svg)](https://anaconda.org/conda-forge/jupyter-lsp-python) | | [![Conda Recipe](https://img.shields.io/badge/recipe-jupyter--lsp--r-green.svg)](https://anaconda.org/conda-forge/jupyter-lsp-r) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/jupyter-lsp-r.svg)](https://anaconda.org/conda-forge/jupyter-lsp-r) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/jupyter-lsp-r.svg)](https://anaconda.org/conda-forge/jupyter-lsp-r) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/jupyter-lsp-r.svg)](https://anaconda.org/conda-forge/jupyter-lsp-r) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-jupyterlab--lsp-green.svg)](https://anaconda.org/conda-forge/jupyterlab-lsp) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/jupyterlab-lsp.svg)](https://anaconda.org/conda-forge/jupyterlab-lsp) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/jupyterlab-lsp.svg)](https://anaconda.org/conda-forge/jupyterlab-lsp) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/jupyterlab-lsp.svg)](https://anaconda.org/conda-forge/jupyterlab-lsp) | Installing jupyter-lsp ====================== @@ -42,10 +43,10 @@ Installing `jupyter-lsp` from the `conda-forge` channel can be achieved by addin conda config --add channels conda-forge ``` -Once the `conda-forge` channel has been enabled, `jupyter-lsp, jupyter-lsp-python, jupyter-lsp-r` can be installed with: +Once the `conda-forge` channel has been enabled, `jupyter-lsp, jupyter-lsp-python, jupyter-lsp-r, jupyterlab-lsp` can be installed with: ``` -conda install jupyter-lsp jupyter-lsp-python jupyter-lsp-r +conda install jupyter-lsp jupyter-lsp-python jupyter-lsp-r jupyterlab-lsp ``` It is possible to list all of the versions of `jupyter-lsp` available on your platform with: diff --git a/recipe/build_base.bat b/recipe/build_base.bat deleted file mode 100644 index d766666..0000000 --- a/recipe/build_base.bat +++ /dev/null @@ -1,2 +0,0 @@ -%PYTHON% -m pip install . --no-deps -vv -if errorlevel 1 exit 1 diff --git a/recipe/build_base.sh b/recipe/build_base.sh deleted file mode 100644 index bec211a..0000000 --- a/recipe/build_base.sh +++ /dev/null @@ -1 +0,0 @@ -$PYTHON -m pip install . --no-deps -vv diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 0000000..62ef750 --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,5 @@ +channel_sources: +- conda-forge/label/jupyterlab_rc,conda-forge/label/jupyterlab_server_rc,conda-forge + +channel_targets: +- conda-forge jupyter_lsp_rc diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9242989..06e15b1 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,68 +1,116 @@ -{% set name = "jupyter-lsp" %} -{% set ext_name = "@krassowski/jupyterlab-lsp" %} -{% set version = "0.9.3" %} +{% set version = "3.0.0rc0" %} {% set build_number = 0 %} -{% set py_spec = ">=3.6" %} -{% set lab_spec = ">=2.2,<3.0.0a0" %} -{% set ext_spec = "@^2.1.0" %} +{% set server_version = "1.0.0rc0" %} +{% set server_build_number = 0 %} # List of jupyter_lsp py.tests ran for each known servers {% set server_tests = ["serverextension", "start_known", "listeners"] %} package: - name: {{ name }}-meta # To avoid issue https://github.com/conda/conda-build/issues/3933 + name: jupyter-lsp-meta # To avoid issue https://github.com/conda/conda-build/issues/3933 version: {{ version }} source: - url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz - sha256: 73b5cb47fbe672bee6c02ddc4f2fbe728dc3bff589b5741835ebb80a862163af + - folder: jupyterlab-lsp + url: https://pypi.io/packages/source/j/jupyterlab-lsp/jupyterlab-lsp-{{ version }}.tar.gz + sha256: 31318bc361f1036045c5143c5aabff690017a61767ae7daa006fe9baa4b401d5 + - folder: jupyter-lsp + url: https://pypi.io/packages/source/j/jupyter-lsp/jupyter-lsp-{{ server_version }}.tar.gz + sha256: d5f2555c8a89b1a33026dfb19d4eb5de3b2db9e0e97c5ff4c5125aafd9709041 build: noarch: python number: {{ build_number }} +requirements: + host: + - pip + - python >=3.6 + run: + - python >=3.6 + +test: + commands: + - echo "TBD" + outputs: - - name: {{ name }} + - name: jupyterlab-lsp + version: {{ version }} build: number: {{ build_number }} noarch: python - script: build_base.bat # [win] - script: build_base.sh # [not win] + script: cd jupyterlab-lsp && {{ PYTHON }} -m pip install . --no-deps -vv requirements: host: - pip - - python {{ py_spec }} + - python >=3.6 run: - - notebook >=4.3.1 - - python {{ py_spec }} - - setuptools + - jupyter-lsp >={{ server_version }} + - jupyterlab >=3,<4 + - python >=3.6 test: requires: - - jupyterlab {{ lab_spec }} - - jupyterlab_server>=1.1.0 - - nodejs >=10 - pip commands: - - python -m pip check - - jupyter serverextension list 1>serverextensions 2>&1 - - cat serverextensions | grep "{{ name|replace("-", "_") }}.*OK" # [unix] - - jupyter labextension install {{ ext_name }}{{ ext_spec }} + # TODO: restore after 1.0.0 + # - python -m pip check + - jupyter labextension list - jupyter labextension list 1>labextensions 2>&1 - - cat labextensions | grep "{{ ext_name }}.*OK" # [unix] - - python -m jupyterlab.browser_check # [not linux] - - name: {{ name }}-python + - cat labextensions | grep "jupyterlab-lsp.*OK.*jupyterlab_lsp" # [unix] + about: + home: https://github.com/krassowski/jupyterlab-lsp + license_file: jupyterlab-lsp/LICENSE + license: BSD-3-Clause + license_family: BSD + summary: Language Server Protocol integration for JupyterLab + doc_url: https://jupyterlab-lsp.readthedocs.io + doc_source_url: https://github.com/krassowski/jupyterlab-lsp/blob/master/docs + + - name: jupyter-lsp + version: {{ server_version }} build: - number: {{ build_number }} - noarch: generic + number: {{ server_build_number }} + noarch: python + script: cd jupyter-lsp && {{ PYTHON }} -m pip install . --no-deps -vv + requirements: + host: + - pip + - python >=3.6 + run: + - entrypoints + - jupyter_server >={{ server_version }} + - python >=3.6 + test: + requires: + - pip + commands: + - python -m pip check + - jupyter server extension list + - jupyter server extension list 1>serverextensions 2>&1 + - cat serverextensions | grep "jupyter_lsp.*OK" # [unix] + about: + home: https://github.com/krassowski/jupyterlab-lsp + license: BSD-3-Clause + license_family: BSD + license_file: jupyter-lsp/LICENSE + summary: Multi-Language Server WebSocket proxy for Jupyter Server + doc_url: https://jupyterlab-lsp.readthedocs.io + doc_source_url: https://github.com/krassowski/jupyterlab-lsp/blob/master/docs + + - name: jupyter-lsp-python + version: {{ server_version }} + build: + number: {{ server_build_number }} + noarch: python requirements: + host: + - python >=3.6 run: - - {{ pin_subpackage(name, exact=True) }} + - {{ pin_subpackage("jupyter-lsp", exact=True) }} - python-language-server >=0.31.9 test: requires: - - jupyterlab {{ lab_spec }} - - jupyterlab_server>=1.1.0 - pip - pytest-asyncio - pytest-runner @@ -71,41 +119,55 @@ outputs: # TODO add test for current ls by adding " or pyls" to -k option - but 1 test is failing - pytest -vv -p no:warnings --pyargs jupyter_lsp -k "not ({{ server_tests|join(' or ') }})" about: + home: https://github.com/krassowski/jupyterlab-lsp + license: BSD-3-Clause + license_family: BSD + license_file: jupyter-lsp/LICENSE summary: A metapackage for jupyter-lsp and python-language-server - - name: {{ name }}-r + doc_url: https://jupyterlab-lsp.readthedocs.io + doc_source_url: https://github.com/krassowski/jupyterlab-lsp/blob/master/docs + + - name: jupyter-lsp-r + version: {{ server_version }} build: - number: {{ build_number }} - noarch: generic + number: {{ server_build_number }} + noarch: python requirements: + host: + - python >=3.6 run: - - {{ pin_subpackage(name, exact=True) }} + - {{ pin_subpackage("jupyter-lsp", exact=True) }} # Snippets support https://github.com/krassowski/jupyterlab-lsp/issues/208 - r-languageserver >=0.3.5 test: requires: - - jupyterlab {{ lab_spec }} - - jupyterlab_server>=1.1.0 - pip - pytest-asyncio - pytest-runner commands: - python -m pip check - # TODO add test for current ls - pytest -vv -p no:warnings --pyargs jupyter_lsp -k "not ({{ server_tests|join(' or ') }})" about: + home: https://github.com/krassowski/jupyterlab-lsp + license: BSD-3-Clause + license_family: BSD + license_file: jupyter-lsp/LICENSE summary: A metapackage jupyter-lsp and r-languageserver + doc_url: https://jupyterlab-lsp.readthedocs.io + doc_source_url: https://github.com/krassowski/jupyterlab-lsp/blob/master/docs + about: home: https://github.com/krassowski/jupyterlab-lsp license: BSD-3-Clause license_family: BSD - license_file: LICENSE - summary: Multi-Language Server WebSocket proxy for Jupyter notebook or lab server for Python 3.5+. + license_file: jupyterlab-lsp/LICENSE + summary: Multi-Language Server WebSocket proxy for Jupyter Server doc_url: https://jupyterlab-lsp.readthedocs.io - doc_source_url: https://github.com/krassowski/jupyterlab-lsp/blob/v{{ version }}/docs + doc_source_url: https://github.com/krassowski/jupyterlab-lsp/blob/master/docs extra: - feedstock-name: {{ name }} + feedstock-name: jupyter-lsp recipe-maintainers: - bollwyvl - fcollonval