GSoC/2018/StatusReports/kecsap

From KDE Community Wiki
< GSoC‎ | 2018‎ | StatusReports

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