Skip to content

Commit 683a919

Browse files
update: update gsoc-2025.md (#4710)
* Update gsoc-2025.md Added minor update and 3 new projects * Apply suggestions from code review --------- Co-authored-by: Andrey Polyakov <[email protected]>
1 parent cf0a2fb commit 683a919

File tree

1 file changed

+76
-4
lines changed

1 file changed

+76
-4
lines changed

docs/topics/gsoc-2025.md

Lines changed: 76 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Thank you! We look forward to reading your applications!
4545

4646
## Project ideas
4747

48-
### Build Server Protocol: add Kotlin support [Medium, 175 hrs]
48+
### Build Server Protocol: add Kotlin support [Hard, 350 hrs]
4949

5050
The Kotlin team wants to expand official Kotlin support not only for Gradle and Maven build systems,
5151
but any other build system as well and support them natively in JetBrains IDE with minimal effort.
@@ -65,9 +65,9 @@ To limit the scope of this prototype – user project will be using Gradle to bu
6565
* Understanding how to write Gradle plugins
6666
* _Bonus_: understanding how to write IntelliJ IDEA plugins
6767

68-
**Possible mentor**
68+
**Possible mentors**
6969

70-
Yahor Berdnikau, and the JetBrains team
70+
Yahor Berdnikau, Bálint Hegyi, and Reinhold Degenfellner
7171

7272
**Tasks for applicants**
7373

@@ -302,4 +302,76 @@ and external companies to integrate their workflows with JetBrains tools.
302302

303303
**Possible mentor**
304304

305-
Jakub Chrzanowski, JetBrains
305+
Jakub Chrzanowski, JetBrains
306+
307+
### Add More Kotlin OpenRewrite Recipes [Medium, 175 hrs]
308+
309+
OpenRewrite is a powerful framework for automating code migrations and refactorings in a structured manner.
310+
While OpenRewrite has strong support for Java, the Kotlin ecosystem would benefit from a more comprehensive
311+
set of OpenRewrite recipes to help developers seamlessly migrate their codebases.
312+
313+
**Expected outcomes**
314+
315+
* Development of new OpenRewrite recipes for Kotlin code migrations
316+
317+
**Skills required (preferred)**
318+
319+
* Kotlin
320+
* OpenRewrite framework
321+
* Java-to-Kotlin migration strategies
322+
323+
**Possible mentor**
324+
325+
Shauvik Roy Choudhary, and the Uber team
326+
327+
### Add BOM Support to Bazel `rules_jvm_external` [Hard, 350 hrs]
328+
329+
Bazel's `rules_jvm_external` provides a structured way to declare external Java dependencies,
330+
but it currently lacks proper support for Bill of Materials (BOM) files.
331+
BOM files are widely used in Maven and Gradle to manage dependencies in a consistent manner
332+
without requiring developers to specify individual versions.
333+
This project aims to enhance `rules_jvm_external` by adding BOM support, allowing developers to use BOM-based dependency resolution within Bazel.
334+
The project may involve contributing to an existing open-source effort or implementing BOM support directly in `rules_jvm_external`,
335+
ensuring compatibility with widely used dependency management approaches.
336+
337+
**Expected outcomes**
338+
339+
* Implementation of BOM support in Bazel `rules_jvm_external`
340+
* Improved dependency resolution and usability for Bazel users
341+
* Documentation and examples for using BOM support in Bazel
342+
343+
**Skills required (preferred)**
344+
345+
* Starlark (Bazel's scripting language)
346+
* Bazel build system
347+
* Dependency resolution strategies
348+
349+
**Possible mentor**
350+
351+
Shauvik Roy Choudhary, and the Uber team
352+
353+
### Clean and actionable reporting for Gradle code quality plugins for Kotlin [Easy to Medium, 90 hrs to 175 hrs]
354+
355+
Gradle recently introduced a new [Problems API](https://docs.gradle.org/current/userguide/reporting_problems.html)
356+
that allows Gradle and third-party plugins to propagate issues and warnings in a unified way.
357+
This API provides clean and actionable error reporting and more insights into the console output, dedicated HTML reports,
358+
and connected observability tools. IDEs, such as IntelliJ IDEA or Android Studio, also have access to the details via Gradle's tool integration API,
359+
and can show warnings right in the code editorI. Several core features and plugins have already adopted the Problems API: Java compilation,
360+
dependency resolution errors, deprecation warnings, etc. We want the code quality plugins for Kotlin to adopt this API, too; it would greatly
361+
improve the developer experience for 100,000+ Kotlin developers using Gradle.
362+
363+
In this project, we invite contributors to choose a number of Kotlin code quality plugins, such as Ktlint, Detekt, Diktat, ArchUnit, or Checkstyle
364+
for Kotlin, and integrate them with Problems API. You can also work on integrating a similar analysis for Gradle builds defined with KotlinDSL.
365+
366+
**Expected outcomes**
367+
368+
* Implement Problems API integration in the mentioned plugins
369+
370+
**Skills required (preferred)**
371+
372+
* Kotlin
373+
* Gradle
374+
375+
**Possible mentors**
376+
377+
Oleg Nenashev, Balint Hegyi, Reinhold Degenfellner

0 commit comments

Comments
 (0)