← Back to team overview

touch-packages team mailing list archive

[Bug 1389721] Re: API versioning broken in some cases

 

Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: qtdeclarative-opensource-src (Ubuntu)
       Status: New => Confirmed

-- 
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:
  Confirmed

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

  Upstream bug https://bugreports.qt.io/browse/QTBUG-40043 is related to
  this one.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtdeclarative-opensource-src/+bug/1389721/+subscriptions


References