touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #32096
[Bug 1389721] Re: API versioning broken in some cases
Not exactly - the "1" matches the revision number specified in the
metadata in the class declarations. Eg,
--- qt/quick/api/oxideqquickwebcontext_p.h 2014-10-09 20:22:21 +0000
+++ qt/quick/api/oxideqquickwebcontext_p.h 2014-11-05 00:22:04 +0000
@@ -60,9 +60,9 @@
Q_PROPERTY(OxideQQuickCookieManager* cookieManager READ cookieManager CONSTANT)
- Q_PROPERTY(QStringList hostMappingRules READ hostMappingRules WRITE setHostMappingRules NOTIFY hostMappingRulesChanged)
+ Q_PROPERTY(QStringList hostMappingRules READ hostMappingRules WRITE setHostMappingRules NOTIFY hostMappingRulesChanged REVISION 1)
- Q_PROPERTY(QStringList allowedExtraUrlSchemes READ allowedExtraUrlSchemes WRITE setAllowedExtraUrlSchemes NOTIFY allowedExtraUrlSchemesChanged)
+ Q_PROPERTY(QStringList allowedExtraUrlSchemes READ allowedExtraUrlSchemes WRITE setAllowedExtraUrlSchemes NOTIFY allowedExtraUrlSchemesChanged REVISION 1)
Q_ENUMS(CookiePolicy)
Q_ENUMS(SessionCookieMode)
@@ -164,8 +164,8 @@
void devtoolsEnabledChanged();
void devtoolsPortChanged();
void devtoolsBindIpChanged();
- void hostMappingRulesChanged();
- void allowedExtraUrlSchemesChanged();
+ Q_REVISION(1) void hostMappingRulesChanged();
+ Q_REVISION(1) void allowedExtraUrlSchemesChanged();
private:
Q_PRIVATE_SLOT(d_func(), void userScriptUpdated());
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to qtdeclarative-opensource-
src in Ubuntu.
https://bugs.launchpad.net/bugs/1389721
Title:
API versioning broken in some cases
Status in “qtdeclarative-opensource-src” package in Ubuntu:
New
Bug description:
With Oxide 1.2 being the version that's shipping in the RTM image, I
want to start correctly versioning new API's so that we can upgrade
Oxide OTA safely without breaking existing applications. I'm testing
the attached patch for Oxide to add a revision to API's that were
added in 1.3, but running the test suite results in the following
failure:
Output:
----------------------------------------------------------
file:///home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml:11:11: ".allowedExtraUrlSchemes" is not available due to component versioning.
context.allowedExtraUrlSchemes: [ "test", "bar" ]
^
********* Start testing of qml-core-test *********
Config: Using QtTest library 5.3.0, Qt 5.3.0
QWARN : qml-core-test::tst_CustomURLSchemes::compile()
/home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml produced 1 error(s):
/home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml:11,11: ".allowedExtraUrlSchemes" is not available due to component versioning.
Working directory: /home/chr1s/src/oxide/oxide/objdir/qt/tests/qmltests
View: QQuickView, import paths:
'/home/chr1s/src/oxide/oxide/objdir/out/bin'
'/home/chr1s/src/oxide/oxide/objdir/out/imports'
'/usr/lib/x86_64-linux-gnu/qt5/qml'
Plugin paths:
'.'
FAIL! : qml-core-test::tst_CustomURLSchemes::compile() ".allowedExtraUrlSchemes" is not available due to component versioning.
Loc: [/home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml(11)]
After scratching my head for a while, I can't see what I'm doing wrong
here.
If I run the following simple QML app, I can access the property
correctly:
- test.qml:
import QtQuick 2.0
import com.canonical.Oxide 1.3
WebView {
focus: true
width: 960
height: 540
url: "https://www.google.com"
context: WebContext {
allowedExtraUrlSchemes: []
}
}
However, if I run this simple app instead, then it fails with the same
message I see in the unit tests:
- test.qml:
import QtQuick 2.0
import com.canonical.Oxide 1.3
TestWebView {
focus: true
width: 960
height: 540
url: "https://www.google.com"
context.allowedExtraUrlSchemes: []
}
- TestWebView.qml
import QtQuick 2.0
import com.canonical.Oxide 1.3
WebView {
context: WebContext {}
}
This last example works fine without a revision number on this API.
I consider this to be a blocker for being able to update Oxide OTA, as
we're not able to version new API's with this bug
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtdeclarative-opensource-src/+bug/1389721/+subscriptions
References