Details
-
Bug
-
Resolution: Invalid
-
P3: Somewhat important
-
6.3
Description
With https://codereview.qt-project.org/c/qt-extensions/qtquickcalendar/+/363740/ checked out and running
~/dev/qtquickcalendar-qt-dev-debug$ ninja all_qmllint &> /tmp/qmllint-ninja.txt
I get:
[1/5] Automatic MOC and UIC for target eventcalendar [2/5] Running AUTOMOC file extraction for target eventcalendar [3/5] Running moc --collect-json for target eventcalendar [4/5] Automatic QML type registration for target eventcalendar [5/5] cd /home/mitch/dev/qtquickcalendar/src/imports/calendar && /home/mitch/dev/qt-dev-debug/qtbase/bin/qmllint -I /home/mitch/dev/qtquickcalendar-qt-dev-debug/src/imports/calendar -I /home/mitch/dev/qt-dev-debug/qtbase/./qml --resource /home/mitch/dev/qtquickcalendar-qt-dev-debug/src/imports/calendar/.rcc/qmake_QtQuick_Calendar.qrc --resource /home/mitch/dev/qtquickcalendar-qt-dev-debug/src/imports/calendar/.rcc/QuickCalendar_raw_qml_0.qrc DayOfWeekRow.qml MonthGrid.qml WeekNumberColumn.qml FAILED: src/imports/calendar/CMakeFiles/QuickCalendar_qmllint cd /home/mitch/dev/qtquickcalendar/src/imports/calendar && /home/mitch/dev/qt-dev-debug/qtbase/bin/qmllint -I /home/mitch/dev/qtquickcalendar-qt-dev-debug/src/imports/calendar -I /home/mitch/dev/qt-dev-debug/qtbase/./qml --resource /home/mitch/dev/qtquickcalendar-qt-dev-debug/src/imports/calendar/.rcc/qmake_QtQuick_Calendar.qrc --resource /home/mitch/dev/qtquickcalendar-qt-dev-debug/src/imports/calendar/.rcc/QuickCalendar_raw_qml_0.qrc DayOfWeekRow.qml MonthGrid.qml WeekNumberColumn.qml Warning: DayOfWeekRow.qml: Warnings occurred while importing base modules: --- Warning: /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:291:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:314:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:392:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:401:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:429:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. Warning: Found deprecated dependency specifications in /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes.Specify dependencies in qmldir and use qmltyperegistrar to generate qmltypes files without dependencies. --- Warning: MonthGrid.qml: Warnings occurred while importing base modules: --- Warning: /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:291:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:314:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:392:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:401:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:429:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. Warning: Found deprecated dependency specifications in /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes.Specify dependencies in qmldir and use qmltyperegistrar to generate qmltypes files without dependencies. --- Warning: WeekNumberColumn.qml: Warnings occurred while importing base modules: --- Warning: /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:291:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:314:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:392:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:401:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes:429:37: Meta object revision and export version differ, ignoring the revision. Revision 0 corresponds to version 0.0; it should be 1.0. Warning: Found deprecated dependency specifications in /home/mitch/dev/qtquickcalendar/src/imports/calendar/plugins.qmltypes.Specify dependencies in qmldir and use qmltyperegistrar to generate qmltypes files without dependencies. --- ninja: build stopped: subcommand failed.
https://codereview.qt-project.org/c/qt-extensions/qtquickcalendar/+/360418/ (in that chain of commits) adds the revision for those types, so it shouldn't warn.
quickcalendar_qmltyperegistrations.cpp
// [...] #include <QtQml/qqml.h> #include <QtQml/qqmlmoduleregistration.h> #include <private/qquickcalendar_p.h> #include <private/qquickcalendarmodel_p.h> #include <private/qquickdayofweekrow_p.h> #include <private/qquickmonthgrid_p.h> #include <private/qquickweeknumbercolumn_p.h> #if !defined(QT_STATIC) #define Q_QMLTYPE_EXPORT Q_DECL_EXPORT #else #define Q_QMLTYPE_EXPORT #endif Q_QMLTYPE_EXPORT void qml_register_types_QtQuick_Calendar() { QMetaType::fromType<QAbstractListModel *>().id(); qmlRegisterTypesAndRevisions<QQuickCalendar>("QtQuick.Calendar", 1); qmlRegisterTypesAndRevisions<QQuickCalendarModel>("QtQuick.Calendar", 1); qmlRegisterTypesAndRevisions<QQuickDayOfWeekRow>("QtQuick.Calendar", 1); qmlRegisterTypesAndRevisions<QQuickMonthGrid>("QtQuick.Calendar", 1); qmlRegisterTypesAndRevisions<QQuickWeekNumberColumn>("QtQuick.Calendar", 1); qmlRegisterModule("QtQuick.Calendar", 1, 0); } static const QQmlModuleRegistration registration("QtQuick.Calendar", qml_register_types_QtQuick_Calendar);
plugins.qmltypes
import QtQuick.tooling 1.2 // This file describes the plugin-supplied types contained in the library. // It is used for QML tooling purposes only. // // This file was auto-generated by: // 'qmlplugindump -nonrelocatable QtQuick.Calendar 1.0' Module { dependencies: ["QtQuick 2.12"] Component { name: "QAbstractItemModel" prototype: "QObject" Enum { name: "LayoutChangeHint" values: { "NoLayoutChangeHint": 0, "VerticalSortHint": 1, "HorizontalSortHint": 2 } } Enum { name: "CheckIndexOption" values: { "NoOption": 0, "IndexIsValid": 1, "DoNotUseParent": 2, "ParentIsInvalid": 4 } } Signal { name: "dataChanged" Parameter { name: "topLeft"; type: "QModelIndex" } Parameter { name: "bottomRight"; type: "QModelIndex" } Parameter { name: "roles"; type: "QVector<int>" } } Signal { name: "dataChanged" Parameter { name: "topLeft"; type: "QModelIndex" } Parameter { name: "bottomRight"; type: "QModelIndex" } } Signal { name: "headerDataChanged" Parameter { name: "orientation"; type: "Qt::Orientation" } Parameter { name: "first"; type: "int" } Parameter { name: "last"; type: "int" } } Signal { name: "layoutChanged" Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" } Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" } } Signal { name: "layoutChanged" Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" } } Signal { name: "layoutChanged" } Signal { name: "layoutAboutToBeChanged" Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" } Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" } } Signal { name: "layoutAboutToBeChanged" Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" } } Signal { name: "layoutAboutToBeChanged" } Signal { name: "rowsAboutToBeInserted" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "first"; type: "int" } Parameter { name: "last"; type: "int" } } Signal { name: "rowsInserted" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "first"; type: "int" } Parameter { name: "last"; type: "int" } } Signal { name: "rowsAboutToBeRemoved" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "first"; type: "int" } Parameter { name: "last"; type: "int" } } Signal { name: "rowsRemoved" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "first"; type: "int" } Parameter { name: "last"; type: "int" } } Signal { name: "columnsAboutToBeInserted" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "first"; type: "int" } Parameter { name: "last"; type: "int" } } Signal { name: "columnsInserted" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "first"; type: "int" } Parameter { name: "last"; type: "int" } } Signal { name: "columnsAboutToBeRemoved" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "first"; type: "int" } Parameter { name: "last"; type: "int" } } Signal { name: "columnsRemoved" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "first"; type: "int" } Parameter { name: "last"; type: "int" } } Signal { name: "modelAboutToBeReset" } Signal { name: "modelReset" } Signal { name: "rowsAboutToBeMoved" Parameter { name: "sourceParent"; type: "QModelIndex" } Parameter { name: "sourceStart"; type: "int" } Parameter { name: "sourceEnd"; type: "int" } Parameter { name: "destinationParent"; type: "QModelIndex" } Parameter { name: "destinationRow"; type: "int" } } Signal { name: "rowsMoved" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "start"; type: "int" } Parameter { name: "end"; type: "int" } Parameter { name: "destination"; type: "QModelIndex" } Parameter { name: "row"; type: "int" } } Signal { name: "columnsAboutToBeMoved" Parameter { name: "sourceParent"; type: "QModelIndex" } Parameter { name: "sourceStart"; type: "int" } Parameter { name: "sourceEnd"; type: "int" } Parameter { name: "destinationParent"; type: "QModelIndex" } Parameter { name: "destinationColumn"; type: "int" } } Signal { name: "columnsMoved" Parameter { name: "parent"; type: "QModelIndex" } Parameter { name: "start"; type: "int" } Parameter { name: "end"; type: "int" } Parameter { name: "destination"; type: "QModelIndex" } Parameter { name: "column"; type: "int" } } Method { name: "submit"; type: "bool" } Method { name: "revert" } Method { name: "hasIndex" type: "bool" Parameter { name: "row"; type: "int" } Parameter { name: "column"; type: "int" } Parameter { name: "parent"; type: "QModelIndex" } } Method { name: "hasIndex" type: "bool" Parameter { name: "row"; type: "int" } Parameter { name: "column"; type: "int" } } Method { name: "index" type: "QModelIndex" Parameter { name: "row"; type: "int" } Parameter { name: "column"; type: "int" } Parameter { name: "parent"; type: "QModelIndex" } } Method { name: "index" type: "QModelIndex" Parameter { name: "row"; type: "int" } Parameter { name: "column"; type: "int" } } Method { name: "parent" type: "QModelIndex" Parameter { name: "child"; type: "QModelIndex" } } Method { name: "sibling" type: "QModelIndex" Parameter { name: "row"; type: "int" } Parameter { name: "column"; type: "int" } Parameter { name: "idx"; type: "QModelIndex" } } Method { name: "rowCount" type: "int" Parameter { name: "parent"; type: "QModelIndex" } } Method { name: "rowCount"; type: "int" } Method { name: "columnCount" type: "int" Parameter { name: "parent"; type: "QModelIndex" } } Method { name: "columnCount"; type: "int" } Method { name: "hasChildren" type: "bool" Parameter { name: "parent"; type: "QModelIndex" } } Method { name: "hasChildren"; type: "bool" } Method { name: "data" type: "QVariant" Parameter { name: "index"; type: "QModelIndex" } Parameter { name: "role"; type: "int" } } Method { name: "data" type: "QVariant" Parameter { name: "index"; type: "QModelIndex" } } Method { name: "setData" type: "bool" Parameter { name: "index"; type: "QModelIndex" } Parameter { name: "value"; type: "QVariant" } Parameter { name: "role"; type: "int" } } Method { name: "setData" type: "bool" Parameter { name: "index"; type: "QModelIndex" } Parameter { name: "value"; type: "QVariant" } } Method { name: "headerData" type: "QVariant" Parameter { name: "section"; type: "int" } Parameter { name: "orientation"; type: "Qt::Orientation" } Parameter { name: "role"; type: "int" } } Method { name: "headerData" type: "QVariant" Parameter { name: "section"; type: "int" } Parameter { name: "orientation"; type: "Qt::Orientation" } } Method { name: "fetchMore" Parameter { name: "parent"; type: "QModelIndex" } } Method { name: "canFetchMore" type: "bool" Parameter { name: "parent"; type: "QModelIndex" } } Method { name: "flags" type: "Qt::ItemFlags" Parameter { name: "index"; type: "QModelIndex" } } Method { name: "match" type: "QModelIndexList" Parameter { name: "start"; type: "QModelIndex" } Parameter { name: "role"; type: "int" } Parameter { name: "value"; type: "QVariant" } Parameter { name: "hits"; type: "int" } Parameter { name: "flags"; type: "Qt::MatchFlags" } } Method { name: "match" type: "QModelIndexList" Parameter { name: "start"; type: "QModelIndex" } Parameter { name: "role"; type: "int" } Parameter { name: "value"; type: "QVariant" } Parameter { name: "hits"; type: "int" } } Method { name: "match" type: "QModelIndexList" Parameter { name: "start"; type: "QModelIndex" } Parameter { name: "role"; type: "int" } Parameter { name: "value"; type: "QVariant" } } } Component { name: "QAbstractListModel"; prototype: "QAbstractItemModel" } Component { name: "QQuickCalendar" prototype: "QObject" exports: ["QtQuick.Calendar/Calendar 1.0"] isCreatable: false isSingleton: true exportMetaObjectRevisions: [0] Enum { name: "Month" values: { "January": 0, "February": 1, "March": 2, "April": 3, "May": 4, "June": 5, "July": 6, "August": 7, "September": 8, "October": 9, "November": 10, "December": 11 } } } Component { name: "QQuickCalendarModel" prototype: "QAbstractListModel" exports: ["QtQuick.Calendar/CalendarModel 1.0"] exportMetaObjectRevisions: [0] Property { name: "from"; type: "QDate" } Property { name: "to"; type: "QDate" } Property { name: "count"; type: "int"; isReadonly: true } Method { name: "monthAt" type: "int" Parameter { name: "index"; type: "int" } } Method { name: "yearAt" type: "int" Parameter { name: "index"; type: "int" } } Method { name: "indexOf" type: "int" Parameter { name: "date"; type: "QDate" } } Method { name: "indexOf" type: "int" Parameter { name: "year"; type: "int" } Parameter { name: "month"; type: "int" } } } Component { name: "QQuickControl" defaultProperty: "data" prototype: "QQuickItem" Property { name: "font"; type: "QFont" } Property { name: "availableWidth"; type: "double"; isReadonly: true } Property { name: "availableHeight"; type: "double"; isReadonly: true } Property { name: "padding"; type: "double" } Property { name: "topPadding"; type: "double" } Property { name: "leftPadding"; type: "double" } Property { name: "rightPadding"; type: "double" } Property { name: "bottomPadding"; type: "double" } Property { name: "spacing"; type: "double" } Property { name: "locale"; type: "QLocale" } Property { name: "mirrored"; type: "bool"; isReadonly: true } Property { name: "focusPolicy"; type: "Qt::FocusPolicy" } Property { name: "focusReason"; type: "Qt::FocusReason" } Property { name: "visualFocus"; type: "bool"; isReadonly: true } Property { name: "hovered"; type: "bool"; isReadonly: true } Property { name: "hoverEnabled"; type: "bool" } Property { name: "wheelEnabled"; type: "bool" } Property { name: "background"; type: "QQuickItem"; isPointer: true } Property { name: "contentItem"; type: "QQuickItem"; isPointer: true } Property { name: "baselineOffset"; type: "double" } Property { name: "palette"; revision: 3; type: "QPalette" } Property { name: "horizontalPadding"; revision: 5; type: "double" } Property { name: "verticalPadding"; revision: 5; type: "double" } Property { name: "implicitContentWidth"; revision: 5; type: "double"; isReadonly: true } Property { name: "implicitContentHeight"; revision: 5; type: "double"; isReadonly: true } Property { name: "implicitBackgroundWidth"; revision: 5; type: "double"; isReadonly: true } Property { name: "implicitBackgroundHeight"; revision: 5; type: "double"; isReadonly: true } Property { name: "topInset"; revision: 5; type: "double" } Property { name: "leftInset"; revision: 5; type: "double" } Property { name: "rightInset"; revision: 5; type: "double" } Property { name: "bottomInset"; revision: 5; type: "double" } Signal { name: "paletteChanged"; revision: 3 } Signal { name: "horizontalPaddingChanged"; revision: 5 } Signal { name: "verticalPaddingChanged"; revision: 5 } Signal { name: "implicitContentWidthChanged"; revision: 5 } Signal { name: "implicitContentHeightChanged"; revision: 5 } Signal { name: "implicitBackgroundWidthChanged"; revision: 5 } Signal { name: "implicitBackgroundHeightChanged"; revision: 5 } Signal { name: "topInsetChanged"; revision: 5 } Signal { name: "leftInsetChanged"; revision: 5 } Signal { name: "rightInsetChanged"; revision: 5 } Signal { name: "bottomInsetChanged"; revision: 5 } } Component { name: "QQuickDayOfWeekRow" defaultProperty: "data" prototype: "QQuickControl" exports: ["QtQuick.Calendar/AbstractDayOfWeekRow 1.0"] exportMetaObjectRevisions: [0] Property { name: "source"; type: "QVariant" } Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } } Component { name: "QQuickMonthGrid" defaultProperty: "data" prototype: "QQuickControl" exports: ["QtQuick.Calendar/AbstractMonthGrid 1.0"] exportMetaObjectRevisions: [0] Property { name: "month"; type: "int" } Property { name: "year"; type: "int" } Property { name: "source"; type: "QVariant" } Property { name: "title"; type: "string" } Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } Signal { name: "pressed" Parameter { name: "date"; type: "QDate" } } Signal { name: "released" Parameter { name: "date"; type: "QDate" } } Signal { name: "clicked" Parameter { name: "date"; type: "QDate" } } Signal { name: "pressAndHold" Parameter { name: "date"; type: "QDate" } } } Component { name: "QQuickWeekNumberColumn" defaultProperty: "data" prototype: "QQuickControl" exports: ["QtQuick.Calendar/AbstractWeekNumberColumn 1.0"] exportMetaObjectRevisions: [0] Property { name: "month"; type: "int" } Property { name: "year"; type: "int" } Property { name: "source"; type: "QVariant" } Property { name: "delegate"; type: "QQmlComponent"; isPointer: true } } }
Attachments
Issue Links
- relates to
-
QTBUG-110794 Port remaining modules from qmlplugindump to qmltyperegistrar
- Reported