Skip to content

Commit 3543bd8

Browse files
authored
Merge pull request #51 from jamesward/gsoc-2023-eclipse-gradle-kotlin
add gsoc-2023-eclipse-gradle-kotlin
2 parents 48b607b + fd62a77 commit 3543bd8

File tree

8 files changed

+60
-0
lines changed

8 files changed

+60
-0
lines changed
59.8 KB
Loading
183 KB
Loading
21.8 KB
Loading
384 KB
Loading
1.04 MB
Loading
190 KB
Loading
36.2 KB
Loading
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: "Google Summer of Code 2023 – Eclipse Gradle Kotlin Script Support"
3+
date: 2023-12-18 10:00
4+
---
5+
6+
The Kotlin Foundation sponsored 4 projects for the Google Summer of Code 2023, and we are excited to announce the completion of the Eclipse Gradle Kotlin Script Support project! Gradle, a Kotlin Foundation member, provided mentoring support for this project, and we'd like to share details about the project.
7+
8+
The contributor to this project was [Nikolai Vladimirov](https://www.linkedin.com/in/vladimir0v/), a third-year student from Constructor University, and the mentor was [Donát Csikós](https://github.com/donat), a Senior Software Engineer at Gradle. The project aimed to bring support for Gradle Kotlin Scripts (`.kts`) to the Eclipse IDE.
9+
10+
The initial goal was to improve user interaction with Gradle Kotlin scripts inside the Eclipse IDE. The goal was to implement the following functionality:
11+
12+
* Syntax highlighting for Kotlin scripts
13+
* Content assistance
14+
* Go-to-definition
15+
* Accurate diagnostics for syntax errors
16+
* Signature help
17+
* Hovering
18+
19+
Nikolai successfully delivered these features by implementing support for Kotlin scripts based on the existing kotlin-language-server project, creating a new system to separate compilation environments for each build script. Here are examples of each feature:
20+
21+
**Syntax highlighting for .kts scripts**
22+
23+
![Syntax highlighting for .kts scripts](image5.png)
24+
25+
**Content assistance**
26+
27+
![Content assistance](image1.png)
28+
29+
**Go-to-definition**
30+
31+
![Go-to-definition](image4.gif)
32+
33+
**Accurate Diagnostics for syntax errors**
34+
35+
![Accurate Diagnostics for syntax errors](image2.png)
36+
37+
**Signature help**
38+
39+
![Signature help](image7.png)
40+
41+
**Hovering**
42+
43+
![Hovering](image3.png)
44+
45+
## Installation
46+
47+
The new features are not yet production-ready, and it currently does not work on Windows. Consequently, they are delivered as optional installables. You can find them in the [latest update sites](https://download.eclipse.org/buildship/updates/latest-snapshot/) under the **Buildship Extras - Incubating category**.
48+
49+
![Installation](image6.png)
50+
51+
## Next Steps
52+
53+
If you'd like to get involved with improving the Eclipse Kotlin Gradle Script support, there are two parts:
54+
55+
* **Eclipse plugin**: The plugin is part of the [Buildship](https://github.com/eclipse/buildship) project. The implementation is in the `org.eclipse.buildship.kotlindsl.provider` subproject.
56+
* **Language server**: The IDE-agnostic components are implemented in [this repository](https://github.com/D0zee/language-server-for-KTS-scripts/tree/GSoC-work) in the GSoC-work branch.
57+
58+
The remaining tasks are to add a couple of minor features and incrementally improve the reliability, stability, and performance of this plugin.
59+
60+
We are grateful for Nikolai and Donát's contributions to making Kotlin better for developers!

0 commit comments

Comments
 (0)