============================= J.U.S.T. Install CI Functions ============================= .. default-domain:: bash .. file:: just_install_functions.bsh Install plugin for just. Installation routines are designed to be installed to isolated standalone locations, for example ``/your/path/python-3.7.9``. .. envvar:: JUST_INSTALL_ACTIVATE_BASENAME File basename for utility activation. Users may source anactivation file to create useful environment variables and add the utility to $PATH. .. function:: cmake-install Install CMake. :Arguments: * [``--dir {dir}``] - CMake install directory * [``--version {version}``] - CMake version for install (default= ``${CMAKE_VERSION:-3.16.3}``) :Output: * cmake_exe - CMake executable * cmake_version - CMake version * cmake_extra_args - number of arguments consumed * cmake_activate - Bash file to activate cmake environment .. function:: conda-install Install miniconda/miniforge :Arguments: * [``--dir {dir}``] - conda install directory * [``--version {version}``] - conda version for install (default= ``${CONDA_VERSION:-latest}``) * [``--installer {INSTALLER}``] - Conda installer (default= ``${CONDA_INSTALLER:-}``) * [``--miniconda``] - Use miniconda installer (rather than miniforge) :Output: * conda_exe - conda executable * conda_version - conda version * conda_extra_args - number of arguments consumed * conda_activate - bash file to make conda available .. function:: conda-python-install Install python via conda. The conda executable is selected as per the following preference order: * ``--conda`` * temporary conda installed from ``conda-installer`` * if ``--download``: temporary miniconda3 download * else: system level conda if available, then temporary miniconda3 download :Arguments: * [``--dir {dir}``] - Python install directory * [``--version {version}``] - Python version for install (default= ``${PYTHON_VERSION:-3.6.9}``). Specifying ``3.x`` will auto select the latest in the 3.x versions. * [``--conda {CONDA}``] - Conda executable * [``--conda-installer {INSTALLER}``] - Conda installer * [``--download``] - Download miniconda * [``--package {package}``] - An additional package to be installed, may be called multiple times * [``--list``] - List all possible versions of python, then return. Does not install :Output: * python_exe - Python executable * python_version - Python version * conda_python_extra_args - number of arguments consumed * python_activate - Bash file to activate python environment .. function:: pipenv-install Install a virtualenv containing pipenv. :Arguments: * [``--dir {dir}``] - Pipenv install directory * [``--version {version}``] - Pipenv version for install (default= ``${RECIPE_PIPENV_VERSION:-${PIPENV_VERSION:-2020.11.15}}``) * [``--python {PYTHON}``] - Python executable (default=(python3|python|python2)) * [``--python-activate {script}``] - Optional python activation script, for example as created by :func:`conda-python-install` * [``--virtualenv-pyz {file}``] - Optional virtualenv zipapp file (default= ``${RECIPE_VIRTUALENV_PYZ:-${VIRTUALENV_PYZ:-}}``) * [``--virtualenv-version {version}``] - Optional viertualenv version (default= ``${RECIPE_VIRTUALENV_VERSION:-${VIRTUALENV_VERSION:-20.4.5}}``) :Output: * pipenv_exe - Pipenv executable * pipenv_version - Pipenv version * pipenv_extra_args - number of arguments consumed * pipenv_activate - Bash file to activate pipenv environment .. function:: vsbuild-install Install Visual Studio 2022 Build tools. This is a system wide install and not a local user install. :Arguments: * [``--installer {INSTALLER}``] - VS installer (default= ``${VS_BUILD_TOOLS_INSTALLER:-}``) * [``--download``] - Download VS installer and enables online mode * [``--channel``] - Channel URI. See [here](https://stackoverflow.com/a/78098290/4166604) to figure out a specific channel URI. E.g. ``https://aka.ms/vs/17/release.ltsc.17.0/channel``. * [``--add``] - Add additional components Additional components can be added; the intent is to specify additional MSVC versions. - 2022 - ``Microsoft.VisualStudio.Component.VC.Tools.x86.x64`` (always added, listed just for reference) - 2017 - ``Microsoft.VisualStudio.Component.VC.v141.x86.x64`` - 2015 - ``Microsoft.VisualStudio.Component.VC.140`` 2019 is more difficult. Every version has a version number in the component name. E.g.: - ``Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64`` - ``Microsoft.VisualStudio.Component.VC.14.30.17.0.x86.x64`` - ``Microsoft.VisualStudio.Component.VC.14.31.17.1.x86.x64`` - ... - ``Microsoft.VisualStudio.Component.VC.14.40.17.10.x86.x64`` - ``Microsoft.VisualStudio.Component.VC.14.41.17.11.x86.x64`` Similar to retrieving the channel URI, this 2019 list can be retrieved from the ``Catalog.json`` file: .. code: jq . Catalog.json | \grep -i '"id": "Microsoft.VisualStudio.Component.VC.14.*.x86.x64"' Specifying the installer can be used for offline installations or to specify which version gets installed using [fixed version installers](https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-history#fixed-version-bootstrappers) instead of setting the Channel URI. 1. Download https://aka.ms/vs/17/release/vs_BuildTools.exe (or a fixed version installer) 2. (For offline setup) ``vs_BuildTools.exe --layout C:\myLayoutDir --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --lang en-US`` - Transfer ``C:\myLayoutDir`` ... 3. Now you can use ``--installer C:\myLayoutDir\vs_BuildTools.exe`` .. note:: This will prompt UAC for required admin privileges. .. command:: install_cmake Install CMake .. seealso:: :func:`cmake-install` .. command:: install_conda Install miniconda .. seealso:: :func:`conda-install` .. command:: install_conda-python Install python via conda .. seealso:: :func:`conda-python-install` .. command:: install_pipenv Install a virtualenv containing pipenv .. seealso:: :func:`pipenv-install`