Kexi/Porting to Qt&KF 5: Difference between revisions
< Kexi
No edit summary |
|||
Line 1: | Line 1: | ||
{{Note|Draft. Based on [http://mail.kde.org/pipermail/calligra-devel/2014-July/011603.html notes] from the [[Calligra/Meetings/Spring_2014_Sprint|Calligra 2014 Sprint]]. Each step leads to compiling (running?) state.<br/>Started by [[User:Jstaniek|jstaniek]] ([[User talk:Jarosław|talk]]) 19:06, 7 July 2014 (CET).}} | {{Note|Draft. Based on [http://mail.kde.org/pipermail/calligra-devel/2014-July/011603.html notes] from the [[Calligra/Meetings/Spring_2014_Sprint|Calligra 2014 Sprint]]. Each step leads to compiling (running?) state.<br/>Started by [[User:Jstaniek|jstaniek]] ([[User talk:Jarosław|talk]]) 19:06, 7 July 2014 (CET).}} | ||
# Port Predicate lib to Qt 5 | # Port [[#Predicate|Predicate]]↓ lib to Qt 5 | ||
# Move koproperty lib to a separate repo, make it Qt-only and port to Qt5 | # Move [[#koproperty|koproperty]]↓ lib to a separate repo, make it Qt-only and port to Qt5 | ||
# Move koreport lib to a separate repo, make it Qt-only and port to Qt 5 | # Move [[#koreport|koreport]]↓ lib to a separate repo, make it Qt-only and port to Qt 5 | ||
## Remove scripting or port scripting? | ## Remove scripting or port scripting? | ||
# Port Kexi (without KexiDB/calligradb, reporting, KoReport) to Qt 5 and port Kexi to Predicate and the new koproperty/koreport | # Port Kexi (without KexiDB/calligradb, reporting, KoReport) to Qt 5 and port Kexi to Predicate and the new koproperty/koreport |
Revision as of 19:46, 15 January 2015
- Port Predicate↓ lib to Qt 5
- Move koproperty↓ lib to a separate repo, make it Qt-only and port to Qt5
- Move koreport↓ lib to a separate repo, make it Qt-only and port to Qt 5
- Remove scripting or port scripting?
- Port Kexi (without KexiDB/calligradb, reporting, KoReport) to Qt 5 and port Kexi to Predicate and the new koproperty/koreport
- Reimplement report scripting using a simple QtScript solution to keep backward compatibility with Kexi 2
- Remove then unused calligradb lib and parts of KexiDB lib
- Improve Kexi stability after porting
- -- Kexi 3.0 release here --
- Make koreport lib dependent on Predicate and remove code/API that becomes redundant (e.g. KoReportData)
- Add a new QtScript-based scripting module
- 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:
- qt4 - old Qt4-based master moved there, always stable
- master - official Qt 5 branch, all platforms, always stable
- qt5-kosowicz - Wojtek's Qt 5/Linux
- qt5mac-kosowicz - Wojtek's Qt 5/Mac OS X
Links
- Kexi tasks at todo.kde.org (KDE Identity needed), public read-only view
- Predicate tasks at todo.kde.org (KDE Identity needed), public read-only view
- Framework repository template - use for creating new frameworks
Docs
Background