Welcome the Google Summer of Code contributors!

Google Summer of Code 2024 projects have now been announced! This year Gradle has 3 projects that we run under the umbrellas of the Kotlin Foundation and Eclipse Foundation. Learn more about the projects below.

Table of Contents

Introduction #

Google Summer of Code (GSoC) projects have been announced! GSoC is a global, online program that brings new contributors into open-source software development. Contributors work with an open-source organization on a 12-plus-week programming project under the guidance of mentors. Gradle has participated in GSoC since 2023, when we had one project that brought experimental Kotlin DSL support to Eclipse Buildship - a set of Eclipse Plug-ins that provide a deep integration of Gradle into the Eclipse IDE.

This year, we’re doing three projects under the umbrella of the Kotlin Foundation and the Eclipse Foundation. The Visual Studio Code Java team at Microsoft is also participating as a mentor. A warm welcome to Tanish Ranjan, Sidhaarth Saraswathi Ramalingam, and Hongjie (Jay) Wei, who will work on Gradle Build Server enhancements, support for Android projects, and the Gradle Checkstyle Plugin this summer!

Team photo from the kick-off meeting

Selected projects #

We have 3 projects this year:

  1. Gradle Build Server – Support for Android projects by Tanish Ranjan
  2. Gradle Build Server - Developer Experience and Language Support in Buildship by Sidhaarth Saraswathi Ramalingam
  3. Declarative Syntax and Enhancements for the Checkstyle Plugin by Hongjie (Jay) Wei

Gradle Build Server – Support for Android projects #

Given the huge popularity of native Android development, the need for efficient build automation tools like the Gradle Build Server becomes increasingly important. However, current limitations in identifying and managing common Gradle functionalities used in Android projects within the server can hinder developer workflows.

This project by Tanish Ranjan aims to enhance the Build Server for Gradle from Microsoft by integrating powerful Android Studio features. Bridging the gap between Android Studio and the Build Server for Gradle will significantly improve the development experience for many Android developers using IDEs based on the Build Server Protocol (BSP), for example Visual Studio Code.

More Info: Project Page

Gradle Build Server - DevX and Language Support in Buildship #

Eclipse Buildship currently orchestrates the Gradle Build Tasks directly without using the Build Server Protocol (BSP) interface. The BSP promises a pluggable, IDE-agnostic tooling for build systems. At the moment, the Build Server for Gradle (Gradle BSP) focuses only on Visual Studio Code integration, providing the correct classpath for Java projects and optimal support for Code Generation, such as Annotation Processing.

There’s a lot of potential in extending the Gradle Build Server and improving developer experience (DevX) for its users. The goals of this project by Sidhaarth Saraswathi Ramalingam are:

  • Implement a fully powered version of Gradle BSP for Eclipse Buildship to support DevX & Language Support in Buildship.
  • Add more functionalities to the existing BSP implementation to provide the required Eclipse Buildship support.

More Info: Project Page

Declarative Syntax and Enhancements for the Checkstyle Plugin #

Checkstyle is a powerful static analysis tool, but the current Checkstyle plugin in Gradle does not support all of Checkstyle’s features. In particular, the Kotlin DSL implementation for this tool in Gradle does not provide good declarative support when it comes to integrating plugins.

Hongjie (Jay) Wei will be working on these enhancements. The goals of this project are:

  • Experiment with detaching the Checkstyle Plugin from the main Gradle Build Tool repository.
  • Enhance the Checkstyle plugin to support recent Checkstyle features.
  • Improve the declarative nature of Kotlin DSL when integrating plugins.

More Info: Project Page

GSoC Banner

Communication Channels #

We are looking for more community participation in these projects. This year, we plan to maximize asynchronous communication, and there will also be weekly team meetings in each project. If interested, see the project pages for the links, and also join the project channels on the Gradle Community Slack:

  • #gradle-build-server - for two projects focused on the Gradle Build Server
  • #checkstyle-plugin - experiment with a new Checkstyle Plugin edition
  • #gsoc - for general coordination within Gradle projects in GSoC

Kotlin and Eclipse foundations also have their own channels linked here.

What if you didn’t get accepted? #

This year, we had almost 50 project proposals and couldn’t accept all the projects we shortlisted. We thank everyone who participated in the community, submitted their proposals, and contributed during the GSoC application phase. The decision was based not only on the quality of the proposals but also on additional factors, including but not limited to the submitter’s participation in the community during the application phase, availability of the mentoring teams, and the perceived probability of success for the project. If you would like feedback on your proposal, please don’t hesitate to respond to this thread.

There are multiple open-source mentorship programs worldwide, not just GSoC. Everyone is invited to continue participating in open-source communities, and you can consider one of the active programs. In 2022, we had our own Gradle mentorship program, and we are considering continuing it. Contact us on Slack if you are interested. You are welcome to join Gradle this autumn for Hacktoberfest or participate in Google Summer of Code next year!

References #

Thanks again to all GSoC contributors, mentors, and org admins from the Eclipse and Kotlin foundation. And have a great summer of code, everyone!

Summer Gradlephants on the beach

Discuss