diff --git a/CMakeLists.txt b/CMakeLists.txt index 77c666d6920b0ab3b9b3ab55d8ed2d6c989b3596..167863af82989bd6034fbfa24e061c2f3b16e4cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,7 @@ if(QT_VERSION VERSION_LESS QT_MINIMUM_VERSION) endif() qt_add_executable(${PROJECT_NAME} - resources/importdummy_wasm.qml + src/importdummy_wasm.qml src/main.cpp src/designviewer.cpp src/designviewer.h ) @@ -44,7 +44,9 @@ set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY QT_WASM_INITIAL_MEMORY "50MB" ) -# --install configuration +qt6_import_qml_plugins(${PROJECT_NAME}) + +# BEGIN --install configuration install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.html FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.wasm @@ -54,10 +56,15 @@ install( ) install( - DIRECTORY ${CMAKE_SOURCE_DIR}/resources/www/ + DIRECTORY ${CMAKE_SOURCE_DIR}/www/ DESTINATION ${CMAKE_INSTALL_PREFIX} ) -set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_INSTALL_PREFIX}) +execute_process(COMMAND git describe --always --tags OUTPUT_VARIABLE GIT_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) +configure_file(${CMAKE_SOURCE_DIR}/resources/version.json ${CMAKE_INSTALL_PREFIX}/resources/meta-data/version.json) -qt6_import_qml_plugins(${PROJECT_NAME}) +message(STATUS "GIT_VERSION: ${GIT_VERSION}") +message(STATUS "QT_VERSION: ${QT_VERSION}") + +set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_INSTALL_PREFIX}) +# END --install configuration diff --git a/cicd/gitlab-ci.yml b/cicd/gitlab-ci.yml index d9c8307198361dcb25210b8afcaa94403fe80bc3..cc1e8838616d57083d2682c9b353a89cee29de11 100644 --- a/cicd/gitlab-ci.yml +++ b/cicd/gitlab-ci.yml @@ -14,7 +14,7 @@ workflow: stages: - build - - deploy + - trigger - release include: diff --git a/cicd/stages/build.yml b/cicd/stages/build.yml index 3d171cff315b6b2f478241e8ddc49e2313dc6b09..84fa7c7e0e437a1ac0604b4e6d393f7a2cba517d 100644 --- a/cicd/stages/build.yml +++ b/cicd/stages/build.yml @@ -29,6 +29,8 @@ build-wasm-multiarch: expose_as: "build-artifacts" paths: - ${QDS_CI_ARTIFACTS_PATH} + reports: + dotenv: build.env image: "git.qt.io:4567/design-studio/maintenance/docker-images/${QDS_CI_JOB_TARGET_PLATFORM}:${QDS_CI_QT_VERSION}-${QDS_CI_JOB_TARGET_PLATFORM}_${QDS_CI_JOB_TARGET_ARCH}" script: - mkdir -p ${QDS_CI_JOB_ARTIFACTS_PATH} @@ -70,3 +72,24 @@ build-wasm-multiarch: -DCMAKE_INSTALL_PREFIX=${QDS_CI_JOB_ARTIFACTS_PATH} - cmake --build ${QDS_BUILD_PATH} - cmake --install ${QDS_BUILD_PATH} + - echo "PREVIOUS_JOB_ID=${CI_JOB_ID}" >> build.env + - echo "JOB_TARGET_ARCH=${QDS_CI_JOB_TARGET_ARCH}" >> build.env + +trigger-deployment: + stage : trigger + variables: # these variables are passed to the downstream pipeline + QDS_CI_PARENT_PIPELINE_ID: ${CI_PIPELINE_ID} + QDS_CI_ARTIFACT_JOB_ID: ${PREVIOUS_JOB_ID} + QDS_CI_PARENT_PROJECT_ID: ${CI_PROJECT_ID} + QDS_CI_PARENT_PIPELINE_ARCH: ${JOB_TARGET_ARCH} + needs: + - job: build-wasm-multiarch + artifacts: true + optional: true + trigger: + project: design-studio/design-viewer/design-viewer-web-service + branch: master + strategy: depend + forward: + yaml_variables: true + pipeline_variables: false diff --git a/resources/importdummy.qml b/resources/importdummy.qml deleted file mode 100644 index 0c5e1485c920e8b9dd1584a4711779f7019d6a7b..0000000000000000000000000000000000000000 --- a/resources/importdummy.qml +++ /dev/null @@ -1,95 +0,0 @@ -// 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 -} diff --git a/resources/version.json b/resources/version.json new file mode 100644 index 0000000000000000000000000000000000000000..12581307eb052e06f25b6f3789001d1a699e5110 --- /dev/null +++ b/resources/version.json @@ -0,0 +1,4 @@ +{ + "appVersion": "@GIT_VERSION@", + "qtVersion": "@QT_VERSION@" +} diff --git a/resources/www/resources/meta-data/version.json b/resources/www/resources/meta-data/version.json deleted file mode 100644 index 96ed1e165ccacf2c9c5d24ca8c7b408d468009e8..0000000000000000000000000000000000000000 --- a/resources/www/resources/meta-data/version.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "version": "0.8", - "buildNumber": "#buildnumber#" -} diff --git a/resources/importdummy_wasm.qml b/src/importdummy_wasm.qml similarity index 100% rename from resources/importdummy_wasm.qml rename to src/importdummy_wasm.qml diff --git a/resources/www/index.html b/www/index.html similarity index 98% rename from resources/www/index.html rename to www/index.html index 84c97da720f70e511c9d73f7211cff87cb89396c..f63216846c29a0fd269a6f4b07ddc84fef3be767 100644 --- a/resources/www/index.html +++ b/www/index.html @@ -138,7 +138,7 @@ cloud. </p> <p> - <a href="https://github.com/qt/qtdesignviewer" + <a href="https://git.qt.io/design-studio/design-viewer/design-viewer-wasm" >"Qt Design Viewer" sources</a > | Made with: diff --git a/resources/www/resources/fonts/Titillium-Light.otf b/www/resources/fonts/Titillium-Light.otf similarity index 100% rename from resources/www/resources/fonts/Titillium-Light.otf rename to www/resources/fonts/Titillium-Light.otf diff --git a/resources/www/resources/fonts/Titillium-Thin.otf b/www/resources/fonts/Titillium-Thin.otf similarity index 100% rename from resources/www/resources/fonts/Titillium-Thin.otf rename to www/resources/fonts/Titillium-Thin.otf diff --git a/resources/www/resources/fonts/Titillium-ThinItalic.otf b/www/resources/fonts/Titillium-ThinItalic.otf similarity index 100% rename from resources/www/resources/fonts/Titillium-ThinItalic.otf rename to www/resources/fonts/Titillium-ThinItalic.otf diff --git a/resources/www/resources/images/qtdesignstudioviewer-128.png b/www/resources/images/qtdesignstudioviewer-128.png similarity index 100% rename from resources/www/resources/images/qtdesignstudioviewer-128.png rename to www/resources/images/qtdesignstudioviewer-128.png diff --git a/resources/www/resources/images/qtdesignstudioviewer-16.png b/www/resources/images/qtdesignstudioviewer-16.png similarity index 100% rename from resources/www/resources/images/qtdesignstudioviewer-16.png rename to www/resources/images/qtdesignstudioviewer-16.png diff --git a/resources/www/resources/images/qtdesignstudioviewer-256.png b/www/resources/images/qtdesignstudioviewer-256.png similarity index 100% rename from resources/www/resources/images/qtdesignstudioviewer-256.png rename to www/resources/images/qtdesignstudioviewer-256.png diff --git a/resources/www/resources/images/qtdesignstudioviewer-32.png b/www/resources/images/qtdesignstudioviewer-32.png similarity index 100% rename from resources/www/resources/images/qtdesignstudioviewer-32.png rename to www/resources/images/qtdesignstudioviewer-32.png diff --git a/resources/www/resources/images/qtdesignstudioviewer-384.png b/www/resources/images/qtdesignstudioviewer-384.png similarity index 100% rename from resources/www/resources/images/qtdesignstudioviewer-384.png rename to www/resources/images/qtdesignstudioviewer-384.png diff --git a/resources/www/resources/images/qtdesignstudioviewer-48.png b/www/resources/images/qtdesignstudioviewer-48.png similarity index 100% rename from resources/www/resources/images/qtdesignstudioviewer-48.png rename to www/resources/images/qtdesignstudioviewer-48.png diff --git a/resources/www/resources/images/qtdesignstudioviewer-512.png b/www/resources/images/qtdesignstudioviewer-512.png similarity index 100% rename from resources/www/resources/images/qtdesignstudioviewer-512.png rename to www/resources/images/qtdesignstudioviewer-512.png diff --git a/resources/www/resources/images/reload.png b/www/resources/images/reload.png similarity index 100% rename from resources/www/resources/images/reload.png rename to www/resources/images/reload.png diff --git a/resources/www/resources/images/scalemode1.png b/www/resources/images/scalemode1.png similarity index 100% rename from resources/www/resources/images/scalemode1.png rename to www/resources/images/scalemode1.png diff --git a/resources/www/resources/images/screenshot.png b/www/resources/images/screenshot.png similarity index 100% rename from resources/www/resources/images/screenshot.png rename to www/resources/images/screenshot.png diff --git a/resources/www/resources/images/uploadIcon.svg b/www/resources/images/uploadIcon.svg similarity index 100% rename from resources/www/resources/images/uploadIcon.svg rename to www/resources/images/uploadIcon.svg diff --git a/resources/www/resources/meta-data/qmlprojects.json b/www/resources/meta-data/qmlprojects.json similarity index 100% rename from resources/www/resources/meta-data/qmlprojects.json rename to www/resources/meta-data/qmlprojects.json diff --git a/resources/www/resources/styles/default.css b/www/resources/styles/default.css similarity index 100% rename from resources/www/resources/styles/default.css rename to www/resources/styles/default.css diff --git a/resources/www/scripts/script.js b/www/scripts/script.js similarity index 96% rename from resources/www/scripts/script.js rename to www/scripts/script.js index 81e9488b10ecd1191e0c86d53e997b9b5539f643..690dfefc688c7ce902caf8428e89d23111f9062e 100644 --- a/resources/www/scripts/script.js +++ b/www/scripts/script.js @@ -146,10 +146,12 @@ function showVersionInfo() { } var json = request.response; versionInfo = request.response; - var version = json.version; - var buildNumber = parseInt(json.buildNumber) || 0; - var versionText = "Version: " + version; - if (buildNumber !== undefined) versionText += "." + buildNumber; + var appVersion = json.appVersion; + var qtVersion = json.qtVersion; + var webServiceVersion = json.webServiceVersion; + var versionText = + "Design Viewer " + appVersion + + "<br>Built with Qt " + qtVersion document.querySelector("#versioninfo_main").innerHTML = versionText; }; request.open("GET", "resources/meta-data/version.json", true); @@ -259,4 +261,4 @@ function setScreenSize(width, height) { document.body.style.overflow = "hidden"; } qtLoader.resizeCanvasElement(canvas); -} \ No newline at end of file +}