diff --git a/docs/application/tizen-studio/tizen-core/tizen-core-cli.md b/docs/application/tizen-studio/tizen-core/tizen-core-cli.md index eec762a0d6..e068383edf 100644 --- a/docs/application/tizen-studio/tizen-core/tizen-core-cli.md +++ b/docs/application/tizen-studio/tizen-core/tizen-core-cli.md @@ -1,575 +1,574 @@ # Tizen-Core Command Line Interface Commands -The Tizen-Core Command Line Interface (CLI) provides functionalities for developing Tizen applications without Tizen Studio. It includes the entire development process from creating the project to running the application. +The Tizen-Core Command Line Interface (CLI) provides functionalities for developing Tizen applications using the terminal. It includes the entire development process from creating the project to running the application. The CLI is located in the `$/tools/tizen-core/` directory. For developing an application using the CLI, add the CLI directory path to the `$PATH` environment variable using the following command: ``` export PATH=$PATH:$/tools/tizen-core/ ``` +## List profile templates -## Initialize the workspace - -In Tizen-Core, workspace is used for project creation. The workspace concept is similar to Visual Studio Solution. Each workspace folder can contain the main project along with the dependent projects. Workspace contains configuration YAML file which is created during initialization of workspace. This file contains the entire configuration for that particular workspace. - -Create a new folder and initialize workspace using the following command: +The following command displays the list of project templates for all the versions of the given workspace type. By default, it displays all the available templates: **Syntax:** + ``` -tz init [options] +tz list templates [options] ``` **Options:** -| Option | Description | -|------------------------|------------------------------------------| -| `-p`, `--profile=STRING` | Specifies the profile name. | -| `-w`, `--ws-dir=STRING` | Specifies the workspace directory. | -| `-a`, `--arch={arm|aarch64|x86}` | Specifies the architecture type: x86 (default). | -| `-b`, `--build-type={debug|release}` | Specifies the build type: debug (default). | -| `-r`, `--rootstrap=STRING` | Rootstrap for compiling project. (e.g: "--rootstrap=private" for using private rootstrap). | -| `-s`, `--skip-vs-files` | Skip generating files needed for Visual Studio. | - +| Option | Description | +|------------------|------------------------------------------| +| `-t`, `--type=STRING` | Display all the templates for given profile [native/web/dotnet/rpk]. | **Examples:** -- To initialize the mobile-6.5 workspace, use the following command: +- List of all the Native application templates: + Windows®, Ubuntu, and macOS: - Windows®: ``` - > mkdir C:\Users\workspace - > tz init -p mobile-6.5 -w C:\Users\workspace + > tz list templates -t native + tizen-9.0: + basic-edc-ui [native_app] + basic-ui [native_app] + ComponentBasedApp [native_app] + downloadable-font [native_app] + gtest [native_app] + IMEApplication [native_app] + ServiceApp [native_app] + SharedLibrary [native_app] + StaticLibrary [native_app] + widgetapp [native_app] + + > tz list templates -t web + tizen-9.0: + Addon [web_app] + Basic [web_app] + Companion [web_app] + WebClip [web_app] + WebService [web_app] ``` - Ubuntu and macOS: +## List installed rootstraps - ``` - $ mkdir ~/workspace - $ tz init -p mobile-6.5 -w ~/workspace - ``` +The following command displays a list of all the installed rootstraps in Tizen Studio: + +Windows®, Ubuntu, and macOS: +``` +tz list rootstraps +[ROOTSTRAP] [Information] +tizen-9.0-device.core Tizen 9.0, armel +tizen-9.0-device64.core Tizen 9.0, aarch64 +tizen-9.0-emulator.core Tizen 9.0, i586 +tizen-9.0-emulator64.core Tizen 9.0, x86_64 +``` -## Set workspace configuration options +## List Emulators -The command displays and sets the workspace configuration options: +The following command displays the list of Emulators available for all the installed profiles: **Syntax:** ``` -tz set [options] +tz emul list-vm [options] ``` **Options:** -| Option | Description | -|------------------------|------------------------------------------| -| `--help` | Show context-sensitive help. | -| `--version` | Print version information and quit. | -| `-w`, `--ws-dir="."` | Working directory. | -| `-g`, `--auto-gen={true|false}` | Auto build file generation enable. | -| `-i`, `--package-id=STRING` | Package ID for the Tizen package. | -| `-v`, `--version=STRING` | Version for the Tizen package. | -| `-x`, `--profiles-path="-"` | Path of profiles.xml containing the signing profiles. | -| `-s`, `--signing-profile="-"` | Signing profile used for Tizen packaging. | -| `-b`, `--build-type={debug|release}` | Specifies the build type. | -| `-r`, `--rootstrap=STRING` | Rootstrap used for compiling native app. | -| `-c`, `--compiler={gcc|llvm}` | Compiler for native app compilation. | -| `-d`, `--dotnet-cli-path=STRING` | Path of dotnet-cli. | -| `-m`, `--msbuild-path=STRING` | Path of msbuild. | -| `-D`, `--dotnet-build-tool={msbuild|dotnet}` | Tool for dotnet project build. | -| `-W`, `--working-folder="-"` | Working folder for web/dotnet workspace. | -| `-N`, `--tizen-net-version=STRING` | Nuget version of Tizen.NET. | -| `-n`, `--tizen-netsdk-version=STRING` | Nuget version of Tizen.NET.Sdk. | -| `-X`, `--xamarin-forms-version=STRING` | Nuget version of Tizen.Xamarin.Forms. | -| `-B`, `--ms-build-tasks-version=STRING` | Nuget version of MSBuild.Tasks. | -| `-U`, `--tizen-wearable-circle-ui-version=STRING` | Nuget version of Tizen.Wearable.CircleUI. | -| `-k`, `--tizen-open-tk-version=STRING` | Nuget version of Tizen.OpenTK. | -| `-u`, `--tizen-nui-xaml-version=STRING` | Nuget version of Tizen.NUI.Xaml. | -| `-h`, `--tizen-hot-reload-version=STRING` | Nuget version of Tizen.Hotreload. | -| `-A`, `--arch={arm|aarch64|x86}` | Specifies the architecture for build. | -| `-S`, `--src-file-patterns=SRC-FILE-PATTERNS,...` | Source file patterns excluded from build, format: pattern1, pattern2. | -| `-T`, `--test-file-patterns=TEST-FILE-PATTERNS,...` | Source file patterns included for test mode, format: pattern1, pattern2. | -| `-C`, `--chrome-path=STRING` | Path of the Chrome executable. | -| `-O`, `--chrome-simulator-options=CHROME-SIMULATOR-OPTIONS,...` | List of options for Chrome simulator, format: arg1, arg2. | -| `-M`, `--chrome-simulator-data-path=STRING` | Path of Chrome simulator data. | -| `-L`, `--chrome-inspector-options=CHROME-INSPECTOR-OPTIONS,...` | List of options for Chrome inspector, format: arg1, arg2. | -| `-e`, `--chrome-inspector-data-path=STRING` | Path of Chrome inspector data. | -| `-o`, `--optimize={true|false}` | Size optimization of `wgt` for web workspace. | -| `-P`, `--projects=STRING` | List of projects in the workspace and their dependencies, format: proj1=[dep1:dep2:dep3], proj2. | +| Option | Description | +|------------------|------------------------------------------| +| `-d`, `--type=STRING` | Print details of the VM. | +| `-P`, `--type=STRING` | List VMs for specified PROFILE. | **Examples:** -- To set llvm, arm and release type for build, use the following command: - - Windows®: - ``` - > tz set -A arm -c llvm -b release -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz set -A arm -c llvm -b release -w ~/workspace - ``` - -- Displays the list of all configurations for the given workspace. Individual options can be displayed by passing the required option flag: - - ``` - tz get [options] - ``` - -**Options:** - -| Option | Description | -|------------------------|------------------------------------------| -| `--help` | Show context-sensitive help. | -| `--version` | Print version information and quit. | -| `-w`, `--ws-dir="."` | Working directory. | -| `-g`, `--auto-gen` | Returns true if auto build file generation enabled. | -| `-t`, `--workspace-type` | Workspace type. | -| `-i`, `--package-id` | Package ID for the Tizen package. | -| `-v`, `--version` | Version for the Tizen package. | -| `-p`, `--profile` | Tizen profile and API version. | -| `-x`, `--profiles-path` | Path of profiles.xml containing the signing profiles. | -| `-s`, `--signing-profile` | Signing profile used for Tizen packaging. | -| `-b`, `--build-type` | Build type. | -| `-r`, `--rootstrap` | Rootstrap used for compiling native app. | -| `-c`, `--compiler` | Compiler for native app compilation. | -| `-d`, `--dotnet-cli-path` | Path of dotnet-cli. | -| `-m`, `--msbuild-path` | Path of msbuild. | -| `-D`, `--dotnet-build-tool` | Tool for dotnet project build. | -| `-W`, `--working-folder` | Working folder for web/dotnet workspace. | -| `-N`, `--tizen-net-version` | Nuget version of Tizen.NET. | -| `-n`, `--tizen-netsdk-version` | Nuget version of Tizen.NET.Sdk. | -| `-X`, `--xamarin-forms-version` | Nuget version of Tizen.Xamarin.Forms. | -| `-B`, `--ms-build-tasks-version` | Nuget version of MSBuild.Tasks. | -| `-U`, `--tizen-wearable-circle-ui-version` | Nuget version of Tizen.Wearable.CircleUI. | -| `-k`, `--tizen-open-tk-version` | Nuget version of Tizen.OpenTK. | -| `-u`, `--tizen-nui-xaml-version` | Nuget version of Tizen.NUI.Xaml. | -| `-h`, `--tizen-hot-reload-version` | Nuget version of Tizen.Hotreload. | -| `-A`, `--arch` | Arch for build. | -| `-S`, `--src-file-patterns` | Source file patterns excluded from build. | -| `-T`, `--test-file-patterns` | Source file patterns included for test mode. | -| `-C`, `--chrome-path` | Path of Chrome executable. | -| `-O`, `--chrome-simulator-options` | List of options for Chrome simulator. | -| `-M`, `--chrome-simulator-data-path` | Path of Chrome simulator data. | -| `-L`, `--chrome-inspector-options` | List of options for Chrome inspector. | -| `-e`, `--chrome-inspector-data-path` | Path of Chrome inspector data. | -| `-o`, `--optimize` | Returns true if optimization of `wgt` for web workspace is enabled. | -| `-P`, `--projects` | List of projects in the workspace and their dependencies. | -| `-a`, `--all` | Return the values of all the attrs. | - -**Examples:** +- List of all the installed Emulators: -- The command displays the compiler, architecture, and the build type set: + Windows®, Ubuntu, and macOS: - Windows®: - ``` - > tz get -A -c -b -w C:\Users\workspace - build_type:debug - compiler:llvm - arch:x86 - ``` - - Ubuntu and macOS: ``` - $ tz get -A -c -b -w ~/workspace - build_type:debug - compiler:llvm - arch:x86 + > tz emul list-vm + T-9.0-x86 + T-9.0-x86_64 + T-samsung-8.0-x86 ``` -## Display profile templates +## Launch Emulator -The command displays the list of project templates for all the versions of the given workspace type. By default, it displays all the available native templates: +The following command is used to launch the installed Emulators: **Syntax:** ``` -tz list templates [options] +tz emul launch [options] ``` **Options:** | Option | Description | |------------------|------------------------------------------| -| `-t`, `--type={native|web|dotnet}` | Display all the templates for given profile: native (default). | +| `-n`, `--name=STRING` | name of the emulator to launch. | **Examples:** -- List of all the native application templates: +- Launch Emulator: Windows®, Ubuntu, and macOS: ``` - > tz list -t native - wearable-6.5: - basic_ui [native_app] - basic_edc_ui [native_app] - imi_app [native_app] - serviceapp [native_app] - shared_library [shared_lib] - static_library [static_lib] - widget [native_app] - - mobile-6.5: - basic_ui [native_app] - basic_edc_ui [native_app] - imi_app [native_app] - serviceapp [native_app] - component_app [native_app] - widget [native_app] - shared_library [shared_lib] - static_library [static_lib] + > tz emul launch -n T-9.0-x86 ``` -## Display workspace templates +## Create a Tizen project -The command displays a list of project templates available for the given workspace: +The following command creates a Tizen native/web/dotnet/resource project from a template in the given directory: **Syntax:** ``` -tz templates [options] +tz new [options] ``` **Options:** -| Option | Description | -|------------------|------------------------------------------| -| `-w`, `--ws-dir=`| Specifies the workspace directory. | -| `-t`, `--type={native|web|dotnet}`| Specifies the project type. | +| Option | Description | +|------------------------|------------------------------------------| +| `-t`, `--template=STRING` | Specifies the template name (Required) | +| `-n`, `--project=STRING` | Specifies the project name (Required) | +| `-w`, `--ws-dir=STRING` | Specifies the directory where project has to be created. By default it will be current directory | +| `-T`, `--type=STRING` | Specifies the profile type (Required) [native/web/dotnet/rpk] | +| `-p`, `--profile=STRING` | Specify the profile name (Required) | + **Examples:** -- List of available native templates for the workspace: +- Create a native project based on the basic UI native template in the given directory: - Windows®: + Windows®: ``` - > tz templates -t native -w C:\Users\workspace - native templates: - basic_ui [native_app] - basic_edc_ui [native_app] - imi_app [native_app] - serviceapp [native_app] - component_app [native_app] - widget [native_app] - shared_library [shared_lib] - static_library [static_lib] + > tz new -t basic_ui -n basicnative -T native -p tizen-9.0 -w C:\Users\workspace ``` Ubuntu and macOS: ``` - $ tz templates -t native -w ~/workspace - native templates: - basic_ui [native_app] - basic_edc_ui [native_app] - imi_app [native_app] - serviceapp [native_app] - component_app [native_app] - widget [native_app] - shared_library [shared_lib] - static_library [static_lib] + $ tz new -t basic_ui -n basicnative -T native -p tizen-9.0 -w ~/workspace ``` -## Display installed rootstraps +- Create a web project based on the basic UI web template in the workspace. -The command displays a list of all the installed rootstraps in Tizen Studio: + Windows®: + ``` + > tz new -t Basic -n basicweb -T web -p tizen-9.0 -w C:\Users\workspace + ``` -Windows®, Ubuntu, and macOS: -``` -tz list rootstraps -[ROOTSTRAP] [Information] -da-hfp-6.0-device.core.private da-hfp 6.0, armel -iot-headless-6.0-device.core Iot-headless 6.0, armel -iot-headless-6.5-device.core Iot-headless 6.5, armel -mobile-6.0-device.core Mobile 6.0, armel -mobile-6.0-emulator.core Mobile 6.0, i586 -mobile-6.5-device.core Mobile 6.5, armel -mobile-6.5-emulator.core Mobile 6.5, i586 -``` + Ubuntu and macOS: + ``` + $ tz new -t Basic -n basicweb -T web -p tizen-9.0 -w ~/workspace + ``` -## Create a Tizen project +- Create a dotnet project based on the NUIAPP template in the workspace: + + Windows®: + ``` + > tz new -t TizenNUIApp -n nuiapp -T dotnet -p tizen-9.0 -w C:\Users\workspace + ``` + + Ubuntu and macOS: + ``` + $ tz new -t TizenNUIApp -n nuiapp -T dotnet -p tizen-9.0 -w ~/workspace + ``` + +## Set global and project configuration options -The command creates a Tizen native or web or dotnet project from a template in the workspace: +The following command displays and sets the global and project configuration options. For setting or getting project configurations, project path is mandatory: **Syntax:** ``` -tz new [options] +tz set [options] ``` **Options:** | Option | Description | |------------------------|------------------------------------------| -| `-t`, `--template` | Specifies the template name. | -| `-p`, `--path` | Specifies the project name. | -| `-w`, `--ws-dir` | Specifies the workspace directory. | -| `-T`, `--type={native|web|dotnet}` | Specifies the profile type. | -| `-s`, `--sample` | Option used to create samples (-s "Category_name, application_name"). | +| `--help` | Show context-sensitive help. | +| `--version` | Print version information and quit. | +| `-w`, `--proj-dir="."` | Specify the project path (Required for Project). | +| `-x`, `--profiles-path="-"` | Path of profiles.xml containing the signing profiles (Global). | +| `-s`, `--signing-profile="-"` | Signing profile used for Tizen packaging (Project). | +| `-b`, `--build-type=STRING` | Specifies the build type (debug/release/test)(Project). | +| `-r`, `--rootstrap=STRING` | Rootstrap used for compiling native app (Project). | +| `-c`, `--compiler=STRING ` | Compiler for native app compilation [gcc/llvm](project). | +| `-d`, `--dotnet-cli-path=STRING` | Path of dotnet-cli (Global). | +| `-m`, `--msbuild-path=STRING` | Path of msbuild (Global). | +| `-D`, `--dotnet-build-tool=STRING ` | Tool for dotnet project build [msbuild/dotnet](Global). | +| `-A`, `--arch=STRING ` | Specifies the architecture for build [arm/aarch64/x86/x86_64](Project). | +| `-S`, `--src-file-patterns=SRC-FILE-PATTERNS,...` | Source file patterns excluded from build, format: pattern1, pattern2 (Project). | +| `-T`, `--test-file-patterns=TEST-FILE-PATTERNS,...` | Source file patterns included for test mode, format: pattern1, pattern2 (Project). | +| `-C`, `--chrome-path=STRING` | Path of the Chrome executable (Global). | +| `-V`, `--tv-simulator-path=STRING` | Path of tv-simulator (Global). | +| `-L`, `--chrome-inspector-options=CHROME-INSPECTOR-OPTIONS,...` | List of options for Chrome inspector, format: arg1, arg2 (Global). | +| `-e`, `--chrome-inspector-data-path=STRING` | Path of Chrome inspector data (Global). | +| `-O`, `--optimize=STRING` | Size optimization of `wgt` for web projects [true/false](project). | +| `-o`, `--output-path=STRING` | Output Path for project. | **Examples:** -- Create a native project based on the basic UI native template in the workspace: - +- Project - set llvm, arm and release type for the project, use the following command: + Windows®: ``` - > tz new -t basic_ui -p basicnative -T native -w C:\Users\workspace + > tz set -A arm -c llvm -b release -w C:\Users\workspace\basicnative ``` Ubuntu and macOS: ``` - $ tz new -t basic_ui -p basicnative -T native -w ~/workspace + $ tz set -A arm -c llvm -b release -w ~/workspace/basicnative ``` - -- Create a web project based on the basic UI web template in the workspace. - - Windows®: +- Global - set dotnet build tool: + ``` - > tz new -t BasicUI -p basicweb -w C:\Users\workspace + > tz set -D msbuild ``` - Ubuntu and macOS: +- Displays the list of all configurations for the given workspace. Individual options can be displayed by passing the required option flag: + ``` - $ tz new -t BasicUI -p basicweb -w ~/workspace + tz get [options] ``` -- Create a dotnet project based on the ElmSharp template in the workspace. +**Options:** + +| Option | Description | +|------------------------|------------------------------------------| +| `--help` | Show context-sensitive help. | +| `--version` | Print version information and quit. | +| `-w`, `--proj-dir="."` | Specify the project path (Required for Project). | +| `-p`, `--profile` | Tizen profile and API version (Project). | +| `-x`, `--profiles-path` | Path of profiles.xml containing the signing profiles (Global). | +| `-s`, `--signing-profile` | Signing profile used for Tizen packaging (Project). | +| `-b`, `--build-type` | Build type (Project). | +| `-r`, `--rootstrap` | Rootstrap used for compiling native app (Project). | +| `-c`, `--compiler` | Compiler for native app compilation (Project). | +| `-d`, `--dotnet-cli-path` | Path of dotnet-cli (Global). | +| `-m`, `--msbuild-path` | Path of msbuild (Global). | +| `-D`, `--dotnet-build-tool` | Tool for dotnet project build (Global). | +| `-A`, `--arch` | Arch for build (Project). | +| `-S`, `--src-file-patterns` | Source file patterns excluded from build (Project). | +| `-T`, `--test-file-patterns` | Source file patterns included for test mode (Project). | +| `-C`, `--chrome-path` | Path of Chrome executable (Global). | +| `-L`, `--chrome-inspector-options` | List of options for Chrome inspector (Global). | +| `-e`, `--chrome-inspector-data-path`| Path of Chrome inspector data (Global). | +| `-O`, `--optimize` | Returns true if optimization of `wgt` for web workspace is enabled (Project). | +| `-P`, `--projects` | List the project dependencies (Project). | +| `-o`, `--output-path=STRING` | Output Path for project (Project). | +| `-a`, `--all` | Return the values of all the attrs. | + +**Examples:** + +- The following command displays the compiler, architecture, and the build type set: Windows®: ``` - > tz new -t TizenElmSharpApp -p elmsharp -T dotnet -w C:\Users\workspace + > tz get -A -c -b -w C:\Users\workspace\basicnative + build_type:Debug + compiler:llvm + arch:x86 ``` - + Ubuntu and macOS: ``` - $ tz new -t TizenElmSharpApp -p elmsharp -T dotnet -w ~/workspace + $ tz get -A -c -b -w ~/workspace/basicnative + build_type:Debug + compiler:llvm + arch:x86 ``` -## List and creation of Tizen samples - -This section describes how to list and create native and web samples. Initialize the workspace as mentioned in the section [Initialize the Workspace](#initialize-the-workspace). +## Build the project -To list the samples available for the workspace, use the following command: +The following command builds Tizen native, web, and dotnet projects. The same command can be used to build all the 3 type of projects: **Syntax:** + ``` -tz samples [options] +tz build [options] ``` **Options:** | Option | Description | |------------------------|------------------------------------------| -| `-w`, `--ws-dir` | Specifies the workspace directory. | -| `-t`, `--type=` | Specifies the project type. | +| `-w`, `--proj-dir=STRING` | Specifies the project directory to be built. | + **Examples:** -- List of samples for the mobile-6.5 workspace: +- Build the native project with the default `x86`, `llvm`, and `debug` options: Windows®: ``` - > tz samples -t native -w C:\Users\workspace - Context : - Context Trigger - Locations : - Gps service - Geofence - Geofence3 - Maps - Machine Learning : - Machine Learning Single - Machine Learning Text Classification + > tz build -w C:\Users\workspace\basicnative ``` Ubuntu and macOS: ``` - > tz samples -t native -w ~/workspace - Context : - Context Trigger - Locations : - Gps service - Geofence - Geofence3 - Maps - Machine Learning : - Machine Learning Single - Machine Learning Text Classification + $ tz build -w ~/workspace/basicnative + ``` + +- Build the Native project with `arm`, `llvm`, and `release` options: + + Windows®: + ``` + > tz set -A arm -b release -c gcc -w C:\Users\workspace\basicnative + > tz build -w C:\Users\workspace\basicnative ``` -### Create a sample in the workspace + Ubuntu and macOS: + ``` + $ tz set -A arm -b release -c gcc -w ~/workspace/basicnative + $ tz build -w ~/workspace/basicnative + ``` +## Package a Tizen application with sign - To create a sample in the workspace, use the following command: +The following command builds and packages Tizen application with signing. If there is a package file in the option (-b), the package is re-signed. Tizen application is signed with a certified profile in the `tizen-studio-data/profile/profiles.xml` file. Certificate security-profiles can be created as mentioned in the section [manage a security profile](#manage-a-security-profile). **Syntax:** ``` -tz new -T type -s "Category,Application_name" +tz pack [options] ``` +**Options:** + +| Option | Description | +|-----------------------------------|------------------------------------------| +| `-w`, `--proj-dir` | Specifies the project directory. | +| `-t`, `--type={tpk/wgt}` | [repack] Final pkg type (`tpk`/`wgt`). Default: `tpk`. | +| `-s`, `--sign-profile=STRING` | [repack] Specifies the security profile name for signing. If you skip this option, the CLI uses the active profile or the default profile. The default profile is only valid for the Emulator or reference devices. | +| `-p, --profiles-path=STRING` | [repack] Path to profiles.xml. Default: tizen-studio-data/profile/profiles.xml specified in config.yaml. | +| `-k --ref-pkgs=STRING` | [repack] Paths of the reference projects, for hybrid packaging, semicolon separated paths:pkg1;pkg2. | +| `-b --base-pkg=STRING` | [repack] Path of the base pkg. | +| `-o --out-path=STRING` | [repack] Path of the output pkg: path/to/finalpkg.ext Default: base pkg path. | + **Examples:** -- The following example creates Maps sample project in the workspace. +- Package the project: + + Windows®: + ``` + > tz.exe pack -w C:\Users\workspace\basicnative\ + Done. Made 9 targets from 16 files in 25ms + ninja: Entering directory `Debug' + [5/6] SIGN package files + Signing using certificates: + Author cert : C:/tizen-studio-data/keystore/author/test1.p12 + Distributor cert : C:/tizen-studio/tools/certificate-generator/certificates/distributor/tizen-distributor-signer-new.p12 + Distributor2 cert : + + Package File Location: C:\Users\workspace\basicnative\Debug\org.example.basicnative-1.0.0-x86.tpk + [6/6] STAMP obj/build/pack.stamp + ``` + + Ubuntu and macOS: + ``` + $ tz pack -w ~/workspace/basicnative + Done. Made 9 targets from 16 files in 14ms + ninja: Entering directory `Debug' + [1/2] SIGN package files + Signing using certificates: + Author cert : /home/user/tizen-studio-data.2/keystore/author/test2.p12 + Distributor cert : /home/user/tizen-studio/tools/certificate-generator/certificates/distributor/tizen-distributor-signer-new.p12 + Distributor2 cert : + + Package File Location: /home/user/basicnative/Debug/org.example.basicnative-1.0.0-x86.tpk + [2/2] STAMP obj/Build/pack.stamp + ``` + +- Repackage the existing pkg file: Windows®: ``` - > tz new -s "Locations,Maps" -T native -w C:\Users\workspace + > tz pack -t tpk -s profiletest -b C:\Users\workspace\basicnative\Debug\org.example.basicnative-1.0.0-x86.tpk + Using default certificates + Signing using certificates: + Author cert : C:\tizen-studio\tools\certificate-generator\certificates\developer\tempMobile.p12 + Distributor cert : C:\tizen-studio\tools\certificate-generator\certificates\distributor\tizen-distributor-signer.p12 + Distributor2 cert : + + Package File Location: C:\Users\workspace\basicnative\Debug\org.example.basicnative-1.0.0-x86.tpk ``` Ubuntu and macOS: ``` - $ tz new -s "Locations,Maps" -T native -w ~/workspace + $ tz pack -t tpk -s profiletest -b /home/user/basicnative/Debug/org.example.basicnative-1.0.0-x86.tpk + Signing using certificates: + Author cert : /home/user1/tizen-studio/tools/certificate-generator/certificates/developer/tempMobile.p12 + Distributor cert : /home/user1/tizen-studio/tools/certificate-generator/certificates/distributor/tizen-distributor-signer.p12 + Distributor2 cert : + + Package File Location: /home/user/basicnative/Debug/org.example.basicnative-1.0.0-x86.tpk + ``` + +- Merge and repackage the existing pkg files: + + Windows®: + ``` + > tz pack -t tpk -r C:\Users\workspace\serviceapp\Debug\org.example.serviceapp-1.0.0-x86.tpk -b C:\Users\workspace\basicnative\Debug\org.example.basicnative-1.0.0-x86.tpk -s profiletest -o C:\Users\workspace\org.example.basicnative-1.0.0-x86.tpk + Using default certificates + Signing using certificates: + Author cert : C:\tizen-studio\tools\certificate-generator\certificates\developer\profiletest.p12 + Distributor cert : C:\tizen-studio\tools\certificate-generator\certificates\distributor\tizen-distributor-signer.p12 + Distributor2 cert : + Package File Location: C:\Users\workspace\org.example.basicnative-1.0.0-x86.tpk ``` + Ubuntu and macOS: + ``` + $ tz pack -t tpk -s profiletest -r ~/user/serviceapp/Debug/org.example.serviceapp-1.0.0-x86.tpk -b ~/user/basicnative/Debug/org.example.basicnative-1.0.0-x86.tpk -o ~/user/org.example.basicnative-1.0.0-x86.tpk + Signing using certificates: + Author cert : /home/user/tizen-studio/tools/certificate-generator/certificates/developer/profiletest.p12 + Distributor cert : /home/user/tizen-studio/tools/certificate-generator/certificates/distributor/tizen-distributor-signer.p12 + Distributor2 cert : -## MultiApp and add dependency between projects + Package File Location: /home/user/org.example.basicnative-1.0.0-x86.tpk + ``` +## Install the application on a target -The command adds dependency between the projects in the MultiApp workspace. Only the working_folder project (specified in the working_folder attribute in tizen_workspace.yaml) and its dependencies are picked for build and pack. +The following command installs a Tizen application on a specified target or serial device: **Syntax:** ``` -tz add-deps [options] +tz install [options] ``` **Options:** -| Option | Description | -|---------------------------------------|----------------------------------------| -| `` | Project path relative to workspace. | -| `-d`, `--deps=STRING` | Project dependencies, comma separated: -d proj1, proj2. | -| `-w`, `--ws-dir=STRING` | Workspace directory. | -| `--help` | Show context-sensitive help. | - +| Option | Description | +|------------------------------------|------------------------------------------| +| `-w`, `--proj-dir=STRING` | Specifies the project path to be installed. | +| `-p`, `--package-path=STRING` | Specifies the package (tpk/wgt) path to be installed. | +| `-t`, `--target=STRING` | Specifies the target name to install the package. | +| `-e`, `--serial=STRING` | Specifies the serial to install the package. | **Examples:** -- Following command creates native BasicUI and ServiceApp in the workspace and ServiceApp is added as dependent project of BasicUI: - +- Install the application: Windows®: ``` - > tz new -t basic_ui -p basic -T native -w C:\Users\workspace - > tz new -t serviceapp -p service -T native -w C:\Users\workspace - > tz add-deps basic -d service -w C:\Users\workspace + > tz install -e emulator-26101 -w C:\Users\workspace\basicnative ``` Ubuntu and macOS: ``` - $ tz new -t basic_ui -p basic -T native -w ~/workspace - $ tz new -t serviceapp -p service -T native -w ~/workspace - $ tz add-deps basic -d service -w ~/workspace + $ tz install -e emulator-26101 -w ~/workspace/basicnative ``` + - Install the package (tpk|wgt). + Windows®: + ``` + > tz install -e emulator-26101 -p C:\Users\workspace\basicnative\Debug\org.example.basicnative-1.0.0-x86.tpk + ``` -## Set the working folder - -The working folder is used to select the project in the workspace that needs to be built and run. If there are multiple projects in the workspace, we need to set the working folder before build and other commands are run. The path is set depending upon the project type. Once the working folder is set, the main project which is set as the working folder and its dependent projects are built and packaged. -To set the path of the working folder, use the following command: +## Run the application on a target -- The path can be either relative to the workspace path or the absolute path of the project. +TThe following command runs Tizen application on a specified target or serial device: **Syntax:** + ``` -tz set -W [path] [options] +tz run [options] ``` **Options:** -| Option | Description | -|------------------------|------------------------------------------| -| `-w`, `--ws-dir` | Specifies the workspace directory. | -| `-W`, `--working-folder` | Specifies the project to be built in the workspace. | +| Option | Description | +|----------------------------------|------------------------------------------| +| `-w`, `--proj-dir=STRING` | Specifies the project path to execute. | +| `-t`, `--target=STRING` | Specifies the target name to run the package. | +| `-e`, `--serial=STRING` | Specifies the serial to run the package. | +| `-d`, `--debug-mode` | Run web app in debug mode in web inspector. | +| `-r`, `--simulator` | Run the web app in web simulator (only TV simulator supported). | +| `-p`, `--package-id=STRING` | Specifies the package id to execute. | +| `-c`, `--coverage` | Generate coverage report for native test app run. | **Examples:** -- To build basicnative project in the workspace, set the working folder like mentioned below: - +- Run the specified application on the Emulator-26101: + Windows®: ``` - > tz set -W basicnative -w C:\Users\workspace + > tz run -e emulator-26101 -w C:\Users\workspace\basicnative ``` - Ubuntu and macOS: + Ubuntu and macOS: ``` - $ tz set -W basicnative -w ~/workspace + $ tz run -e emulator-26101 -w ~/workspace/basicnative ``` -- To build the web project in the workspace, set the working folder as described below: - +## Run the web application in web simulator (only TV simulator supported) + Windows®: ``` - > tz set -W basicweb -w C:\Users\workspace + > tz run -r -w C:\Users\workspace\basicweb ``` - Ubuntu and macOS: + Ubuntu and macOS: ``` - $ tz set -W basicweb -w ~/workspace + $ tz run -r -w ~/workspace/basicweb ``` -- To build the dotnet project in the workspace, set the working folder as described below: - +## Run the web application in debug mode using web inspector + Windows®: ``` - > tz set -W elmsharp -w C:\Users\workspace + > tz run -d -e emulator-26101 -w C:\Users\workspace\basicweb ``` - Ubuntu and macOS: + Ubuntu and macOS: ``` - $ tz set -W elmsharp -w ~/workspace + $ tz run -d -e emulator-26101 -w ~/workspace/basicweb ``` +## Uninstall the application on a target -## Build the project - -The command builds the Tizen native, web, and dotnet projects. After the working folder is set, the project and its dependent projects are built. The same command can be used to build all the 3 type of projects. +The following command uninstalls Tizen application on a specified target or serial device: **Syntax:** ``` -tz build [options] +tz uninstall [options] ``` **Options:** -| Option | Description | -|------------------------|------------------------------------------| -| `-w`, `--ws-dir` | Specifies the workspace directory. | - +| Option | Description | +|----------------------------------|------------------------------------------| +| `-w`, `--proj-dir=STRING` | Specifies the project path to be uninstalled. | +| `-t`, `--target=STRING` | Specifies the target name to uninstall the package. | +| `-e`, `--serial=STRING` | Specifies the serial to uninstall the package. | **Examples:** -- Build the native project with the default `x86`, `llvm`, and `debug` options: - - Windows®: - ``` - > tz build -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz build -w ~/workspace - ``` - -- Build the native project with the `arm`, `llvm`, and `release` options: +- Uninstall the application based on the specified working directory: Windows®: ``` - > tz set -A arm -b release -c gcc -w C:\Users\workspace - > tz build -w C:\Users\workspace + > tz uninstall -e emulator-26101 -w C:\Users\workspace\nuiapp ``` - Ubuntu and macOS: + Ubuntu, and macOS: ``` - $ tz set -A arm -b release -c gcc -w ~/workspace - $ tz build -w ~/workspace + > tz uninstall -e emulator-26101 -w ~/workspace/nuiapp ``` - ## Clean the project -The command cleans the Tizen workspace. If you clean the workspace, all the output files generated during -build are removed. +The following command is used to clean Tizen project. If you clean the project, all output files generated during the build are removed: **Syntax:** @@ -581,42 +580,155 @@ tz clean [options] | Option | Description | |--------------------------|------------------------------------------| -| `-w`, `--ws-dir` | Specifies the workspace directory. | +| `-w`, `--proj-dir=STRING`| Specifies the project path to be cleaned. | **Examples:** -- Clean the project. +- Clean the project: Windows®: ``` - > tz clean -w C:\Users\workspace + > tz clean -w C:\Users\workspace\basicnative ``` Ubuntu and macOS: ``` - $ tz clean -w ~/workspace + $ tz clean -w ~/workspace/basicnative ``` -## Issue a Tizen certificate +## Add dependency between the projects -The command generates a Tizen certificate for your application. If you want to upload your application to the the official site for Tizen applications or install the application on a Tizen device, you must generate a Tizen certificate. +The following command adds dependency between the projects in the given directory: **Syntax:** + ``` -tz cert [options] +tz add-deps [options] ``` **Options:** -| Option | Description | -|---------------------------------------|------------------------------------------| -| `--help` | Show context-sensitive help. | -| `--version` | Print version information and quit. | -| `-n`, `--name=STRING` | Author's name (required). | -| `-p`, `--password=STRING` | Password (required). | -| `-e`, `--email=STRING` | Author's email. | -| `-d`, `--department=STRING` | Author's department. | -| `-o`, `--organization=STRING` | Author's organization. | +| Option | Description | +|---------------------------------------|----------------------------------------| +| `` | Project path relative to main project. | +| `-d`, `--deps=STRING` | Project dependencies relative to main project, comma separated: -d proj1, proj2. | +| `--help` | Show context-sensitive help. | + + +**Examples:** + +- The following command creates Native BasicUI and ServiceApp in the workspace and ServiceApp is added as dependent project of BasicUI: + + + Windows®: + ``` + > tz new -t basic_ui -n basic -T native -p tizen-9.0 -w C:\Users\workspace + > tz new -t serviceapp -n service -T native -p tizen-9.0 -w C:\Users\workspace + > tz add-deps C:\Users\workspace\basic -d ..\service + ``` + + Ubuntu and macOS: + ``` + $ tz new -t basic_ui -n basic -T native -p tizen-9.0 -w ~/workspace + $ tz new -t serviceapp -n service -T native -p tizen-9.0 -w ~/workspace + $ tz add-deps /home/test/workspace/basic -d ../service + ``` + +## Details to create hybrid projects + +A hybrid project is a project which combines different type of projects like native and dotnet, or web and native apps. + +**Example:** + +Different kinds of projects can be created from the templates using the `-T project_type` argument in `tz new` as mentioned in the section [Create a Tizen Project](#create-a-tizen-project). + +**Examples:** + +Windows®: +``` +tz new -T native -t ServiceApp -n nativeservice -p tizen-9.0 -w C:\Users\workspace +tz new -T web -t BasicUI -n basicweb -p tizen-9.0 -w C:\Users\workspace +``` + +Ubuntu and macOS: +``` +tz new -T native -t basic_ui -p basicnative -w ~/workspace +tz new -T web -t BasicUI -p basicweb -w ~/workspace +``` + +Once the different types of projects are created in the workspace, dependencies can be added between the projects as mentioned in the section [adding dependency between projects](#add-dependency-between-the-projects). + +The rest of the functionalities: [build](#build-the-project), [pack](#package-a-tizen-application-with-signing), [install](#install-the-application-on-a-target), [run](#run-the-application-on-a-target), [setting working_folder](#set-the-working-folder), [adding dependency](#add-dependency-between-the-projects) have the same behaviour in the hybrid workspace. + +## Details to create, package, and install resource project + +A resource project can contain resource files that can be used by a native application in a workspace: + +**Example:** + +Resource project can be created from the template the `-T project_type` argument in `tz new` as mentioned in the section [Create a Tizen Project](#create-a-tizen-project). + +**Examples:** + +Windows®: +``` +tz new -T rpk -t rpk_app -n basicrpk -p tizen-9.0 -w C:\Users\workspace +``` + +Ubuntu and macOS: +``` +tz new -T rpk -t rpk_app -n basicrpk -p tizen-9.0 -w ~/workspace +``` + +To package and install rpk on the target, use the following commands: + +**Examples:** + +- Package the project into rpk: + + Windows®: + ``` + > tz pack -w C:\Users\workspace\basicrpk + ``` + + Ubuntu and macOS: + ``` + $ tz pack -w ~/workspace/basicrpk + ``` + +- Install the rpk on the target: + + Windows®: + ``` + > tz install -w C:\Users\workspace\basicrpk + ``` + + Ubuntu and macOS: + ``` + $ tz install -w ~/workspace/basicrpk + ``` + + +## Issue a Tizen certificate + +The following command generates a Tizen certificate for your application. If you want to upload your application to the the official site for Tizen applications or install the application on a Tizen device, you must generate a Tizen certificate using the following command: + +**Syntax:** +``` +tz cert [options] +``` + +**Options:** + +| Option | Description | +|---------------------------------------|------------------------------------------| +| `--help` | Show context-sensitive help. | +| `--version` | Print version information and quit. | +| `-n`, `--name=STRING` | Author's name (required). | +| `-p`, `--password=STRING` | Password (required). | +| `-e`, `--email=STRING` | Author's email. | +| `-d`, `--department=STRING` | Author's department. | +| `-o`, `--organization=STRING` | Author's organization. | | `-c`, `--city=STRING` | Author's city. | | `-s`, `--state=STRING` | Author's state. | | `-C`, `--country=STRING` | Author's country. | @@ -869,373 +981,9 @@ Examples: total: 0 ``` -## Package a Tizen application with sign - -The command builds and packages the Tizen application with signing. If there is a package file in the option (-b), the package is re-signed. The Tizen application is signed with a certified profile in the `tizen-studio-data/profile/profiles.xml` file. Certificate security-profiles can be created as mentioned in the section [manage a security profile](#manage-a-security-profile). The package is created for the project which is set as a working folder as mentioned in the section [Set the working folder](#set-the-working-folder). - -**Syntax:** - -``` -tz pack [options] -``` - -**Options:** - -| Option | Description | -|-----------------------------------|------------------------------------------| -| `-w`, `--ws-dir` | Specifies the workspace directory. | -| `-t`, `--type={tpk/wgt}` | [repack] Final pkg type (`tpk`/`wgt`). Default: `tpk`. | -| `-s`, `--sign-profile=STRING` | [repack] Specifies the security profile name for signing. If you skip this option, the CLI uses the active profile or the default profile. The default profile is only valid for the Emulator or reference devices. | -| `-p, --profiles-path=STRING` | [repack] Path to profiles.xml. Default: tizen-studio-data/profile/profiles.xml specified in config.yaml. | -| `-r --ref-pkgs=STRING` | [repack] Paths of the reference projects, for hybrid packaging, semicolon separated paths:pkg1;pkg2. | -| `-b --base-pkg=STRING` | [repack] Path of the base pkg. | -| `-o --out-path=STRING` | [repack] Path of the output pkg: path/to/finalpkg.ext Default: base pkg path. | - -**Examples:** - -- Package the project. - - Windows®: - ``` - > tz pack -w C:\Users\workspace - ninja: Entering directory `debug\mobile-6.5\x86' - [5/6] SIGN package files - Signing using certificates: - Author cert : E:\tizen-studio\tools\certificate-generator\certificates\developer\tempMobile.p12 - Distributor cert : E:\tizen-studio\tools\certificate-generator\certificates\distributor\tizen-distributor-signer.p12 - Distributor2 cert : - - Package File Location: C:\Users\workspace\debug\mobile-6.5\x86\org.example.val-0.0.1-x86.tpk - [6/6] STAMP obj/build/pack.stamp - ``` - - Ubuntu and macOS: - ``` - $ tz pack -w ~/workspace - ninja: Entering directory `debug/mobile-6.5/x86' - [5/6] SIGN package files - Signing using certificates: - Author cert : /home/user1/tizen-studio/tools/certificate-generator/certificates/developer/tempMobile.p12 - Distributor cert : /home/user1/tizen-studio/tools/certificate-generator/certificates/distributor/tizen-distributor-signer.p12 - Distributor2 cert : - - Package File Location: /home/user1/mcd_apps/val/debug/mobile-6.5/x86/org.example.val-0.0.1-x86.tpk - [6/6] STAMP obj/build/pack.stamp - ``` - -- Repackage existing pkg file. - - Windows®: - ``` - > tz pack -t tpk -b C:\Users\workspace\debug\mobile-6.5\x86\org.example.val-0.0.1-x86.tpk - Using default certificates - Signing using certificates: - Author cert : E:\tizen-studio\tools\certificate-generator\certificates\developer\tempMobile.p12 - Distributor cert : E:\tizen-studio\tools\certificate-generator\certificates\distributor\tizen-distributor-signer.p12 - Distributor2 cert : - - Package File Location: C:\Users\workspace\debug\mobile-6.5\x86\org.example.val-0.0.1-x86.tpk - ``` - - Ubuntu and macOS: - ``` - $ tz pack -b /home/user1/workspace/debug/mobile-6.5/x86/org.example.val-0.0.1-x86.tpk - Signing using certificates: - Author cert : /home/user1/tizen-studio/tools/certificate-generator/certificates/developer/tempMobile.p12 - Distributor cert : /home/user1/tizen-studio/tools/certificate-generator/certificates/distributor/tizen-distributor-signer.p12 - Distributor2 cert : - - Package File Location: /home/user1/workspace/debug/mobile-6.5/x86/org.example.val-0.0.1-x86.tpk - ``` - -- Merge and repackage existing pkg files. - - Windows®: - ``` - > tz pack -t tpk -r C:\Users\existing_pkgs\org.example.val.serviceapp-1.0.0-x86.tpk -b C:\Users\existing_pkgs\org.example.val.basic_ui-1.0.0-x86.tpk -o C:\Users\existing_pkgs\merged_pkg.tpk - Using default certificates - Signing using certificates: - Author cert : E:\tizen-studio\tools\certificate-generator\certificates\developer\tempMobile.p12 - Distributor cert : E:\tizen-studio\tools\certificate-generator\certificates\distributor\tizen-distributor-signer.p12 - Distributor2 cert : - Package File Location: C:\Users\existing_pkgs\merged_pkg.tpk - ``` - - Ubuntu and macOS: - ``` - $ tz pack -t tpk -r ~/existing_pkgs/org.example.val.serviceapp-1.0.0-x86.tpk -b ~/existing_pkgs/org.example.val.basic_ui-1.0.0-x86.tpk -o ~/existing_pkgs/merged_pkg.tpk - Signing using certificates: - Author cert : /home/user1/tizen-studio/tools/certificate-generator/certificates/developer/tempMobile.p12 - Distributor cert : /home/user1/tizen-studio/tools/certificate-generator/certificates/distributor/tizen-distributor-signer.p12 - Distributor2 cert : - - Package File Location: /home/user1/existing_pkgs/merged_pkg.tpk - ``` - -## Details on creating hybrid projects in the workspace - -A hybrid workspace can contain all the 3 different types of projects (native, web, and dotnet) in it. -Hybrid projects can be created in the normal workspace, after initializing the workspace with `tz init` as mentioned in the section [Initialize the Workspace](#initialize-the-workspace). - -**Example:** - -Different kinds of projects can be created from the templates and samples using the `-T project_type` argument in `tz new` as mentioned in the section [Create a Tizen Project](#create-a-tizen-project). - -**Examples:** - -Windows®: -``` -tz new -T native -t basic_ui -p basicnative -w C:\Users\workspace -tz new -T web -t BasicUI -p basicweb -w C:\Users\workspace -tz new -T dotnet -t TizenElmSharpApp -p elmsharp -w C:\Users\workspace -``` - -Ubuntu and macOS: -``` -tz new -T native -t basic_ui -p basicnative -w ~/workspace -tz new -T web -t BasicUI -p basicweb -w ~/workspace -tz new -T dotnet -t TizenElmSharpApp -p elmsharp -w ~/workspace -``` - -Once the different types of projects are created in the workspace, dependencies can be added between the projects as mentioned in the section [adding dependency between projects](#multiapp-and-add-dependency-between-projects). - -The rest of the functionalities: [build](#build-the-project), [pack](#package-a-tizen-application-with-signing), [install](#install-the-application-on-a-target), [run](#run-the-application-on-a-target), [setting working_folder](#set-the-working-folder), [adding dependency](#multiapp-and-add-dependency-between-projects) have the same behaviour in the hybrid workspace. - - -## Install the application on a target - -The command installs a Tizen application on a specified target or serial device: - -**Syntax:** - -``` -tz install [options] -``` - -**Options:** - -| Option | Description | -|------------------------------------|------------------------------------------| -| `-w`, `--ws-dir=STRING` | Specifies the workspace directory. | -| `-t`, `--target=STRING` | Specifies the target name to install the package. | -| `-s`, `--serial=STRING` | Specifies the serial to install the package. | - -**Examples:** - -- Install the application present in the workspace. - - Windows®: - ``` - > tz install -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz install -s emulator-26101 -w ~/workspace - ``` - -## Run the application on a target - -The command runs the Tizen application on a specified target or serial device: - -**Syntax:** - -``` -tz run [options] -``` - -**Options:** - -| Option | Description | -|----------------------------------|------------------------------------------| -| `-w`, `--ws-dir` | Specifies the workspace directory. | -| `-t`, `--target ` | Specifies the target name to run the package. | -| `-s`, `--serial ` | Specifies the serial to run the package. | -| `-d`, `--debug-mode` | Run web app in debug mode in web inspector. | -| `-r`, `--simulator` | Run web app in web simulator. | -| `-p`, `--project=STRING` | Specifies the project to execute. | - -**Examples:** - -- Run the application present in the specified workspace on the emulator-26101. - - Windows®: - ``` - > tz run -s emulator-26101 -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz run -s emulator-26101 -w ~/workspace - ``` - -- Run the web application in web simulator. - - Windows®: - ``` - > tz run -r -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz run -r -w ~/workspace - ``` - -- Run the web application in debug mode using web inspector. - - Windows®: - ``` - > tz run -d -s emulator-26101 -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz run -d -s emulator-26101 -w ~/workspace - ``` - -## Uninstall the application on a target - -The command uninstalls the Tizen application on a specified target or serial device: - -**Syntax:** - -``` -tz uninstall [options] -``` - -**Options:** - -| Option | Description | -|----------------------------------|------------------------------------------| -| `-w`, `--ws-dir` | Specifies the workspace directory. | -| `-t`, `--target ` | Specifies the target name to uninstall the package. | -| `-s`, `--serial ` | Specifies the serial to uninstall the package. | - -**Examples:** - -- Uninstall the application based on the specified working directory. - - Windows®: - ``` - > tz uninstall -s emulator-26101 -w C:\Users\workspace - ``` - - Ubuntu, and macOS: - ``` - > tz uninstall -s emulator-26101 -w ~/workspace - ``` - -## Details on creating, packaging and installing resource project - -A resource project can contain resource files that can be used by a native application in a workspace. -Resource project can be created in the normal workspace, after initializing the workspace with `tz init` as mentioned in the section [Initialize the Workspace](#initialize-the-workspace). - -**Example:** - -Resource project can be created from the template the `-T project_type` argument in `tz new` as mentioned in the section [Create a Tizen Project](#create-a-tizen-project). - -**Examples:** - -Windows®: -``` -tz new -T rpk -t rpk_app -p basicrpk -w C:\Users\workspace -``` - -Ubuntu and macOS: -``` -tz new -T rpk -t rpk_app -p basicrpk -w ~/workspace -``` - -To package and install rpk on the target, use the following commands: - -**Examples:** - -- Set resource project as working folder. - - Windows®: - ``` - > tz set -W basicrpk -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz set -W basicrpk -w ~/workspace - ``` - -- Package the project into rpk - - Windows®: - ``` - > tz pack -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz pack -w ~/workspace - ``` - -- Install the rpk on the target - - Windows®: - ``` - > tz install -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz install -w ~/workspace - ``` - -## Import project to Tizen-Core format - -The projects created in Tizen Studio, Visual Studio, and other IDEs need to be converted to Tizen-Core format, before building and running the projects in Tizen-Core. -init command in Tizen-Core is used to convert and create the required files to build the project in Tizen-Core as import functionality is accomplished internally through the init command. - -**Syntax:** - -``` -tz init [options] -``` - -**Options:** - -| Option | Description | -|----------------------------------|------------------------------------------| -| `-p`, `--profile=STRING` | Build profile of the project. | -| `-u`, `--update-sln` | Add imported project entries in sln present in workspace. | -| `-f`, `--force` | Ignore existing project YAML files. | -| `-w`, `--ws-dir` | Specifies the workspace directory. | -| `-W`, `--wgt-path=STRING` | Path of wgt to be imported as web project. | - -**Examples:** - -- Create a project in Tizen Studio, right click on the project and select Export to CLI option in the menu, then run the following command in the terminal to convert the projects to Tizen-Core format: - - Windows®: - ``` - > tz init -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz init -w ~/workspace - ``` - -- Import web wgt project to Tizen-Core format. - - Windows®: - ``` - > tz init -W C:\Users\basicweb.wgt -w C:\Users\workspace - ``` - - Ubuntu and macOS: - ``` - $ tz init -W ~/basicweb.wgt -w ~/workspace - ``` - ## Display the command help -The command displays the CLI command help: +The following command displays the CLI command help: **Syntax:** @@ -1246,7 +994,7 @@ tz --help You can use all CLI commands to as ``: ``` -init, import, templates, new, add, add-deps, clean, build, pack, install, run, uninstall, cert, security-profiles, emul, list, get, set, samples, trust-anchor, tidl-build, js-analyze. +templates, new, add-deps, rem-deps, clean, build, pack, install, run, uninstall, cert, security-profiles, emul, list, get, set, trust-anchor, tidl-build, js-analyze. ``` **Examples:** @@ -1257,22 +1005,21 @@ init, import, templates, new, add, add-deps, clean, build, pack, install, run, u ``` > tz new --help - Usage: tz new + Usage: tz new --project-name=STRING --template=STRING --type=STRING --profile=STRING Create new project Flags: - --help Show context-sensitive help. - --version Print version information and quit + --help Show context-sensitive help. + --version Print version information and quit - -w, --ws-dir=STRING Workspace directory - -p, --path=STRING Project path - -t, --template=STRING Project template - -T, --type=STRING Project type - -s, --sample=STRING Sample project information, - "" + -w, --path="." Specify where the base directory is for the command + -n, --project-name=STRING Specify the project name (Required) + -t, --template=STRING Specify the template name (Required) + -T, --type=STRING Specify the project type (Required) + -p, --profile=STRING Specify the profile name (Required) ``` ## Related information -* Dependencies - - Tizen Studio 4.5 and Higher \ No newline at end of file +- Dependencies + - Tizen Studio 6.0 and Higher \ No newline at end of file diff --git a/docs/application/toc_all.md b/docs/application/toc_all.md index 39b39626a5..9772cd5ca2 100755 --- a/docs/application/toc_all.md +++ b/docs/application/toc_all.md @@ -1167,10 +1167,16 @@ ## Visual Studio Code Extension for Tizen ### [Prerequisites](/application/vscode-ext/index.md) ### [Installing Visual Studio Code Extension for Tizen](/application/vscode-ext/Tizen/dotnet.md) +### [Tizen Welcome Page](/application/vscode-ext/tools/welcome-page.md) +### [Tizen Activity Bar](/application/vscode-ext/tools/activity-bar.md) ### Tools #### [Profiler](/application/vscode-ext/tools/profiler-user-manual.md) #### [Memory Profiler](/application/vscode-ext/tools/memory-profiler-user-manual.md) -### Tizen +#### [Address Sanitizer](/application/vscode-ext/tools/address-sanitizer-user-manual.md) +#### [Leak Sanitizer](/application/vscode-ext/tools/leak-sanitizer-user-manual.md) +#### [UTC and Code Coverage](/application/vscode-ext/tools/unit-test-code-coverage-user-manual.md) +#### [Dotnet Diagnostics](/application/vscode-ext/tools/diagnostics.md) +#### [Web Assembly](/application/vscode-ext/tools/wasm.md) #### [Hybrid application development](/application/vscode-ext/Tizen/hybrid.md) #### [RPK Application Development](/application/vscode-ext/Tizen/rpk.md) ### [Tizen Web](/application/vscode-ext/web.md) diff --git a/docs/application/vscode-ext/Tizen/dotnet.md b/docs/application/vscode-ext/Tizen/dotnet.md index eaecf1af52..5da10303c7 100644 --- a/docs/application/vscode-ext/Tizen/dotnet.md +++ b/docs/application/vscode-ext/Tizen/dotnet.md @@ -15,7 +15,7 @@ To install VS Code Extension for Tizen from the Visual Studio Code Marketplace: 2. In the **Extensions** view's **Search Extensions in Marketplace** field, enter **Tizen**. 3. Locate **Visual Studio Code Extension for Tizen** in the search results and click **Install**. 4. After the installation is complete, activate the extension by clicking **Reload**. -5. Once the extension has been activated, it asks whether you want to use an existing Tizen Baseline SDK installation or install a new one: +5. Once the extension has been activated, it asks whether you want to use an existing Tizen Baseline SDK installation or install a new one. Alternatively, you can use the GUI to perform the same task. Click [here](../tools/welcome-page.md#install-tizen-sdk) to access the GUI. ![Visual Studio Code Marketplace](media/vscode_baselinesdk_exists.png) diff --git a/docs/application/vscode-ext/index.md b/docs/application/vscode-ext/index.md index 5a570c93ce..6a2d00fc8c 100755 --- a/docs/application/vscode-ext/index.md +++ b/docs/application/vscode-ext/index.md @@ -1,84 +1,47 @@ -# Prerequisites of Visual Studio Code Extension for Tizen - -Visual Studio Code Extension for Tizen enables you to develop Tizen .NET and Tizen Web applications easily using Visual Studio Code. To work with VS Code Extension for Tizen, your computer must have below prerequisites: - -- Supported host platform - - VS Code Extension for Tizen supports the following operating systems: - - - Windows 10 (64 bit) - - Ubuntu 18.04/20.04 (64 bit) - - macOS 11.4(Big Sur)/12.3(Monterey) - -- Required tools - - To use VS Code Extension for Tizen, you must install the following tools: - - - .NET Core SDK 2.0 or later **for Tizen .NET only** - - Download from . - - - Node.js - - Download from . - - - Python 2.7 (only for macOS) - - Download from . - - - Tizen Baseline SDK or Tizen Studio - - If neither of these is found, VS Code Extension for Tizen installs the Baseline SDK. - - - Microsoft C\# extension for Visual Studio Code **for Tizen .NET only** - - Install from the Visual Studio Code Marketplace. - -## Emulator requirements - -Tizen Emulator for VS Code Extension for Tizen has the same requirements as the emulator in Tizen Studio. To check the detailed hardware and software requirements for Tizen Emulator, see [Emulator Requirements](../tizen-studio/setup/prerequisites.md#emulator). - -### Option 1 - -- Intel® Hardware Acceleration Execution Manager (Intel® HAXM) speeds up the Tizen emulation on Intel-VT-enabled systems. For more information, see [Hardware Accelerated Execution Manager](../tizen-studio/setup/hardware-accelerated-execution-manager.md). - -> [!NOTE] -> This option will not be applicable to and will not work on AMD processors. - -- Make sure **Hyper-V** is disabled (in Windows 10 or higher): - 1. Input **Control Panel** on the **Search** box in Windows 10. - - 2. Click **Control Panel > Programs and Features > Turn Windows features on or off**. - - 3. Disable **Hyper-V** and click **OK**. - - Additional note: make sure **Virtual Machine Platform** should be disabled as well to use HAXM. - - ![Disable Hyper-V](media/cs_prerequisite-disable-hyperv.png) - - 4. Reboot the computer. - -### Option 2 - -- Microsoft's Hyper-V and the Windows Hypervisor Platform (WHPX). Hyper-V is a virtualization feature of Windows that makes it possible to run virtualized computer systems on a physical host computer. - -- Make sure **Hyper-V** is enabled (PowerShell in Windows 10 or higher): - 1. Check the configuration - - > Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online - - FeatureName : Microsoft-Hyper-V-All\ - DisplayName : Hyper-V\ - Description : Provides services and management tools for creating and running virtual machines and their resources.\ - RestartRequired : Possible\ - State : Disabled\ - CustomProperties : - - 2. Enable Hyper-V & HypervisorPlatform - - > Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All\ - > Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All - - ![Enable Hyper-V](media/cs_prerequisite-enable-hyperv.png) - - 3. Reboot the computer. +# Prerequisites of Visual Studio Code Extension for Tizen + +Visual Studio Code Extension for Tizen enables you to develop Tizen .NET, Tizen Web and Tizen Native applications easily using Visual Studio Code. To work with VS Code Extension for Tizen, your computer must have the following prerequisites: + +- Supported host platform +- VS Code with version 1.92.0 and above + + VS Code Extension for Tizen supports the following operating systems: + + - Windows 10 and above (64 bit) + - Ubuntu 18.04 and above (64 bit) + - macOS 11.4 (Big Sur) / 12.3 (Monterey) + +- Required tools: + + To use VS Code Extension for Tizen, you must install the following tools: + + - .NET Core SDK 6.0 or later **for Tizen .NET only** + + Download from . + + - Python 2.7 (only for macOS) + + Download from . + + - Tizen Baseline SDK or Tizen Studio + + If neither of these is found, VS Code Extension for Tizen installs the Baseline SDK. + +## Emulator Requirements + +Tizen Emulator for VS Code Extension for Tizen has the same requirements as the Emulator in Tizen Studio. To check the detailed hardware and software requirements for Tizen Emulator, see [Emulator Requirements](../tizen-studio/setup/prerequisites.md#emulator): + +- Intel® Hardware Accelerated Execution Manager (Intel® HAXM) speeds up Tizen Emulation on Intel-VT-enabled systems. For more information, see [Hardware Accelerated Execution Manager](../tizen-studio/setup/hardware-accelerated-execution-manager.md). + +- Make sure **Hyper-V** is disabled (in Windows 10 or higher): + 1. Input **Control Panel** on the **Search** box in Windows 10. + + 2. Click **Control Panel > Programs and Features > Turn Windows features on or off**. + + 3. Disable **Hyper-V** and click **OK**. + + ![Disable Hyper-V](media/cs_prerequisite-disable-hiperv.png) + + 4. Reboot the computer. + + diff --git a/docs/application/vscode-ext/tools/activity-bar.md b/docs/application/vscode-ext/tools/activity-bar.md new file mode 100644 index 0000000000..7e8c9ba66c --- /dev/null +++ b/docs/application/vscode-ext/tools/activity-bar.md @@ -0,0 +1,55 @@ +# Tizen Activity Bar and Sidebar Feature + +The new Tizen Activity Bar and Sidebar features offer a suite of powerful tools and functionalities designed to streamline your workflow, boost productivity, and make coding more intuitive than ever before. + +The sidebar contains following features: + +- [Welcome Page](#welcome-page) +- [Tizen Tools](#tizen-tools) +- [Actions](#actions) +- [Connected Devices](#connected-devices) +- [Report Platform Bug](#report-platform-bug) + +### Welcome Page + - Please refer to the [Welcome Page](welcome-page.md#open-welcome-page) section for an introduction to Tizen Extension for VS Code: + +![Activity Bar Contents](media/welcome-page2.png) + +### Tizen Tools + - **Tizen Tools** section contains the following tools for Tizen app development: + + 1. [**Tizen Emulator Manager**](../../tizen-studio/common-tools/emulator.md): Tizen Emulator Manager allows you to create and manage Emulator instances. + + 2. [**Device Manager**](../../tizen-studio/common-tools/device-manager.md): Device Manager allows you to connect your device and manage it. + + 3. [**Certificate Manager**](../../tizen-studio/common-tools/certificate-registration.md): Certificate Manager allows you to create and manage certificates. + + 4. [**Package Manager**](../../tizen-studio/setup/advanced-configuration.md): Package Manager allows you to install, update, and remove Tizen packages. + + + To **access these tools**, click on the **respective icons** in **Tizen Tools section**. Each tool will open separately, providing you with the necessary functionalities for efficient Tizen app development. + +### Actions + - **Actions** section includes various **commands** to streamline your Tizen project workflow: + + 1. **New Project**: Initiates the creation of a new Tizen project. + + 2. **Build Project**: Compiles the source code and generates output of your Tizen project. + + 3. **Run Project**: Executes the built project on a target device or Emulator. + + 4. **Debug Project**: Launches Tizen project in debug mode, allowing you to set breakpoints and analyze the code execution. + + 5. **Open Profiler**: Opens Tizen Profiler, which helps in analyzing performance metrics and optimizing your application. + + **Click** on the desired **action** to perform the corresponding operation on your Tizen project. + +### Connected Devices + - **Connected Devices** section displays a list of all connected Tizen devices. This allows you to select a specific device for running or debugging your Tizen project. + + - To **view** the connected devices, **navigate** to the **Connected Devices** section. + +### Report Platform Bug + - If you encounter any **issues or bugs** while using Tizen Extension for VS Code, you can use the **Report Platform Bug** feature to report them. + + - To report a **bug**, click on the **Report Platform Bug** button and provide the necessary **details** about the issue you encountered. \ No newline at end of file diff --git a/docs/application/vscode-ext/tools/address-sanitizer-user-manual.md b/docs/application/vscode-ext/tools/address-sanitizer-user-manual.md new file mode 100644 index 0000000000..936e066373 --- /dev/null +++ b/docs/application/vscode-ext/tools/address-sanitizer-user-manual.md @@ -0,0 +1,33 @@ +# To Detect Runtime Memory Error with Address Sanitizer +- The Address Sanitizer is a tool that helps find memory errors in Tizen Native apps. It checks if certain parts of the code might cause memory problems while running. This tool can prevent crashes or bugs during app use. It works by adding extra code during app compilation. If the app doesn't crash with the Address Sanitizer, it means the code is safe from memory issues. The tool can find different types of bugs. The Address Sanitizer tool can detect the following types of bugs: + +- Out-of-bounds accesses to heap and stack +- Use-after-free +- Use-after-return (to some extent) +- Double free and invalid free + +## To use Address Sanitizer +- In the **Menu**, click on view and select **Command Palette > Tizen: Profile with Memory Errors**. + + The profiling instruments the code and compiles the project for the Address Sanitizer. Finally, it launches the application on the connected target or Emulator, as illustrated in the following figure: + + ![Launch Command](media/launch_asan.png) +
+ +- After the application is launched, run the application scenario you want to test. +- Visual Studio Code shows the profiling result after clicking on the **Stop Profiling** button: + + ![Stop Profile Button](media/stop_profiling_button.png) +
+ +- Once clicked on the **Stop Profiling** button, the application will crash if there are any errors hence the report will be generated, and if there are no memory errors it will give the message **no error found**, as illustrated in the following figure: + + ![Asan UI Report](media/failure_report.png) +
+ +## Source file navigation on failure +- When a failure occurs, you can click on the **line number associated with the failure which is generated in UI Report**. +- This action will open the corresponding source file in your editor and **navigate to the exact location where the failure has occurred**, as illustrated in the following figure: + + + ![Failure occured](media/failure_line.png) \ No newline at end of file diff --git a/docs/application/vscode-ext/tools/diagnostics.md b/docs/application/vscode-ext/tools/diagnostics.md new file mode 100644 index 0000000000..8853ac3fe7 --- /dev/null +++ b/docs/application/vscode-ext/tools/diagnostics.md @@ -0,0 +1,142 @@ +# Get Started with .NET Core Diagnostics + +.NET Core Diagnostics supports a number of tools that can be used to diagnose Tizen .NET applications. +It includes dotnet-gcdump, dotnet-dump, and dotnet-trace tools to aid .NET developers in diagnosing their applications. + +## Prerequisites + +Below are the prerequisites for using Tizen .NET Core Diagnostics in Visual Studio Code: + +- Make sure that Tizen Studio version 6.0 or above is installed. +- Make sure to set Tizen Studio Path with the installed 6.0 or above, by using the VS Code command: **Tizen: Wizard to set Tizen Baseline SDK path or install a new.**. + +## Tizen .NET Core Diagnostics tools + +### dotnet-gcdump + +#### Step 1. Run dotnet-gcdump tool + - If no Tizen device is connected and no Tizen Emulators are running, then launch the type of Emulator you want to use for diagnosing your application: + + ![Launch Emulator](media/start_emulator.png) + + - Open the **Command Palette** and select **Tizen.NET: Run dotnet diagnostics tools**: + + ![Run dotnet-gcdump](media/dotnet-diagnostics.png) + + - Now select **gcdump** from the drop down list: + + ![Select dotnet-gcdump](media/dotnet-gcdump-select.png) + + - If everything is okay then the application starts, and it also starts collecting the **gcdump** file: + + ![Tizen application running](media/dotnet-gcdump-running.png) + + + - Once the gcdump file is collected, a message popup is shown to inform the user, and the file is added to the **gcdump** folder inside the **TizenDiagnostics** folder of the project: + + ![Completed dotnet-gcdump](media/dotnet-gcdump-completed.png) + + + + +#### Step 2. Analyze the gcdump file + - Once the gcdump file is collected, a message popup is shown with the option to open the generated gcdump file. Once we click the **YES** option, it will open the file in **PerfView** tool as seen below: + ![gcdump PerfView analysis view](media/dotnet-gcdump-perfview.png) + + - Another way to open the **gcdump** file is to right click the gcdump file in **File Explorer Panel** of VS Code and select **Tizen: Open in Diagnostics File Viewer**. It will open the file in **PerfView** tool as seen below: + ![gcdump PerfView analysis view](media/dotnet-gcdump-open.png) + + > [!NOTE] + > The above two options to open/view gcdump file is supported only in Windows OS. + + +### dotnet-trace + +#### Step 1. Run dotnet-trace tool + - If no Tizen device is connected and no Tizen Emulators are running, then launch the type of Emulator you want to use for diagnosing your application: + + ![Launch Emulator](media/start_emulator.png) + + - Open the **Command Palette** and select **Tizen.NET: Run dotnet diagnostics tools**: + + ![Run dotnet-trace](media/dotnet-diagnostics.png) + + - Now select **trace** from the drop down list: + + ![Select dotnet-trace](media/dotnet-trace-select.png) + + - Now select **profile** from the drop down list: + + ![Select profile dotnet-trace](media/dotnet-trace-profile.png) + + - Now select **format** from the drop down list: + + ![Select format dotnet-trace](media/dotnet-trace-format.png) + + - If everything is okay then the application starts, and it also starts collecting the trace file: + + ![Tizen application running](media/dotnet-trace-running.png) + + - Press **Cancel** button above to stop and generate the trace file. + + - Once the trace file is generated, a message popup is shown to inform the user, and the file is added to the **trace** folder inside the **TizenDiagnostics** folder of the project: + + ![Completed dotnet-trace](media/dotnet-trace-completed.png) + + + +#### Step 2. Analyze the trace file + - There are different tools for different **Format** to view the trace diagnostics data: + - **nettrace**: + - Once the trace file is collected, a message popup is shown with the option to open the generated trace file. Once we click the **YES** option. It will open the file in **PerfView** tool as seen below: + ![trace PerfView analysis view](media/dotnet-trace-perfview.png) + - Right click the trace (.nettrace) file in **File Explorer Panel** of VS Code, and then select **Tizen: Open in Diagnostics File Viewer**. It will open the file in **PerfView** tool as seen below: + ![trace PerfView analysis view](media/dotnet-trace-open.png) + > [!NOTE] + > The above two options to open/view nettrace file is supported only in Windows OS. + - **speedscope**: + - Right click the trace (.nettrace) file in **File Explorer Panel** of VS Code, and then select **Tizen: Open in Diagnostics File Viewer**. It will open the file in **SpeedScope** web tool as seen below: + ![trace SpeedScope analysis view](media/dotnet-trace-speedscope.png) + - **chromium**: + Open Google Chrome browser and type: **chrome://tracing**, or the Microsoft Edge browser and type: **edge://tracing**. + Now click on **Load** button which fill open file explorer and select the **.chromium** file and click **Open**: + ![trace VS analysis view](media/dotnet-trace-chromium.png) + + +### dotnet-dump + +#### Step 1. Run dotnet-dump tool + - If no Tizen device is connected and no Tizen Emulators are running then launch the type of Emulator you want to use for diagnosing your application: + + ![Launch Emulator](media/start_emulator.png) + + - Open the **Command Palette** and select **Tizen.NET: Run dotnet diagnostics tools**: + + ![Run dotnet-dump](media/dotnet-diagnostics.png) + + - Now select **dump** from the drop down list: + + ![Select dotnet-dump](media/dotnet-dump-select.png) + + - Now select **dump type** from the drop down list: + + ![Select type dotnet-dump](media/dotnet-dump-option.png) + + - If everything is okay then the application starts, and it also starts collecting the dump file: + + ![Tizen application running](media/dotnet-dump-running.png) + + - Once the dump file is generated, a message popup is shown to inform the user, and the file is added to the **dump** folder inside the **TizenDiagnostics** folder of the project. + - Dump file analysis is also printed in output panel of VS Code, as shown below: + + ![Completed dotnet-dump](media/dotnet-dump-completed.png) + + +#### Step 2. Analyze the dump file + - Open the **sdb shell** + - Go to the folder (**/home/owner/share/tmp/sdk_tools**) containing the dump file + - Run the command **dotnet dump analyze {file_name}** + + > [!NOTE] + > Please delete the dump file after analyzing, as it takes up a lot of memory space. + diff --git a/docs/application/vscode-ext/tools/leak-sanitizer-user-manual.md b/docs/application/vscode-ext/tools/leak-sanitizer-user-manual.md new file mode 100644 index 0000000000..d5b6244676 --- /dev/null +++ b/docs/application/vscode-ext/tools/leak-sanitizer-user-manual.md @@ -0,0 +1,25 @@ +# To Detect Runtime Memory Errors with Leak Sanitizer +The Leak Sanitizer is a profiling tool designed to identify runtime memory leaks in Tizen Native applications. It helps developers pinpoint sections of code that may lead to memory leaks during execution. By instrumenting the code during application compilation, the tool can detect memory leaks at runtime. If the program runs without crashing under Leak Sanitizer, it indicates that the code is free from potential memory leaks. This ensures safer and more efficient memory management in Tizen applications. + +## To use Leak Sanitizer +- In the **File Explorer view**, click on view and select **Command Palette > Tizen: Profile with Leak Sanitizer**. + + The profiling instruments the code and compiles the project for the Leak Sanitizer. Finally, it launches the application on the connected target or Emulator, as illustrated in the following figure: + + ![Launch Command](media/launch_lsan.png) +
+ +- After the application is launched, run the application scenario you want to test. +- Visual Studio Code shows the profiling result after clicking on the **Stop Profiling** button: + + ![Stop Profile Button](media/stop_profiling_button.png) +
+ +- Once clicked on the **Stop Profiling** button, application will crash if there are any errors. Hence, the report will be generated. If there are no memory errors, it will give the message that no error was found, as illustrated in the following figure: + + ![Lsan UI Report](media/lsan_failure_report.png) + +## Source File Navigation on Failure + - When a failure occurs, you can click on the **line number associated with the failure which is generated in UI Report**. This action will open the corresponding source file in your editor and **navigate to the exact location where the failure has occurred**, as illustrated in the following figure: + + ![Failure occured](media/failure_line_lsan.png) \ No newline at end of file diff --git a/docs/application/vscode-ext/tools/media/activity-bar.png b/docs/application/vscode-ext/tools/media/activity-bar.png new file mode 100644 index 0000000000..98c186555b Binary files /dev/null and b/docs/application/vscode-ext/tools/media/activity-bar.png differ diff --git a/docs/application/vscode-ext/tools/media/coverage_report.png b/docs/application/vscode-ext/tools/media/coverage_report.png new file mode 100644 index 0000000000..cbf4510494 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/coverage_report.png differ diff --git a/docs/application/vscode-ext/tools/media/documentation-page.png b/docs/application/vscode-ext/tools/media/documentation-page.png new file mode 100644 index 0000000000..30919f1609 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/documentation-page.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-diagnostics.png b/docs/application/vscode-ext/tools/media/dotnet-diagnostics.png new file mode 100644 index 0000000000..839598834d Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-diagnostics.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-dump-completed.png b/docs/application/vscode-ext/tools/media/dotnet-dump-completed.png new file mode 100644 index 0000000000..20d825e0b8 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-dump-completed.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-dump-option.png b/docs/application/vscode-ext/tools/media/dotnet-dump-option.png new file mode 100644 index 0000000000..d323b79f1d Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-dump-option.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-dump-running.png b/docs/application/vscode-ext/tools/media/dotnet-dump-running.png new file mode 100644 index 0000000000..42d2363ae9 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-dump-running.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-dump-select.png b/docs/application/vscode-ext/tools/media/dotnet-dump-select.png new file mode 100644 index 0000000000..9d518e1b18 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-dump-select.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-gcdump-completed.png b/docs/application/vscode-ext/tools/media/dotnet-gcdump-completed.png new file mode 100644 index 0000000000..37e2a9c6a5 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-gcdump-completed.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-gcdump-open.png b/docs/application/vscode-ext/tools/media/dotnet-gcdump-open.png new file mode 100644 index 0000000000..fb77f21cef Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-gcdump-open.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-gcdump-perfview.png b/docs/application/vscode-ext/tools/media/dotnet-gcdump-perfview.png new file mode 100644 index 0000000000..b2ac14cf2b Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-gcdump-perfview.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-gcdump-running.png b/docs/application/vscode-ext/tools/media/dotnet-gcdump-running.png new file mode 100644 index 0000000000..fe35c78126 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-gcdump-running.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-gcdump-select.png b/docs/application/vscode-ext/tools/media/dotnet-gcdump-select.png new file mode 100644 index 0000000000..6697ec3c77 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-gcdump-select.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-trace-chromium.png b/docs/application/vscode-ext/tools/media/dotnet-trace-chromium.png new file mode 100644 index 0000000000..68a77563f8 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-trace-chromium.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-trace-completed.png b/docs/application/vscode-ext/tools/media/dotnet-trace-completed.png new file mode 100644 index 0000000000..cb52377b92 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-trace-completed.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-trace-format.png b/docs/application/vscode-ext/tools/media/dotnet-trace-format.png new file mode 100644 index 0000000000..afaa3af93f Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-trace-format.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-trace-open.png b/docs/application/vscode-ext/tools/media/dotnet-trace-open.png new file mode 100644 index 0000000000..9045b48d52 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-trace-open.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-trace-perfview.png b/docs/application/vscode-ext/tools/media/dotnet-trace-perfview.png new file mode 100644 index 0000000000..26912e345a Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-trace-perfview.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-trace-profile.png b/docs/application/vscode-ext/tools/media/dotnet-trace-profile.png new file mode 100644 index 0000000000..6884a8f135 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-trace-profile.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-trace-running.png b/docs/application/vscode-ext/tools/media/dotnet-trace-running.png new file mode 100644 index 0000000000..a29b5625bf Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-trace-running.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-trace-select.png b/docs/application/vscode-ext/tools/media/dotnet-trace-select.png new file mode 100644 index 0000000000..980bd27d62 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-trace-select.png differ diff --git a/docs/application/vscode-ext/tools/media/dotnet-trace-speedscope.png b/docs/application/vscode-ext/tools/media/dotnet-trace-speedscope.png new file mode 100644 index 0000000000..151e4d233b Binary files /dev/null and b/docs/application/vscode-ext/tools/media/dotnet-trace-speedscope.png differ diff --git a/docs/application/vscode-ext/tools/media/failure_line.png b/docs/application/vscode-ext/tools/media/failure_line.png new file mode 100644 index 0000000000..e35659b85c Binary files /dev/null and b/docs/application/vscode-ext/tools/media/failure_line.png differ diff --git a/docs/application/vscode-ext/tools/media/failure_line_lsan.png b/docs/application/vscode-ext/tools/media/failure_line_lsan.png new file mode 100644 index 0000000000..b7ee7113b4 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/failure_line_lsan.png differ diff --git a/docs/application/vscode-ext/tools/media/failure_report.png b/docs/application/vscode-ext/tools/media/failure_report.png new file mode 100644 index 0000000000..7a19f46d2e Binary files /dev/null and b/docs/application/vscode-ext/tools/media/failure_report.png differ diff --git a/docs/application/vscode-ext/tools/media/gTest.png b/docs/application/vscode-ext/tools/media/gTest.png new file mode 100644 index 0000000000..2dc042ff13 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/gTest.png differ diff --git a/docs/application/vscode-ext/tools/media/i-agree.png b/docs/application/vscode-ext/tools/media/i-agree.png new file mode 100644 index 0000000000..66b5d7f6e3 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/i-agree.png differ diff --git a/docs/application/vscode-ext/tools/media/information-page.png b/docs/application/vscode-ext/tools/media/information-page.png new file mode 100644 index 0000000000..c6fe7764f1 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/information-page.png differ diff --git a/docs/application/vscode-ext/tools/media/install-tizen-sdk.png b/docs/application/vscode-ext/tools/media/install-tizen-sdk.png new file mode 100644 index 0000000000..f1db72573d Binary files /dev/null and b/docs/application/vscode-ext/tools/media/install-tizen-sdk.png differ diff --git a/docs/application/vscode-ext/tools/media/installation-started.png b/docs/application/vscode-ext/tools/media/installation-started.png new file mode 100644 index 0000000000..ebe4d9ecd5 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/installation-started.png differ diff --git a/docs/application/vscode-ext/tools/media/installation-wizard.png b/docs/application/vscode-ext/tools/media/installation-wizard.png new file mode 100644 index 0000000000..efc4e4576d Binary files /dev/null and b/docs/application/vscode-ext/tools/media/installation-wizard.png differ diff --git a/docs/application/vscode-ext/tools/media/launch_asan.png b/docs/application/vscode-ext/tools/media/launch_asan.png new file mode 100644 index 0000000000..d7a279460d Binary files /dev/null and b/docs/application/vscode-ext/tools/media/launch_asan.png differ diff --git a/docs/application/vscode-ext/tools/media/launch_lsan.png b/docs/application/vscode-ext/tools/media/launch_lsan.png new file mode 100644 index 0000000000..2088798a12 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/launch_lsan.png differ diff --git a/docs/application/vscode-ext/tools/media/launch_utc.png b/docs/application/vscode-ext/tools/media/launch_utc.png new file mode 100644 index 0000000000..d49eee8275 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/launch_utc.png differ diff --git a/docs/application/vscode-ext/tools/media/lsan_failure_report.png b/docs/application/vscode-ext/tools/media/lsan_failure_report.png new file mode 100644 index 0000000000..ce72b2f831 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/lsan_failure_report.png differ diff --git a/docs/application/vscode-ext/tools/media/more-about-sdk.png b/docs/application/vscode-ext/tools/media/more-about-sdk.png new file mode 100644 index 0000000000..512969c337 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/more-about-sdk.png differ diff --git a/docs/application/vscode-ext/tools/media/more-information.png b/docs/application/vscode-ext/tools/media/more-information.png new file mode 100644 index 0000000000..0194500cc4 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/more-information.png differ diff --git a/docs/application/vscode-ext/tools/media/native_unit_test_result.png b/docs/application/vscode-ext/tools/media/native_unit_test_result.png new file mode 100644 index 0000000000..81ea2bd3a5 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/native_unit_test_result.png differ diff --git a/docs/application/vscode-ext/tools/media/open-welcome-page.png b/docs/application/vscode-ext/tools/media/open-welcome-page.png new file mode 100644 index 0000000000..c2fd890d0d Binary files /dev/null and b/docs/application/vscode-ext/tools/media/open-welcome-page.png differ diff --git a/docs/application/vscode-ext/tools/media/sdk-set-properly.png b/docs/application/vscode-ext/tools/media/sdk-set-properly.png new file mode 100644 index 0000000000..915e8a8c7d Binary files /dev/null and b/docs/application/vscode-ext/tools/media/sdk-set-properly.png differ diff --git a/docs/application/vscode-ext/tools/media/select-folder.png b/docs/application/vscode-ext/tools/media/select-folder.png new file mode 100644 index 0000000000..8890412c60 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/select-folder.png differ diff --git a/docs/application/vscode-ext/tools/media/select-sdk-path.png b/docs/application/vscode-ext/tools/media/select-sdk-path.png new file mode 100644 index 0000000000..6fcc18f988 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/select-sdk-path.png differ diff --git a/docs/application/vscode-ext/tools/media/start_emulator.png b/docs/application/vscode-ext/tools/media/start_emulator.png index 3358f82b18..9795fcec5a 100644 Binary files a/docs/application/vscode-ext/tools/media/start_emulator.png and b/docs/application/vscode-ext/tools/media/start_emulator.png differ diff --git a/docs/application/vscode-ext/tools/media/stop_profiling_button.png b/docs/application/vscode-ext/tools/media/stop_profiling_button.png new file mode 100644 index 0000000000..4f1e53bcf0 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/stop_profiling_button.png differ diff --git a/docs/application/vscode-ext/tools/media/test_suite_failure_line.png b/docs/application/vscode-ext/tools/media/test_suite_failure_line.png new file mode 100644 index 0000000000..cd556ebca9 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/test_suite_failure_line.png differ diff --git a/docs/application/vscode-ext/tools/media/use-installed-sdk.png b/docs/application/vscode-ext/tools/media/use-installed-sdk.png new file mode 100644 index 0000000000..8d9d4760e2 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/use-installed-sdk.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-add-module-success.png b/docs/application/vscode-ext/tools/media/wasm-add-module-success.png new file mode 100644 index 0000000000..cc151a60eb Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-add-module-success.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-add-module.png b/docs/application/vscode-ext/tools/media/wasm-add-module.png new file mode 100644 index 0000000000..ad9149d2e6 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-add-module.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-app-running.png b/docs/application/vscode-ext/tools/media/wasm-app-running.png new file mode 100644 index 0000000000..010de419fb Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-app-running.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-build-config.png b/docs/application/vscode-ext/tools/media/wasm-build-config.png new file mode 100644 index 0000000000..c6b8914d07 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-build-config.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-build-module.png b/docs/application/vscode-ext/tools/media/wasm-build-module.png new file mode 100644 index 0000000000..95e8e50c64 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-build-module.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-build-success.png b/docs/application/vscode-ext/tools/media/wasm-build-success.png new file mode 100644 index 0000000000..20411fb629 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-build-success.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-emsdk-activate.png b/docs/application/vscode-ext/tools/media/wasm-emsdk-activate.png new file mode 100644 index 0000000000..8fcd8c6a3a Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-emsdk-activate.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-emsdk-path-set.png b/docs/application/vscode-ext/tools/media/wasm-emsdk-path-set.png new file mode 100644 index 0000000000..ac8aa863f2 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-emsdk-path-set.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-run-app.png b/docs/application/vscode-ext/tools/media/wasm-run-app.png new file mode 100644 index 0000000000..0a4e5c9929 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-run-app.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-select-lang.png b/docs/application/vscode-ext/tools/media/wasm-select-lang.png new file mode 100644 index 0000000000..15eaf3a11d Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-select-lang.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-select-template-type.png b/docs/application/vscode-ext/tools/media/wasm-select-template-type.png new file mode 100644 index 0000000000..894238b436 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-select-template-type.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-select-template.png b/docs/application/vscode-ext/tools/media/wasm-select-template.png new file mode 100644 index 0000000000..05bbfba562 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-select-template.png differ diff --git a/docs/application/vscode-ext/tools/media/wasm-set-name.png b/docs/application/vscode-ext/tools/media/wasm-set-name.png new file mode 100644 index 0000000000..a8ced56362 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/wasm-set-name.png differ diff --git a/docs/application/vscode-ext/tools/media/welcome-page.png b/docs/application/vscode-ext/tools/media/welcome-page.png new file mode 100644 index 0000000000..26abfb92dd Binary files /dev/null and b/docs/application/vscode-ext/tools/media/welcome-page.png differ diff --git a/docs/application/vscode-ext/tools/media/welcome-page2.png b/docs/application/vscode-ext/tools/media/welcome-page2.png new file mode 100644 index 0000000000..2b879009e6 Binary files /dev/null and b/docs/application/vscode-ext/tools/media/welcome-page2.png differ diff --git a/docs/application/vscode-ext/tools/unit-test-code-coverage-user-manual.md b/docs/application/vscode-ext/tools/unit-test-code-coverage-user-manual.md new file mode 100644 index 0000000000..a9ec4babca --- /dev/null +++ b/docs/application/vscode-ext/tools/unit-test-code-coverage-user-manual.md @@ -0,0 +1,35 @@ +# Get Unit Test Information with Code Coverage +Unit Test and Code Coverage is a tool that helps you to understand the code quality of your application. It provides you with the information about how much of your code is covered by unit tests. This is done by providing an interface for viewing and analyzing Native unit test results. It displays the test results in a tree view, illustrating the number of runs, defects, and failures where you can see the details of each test suite and test case. +
+ +This helps with the testing experience by allowing you to conveniently review, and understand the outcomes of your Native unit test within the VS Code Extension. + +## To use the Unit Test and Code Coverage +To use the Unit Test and Code Coverage tool: +- Create a GTest application. +- In the **File Explorer view**, click on **view** and select **Command Palette > Tizen: Create Tizen Project > Native > Tizen > Tizen-9.0 > GTest**, then specify the desired project name for your GTest application. This will initiate the creation process and set up the necessary environment for running Native Unit tests within VS Code Extension: + + ![Create Gtest Application](media/gTest.png) +
+ +- In the **File Explorer view**, click on **view** and select **Command Palette > Tizen Native: Run Unit Test and Coverage**: + + ![Launch Command](media/launch_utc.png) +
+ +- All the **unit tests present in the Unit Test project** are executed, and the **coverage is determined based on the code covered by the unit tests**. +- It also includes a **progress bar** that visually represents the **number of failures occurring** during the execution of Native unit tests: + + ![Native Unit Test Result](media/native_unit_test_result.png) +
+ +- After the **Unit Test**, project completes its execution, **VS Code Extension displays the Code Coverage information in the browser in the form of HTML**. The Unit Test Result and Code Coverage Views provide a summary of the Unit Test results and Code Coverage percentage for each of the files, as illustrated in the following figure: + + ![Coverage Report](media/coverage_report.png) +
+ +## Source File Navigation on Failure +- When a failure occurs, you can click on the **Failure Test Suite** associated with the failure which is generated in **Tree view**. +- This action will open the corresponding source file in your editor and **navigate to the exact location where the failure has occurred**, as illustrated in the following figure: + + ![Test Suite Failure Ocuured](media/test_suite_failure_line.png) \ No newline at end of file diff --git a/docs/application/vscode-ext/tools/wasm.md b/docs/application/vscode-ext/tools/wasm.md new file mode 100644 index 0000000000..75de6fefd6 --- /dev/null +++ b/docs/application/vscode-ext/tools/wasm.md @@ -0,0 +1,104 @@ +# Introduction + +WebAssembly (WASM) provides a way to run C and C++ code (among others) on the Web at near Native speed. WebAssembly is designed to complement and run alongside JavaScript. By using the WebAssembly JavaScript APIs, you can load WebAssembly modules into a JavaScript smart device application, and share functionality between the two. WebAssembly is being developed as a Web standard via the W3C WebAssembly Working Group and Community Group with active participation from all major browser vendors. + +[Click here](https://developer.samsung.com/smarttv/develop/extension-libraries/webassembly/webassembly.html) for more information on Tizen WebAssembly and it's application structure. + +VS Code Extension for Tizen supports **Tizen WebAssembly** application developers, it also helps to generate, update and package an application, as well as run and debug an application on Tizen targets. + +## Prerequisites + +Below are the prerequisites for using **Tizen WebAssembly (WASM)** in Visual Studio Code: + +- Make sure that Tizen Studio Version 6.0 or above is installed. +- Make sure to set Tizen Studio path with the installed 6.0 or above by using VS Code command: **Tizen: Wizard to set Tizen Baseline SDK path or install a new one**. +- Make sure that latest [Visual Studio Code](https://code.visualstudio.com) is installed. +- Make sure that **Tizen Extension** from the market place is installed. **Tizen Extension** can be installed by searching in the extensions view (Ctrl+Shift+X). +- Make sure Tizen Emscripten SDK setup is done. + +## Tizen Emscripten SDK Setup +1. Download and extract the [Tizen Emscripten SDK](https://developer.samsung.com/smarttv/develop/extension-libraries/webassembly/download.html) suitable for your OS. +2. Setup Tizen Emscripten and use it with Visual Studio Code. + > [!NOTE] + > These steps guide to use **emsdk** without changing development host environment variables permanently. + + - Open the **Command Palette** and select **Tizen Web: Wizard to set Tizen WASM emsdk path**. + - It launches a wizard to browse the folder and set it. + - Browse the **emsdk** directory and set it. + + ![Select dotnet-gcdump](media/wasm-emsdk-path-set.png) + + - Open the **Command Palette** and select **Tizen Web: Activate Tizen WASM emsdk path**. + - It activates the **emsdk** tool to be used by Tizen VS Code extension. + + ![Select dotnet-gcdump](media/wasm-emsdk-activate.png) + + +## To develop a Tizen WASM application +The following section demonstrates the steps essential for developing a Tizen WASM application using *Tizen* extension: + +> [!NOTE] +> Use `CTRL+SHIFT+P` to activate the **Command Palette** + +1. Create an empty Tizen web project: + - IIn VS Code, click **View** > **Command Palette**. + - In the input field of the **Command Palette** that appears, type **Tizen : Create Tizen Project** and press **Enter**. + - Select **Web** from the project type list and press **Enter**. + - Select a **profile** and press **Enter**. + - Select a **profile version** and press **Enter**. + - Select a **template** and press **Enter**. + - Provide the name of the project and press **Enter**. + - Make the body tag empty (if not empty already) of the index.html file. + + +2. Add a WASM module choosing from existing sample: + - Run Add WASM Module: + + ![wasm add module](media/wasm-add-module.png) + + - Choose the language: + + ![wasm select module language](media/wasm-select-lang.png) + + - Provide the name for WASM module: + + ![wasm set module name](media/wasm-set-name.png) + + - Select the module mode: + + ![Select wasm module mode](media/wasm-select-template.png) + + - Choose **Hello Triangle** + + ![Select wasm module template](media/wasm-select-template-type.png) + + - If everything is okay, then the WASM module is added to Tizen Web project and a success message is shown in VS Code. + + ![Select wasm module template](media/wasm-add-module-success.png) + + +3. Build the WASM module. + - Run Build WASM Module: + + ![wasm build module](media/wasm-build-module.png) + + - Select Build Mode: + + ![wasm build module](media/wasm-build-config.png) + + - If everything is okay, then the WASM module build starts and build messages are shown in the output console of VS Code. + - Once build is completed, it shows the build success message. + > [!NOTE] + > First WASM module build after *emsdk* activation may take take upto 15-20 minutes (to create emscripten cache files), depending on the type of the OS (Windows/Linux/MAC). + + ![wasm build module](media/wasm-build-success.png) + + +4. Running the Web WASM Application: + - Run Tizen Application: + + ![wasm build module](media/wasm-run-app.png) + + - Application is built, packaged and launched on the connected Tizen Emulator/Device: + + ![Select wasm module template](media/wasm-app-running.png) \ No newline at end of file diff --git a/docs/application/vscode-ext/tools/welcome-page.md b/docs/application/vscode-ext/tools/welcome-page.md new file mode 100644 index 0000000000..70b3b350cc --- /dev/null +++ b/docs/application/vscode-ext/tools/welcome-page.md @@ -0,0 +1,66 @@ +# Welcome Page: Tizen Extension for Visual Studio Code + +## Open Welcome Page + - Click on the **Tizen Extension** icon present in **Activity Bar**: + + ![Click Tizen Extension](media/activity-bar.png) + + - Select **Open Welcome Page** from the sidebar: + + ![Click Open Welcome Page](media/open-welcome-page.png) + + - The **Welcome Page** will open in a new tab: + + ![Show Welcome Page](media/welcome-page.png) + +## Install Tizen SDK + + - Click on **Setup Tizen Studio** to launch Tizen **SDK Installer Wizard** in a new tab: + + ![Click Setup Tizen Studio](media/installation-wizard.png) + + - To install **new Tizen SDK**, select **Install new Tizen SDK**: + + ![Select Install new Tizen SDK](media/install-tizen-sdk.png) + + - Accept the license agreement by clicking **I Agree**: + + ![Select I Agree](media/i-agree.png) + + - Choose an **empty folder** to install Tizen SDK: + + ![Select Folder](media/select-folder.png) + + - The installation process will begin: + + ![Installation Started](media/installation-started.png) + +## Use Existing Tizen Baseline SDK + + - To use an **existing Tizen SDK**, select **Use Installed Tizen SDK**: + + ![Use Installed Tizen SDK](media/use-installed-sdk.png) + + - Select the **path** where the **Tizen SDK is installed**: + + ![Select Tizen SDK Path](media/select-sdk-path.png) + + - A **pop-up** will confirm if Tizen SDK is **set** correctly: + + ![SDK Set Properly](media/sdk-set-properly.png) + + - For more information about **Tizen Native/Web/Dotnet app development**, click as shown in following figure: + + ![Click more information](media/more-information.png) + + - A new page will be opened in the default browser: + + ![Information Page](media/information-page.png) + + - For more information about **Tizen SDK and its features**, click on **Tizen Documentation**: + + ![Click more about Tizen SDK](media/more-about-sdk.png) + + - **Tizen Documentation** page will open in the default browser: + + ![Documentation page](media/documentation-page.png) \ No newline at end of file