GSoC/2018/StatusReports/kecsap
Improving the reliability and usability of KStars
Brief explanation: KStars has a mature codebase with well-written C++ for a desktop and a mobile client. The applicant would like to contribute enhancements by improving the sources (C++11/C++14 features, static code analysis, better testing in CI) and adding usability improvements to the desktop and the mobile version of KStars.
Expected results: After the GSOC, all findings of the static code analyzers will be fixed, the C++ tooling will be integrated to Jenkins in KDE CI. The desktop version of KStars will have usability improvements, the build system (CMake) of the Android client will be enhanced and the new functionalities for telescope equipment control will be implemented.
May 14, 2017 - June 10, 2018
Progress of the planned items:
1. Analyze KStars codebase with Coverity and fix new problems
Status: DONE
Example commits:
Fix Coverity findings https://github.com/KDE/kstars/commit/85560b163d3e73cc7412814afc0d4a0e4461b00d
2. Analyze KStars codebase with Clang Static Analyzer and fix new problems
Status: DONE
Example commits:
Fix the Clang Static Analyzer findings https://github.com/KDE/kstars/commit/503b140eb42ebed691167dc8f381ddf9d59b6ac9
3. Analyze KStars codebase with Clang Tidy and fix new problems
Status: DONE
Example commits:
Update Clang Tidy script to Clang 6.0 and fix some findings https://github.com/KDE/kstars/commit/e63bed30cb5783ede5f173e4a072d8a44faaa937
4. Analyze KStars codebase with Clazy and fix new problems
Status: DONE
Example commits:
Clazy fixes https://github.com/KDE/kstars/commit/d893c3452660e843f2e746c00b06a78889f2ca05
5. Analyze KStars codebase with Cppcheck Static Analyzer and fix new problems
Status: DONE
Example commits:
Fix cppcheck findings https://github.com/KDE/kstars/commit/84bb9885cb2c047ed40e3e2937628cf441b50235
6. Analyze KStars codebase with Krazy and fix new problems
Status: DONE
Example commits:
Krazy fixes https://github.com/KDE/kstars/commit/d058ae1aba44da35f45f6dfcbaca6491bed8f337
7. Replace C-like enums with C++11 enum classes
Status: DROPPED
Reason: The mentor found too much work after these changes.
8. Refactor codes to modern C++11/C++14 what I get in touch while fixing bugs.
Status: DONE
Example commits:
Remove redundant returns https://github.com/KDE/kstars/commit/48e8cc7ab5009c06aae7ea5030f437ad02875a86
Modernize for cycles https://github.com/KDE/kstars/commit/6569077b8a9f657efec7d54e385f2f1aa15af2c4
June 11, 2017 - July 8, 2018
Progress of the planned items:
1. Separate the KStars Lite and KStars targets in the CMake files
Status: DONE
Example commits:
Separate the KStars Lite and KStars targets in the CMake files https://github.com/KDE/kstars/commit/92d91f3be9807f22e4d6678e16796f6114a93a0b
2. Use the official NDK toolchain file for the Android build
Status: DONE
Example commits:
Update the Android build to the latest NDK version and official tools, remove hacks https://github.com/KDE/kstars/commit/dae9014bcff56ea8f633c013163e526501da7fab
3. Adapt the Android build to the new Android NDK and SDK tools
Status: DONE
Example commits:
Update the Android build to the latest NDK version and official tools, remove hacks https://github.com/KDE/kstars/commit/dae9014bcff56ea8f633c013163e526501da7fab
4. Remove custom sky objects from the local database via context menu in KStars.
Status: DONE
Example commits:
Remove custom sky objects via context menu https://github.com/KDE/kstars/commit/a9835eb227cfe18ea219bb4fdf98067b94382247
5. Add touch support to KStars (pinch for zoom, open context menu).
Status: DONE
Example commits:
Add touch support to KStars (pinch, tap-and-hold) https://github.com/KDE/kstars/commit/aee228ff2ce071d6e651a1d30dac1e1214037632
6. Decrease the apk size for Android version.
Status: DONE
Example commits:
Optimize Android package size https://github.com/KDE/kstars/commit/967c3d5bfad16d09fc0e012d73a37fec45ef038a
7. Fix a few KStars bugs from the KDE bug tracker.
Status: DONE
Example commits/reviews:
Bug fix: Fix the Android build https://github.com/KDE/kstars/commit/a15b3743369af831ba7b4625da0107fd1123f2c2
Bug fix: Mark the session list items on the skymap https://github.com/KDE/kstars/commit/82605a34c322b78776b95e3ff2519bdb0232a1a0
July 9, 2017 - August 14, 2018
1. Make KStars translations available for KStars Lite on Android.
Status: DONE
Example commits/reviews:
https://github.com/KDE/kstars/commit/bf4ac1e6a9a745eb37fc2e719e3fd95b00f84135
2. Fix a few KStars bugs.
Status: DONE
Example commits/reviews:
Bug fix: Fix the custom sky object removal https://github.com/KDE/kstars/commit/da7c8a6bc577043de904b8bd6bd2575a6e0bcb99
Bug fix: Fix for touch support to avoid closing popups in the skymap https://github.com/KDE/kstars/commit/068ef057a0e6eeb70b464ca1380921ea5787ee5b
Bug fix: Further fixes for the Android build https://github.com/KDE/kstars/commit/5cec05783f80204d660256c54f195bc24e95a1d3
Bug fix: Increase the font size in KStars Lite https://github.com/KDE/kstars/commit/5b7990ead0160901e1bb74c76774b94cd385a542
3. Add joystick control for the telescope to KStars Lite with speed options.
Status: WIP