Commit Graph

1597 Commits

Author SHA1 Message Date
Alexey Edelev 0b14713b1e Fix arguments for _qt_internal_protoc_generate
Fix the function arguments processing. Both generated_files and
generation_options were visible because of scope visibility and
were not processed by _qt_internal_protoc_generate correctly.
Fix this by using and processing arguments the proper way.

Pick-to: 6.5
Change-Id: I1eaad92cecfd9d8b415ec2d06cb947979d6baba6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-05-31 17:01:53 +02:00
Tatiana Borisova 71fc45edf3 Remove unused include from tst_protobuf_raw_serializers
The fieldindexrange.qpb.h file is not used in test.

Pick-to: 6.5
Change-Id: I0e55cdf9bd9cdcd87eb8e3b750921960b4a77ae5
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-31 14:41:48 +00:00
Qt Submodule Update Bot 8c1a9a5019 Update dependencies on 'dev' in qt/qtgrpc
Change-Id: Idc32e375ff5f85f7d7dc600932ede21878eaf29d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-05-29 14:57:57 +00:00
Qt Submodule Update Bot 30b9870af7 Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I32030ec2e759784f0dc76220f08c488c3212e882
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-05-26 12:47:31 +00:00
Qt Submodule Update Bot 795eceaabc Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I36a8f0d8f6575e730e6b2334d883e51ede22ef91
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-05-24 07:20:17 +00:00
Alexey Edelev e3cd75fce9 Add QGrpcMetadata to the QGrpcOperation
Add the interface that allows reading metadata information received
from the server from the grpc streams and call replies.

TODO: This commit only add interface that should be used in channel
implementation.

Task-number: QTBUG-113663
Change-Id: I9e3d1810d1ee6a3b4e04fbd3555e093789b623ce
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2023-05-23 16:35:29 +02:00
Alexey Edelev d2d8f0915c Avoid comparing streams by value
Comparing steams by value shouldn't happen, it's artifact that left
from the stream reuse mechanism.

Pick-to: 6.5
Change-Id: Ib9c5ee3e616d1a0bc75853a87ab15461dbf76f91
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
2023-05-23 16:11:26 +02:00
Lucie Gérard 8f4ec7436c Use SPDX license identifiers
Update left over old style license disclaimer
to SPDX-License-Identifier.

Pick-to: 6.5
Task-number: QTBUG-67283
Change-Id: I01a04a8b6ac8103aba263411145da903ef0c3427
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-05-23 15:38:16 +02:00
Konrad Kujawa d5803c0918 Update QtGRPC chat example to new options and QGrpcMetadata changes
Use QGrpcChannelOptions and QGrpcMetadata to set up user-password
authentication for SimpleChatEngine.

Task-number: QTBUG-111037
Change-Id: I2e7dea87d542b4f7585b0724a45c1398fa2047b5
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-23 13:34:34 +02:00
Konrad Kujawa 4235684288 Introduce QGrpcMetadata
Introduce alias to std::multimap names QGrpcMetadata, to represent
additional HTTP headers, that can be added to channel and call options.
Then channel implementations can use QGrpcMetadata and append all
metadata do each call (TODO).

Task-number: QTBUG-111037
Change-Id: Ie16e658407a57a5f44bc1a0ff54dcb3ca8b06fe1
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-23 13:34:34 +02:00
Konrad Kujawa 9592fb0caa Remove QAbstractGrpcCredentials and QGrpcCredentials
Remove unused parts of old credentials system. QAbstractGrpcCredentials
and QGrpcCredentials provided combination class for both
Channel and Call. Now, channel and call credentials are
used separately in channel and call options.

Task-number: QTBUG-111037
Change-Id: Id1e62c249148cb9bc1a66050308c23fdbae19735
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-23 13:34:34 +02:00
Konrad Kujawa aed606e6cb Remove QGrpcSslCredentials
Remove QGrpcSslCredentials. They are replaced by
QGrpcChannelOptions::withSslConfiguration() method.

[ChangeLog] Removed QGrpcSslCredentials. Please use
QGrpcChannelOptions::withSslConfiguration() to setup QSslConfiguration
for the channel.

Task-number: QTBUG-111037
Change-Id: I6719ce60668238251abbba5c08232dca26084909
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-23 13:34:34 +02:00
Konrad Kujawa dab59839f5 Remove QGrpcInsecureCredentials
Remove QGrpcInsecureCredentials, as they are unused after introducing
QtGRPC call/channel options.

[ChangeLog] Removed QGrpcInsecureCredentials. Now insecure
connection is default option for QGrpcChannelOptions and
QGrpcCallOptions.

Task-number: QTBUG-111037
Change-Id: I125e1a5a75b7f75a5afdbe8411baf01788140db7
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-23 13:34:34 +02:00
Konrad Kujawa 3b8b24c7e5 Introduce QGrpcCallOptions and QGrpcChannelOptions
Use the new classes to store call and channel options used to
create gRPC channels and perform gRPC calls.
Add QGrpcCallOptions parameter to call() and startStream() methods.
Change constructor parameter of QGrpcHttp2Channel and QGrpcChannel
to QGrpcChannelOptions that stores previous parameters used to
construct channel. Add additional deadline option to be able to
configure call timeout.

[ChangeLog] Add QGrpcCallOptions to store and process additional
call options.
[ChangeLog] Add QGrpcChannelOptions to store and process channel
options and default call options.

Task-number: QTBUG-111037
Change-Id: Icd92e95c036fb5b4c268907ab912fcf59ef9a69a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-23 13:34:34 +02:00
Alexey Edelev b9e37c2648 Protobuf conformance test
Add the manual conformance test for QtProtobuf. The test uses standard
input/output pipe to communicate with the reference
conformance_test_runner. By setting QT_PROTOBUF_CONFORMANCE_TEST_RUNNER
either CMake or environment variables the test will be added to the
autotest set. QT_PROTOBUF_CONFORMANCE_TEST_RUNNER should point to the
conformance_test_runner executable location.

Test downloads and uses the .proto schemas from  the relevant version
of protobuf. The version can be adjusted using
QT_PROTOBUF_CONFORMANCE_VERSION variable. The expected format of the
variable is 'major.minor'.

If any tests are expected to fail they should be listed in
the expect_failing_tests.txt file that is provided to
conformance_test_runner in the --failure_list argument.

conformance_test_runner is not a part of the
standard protobuf delivery and needs to be built explictily.
To enable building conformance_test_runner you need to set the
protobuf_BUILD_CONFORMANCE CMake variable to ON when configuring
protobuf. The resulting executable will be located in the
'CMAKE_BINARY_DIR/bin' directory.

Due to the reference protobuf issues we cannot enable build
conformance_test_runner in CI.

TODO: Generation and testing of the wellknown types(except Any) is
disabled. See QTBUG-112430.

Task-number: QTBUG-104064
Change-Id: I3a95a0879f2b2ce0ec80db84c2465dfd23dcaecc
Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
2023-05-23 12:55:31 +02:00
Qt Submodule Update Bot 5e4a8e4a91 Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I3d1aec067215057144a024e07dd0400ea0a249c4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-05-22 12:45:11 +00:00
Qt Submodule Update Bot b5174b094c Update dependencies on 'dev' in qt/qtgrpc
Change-Id: Ia6509e58135c849dbea8fa91e8faf6d96b7f8e67
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-05-19 18:15:15 +00:00
Tatiana Borisova 0e6a605867 Add enum registration logic and enums-test in QML
QtProtobufgen registers global and local enums in QML context now.
Registration is in qml extension plugin part.

Task-number: QTBUG-104513
Change-Id: Iecbc08d4b915113e7d5753b1f1d24d3c34088ba2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-05-17 17:07:02 +02:00
Qt Submodule Update Bot eb262593a5 Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I7283c06eb2fe14f9e280fa53739300718f3f5c7c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-05-17 13:14:18 +00:00
Marc Mutz 828bef2ac7 qttypescommon: Extract (cold) Method warnTypeConversionError()
The warnings don't depend on the type, so factor them out to avoid
strewing this code across all template instantations.

As a drive-by, convert the qWarning() from iostreams- to printf-
style, which means less executable code and no need to include
<QDebug>.

Change-Id: Ie02dc6d57d6480b70fde3bfa401d5ffe15cece05
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-16 13:37:07 +00:00
Alexey Edelev 30104d3c72 Fix warning related to the deprecated AUTORESOURCE_PREFIX argument
Replace the AUTORESOURCE_PREFIX argument with the explicit
RESOURCE_PREFIX.

Pick-to: 6.5
Change-Id: Iac73ba194ed1af07456dde7df9cd95fa55e5e024
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
2023-05-15 13:01:56 +02:00
Tatiana Borisova 95b8963da6 Q_NAMESPACE macro is added
Qt Q_NAMESPACE_EXPORT works exactly like the Q_NAMESPACE macro, but with
the supplied EXPORT_MACRO qualifier. It is required, if the target is,
or we will create, a shared library.

Currently in cases when qt6_add_protobuf() is not being used for
creation a shared library, qtprotobufgen generates Q_NAMESPACE_EXPORT()
with empty parameter inside.
If check Q_NAMESPACE macro definition then we see the same:
"#define Q_NAMESPACE Q_NAMESPACE_EXPORT()"
So from functional perspective there are no changes.

But from my point of view Q_NAMESPACE looks better in such case,
and creates less questions then export macro without actual export
parameter.

Change-Id: I09607ad8503bbe8298b1ba653ac3a164584e419a
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-11 18:51:36 +00:00
Qt Submodule Update Bot 66c6f6b8ce Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I57bf1ed7869d33945739372a6f716e15319e7b88
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-05-11 18:07:13 +00:00
Qt Submodule Update Bot 7bfa62929d Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I4cf74c694f42ffee62d5c15a00d5c35548c7a039
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-05-10 03:12:04 +00:00
Alexey Edelev df129dcc46 Add the use of the qt_internal_project_setup function
The function sets the required CMake variables and policies.

Pick-to: 6.5
Task-number: QTBUG-112685
Change-Id: Ib5c5673e7cdb7124ccfc49f452813eb181f7dd3c
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
2023-05-09 17:47:40 +02:00
Alexey Edelev 7620f32bbd Fix the return value of the QProtobufMessage::property method
If the property is not found we should return empty variant, but not
the constructed implicitly QVariant with bool value 'false'.

Amends dc69102f4f

Pick-to: 6.5
Change-Id: I0c36905927b17689d00de16024ec486d0fce39c4
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
2023-05-09 09:57:58 +02:00
Tatiana Borisova 6d5d60e257 Add basic types test of QProtobufMessage registration in QML
Updated the message-property name (PropertyMessageTemplate), that is
internal property and used only by the serializer.
It cannot be used in QML context, since pointers to qgadget are not
supported there for now. It means, for QML should be used another one
property (PropertyQmlMessageTemplate).


Task-number: QTBUG-104513
Change-Id: Ie1c8750ecedb0291c2f593f6f8fa8b6c98ad4a48
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-05-06 22:35:29 +02:00
Tatiana Borisova d81e0686e8 Fix warning that leads to yocto build issue
Fixes: QTBUG-113409
Change-Id: I28acf12c37bd6baaac4a327c557adb6329b3a6ed
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-05 10:56:09 +00:00
Alexey Edelev 2682cbbf92 Reuse the existing message value when deserializing it second time from the wire
As per the conformance "Merge" test expectations we should reuse the
existing message value and merge values received from the wire or
override existing. Check if the value stored in the property of the
message type is not 'null' and reuse the message stored when
deserialing the property more than once.

[ChangeLog][Important Behavior Changes] Initialized message fields of
the message type are reused when deserializinng the message. Previously
message fields of the message type were deserialized to a freshly
created message object. This change removes creating of the new message
object at each deserialization cycle and reuses the exising field value
if it's not 'null'. If fields of this message object are received from
wire they will be overritten, if not they will store the previous value.

Fixes: QTBUG-112421
Fixes: QTBUG-112422
Fixes: QTBUG-112429
Change-Id: I73a792e72064af68b5a2a1e61e944c52a79eb412
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2023-05-05 11:33:15 +02:00
Tatiana Borisova 6e64776d47 QtProtobufQtTypesQtCoreTest::qDateTime(LocalTime) fails
LocalTime test-case is refactored.
Idea of particular test is serialize/de-serialize object and verify
with expected constant result.
But in case LocalTime is used for QDateTime creation, the resulting
QDateTime object will always be different depending on system time zone
of concrete user.
So it makes sense to preset timezone before LocalTime object creation,
and returned it back after.

Fixes: QTBUG-113342
Change-Id: Ic4dfd033ff00d525225669fe771de6fb386d1b0b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-04 18:52:21 +02:00
Alexey Edelev 618d6c8aa1 Use the came case coding style when generating oneof field enum
Oneof field enum should follow the same convension as the one we
use for the message field naming. Othewise oneof field enum fields
will be different of the message member and method names.

Amends ae2f22dce2

Task-number: QTBUG-109126
Change-Id: Ie9d5758c227d5229043ef1dc3e2ba80d5708dce6
Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2023-05-04 18:15:47 +02:00
Tatiana Borisova 21e208ec96 QtProtobuf: add QML support
Enable QML flag for qtgrpcgen/qtprotobufgen plugins.
Generated output is updated: QProtobufMessage classes are Q_GADGETs,
such classes can be registered in QML code via QML_VALUE_TYPE macros only.
Also QProtobufMessages are not inherited from QObject class, it means
there is no full qmetaobject system support (no signals!).

Task-number: QTBUG-104513
Change-Id: I18c8f93782884efb8d923843df716ff8284ed8fb
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-04 12:35:22 +03:00
Marc Mutz b3cf2e9d63 Port to new QProtobufMessage::setProperty() rvalue-QVariant overload
The vast majority of users (the tests) will transparently use the new
new overload, because they pass temporaries.

Change-Id: I4630e44ed19f32ac367c48097afe0cda5222bfcf
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-05-03 08:47:06 +02:00
Marc Mutz f6d54db96f QProtobufMessage: add setProperty() overloads taking rvalue QVariant
Allows to take advantage of the recently-added QMetaProperty::write()
rvalue-QVariant overload.

Task-number: QTBUG-112762
Change-Id: I4fc6cc10cd3949dcf924f75966c21066d82563ef
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-03 08:46:52 +02:00
Marc Mutz dc69102f4f QProtobufMessage: Extract Methods Private::metaType()
One overload each for string and field-info lookup.

These will be used in a subsequent commit to add rvalue-QVariant
overloads, but commit this separately to avoid introducing
unnecessary differences to our LTS branch, by picking to 6.5.

Task-number: QTBUG-112762
Pick-to: 6.5
Change-Id: I87951851f32a1fa44caa48baa0bdaf0068154781
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-03 06:46:45 +00:00
Marc Mutz aeda214b91 include qglobal_p.h
All _p.h files must include another _p.h, or else qglobal_p.h, for
private symbol version tagging to work.

As a drive-by, sort some include blocks correctly (non-exhaustive):

1. own header
2. own module's headers
3. other Qt module's headers, from most to least specialized (ending
   in QtCore)
4. 3rd-party C++ headers
5. std C++ headers
6. 3rd-party C headers
7. std C headers

Pick-to: 6.5
Change-Id: I3b7b2a1c3667888c1a85814889447de66c797a06
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-05-03 08:46:21 +02:00
Qt Submodule Update Bot c8572be96e Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I487ecc716005c2c69085a099defcf3f6cc37039c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-05-02 07:10:29 +00:00
Topi Reinio ebcd53fdf8 Doc: Fix documentation warnings
These warnings slipped in during a time period where documentation
testing in the CI was disabled.

Fix incorrect argument type for QAbstractGrpcClient::call() and
remove trailing semi-colons.

Remove documentation for non-existent overload of
QAbstractGrpcClient::startStream().

Add a documentation dependency to qtwidgets to fix broken link to
QLineEdit.

Pick-to: 6.5
Change-Id: Ie429d94535860b3c85aaf95010a49d1fd90e8307
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2023-04-30 19:00:42 +00:00
Qt Submodule Update Bot c4c4b42663 Update dependencies on 'dev' in qt/qtgrpc
Change-Id: Ic63c4b36c960f4a3e0038ef95355c7cf50abda09
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-04-27 08:12:25 +00:00
Konrad Kujawa 8539df0c18 Change Ret* parameter to Ret& in QAbstractGrpcClient::call()
Change QAbstractGrpcClient::call() ReturnType* into ReturnType&
parameter.
Remove QAbstractGrpcClient::logError() method.

Task-number: QTBUG-111405
Change-Id: I26d0a673a641e8557949e891408d7ce65bfe45bf
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-04-25 16:58:42 +02:00
Konrad Kujawa 324bd1861f Remove QWP<Ret> parameter from QAbstractGrpcClient::startStream()
Remove QWeakPointer<ReturnType> from QAbstractGrpcClient::startStream().
Move QObject::connect() to generated gRPC class.

Task-number: QTBUG-111405
Change-Id: Ie7a163d9ac73ab71e26ee624036453f0fad0f3c4
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-04-25 16:58:42 +02:00
Konrad Kujawa e295dd2d30 Remove dependency on QAbstractGrpcClient in QGrpcOperation
Make QGrpcOperation use QAbstractProtobufSerializer to perform
serialization.

Fixes: QTBUG-111406
Change-Id: I48e7ca97e043de3827d7c655ae508e221d3d4ca8
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-04-25 16:58:42 +02:00
Tatiana Borisova 3f2b34b5ab [protobufqtcoretypes library] Add Support of QTimeZone types
Add QTimeZone implementation for QtCore.proto

Task-number: QTBUG-109658
Change-Id: I01557bc25d04c6573c637e992d0e83ea22e37bfa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-04-25 12:41:41 +02:00
Qt Submodule Update Bot a0a7a46347 Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I4ab7b63b9b0db75627b485178934f36796a23921
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-04-24 15:29:47 +00:00
Qt Submodule Update Bot ec21a605b9 Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I1315efd3c3cd4dd795552e8a39869567d379819a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-04-20 10:19:05 +00:00
Qt Submodule Update Bot 810aa2f3ff Update dependencies on 'dev' in qt/qtgrpc
Change-Id: Ifbd24d122d8bf4dfbe277835897bcfba7a7dfd63
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-04-19 04:37:43 +00:00
Qt Submodule Update Bot 39e9c67895 Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I00fa91058cec28a375d53afd0ed2f5228f06b678
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-04-18 14:02:27 +00:00
Qt Submodule Update Bot 3d5dcdab7c Update dependencies on 'dev' in qt/qtgrpc
Change-Id: I92dbba059d4321370d758f5f1719cd268949b1cb
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-04-13 19:08:47 +00:00
Paul Wicking 6de02aef24 Doc: Update configuration for Qt GRPC/Protobuf examples
Due to infrastructure issues (specifically, missing replication of
repositories to code.qt.io), Qt GRPC and Qt Protobuf relied on falling
back to QDoc's built-in generation of lists of files that comprise an
example rather than a link to code.qt.io, the latter of which is the
preferred option for examples in Qt. Said list limits its output to
files identified by the `examples.fileextensions` QDoc configuration
variable. However, the `.proto` file extension was not added to the
documentation configuration for these modules.

Since the module released, repository replication issues have been
resolved. Thus, it is now possible to link to code.qt.io, as preferred.

This change adds the `.proto` file extension to the configuration,
and sets the `url.examples` configuration variable such that QDoc will
generate a link to code.qt.io. The file extension change is still
considered relevant, in case the fallback is required in the future,
and `.proto` is not part of the default set of file extensions for Qt's
examples.

Fixes: QTBUG-112754
Pick-to: 6.5
Change-Id: I61fcc1fac0aa11a4dcf278deabbd7c12c091d894
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2023-04-13 11:48:13 +02:00
Qt Submodule Update Bot a90cee1e48 Update dependencies on 'dev' in qt/qtgrpc
Change-Id: Ic5318f32938d0d690947277326b8b1d95d7c4936
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-04-12 16:31:48 +00:00