Kexi/Porting to Qt&KF 5: Difference between revisions
< Kexi
No edit summary |
|||
Line 37: | Line 37: | ||
*Porting to Qt 5 started by Wojtek Kosowicz (Jan 2015) | *Porting to Qt 5 started by Wojtek Kosowicz (Jan 2015) | ||
*Porting to Qt 5/Mac OS X started by Wojtek Kosowicz too (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 | |||
To have it build on that branch please export qt5 install dir | To have it build on that branch please export qt5 install dir | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
export QTDIR=<path to your qt5 install dir, or qtbase build dir if using uninstalled> | export QTDIR=<path to your qt5 install dir, or qtbase build dir if using uninstalled> | ||
export PATH=$QTDIR:$PATH | export PATH=$QTDIR:$PATH</syntaxhighlight> | ||
</syntaxhighlight> | |||
'''qt5mac-kosowicz''' - Wojtek's Qt 5/Mac OS X | |||
===koproperty=== | ===koproperty=== |
Revision as of 10:27, 26 January 2015
The grand plan:
- [in progress] Port Predicate↓ lib to Qt 5
- [soon] Move koproperty↓ lib to a separate repo, make it Qt-only and port to Qt5
- [soon] 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)
Proposed 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. Boud's advice: My approach is more like, run each of montel's scripts, fix twhat's wrong, then go on. It's not something that's easy to paralellize.
- Don't run astyle on the code, it pollutes history, and astyle-kdelibs is a bit broken
- 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
- Libs that are separate repos should use the framework template (see Links) and be ported to this layout (for now it's just predicate, koproperty, koreport).
TODO...
Notes and Status
Details 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.
- 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 To have it build on that branch please export qt5 install dir
export QTDIR=<path to your qt5 install dir, or qtbase build dir if using uninstalled>
export PATH=$QTDIR:$PATH
qt5mac-kosowicz - Wojtek's Qt 5/Mac OS X
koproperty
- Our target version is 1.0.0. To avoid conflicts, Qt 4 version kept for reference, has version 0.0.0.
- files extracted from calligra/2.9 to a temp repo by staniek: scratch/staniek/kproperty (use: git clone kde:scratch/staniek/kproperty)
koreport
- Our target version is 1.0.0. To avoid conflicts, Qt 4 version kept for reference, has version 0.0.0.
- files extracted from calligra/2.9 to a temp repo by staniek: scratch/staniek/kreport (use: git clone kde:scratch/staniek/kreport)
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