diff --git a/docs/deps.md b/docs/deps.md index 47320b9c5b..84d62f4afc 100644 --- a/docs/deps.md +++ b/docs/deps.md @@ -1,7 +1,7 @@ # Packaging requirements * [Git](https://git-scm.com/) (> 1.9.1) - * [Thrift compiler](https://thrift.apache.org/) (> 0.9.2) required to generate python and javascript files + * [Thrift compiler](https://thrift.apache.org/) (>= 0.21.0) required to generate python and javascript files * Build logging - It is possible to build package without the ld-logger. In that case no automatic compilation database generation is done. To build ld-logger 32 and 64 bit versions automatically, `gcc multilib` and `make` is required. - Compilation command database can be generated with CMake during the build (run `cmake` with the `CMAKE_EXPORT_COMPILE_COMMANDS` option). CodeChecker can process the generated compilation database at runtime. @@ -20,7 +20,7 @@ Javascript dependencies are automatically downloaded based on the ext_source_dep * [SQLAlchemy](http://www.sqlalchemy.org/) (>= 1.0.9) Python SQL toolkit and Object Relational Mapper, for supporting multiple database backends * [PyPi SQLAlchemy](https://pypi.python.org/pypi/SQLAlchemy) (> 1.0.2) * Thrift python modules. Cross-language service building framework to handle data transfer for report storage and result viewer clients - * [PyPi thrift](https://pypi.python.org/pypi/thrift/0.11.0)(> 0.11.0 ) + * [PyPi thrift](https://pypi.python.org/pypi/thrift/0.21.0)(>= 0.21.0 ) * [Codemirror](https://codemirror.net/) (MIT) - view source code in the browser * [Jsplumb](https://jsplumbtoolkit.com/) (community edition, MIT) - draw bug paths * [Marked](https://github.com/chjj/marked) (BSD) - view documentation for checkers written in markdown (generated dynamically) @@ -48,4 +48,4 @@ update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy ## PostgreSQL For the additional PostgreSQL dependencies see the -[PostgreSQL setup](web/postgresql_setup.md) documentation. +[PostgreSQL setup](web/postgresql_setup.md) documentation. \ No newline at end of file diff --git a/scripts/thrift/README.md b/scripts/thrift/README.md index 871ab1e489..c4d5ed7425 100644 --- a/scripts/thrift/README.md +++ b/scripts/thrift/README.md @@ -11,7 +11,7 @@ python3 -m venv venv source $PWD/venv/bin/activate # Install thrift package. -pip3 install thrift==0.13.0 +pip3 install thrift==0.21.0 # Get and install CodeChecker API packages. # @@ -38,4 +38,4 @@ python3 client.py \ --port 8001 \ --username "codechecker" \ --password "admin" -``` +``` \ No newline at end of file diff --git a/scripts/thrift/client.py b/scripts/thrift/client.py index 337a9f3881..9cb0d8e66a 100644 --- a/scripts/thrift/client.py +++ b/scripts/thrift/client.py @@ -31,7 +31,7 @@ print("'thrift' package (https://pypi.org/project/thrift/) is not " "available in your environment. Please install it before you run " "this script again.") - print("> pip3 install thrift==0.13.0") + print("> pip3 install thrift==0.21.0") sys.exit(1) diff --git a/web/api/Makefile b/web/api/Makefile index e145755563..ac7ec21a0c 100644 --- a/web/api/Makefile +++ b/web/api/Makefile @@ -1,5 +1,13 @@ THRIFT_OPTS = -r -o /data -THRIFT_VERSION = "0.11.0" + +# The default for THRIFT_DOCKER_IMAGE is the official thrift image +THRIFT_DOCKER_IMAGE ?= thrift +# The current default for THRIFT_VERSION is latest version of the currently +# unmaintained official thrift image on dockerhub +# This is the version of the Docker image, and currently we are operating on +# the assumption that the Thift API version and the Docker image versions match +THRIFT_DOCKER_VERSION ?= 0.12.0 + TARGET_PY = --gen py TARGET_JS = --gen js:node PYTHON_BIN ?= python3 @@ -34,7 +42,7 @@ build: clean target_dirs --rm \ -u "$(uid):$(guid)" \ -v $(API_DIR):/data \ - thrift:$(THRIFT_VERSION) \ + $(THRIFT_DOCKER_IMAGE):$(THRIFT_DOCKER_VERSION) \ /bin/bash -c " \ thrift $(THRIFT_OPTS) $(TARGET_PY) $(TARGET_JS) /data/authentication.thrift && \ thrift $(THRIFT_OPTS) $(TARGET_PY) $(TARGET_JS) /data/products.thrift && \ diff --git a/web/api/js/codechecker-api-node/dist/codechecker-api-6.59.0.tgz b/web/api/js/codechecker-api-node/dist/codechecker-api-6.59.0.tgz deleted file mode 100644 index 57e11499f8..0000000000 Binary files a/web/api/js/codechecker-api-node/dist/codechecker-api-6.59.0.tgz and /dev/null differ diff --git a/web/api/js/codechecker-api-node/dist/codechecker-api-6.60.0.tgz b/web/api/js/codechecker-api-node/dist/codechecker-api-6.60.0.tgz new file mode 100644 index 0000000000..8852550b02 Binary files /dev/null and b/web/api/js/codechecker-api-node/dist/codechecker-api-6.60.0.tgz differ diff --git a/web/api/js/codechecker-api-node/package.json b/web/api/js/codechecker-api-node/package.json index 86e4a596e9..fcf2ccf830 100644 --- a/web/api/js/codechecker-api-node/package.json +++ b/web/api/js/codechecker-api-node/package.json @@ -1,6 +1,6 @@ { "name": "codechecker-api", - "version": "6.59.0", + "version": "6.60.0", "description": "Generated node.js compatible API stubs for CodeChecker server.", "main": "lib", "homepage": "https://github.com/Ericsson/codechecker", @@ -23,6 +23,6 @@ "api" ], "dependencies": { - "thrift": "0.13.0-hotfix.1" + "thrift": "0.21.0" } } diff --git a/web/api/py/codechecker_api/dist/codechecker_api.tar.gz b/web/api/py/codechecker_api/dist/codechecker_api.tar.gz index b1c9b6429b..d3fa83f314 100644 Binary files a/web/api/py/codechecker_api/dist/codechecker_api.tar.gz and b/web/api/py/codechecker_api/dist/codechecker_api.tar.gz differ diff --git a/web/api/py/codechecker_api/setup.py b/web/api/py/codechecker_api/setup.py index fc9d400def..54e2e3015a 100644 --- a/web/api/py/codechecker_api/setup.py +++ b/web/api/py/codechecker_api/setup.py @@ -8,7 +8,7 @@ with open('README.md', encoding='utf-8', errors="ignore") as f: long_description = f.read() -api_version = '6.59.0' +api_version = '6.60.0' setup( name='codechecker_api', @@ -38,7 +38,7 @@ packages=find_packages(where='.'), # Required python_requires='>=2.7,', - install_requires=['thrift==0.13.0'], + install_requires=['thrift==0.21.0'], project_urls={ 'Bug Reports': 'https://github.com/Ericsson/codechecker/issues', diff --git a/web/api/py/codechecker_api_shared/dist/codechecker_api_shared.tar.gz b/web/api/py/codechecker_api_shared/dist/codechecker_api_shared.tar.gz index ae4d38a141..569935443b 100644 Binary files a/web/api/py/codechecker_api_shared/dist/codechecker_api_shared.tar.gz and b/web/api/py/codechecker_api_shared/dist/codechecker_api_shared.tar.gz differ diff --git a/web/api/py/codechecker_api_shared/setup.py b/web/api/py/codechecker_api_shared/setup.py index 90f09bf34e..cb4e209862 100644 --- a/web/api/py/codechecker_api_shared/setup.py +++ b/web/api/py/codechecker_api_shared/setup.py @@ -8,7 +8,7 @@ with open('README.md', encoding='utf-8', errors="ignore") as f: long_description = f.read() -api_version = '6.59.0' +api_version = '6.60.0' setup( name='codechecker_api_shared', diff --git a/web/requirements.txt b/web/requirements.txt index 41269548f4..942ac44a03 100644 --- a/web/requirements.txt +++ b/web/requirements.txt @@ -4,7 +4,7 @@ alembic==1.5.5 portalocker==2.2.1 psutil==5.8.0 multiprocess==0.70.15 -thrift==0.13.0 +thrift==0.21.0 gitpython==3.1.41 PyYAML==6.0.1 types-PyYAML==6.0.12.12 diff --git a/web/server/vue-cli/package-lock.json b/web/server/vue-cli/package-lock.json index 28db2a6f30..60d285a224 100644 --- a/web/server/vue-cli/package-lock.json +++ b/web/server/vue-cli/package-lock.json @@ -11,7 +11,7 @@ "@mdi/font": "^6.5.95", "chart.js": "^2.9.4", "chartjs-plugin-datalabels": "^0.7.0", - "codechecker-api": "file:../../api/js/codechecker-api-node/dist/codechecker-api-6.59.0.tgz", + "codechecker-api": "file:../../api/js/codechecker-api-node/dist/codechecker-api-6.60.0.tgz", "codemirror": "^5.65.0", "date-fns": "^2.28.0", "js-cookie": "^3.0.1", @@ -4110,7 +4110,8 @@ "node_modules/async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "license": "MIT" }, "node_modules/asynckit": { "version": "0.4.0", @@ -4630,6 +4631,12 @@ "node": ">=8" } }, + "node_modules/browser-or-node": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.3.0.tgz", + "integrity": "sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg==", + "license": "MIT" + }, "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -5103,12 +5110,12 @@ } }, "node_modules/codechecker-api": { - "version": "6.59.0", - "resolved": "file:../../api/js/codechecker-api-node/dist/codechecker-api-6.59.0.tgz", - "integrity": "sha512-uLd4IqBeA+5iKVLVGkgJ8qSb+qB9OZxbTn8UawLv/MrGSj4O4FWDXEdjrxzofi8KMjXTd8IWhkAUVTDaHdOu7g==", + "version": "6.60.0", + "resolved": "file:../../api/js/codechecker-api-node/dist/codechecker-api-6.60.0.tgz", + "integrity": "sha512-L02HH+GNDo2s7XsK2ifE43Sbk7LPJfVuIRFRA4SjV+FzxE4R2DiNxeVJZRbYY9wAqmSlVVAobfVaoAx72Rkr9Q==", "license": "SEE LICENSE IN LICENSE", "dependencies": { - "thrift": "0.13.0-hotfix.1" + "thrift": "0.21.0" } }, "node_modules/codemirror": { @@ -9462,6 +9469,15 @@ "node": ">=0.10.0" } }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -13874,6 +13890,8 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" @@ -15604,16 +15622,19 @@ "dev": true }, "node_modules/thrift": { - "version": "0.13.0-hotfix.1", - "resolved": "https://registry.npmjs.org/thrift/-/thrift-0.13.0-hotfix.1.tgz", - "integrity": "sha512-iz+cQk7CSYpzhIdQOVB4bUmvp4Nw/Fr5DlX53cu++0Z3qpzyXdjZA8ihxamX8O5Jq8yVJIqnqKBsFQXTik9I2A==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/thrift/-/thrift-0.21.0.tgz", + "integrity": "sha512-AW8rwHYjeqXisS8B1iwko2gkNMFwSRJ+bO/W0xTGqRspTD3lGHwZx438+pHdOJ3GwpRAnK7TKbjqPOrHAa7ZwQ==", + "license": "Apache-2.0", "dependencies": { + "browser-or-node": "^1.2.1", + "isomorphic-ws": "^4.0.1", "node-int64": "^0.4.0", "q": "^1.5.0", - "ws": "^5.0.0" + "ws": "^5.2.3" }, "engines": { - "node": ">= 4.1.0" + "node": ">= 10.18.0" } }, "node_modules/through": { @@ -17068,9 +17089,10 @@ } }, "node_modules/ws": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", - "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.4.tgz", + "integrity": "sha512-fFCejsuC8f9kOSu9FYaOw8CdO68O3h5v0lg4p74o8JqWpwTf9tniOD+nOB78aWoVSS6WptVUmDrp/KPsMVBWFQ==", + "license": "MIT", "dependencies": { "async-limiter": "~1.0.0" } @@ -20810,6 +20832,11 @@ "fill-range": "^7.1.1" } }, + "browser-or-node": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.3.0.tgz", + "integrity": "sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg==" + }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -21140,10 +21167,10 @@ "dev": true }, "codechecker-api": { - "version": "file:../../api/js/codechecker-api-node/dist/codechecker-api-6.59.0.tgz", - "integrity": "sha512-uLd4IqBeA+5iKVLVGkgJ8qSb+qB9OZxbTn8UawLv/MrGSj4O4FWDXEdjrxzofi8KMjXTd8IWhkAUVTDaHdOu7g==", + "version": "file:../../api/js/codechecker-api-node/dist/codechecker-api-6.60.0.tgz", + "integrity": "sha512-L02HH+GNDo2s7XsK2ifE43Sbk7LPJfVuIRFRA4SjV+FzxE4R2DiNxeVJZRbYY9wAqmSlVVAobfVaoAx72Rkr9Q==", "requires": { - "thrift": "0.13.0-hotfix.1" + "thrift": "0.21.0" } }, "codemirror": { @@ -24284,6 +24311,12 @@ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, + "isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "requires": {} + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -28921,13 +28954,15 @@ "dev": true }, "thrift": { - "version": "0.13.0-hotfix.1", - "resolved": "https://registry.npmjs.org/thrift/-/thrift-0.13.0-hotfix.1.tgz", - "integrity": "sha512-iz+cQk7CSYpzhIdQOVB4bUmvp4Nw/Fr5DlX53cu++0Z3qpzyXdjZA8ihxamX8O5Jq8yVJIqnqKBsFQXTik9I2A==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/thrift/-/thrift-0.21.0.tgz", + "integrity": "sha512-AW8rwHYjeqXisS8B1iwko2gkNMFwSRJ+bO/W0xTGqRspTD3lGHwZx438+pHdOJ3GwpRAnK7TKbjqPOrHAa7ZwQ==", "requires": { + "browser-or-node": "^1.2.1", + "isomorphic-ws": "^4.0.1", "node-int64": "^0.4.0", "q": "^1.5.0", - "ws": "^5.0.0" + "ws": "^5.2.3" } }, "through": { @@ -29974,9 +30009,9 @@ } }, "ws": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", - "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.4.tgz", + "integrity": "sha512-fFCejsuC8f9kOSu9FYaOw8CdO68O3h5v0lg4p74o8JqWpwTf9tniOD+nOB78aWoVSS6WptVUmDrp/KPsMVBWFQ==", "requires": { "async-limiter": "~1.0.0" } diff --git a/web/server/vue-cli/package.json b/web/server/vue-cli/package.json index db8c1d9b92..26f099b58b 100644 --- a/web/server/vue-cli/package.json +++ b/web/server/vue-cli/package.json @@ -27,7 +27,7 @@ }, "dependencies": { "@mdi/font": "^6.5.95", - "codechecker-api": "file:../../api/js/codechecker-api-node/dist/codechecker-api-6.59.0.tgz", + "codechecker-api": "file:../../api/js/codechecker-api-node/dist/codechecker-api-6.60.0.tgz", "chart.js": "^2.9.4", "chartjs-plugin-datalabels": "^0.7.0", "codemirror": "^5.65.0",