Command Line Interface
QPM3 exposes a command line interface (CLI) that can be used to automate certain workflows. By installing the QPM3 Desktop Application the qpm3-cli path will be added to the system and can be called directly from the command line.
| Command | Description |
|---|---|
| login [options] | Login using Qualcomm credentials |
| logout | logout |
| build-download [options] | download full builds |
| diff-build-download [options] | download diff builds |
| build-ship [options] | ship full build |
| diff-build-ship [options] | ship a diff build |
| list-tags [options] | list tags |
| list-crs [options] | list crs |
| get-parent-info [options] | get information about parent ST |
| help [command] | display help for command |
Login
Login with your username and password
Usage: index login --username <string> --password <string>
Login using Qualcomm credentials
Options:
-u, --username <string> username
-p, --password <string> password
-h, --help display help for command
Example command: $qpm3-cli login -u my-username -p my-password
Example command: $qpm3-cli login --username my-username --password my-password
Logout
Logout from QPM
Usage: index logout [options]
logout
Options:
-h, --help display help for command
Example command: $qpm3-cli logout
Build Download
Download Complete Software Product Build for a particular Distro and Build combination as per imageName filter imageName all (downloads all the files), imageName MPSS (download image build ID that contains string MPSS) of a Software Product
Usage: index build-download [options]
download full builds
Options:
-sp, --software-product-name [string] software product name (default: "")
-bb, --base-build <string> base build id or base build release tag
-dn, --distro-name [string] distro name (default: "")
-in, --image-name [string] image name (default: "all")
-dl, --download-location [path] download location (default: ".")
-ft, --folder-type [string] folder type (default: "Type0")
-ex, --extract [string] extract files (default: "false")
-h, --help display help for command
Note: folder-type more info
Example command: $qpm3-cli build-download -sp Test.LA.1.0.r1 -bb Test.LA.1.0.r1-00195-STD.PROD-1.7822.6 -dn "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|" -in mpss -dl "C:\Users\qpm\Downloads"
Example command: $qpm3-cli build-download --software-product-name Test.LA.1.0.r1 --base-build Test.LA.1.0.r1-00195-STD.PROD-1.7822.6 --distro-name "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|" --image-name mpss --download-location "C:\Users\qpm\Downloads"
Example command with tags: $qpm3-cli build-download --software-product-name Test.LA.1.0.r1 --base-build r00195.1.8172.1 --distro-name "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|" --image-name mpss --download-location "C:\Users\qpm\Downloads"
Example command with limited inputs: $qpm3-cli build-download --base-build r00195.1.8172.1
Example command with folder-type inputs: $qpm3-cli build-download --base-build r00195.1.8172.1 --folder-type "Type1"
Example command with extract inputs: $qpm3-cli build-download --base-build r00195.1.8172.1 --folder-type "Type2" --extract true
Diff Build Download
Download Difference between 2 Software Builds for a particular Distro and Build combination as per imageName filter imageName all (downloads all the files), imageName MPSS (download image build ID that contains string MPSS) of a Software Product
Usage: index diff-build-download [options]
download diff builds
Options:
-sp, --software-product-name [string] software product name (default: "")
-bb, --base-build <string> base build id or base build release tag
-tb, --target-build <string> target build id or target build release tag
-dn, --distro-name [string] distro name (default: "")
-in, --image-name [string] image name (default: "all")
-dl, --download-location [path] download location (default: ".")
-h, --help display help for command
Example command: $qpm3-cli diff-build-download -sp Test.LA.1.0.r1 -bb Test.LA.1.0.r1-00195-STD.PROD-1.8172.1 -tb Test.LA.1.0.r1-00195-STD.PROD-1.7822.6 -dn "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|" -in mpss -dl "C:\Users\qpm\Downloads"
Example command: $qpm3-cli diff-build-download --software-product-name Test.LA.1.0.r1 --base-build Test.LA.1.0.r1-00195-STD.PROD-1.7822.6 --target-build Test.LA.1.0.r1-00195-STD.PROD-1.8172.1 --distro-name "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|" --image-name mpss --download-location "C:\Users\qpm\Downloads"
Example command with tags: $qpm3-cli diff-build-download --software-product-name Test.LA.1.0.r1 --base-build r00195.1.8172.1 --target-build r00195.1.7822.6 --distro-name "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|" --image-name all --download-location "C:\Users\qpm\Downloads"
Example command with limited inputs: $qpm3-cli diff-build-download --base-build r00195.1.8172.1 --target-build r00195.1.7822.6
Build Ship
Ship Complete Software Build for a particular Distro and Build combination of a Software Product
Usage: index build-ship [options]
ship full build
Options:
-sp, --software-product-name <string> software product name
-bb, --base-build <string> base build id or base build release tag
-dn, --distro-name <string> distro name
-h, --help display help for command
Example command: $qpm3-cli build-ship -sp Test.LA.1.0.r1 -bb Test.LA.1.0.r1-00195-STD.PROD-1.7822.6 -dn "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|"
Example command: $qpm3-cli build-ship --software-product-name Test.LA.1.0.r1 --base-build Test.LA.1.0.r1-00195-STD.PROD-1.7822.6 --distro-name "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|"
Example command with tags: $qpm3-cli build-ship --software-product-name Test.LA.1.0.r1 --base-build r00195.1.8172.1 --distro-name "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|"
Diff Build Ship
Ship Difference between 2 Software Builds for a particular Distro and Build combination of a Software Product Recommendation baseBuildId:"higher version" , targetBuildId:"lower version"
Usage: index diff-build-ship [options]
ship a diff build
Options:
-sp, --software-product-name <string> software product name
-bb, --base-build <string> base build id or base build release tag
-tb, --target-build <string> target build id or target build release tag
-dn, --distro-name <string> distro name
-h, --help display help for command
Example command: $qpm3-cli diff-build-ship -sp Test.LA.1.0.r1 -bb Test.LA.1.0.r1-00195-STD.PROD-1.8172.1 -tb Test.LA.1.0.r1-00195-STD.PROD-1.7822.6 -dn "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|"
Example command: $qpm3-cli diff-build-ship --software-product-name Test.LA.1.0.r1 --base-build Test.LA.1.0.r1-00195-STD.PROD-1.7822.6 --target-build Test.LA.1.0.r1-00195-STD.PROD-1.8172.1 --distro-name "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|"
Example command with tags: $qpm3-cli diff-build-ship --software-product-name Test.LA.1.0.r1 --base-build r00195.1.8172.1 --target-build r00195.1.7822.6 --distro-name "Snapdragon_Premium_High_2021.SPF.1.0|AMSS|Standard|OEM|"
List Tags
List down all the QPM tags of base build
Usage: index list-tags [options]
list tags
Options:
-sbb, --software-base-build <string> software base bulid
-h, --help display help for command
Example command: $qpm3-cli list-tags -sbb Test.LA.1.0.r1-00195-STD.PROD-1.7822.6
Example command: $qpm3-cli list-tags --software-base-build Test.LA.1.0.r1-00195-STD.PROD-1.7822.6
List CRs
List down all CR's mapped to base build
Usage: index list-crs [options]
list crs
Options:
-sb, --software-build <string> software bulid
-h, --help display help for command
Example command: $ qpm3-cli list-crs -sb Test.LA.1.0.r1-00195-STD.PROD-1.7822.6
Example command: $ qpm3-cli list-crs --software-build Test.LA.1.0.r1-00195-STD.PROD-1.7822.6
Get Parent Info
Show parent ST info if present
Usage: index get-parent-info [options]
get information about parent ST
Options:
-rt, --release-tag <string> release tag
-h, --help display help for command
Example command: $ qpm3-cli get-parent-info -rt r00013.1.25766.1
Example command: $ qpm3-cli get-parent-info --release-tag r00013.1.25304.17
NOTE: Login and logout commands modify credentials shared with QPM3 UI. Calling login from qpm3-cli will automatically make QPM3 UI launch with this user the next time it launches. Calling logout from qpm3-cli automatically makes QPM3 UI prompt for credentials the next time it is launched. If QPM3 UI is running when logout is called from CLI, the QPM3 UI stops working.