Kexi/Porting to Qt&KF 5: Difference between revisions

From KDE Community Wiki
Line 15: Line 15:


==Rules==
==Rules==
*Use git scratch repos to avoid stress with buildbreaks
*Use [[Sysadmin/GitKdeOrgManual#Personal_scratch_repositories|personal git scratch repos]] to avoid stress with buildbreaks and unnecessary BUG/review notifications
*Synchronize with (boud's?) branch of the Qt5 port
*Synchronize with (boud's?) branch of the Qt5 port
*Based on "Porting notes" below, keep porting of one aspect in one commit to simplify reviews
*Based on "Porting notes" below, keep porting of one aspect in one commit to simplify reviews
*Use the reviewboard for reviews
*Use the reviewboard for reviews
*Use [http://quickgit.kde.org/?p=kde-dev-scripts.git kde-dev-scripts.git] porting scripts, in particular
*Use [http://quickgit.kde.org/?p=kde-dev-scripts.git kde-dev-scripts.git] porting scripts, in particular
*Use the framework template (see Links) for libs that form separate frameworks (e.g. Predicate).
*Use the framework template (see Links) for libs that have to form separate frameworks (e.g. Predicate).
*[http://kfunk.org/2015/01/11/new-porting-helper-convert-to-cmake-automoc-pl convert-to-cmake-automoc.pl]
*[http://kfunk.org/2015/01/11/new-porting-helper-convert-to-cmake-automoc-pl convert-to-cmake-automoc.pl]



Revision as of 18:35, 15 January 2015

Note

Draft. Based on notes from the Calligra 2014 Sprint. Each step leads to compiling (running?) state.
Started by jstaniek (talk) 19:06, 7 July 2014 (CET).


  1. Port Predicate lib to Qt 5
  2. Move koproperty lib to a separate repo, make it Qt-only and port to Qt5
  3. Move koreport lib to a separate repo, make it Qt-only and port to Qt 5
    1. Remove scripting or port scripting?
  4. Port Kexi (without KexiDB/calligradb, reporting, KoReport) to Qt 5 and port Kexi to Predicate and the new koproperty/koreport
    1. Reimplement report scripting using a simple QtScript solution to keep backward compatibility with Kexi 2
    2. Remove then unused calligradb lib and parts of KexiDB lib
  5. Improve Kexi stability after porting
  6. -- Kexi 3.0 release here --
  7. Make koreport lib dependent on Predicate and remove code/API that becomes redundant (e.g. KoReportData)
  8. Add a new QtScript-based scripting module
  9. Use the module in Kexi Reports too, keeping backward compatibility with Kexi 2 scripting (add unit tests before porting to be very sure that compatibility is kept)

Rules

  • Use personal git scratch repos to avoid stress with buildbreaks and unnecessary BUG/review notifications
  • Synchronize with (boud's?) branch of the Qt5 port
  • Based on "Porting notes" below, keep porting of one aspect in one commit to simplify reviews
  • Use the reviewboard for reviews
  • Use kde-dev-scripts.git porting scripts, in particular
  • Use the framework template (see Links) for libs that have to form separate frameworks (e.g. Predicate).
  • convert-to-cmake-automoc.pl

TODO...

Notes and Status

  • TODO: details will go here
  • TODO: publish detailed checklist (in a spreadsheet?)

Predicate

  • Download/Build/Release info → Predicate.
  • Our target version is 1.0.0. To avoid conflicts, Qt 4 version kept for reference, has version 0.0.0.
  • Windows and Mac-specific matters.
  • It's a lib, so use the framework template (see Links).
  • Porting to Qt 5 started by Wojtek Kosowicz (Jan 2015)
  • Porting to Qt 5/Mac OS X started by Wojtek Kosowicz too (Jan 2015)
  • Branches:
    • qt5-kosowicz (Wojtek's Qt 5/Linux)
    • qt5mac-kosowicz (Wojtek's Qt 5/Mac OS X)

Links

Docs

Background