summaryrefslogtreecommitdiff
path: root/src/plugins/android/androidsdkdownloader.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Android: Convert to using Tr::trAlessandro Portale2022-10-071-10/+10
| | | | | Change-Id: Ie9110093101b0f49808b4da7b13ac3f47c3bb994 Reviewed-by: hjk <hjk@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Drop Qt5: Android, IOS & WASM: Get rid of QOverloadJarek Kobus2022-07-201-1/+1
| | | | | | | | | | Add a context object into some lambdas. Change-Id: I72631aeb36703f8f335f3819796fb52148f1b377 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Archive: Avoid calling blocking stopProcessJarek Kobus2022-03-251-2/+9
| | | | | | | | | | | | | | | | | | | | Make Archive constructor public. Make the caller responsible for deleting the Archive object. Don't automatially run the unarchive process when constructing Archive object. Provide a start() method, to be called after the caller has connected to Archive signals. Add Archive::isValid() method. Remove Archive::unarchive() gui overload, as it's unused. Make sure we don't leak the Archive object in AndroidSdkDownloader. Change-Id: Idf67262554cdfef50aef4a2234b6a5089110f9a2 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Android: keep up with sdk tools changing folder structureAssam Boudjelthia2022-03-171-6/+14
| | | | | | | | | | | | | | | | | | | | The cmdline-tools package used to have the folder structure "tools/bin". However, latest packages are using the structure "cmdline-tools/bin". And since subsequent updates we are installing "cmdline-tools;latest" package, it will be put in "cmdline-tools/latest" folder, so we cannot extract to that path, or otherwise sdkmanager will complain that the path is in use. Currently we extract it and put it under the SDK path, then use it to install the essential packages, then it won't be used at all. This patch changes that by extracting the downloaded package into a temporary location, and use sdkmanager from there directly. Also, this patch updates the links to the cmdline-tools along the way. Fixes: QTCREATORBUG-27174 Change-Id: I1f5d0e38f5a026631e8a3852821d85a69d543c32 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Use Utils::Archive instead of java's jar in AndroidSdkDownloaderAlessandro Portale2022-01-281-49/+15
| | | | | | | | | | | | | | | | | | | The exctraction of the downloaded commandlinetools zip file via java's jar tool did suddenly not work anymore on Windows. The exit code of jarExtractProc in AndroidSdkDownloader::extractSdk would be != 0. Instead of fixing the jar usage, this change replaces it with the recently added Utils::Archive. That has the advantage that it preserves the file permissions while exctracting, so that we can also get rid of setSdkFilesExecPermission. Another advantage is that the SDK can be extracted even before a jdk has been selected. Change-Id: I99cc2aff8e183108eb11dbf96f06557e5b299d56 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Utils: Wrap various file system iteration flags and filtershjk2022-01-261-3/+1
| | | | | | | | | | | ... into a single class. This makes passing them around as a whole easier, and opens a path to have "generic" filters in form of a lambda or such. Change-Id: Ibf644b2fedcf0f1a35258030710afff8f5873f88 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Remove unneeded includes of QProcess from cpp filesJarek Kobus2021-11-011-2/+1
| | | | | | | | QProcess wasn't used in these files. Change-Id: I24900bcf312eb6ea1ca3bc0c753cebb505ec552b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: hjk <hjk@qt.io>
* Android: drop const from AndroidConfigurations::currentConfig()Assam Boudjelthia2021-10-261-1/+1
| | | | | | | | | | | Since the config can be expected to modify configuration values (e.g. setEmulatorArgs()) it shouldn't be const, but can be set to const whenever creating a reference that is not meant for modifying the config. Change-Id: I8c816a5422d4d57afa158c723d908e3a9a9a0db8 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: Use FilePathArtem Sokolovskii2021-09-171-25/+33
| | | | | Change-Id: Ia1cf2a615f0de70038a575f851572e944a9797df Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* fix memory leak in AndroidSdkDownloader::extractSdk()Oswald Buddenhagen2020-12-111-6/+5
| | | | | | | | | | put the process on the stack, so we don't need (and fail) to free it. while at it, remove the pointless close() call. amends f46099d2. Change-Id: I4025691bebf2899efe006ee83012aefbb8797a64 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Prevent multiple concurrent downloads of SDK toolsAlessandro Portale2020-11-301-2/+5
| | | | | | | | | ...by making the "Downloading SDK Tools package..." progress dialog application modal. Fixes: QTCREATORBUG-25013 Change-Id: I59979350d8f1ce5632ec520e1c661fff3399a283 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: read SDK configuration from user editable pathAssam Boudjelthia2020-03-181-5/+5
| | | | | | | | | | By default, copy the sdk_definitions.json to Qt Creator user resource path. The user can use that to make any updates if desired. Add SdkDownloader instance as a member of AndroidSettingsWidget. Change-Id: Ieabc9c6ddecbe63586f750b26bcf4ca990caee26 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Android: call cancel() instead of hide() in sdk download progressdialogAssam Boudjelthia2020-02-201-1/+1
| | | | | | | | The proper use is to call cancel(), the dialog will be hiden after that. Otherwise, it will not be cancel and can get visible again. Change-Id: Ifb2a00721571ce2bc8ded7c96e6b69e587020b34 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: use QDir::mkPath() instead of QDir::mkdir() in SdkDownloaderAssam Boudjelthia2020-02-111-2/+3
| | | | | | | | Allow creating nested dirs path. Change-Id: I38106c148b177e5af06a59dd624ee74e2db1df40 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Android: Automatically download SDK tools and essential packagesAssam Boudjelthia2020-02-071-0/+231
Automatically download Android SDK Tools to default path used by Android Studio, then essential packages will be installed using the sdkmanager tool. Automatic installation can also be triggered by an added button in the settings page. Essentials packages include NDK Bundle and other NDK versions required by previous Qt versions. An sdk_definitions.json file holds download paths for SDK Tools, and other (Qt version <-> essential packages) combinations. [ChangeLog][Android] Automatically download SDK Tools, NDKs and all essential packages for Android builds. Task-number: QTCREATORBUG-23285 Change-Id: I90e7aafecd017d2bdc959e403711d9d440a6bbb2 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>