Skip to content
Snippets Groups Projects
Verified Commit bebe67c3 authored by Burak Hançerli's avatar Burak Hançerli :headphones:
Browse files

chore: add missing files

parent 83d76589
No related branches found
No related tags found
2 merge requests!2QDS-10800 Separate Android and WebAssembly repos,!1QDS-10800 Separate Android and WebAssemly repos
Showing
with 505 additions and 0 deletions
# QDS_CI_BUILD_QT_VERSION_ANDROID and QDS_CI_BUILD_QT_VERSION_WASM are the tags for the docker images.
# https://git.qt.io/design-studio/maintenance/docker-images/container_registry
variables:
QDS_CI_QT_VERSION:
value: "643"
options:
- "643"
- "652"
description: "Qt version for build"
QDS_CI_REGISTRY_IMAGE: "git.qt.io:4567/design-studio/maintenance/docker-images"
QDS_CI_ARTIFACTS_PATH: "${CI_PROJECT_DIR}/artifacts"
DEBIAN_FRONTEND: non-interactive
GIT_SUBMODULE_STRATEGY: recursive
workflow:
name: 'Qt-${QDS_CI_QT_VERSION} - ${CI_COMMIT_MESSAGE}'
stages:
- build
- deploy
- release
include:
- local: "cicd/gitlab/stages/*"
.build-common:
stage: build
tags:
- linux-blade
rules:
- if: $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web"
variables:
QDS_BUILD_PATH: "${CI_PROJECT_DIR}/outdir/build"
QDS_CI_JOB_ARTIFACTS_PATH: ${QDS_CI_ARTIFACTS_PATH}/${QDS_CI_JOB_TARGET_PLATFORM}/${QDS_CI_JOB_TARGET_ARCH}
artifacts:
name: design-viewer-${CI_JOB_ID}-qt${QDS_CI_QT_VERSION}-${QDS_CI_JOB_TARGET_PLATFORM}-${QDS_CI_JOB_TARGET_ARCH}
expose_as: "build-artifacts"
paths:
- ${QDS_CI_ARTIFACTS_PATH}
before_script:
- mkdir -p ${QDS_CI_JOB_ARTIFACTS_PATH}
build-android-multiarch:
extends: .build-common
image: "${QDS_CI_REGISTRY_IMAGE}/${QDS_CI_JOB_TARGET_PLATFORM}:${QDS_CI_QT_VERSION}-${QDS_CI_JOB_TARGET_PLATFORM}-${QDS_CI_JOB_TARGET_ARCH}"
variables:
QDS_CI_JOB_TARGET_PLATFORM: "android"
QDS_CI_QT_VERSION: "652"
rules:
- if: $QDS_CI_QT_VERSION_ANDROID != "none"
parallel:
matrix:
- QDS_CI_JOB_TARGET_ARCH: "arm64_v8a"
QDS_CI_JOB_OPENSSL_PATH: "/opt/openssl/ssl_3/arm64-v8a"
- QDS_CI_JOB_TARGET_ARCH: "armv7"
QDS_CI_JOB_OPENSSL_PATH: "/opt/openssl/ssl_3/armeabi-v7a"
- QDS_CI_JOB_TARGET_ARCH: "x86"
QDS_CI_JOB_OPENSSL_PATH: "/opt/openssl/ssl_3/x86"
- QDS_CI_JOB_TARGET_ARCH: "x86_64"
QDS_CI_JOB_OPENSSL_PATH: "/opt/openssl/ssl_3/x86_64"
script:
- cd qtquickdesigner-components
- ls -l /opt/openssl/ssl_3/
- ls -l ${QDS_CI_JOB_OPENSSL_PATH}
- |
cmake \
-S . \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}/lib/cmake/Qt6/qt.toolchain.cmake \
-DANDROID_SDK_ROOT=/opt/android \
-DANDROID_NDK_ROOT=/opt/android/ndk/25.2.9519653 \
-DQT_HOST_PATH=${QT_PATH}/${QT_VERSION}/gcc_64 \
-DCMAKE_INSTALL_PREFIX=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH} \
-DANDROID_OPENSSL_PATH=${QDS_CI_JOB_OPENSSL_PATH}
- cmake --build .
- cmake --install .
- cd ..
- |
cmake \
-S . \
-B ${QDS_BUILD_PATH} \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}/lib/cmake/Qt6/qt.toolchain.cmake \
-DANDROID_SDK_ROOT=/opt/android \
-DANDROID_NDK_ROOT=/opt/android/ndk/25.2.9519653 \
-DQT_HOST_PATH=${QT_PATH}/${QT_VERSION}/gcc_64 \
-DCMAKE_INSTALL_PREFIX=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH} \
-DANDROID_OPENSSL_PATH=${QDS_CI_JOB_OPENSSL_PATH}
- cmake --build ${QDS_BUILD_PATH} --target all
- cp -r ${QDS_BUILD_PATH}/android-build/build/outputs/apk/debug/* ${QDS_CI_JOB_ARTIFACTS_PATH}
.build-wasm-common:
extends: .build-common
image: "${QDS_CI_REGISTRY_IMAGE}/${QDS_CI_JOB_TARGET_PLATFORM}:${QDS_CI_QT_VERSION}-${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}"
variables:
QDS_CI_JOB_TARGET_PLATFORM: "wasm"
script:
- |
if [[ ${QDS_CI_QT_VERSION} == "643" ]]; then
EMSDK_VERSION="3.1.14"
elif [[ ${QDS_CI_QT_VERSION} == "652" ]]; then
EMSDK_VERSION="3.1.25"
fi
- |
cd emsdk
./emsdk install ${EMSDK_VERSION}
./emsdk activate ${EMSDK_VERSION}
source emsdk_env.sh
cd ..
- |
cd qtquickdesigner-components
cmake \
-S . \
-G Ninja \
-DCMAKE_TOOLCHAIN_FILE=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}/lib/cmake/Qt6/qt.toolchain.cmake \
-DQT_HOST_PATH=${QT_PATH}/${QT_VERSION}/gcc_64 \
-DCMAKE_C_COMPILER=${EMSDK}/upstream/emscripten/emcc \
-DCMAKE_CXX_COMPILER=${EMSDK}/upstream/emscripten/em++ \
-DCMAKE_INSTALL_PREFIX=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}
- cmake --build .
- cmake --install .
- cd ..
- |
cmake \
-S . \
-B ${QDS_BUILD_PATH} \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE=${QT_PATH}/${QT_VERSION}/${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}/lib/cmake/Qt6/qt.toolchain.cmake \
-DQT_HOST_PATH=${QT_PATH}/${QT_VERSION}/gcc_64 \
-DCMAKE_C_COMPILER=${EMSDK}/upstream/emscripten/emcc \
-DCMAKE_CXX_COMPILER=${EMSDK}/upstream/emscripten/em++ \
-DCMAKE_INSTALL_PREFIX=${QDS_CI_JOB_ARTIFACTS_PATH}
- cmake --build ${QDS_BUILD_PATH}
- cmake --install ${QDS_BUILD_PATH}
build-wasm_multiarch:
extends: .build-wasm-common
rules:
- if: $QDS_CI_QT_VERSION == "643" && $QDS_CI_JOB_TARGET_ARCH == "32"
- if: $QDS_CI_QT_VERSION != "643" && $QDS_CI_JOB_TARGET_ARCH == "singlethread"
- if: $QDS_CI_QT_VERSION != "643" && $QDS_CI_JOB_TARGET_ARCH == "multithread"
parallel:
matrix:
- QDS_CI_JOB_TARGET_ARCH:
- "32"
- "singlethread"
- "multithread"
create-packages:
stage: release
image: alpine:latest
tags:
- linux-blade
rules:
- if: $CI_COMMIT_TAG
needs:
- job: build-android-multiarch
optional: false
artifacts: true
- job: build-wasm_multiarch
optional: true
artifacts: true
variables:
QDS_PACKAGE_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/design-viewer/${CI_COMMIT_TAG}"
script:
- apk add tar curl
- cd ${QDS_CI_ARTIFACTS_PATH}
- |
for platform in $(ls); do
echo "Creating packages for platform $platform"
cd "$platform"
for arch in $(ls); do
echo "Running for $platform-$arch. Compressing..."
cd "$arch"
tar -czf "$platform-$arch.tar.gz" *
echo "Uploading $platform-$arch.tar.gz to GitLab Package Registry"
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file "${platform}-${arch}.tar.gz" ${QDS_PACKAGE_URL}/design_viewer-${CI_COMMIT_TAG}-qt${QDS_CI_QT_VERSION}-${platform}-${arch}.tar.gz
cd ..
done
cd ..
done
artifacts:
name: design-viewer-${CI_JOB_ID}-qt${QDS_CI_QT_VERSION}
paths:
- ${QDS_CI_ARTIFACTS_PATH}
expire_in: 1 week
create-release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
tags:
- linux-blade
rules:
- if: $CI_COMMIT_TAG
needs:
- job: create-packages
artifacts: true
variables:
QDS_PACKAGE_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/design-viewer/${CI_COMMIT_TAG}"
QDS_RELEASE_NAME: "Design Viewer - ${CI_COMMIT_TAG}"
QDS_RELEASE_DESCRIPTION: "This version is built with Qt-${QDS_CI_QT_VERSION}."
release:
name: ${QDS_RELEASE_NAME}
description: ${QDS_RELEASE_DESCRIPTION}
tag_name: ${CI_COMMIT_TAG}
assets:
links:
- name: "Binary Packages"
url: "https://git.qt.io/design-studio/cloud-services/design-viewer-app/-/packages"
link_type: "package"
- name: "Docker Images - Android"
url: "https://git.qt.io/design-studio/maintenance/docker-images/container_registry/143"
link_type: "image"
- name: "Docker Images - WASM"
url: "https://git.qt.io/design-studio/maintenance/docker-images/container_registry/142"
link_type: "image"
script:
- echo "Releasing ${QDS_RELEASE_NAME}"
resources/dvicon.png

10.2 KiB

// Hack to force the qml plugins to be linked statically
// TODO: Find out how to do that in .pro or .cpp file
import QtQuick
import QtQuick.Controls
import QtQuick.Dialogs
import QtQuick.Extras
import QtQuick.Layouts
import QtQuick.Particles
import QtQuick.PrivateWidgets
import QtQuick.Templates
import QtQuick.VirtualKeyboard
import QtQuick.VirtualKeyboard.Settings
import QtQuick.Window
import QtQuick.XmlListModel
import QtQuick.Timeline
import QtQuick.Shapes
import Qt.labs.calendar
import Qt.labs.folderlistmodel
// import Qt.labs.lottieqt
import Qt.labs.platform
import Qt.labs.qmlmodels
import Qt.labs.settings
import Qt.labs.wavefrontmesh
import Qt.labs.sharedimage
import QtBluetooth
import QtCanvas3D
import QtCharts
import QtDataVisualization
// import QtFeedback
import QtGamepad
import QtGraphicalEffects
import QtLocation
import QtMultimedia
import QtNfc
import QtPositioning
import QtPurchasing
import QtRemoteObjects
import QtScxml
import QtSensors
import QtTest
import QtWebChannel
import QtWebSockets
import QtWebView
import QtQml
import QtQml.Models
import QtQml.RemoteObjects
import QtQml.StateMachine
import QtQuick.Scene3D
import QtQuick.Scene2D
import QtQuick.LocalStorage
import QtQuick.Controls.Styles
import QtQuick.Controls.Material
import QtQuick.Controls.Universal
import QtQuick.Controls.Imagine
import Qt3D.Extras
import Qt3D.Input
import Qt3D.Logic
import Qt3D.Core
import Qt3D.Render
import Qt3D.Animation
// TODO: Find out how to build that
import Qt.SafeRenderer
// Will QtStudio3D.OpenGL or its successor support WebAssembly?
import QtStudio3D.OpenGL
import Qt5Compat.GraphicalEffects
import FlowView
import Components
import QtQuick.Studio.Components
import QtQuick.Studio.Effects
import QtQuick.Studio.EventSimulator
import QtQuick.Studio.EventSystem
import QtQuick.Studio.LogicHelper
import QtQuick.Studio.MultiText
import QtQuick3D
import QtQuick3D.Effects
import QtQuick3D.Particles3D
ApplicationWindow {
visible: true
width: 640
height: 480
}
// Hack to force the qml plugins to be linked statically
import QtQuick
import QtQuick.Controls
import QtQml
import QtQml.Models
import QtQml.StateMachine
import QtQuick3D
import QtQuick3D.AssetUtils
import QtQuick3D.Effects
import QtQuick3D.Helpers
import QtQuick3D.ParticleEffects
import QtQuick3D.Particles3D
import QtQuick.VirtualKeyboard
import QtQuick.Studio.Application
import QtQuick.Studio.Components
import QtQuick.Studio.Effects
import QtQuick.Studio.EventSimulator
import QtQuick.Studio.EventSystem
import QtQuick.Studio.LogicHelper
import QtQuick.Studio.MultiText
import QtQuickUltralite.Extras
import QtQuickUltralite.Layers
import FlowView
ApplicationWindow {
visible: true
width: 640
height: 480
}
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="The Qt Company" />
<meta
name="description"
content="The online Qt Design Viewer allows users to view and share Qml-based UI designs. The designs can be either created with the Qt Design Studio or be hand coded."
/>
<meta
name="keywords"
content="Qml, Qt Quick, Qt, Ui, Design Studio, Viewer, WebAssembly"
/>
<meta name="viewport" content="width=device-width" />
<link
href="resources/styles/default.css"
rel="stylesheet"
type="text/css"
/>
<link
rel="icon"
href="resources/images/qtdesignstudioviewer-16.png"
sizes="16x16"
/>
<link
rel="icon"
href="resources/images/qtdesignstudioviewer-32.png"
sizes="32x32"
/>
<link
rel="icon"
href="resources/images/qtdesignstudioviewer-48.png"
sizes="48x48"
/>
<title>Qt Design Viewer</title>
</head>
<body onload="init()">
<figure style="overflow: visible" id="qtspinner">
<center style="line-height: 150%">
<img
src="resources/images/qtdesignstudioviewer-128.png"
srcset="
resources/images/qtdesignstudioviewer-128.png 1x,
resources/images/qtdesignstudioviewer-256.png 2x,
resources/images/qtdesignstudioviewer-384.png 3x,
resources/images/qtdesignstudioviewer-512.png 4x
"
width="128"
height="128"
style="display: block"
/>
<div id="title">Qt Design Viewer</div>
<div id="subtitle" class="subtitleclass">Powered by WebAssembly</div>
<div id="qtstatus"></div>
<noscript
>JavaScript is disabled. Please enable JavaScript to use this
application.</noscript
>
</center>
</figure>
<div id="dropzone">
<div id="instruction">Drop your qmlrc file or zip file here</div>
<p>
(Package with a pure Qml project, containing either a .qmlproject file
or a main.qml)
</p>
<form id="uploadform">
<label
><input
id="fileinput"
type="file"
accept=".qmlrc,.zip"
style="display: none"
/><img
src="resources/images/uploadIcon.svg"
width="32"
height="32"
/><br />(or load by clicking here)</label
>
</form>
</div>
<div id="projectsmenu" style="text-align: center">
<p>EXAMPLES</p>
<ul id="projectsmenulist"></ul>
</div>
<div id="launchstatus">
<p id="launchstatustext"></p>
<div class="progress">
<div
id="downloadprogress"
class="progress-bar"
style="width: 0%"
role="progressbar"
aria-valuenow="0"
aria-valuemin="0"
aria-valuemax="100"
></div>
</div>
</div>
<div id="appheader">
<div id="appname" class="child inline-block-child"></div>
</div>
<div id="passwordDialog" class="alert">
<span class="closebtn" onclick="this.parentElement.style.display='none';"
>Cancel</span
>
<span class="closebtn" onclick="loadFileInHash()">Ok</span>
<div>
Password for the application:
<input type="password" id="passwordInput" />
</div>
</div>
<canvas
id="qtcanvas"
oncontextmenu="event.preventDefault()"
contenteditable="true"
></canvas>
<div id="footer">
<div id="alertBox" class="alert">
<span
class="closebtn"
onclick="this.parentElement.style.display='none';"
>&times;</span
>
<div id="alertText"></div>
</div>
<p>
Note: This is a static web page. The Qml application that You load runs
and remains locally in Your browser, nothing gets uploaded into the
cloud.
</p>
<p>
<a href="https://github.com/qt/qtdesignviewer"
>"Qt Design Viewer" sources</a
>
| Made with:
<a href="https://doc.qt.io/qt-6/wasm.html">Qt for WebAssembly</a> |
Powered by: <a href="https://webassembly.org/">WebAssembly</a> &
<a href="https://emscripten.org/">emscripten</a>
</p>
<p id="versioninfo_main">Version: 1.0.0</p>
</div>
<script src="scripts/script.js" type="text/javascript"></script>
<script src="qtloader.js" type="text/javascript"></script>
</body>
</html>
File added
File added
File added
resources/www/resources/images/qtdesignstudioviewer-128.png

5.26 KiB

resources/www/resources/images/qtdesignstudioviewer-16.png

480 B

resources/www/resources/images/qtdesignstudioviewer-256.png

10.2 KiB

resources/www/resources/images/qtdesignstudioviewer-32.png

710 B

resources/www/resources/images/qtdesignstudioviewer-384.png

16.2 KiB

resources/www/resources/images/qtdesignstudioviewer-48.png

1.84 KiB

resources/www/resources/images/qtdesignstudioviewer-512.png

24.7 KiB

resources/www/resources/images/reload.png

8.63 KiB

resources/www/resources/images/scalemode1.png

3.43 KiB

resources/www/resources/images/screenshot.png

8.32 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment