[ 
https://issues.apache.org/jira/browse/DUBBO-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Albumen Kevin updated DUBBO-145:
--------------------------------
    Description: 
h2. Background and Goal

In the API-First design paradigm, IDL (Interface Definition Language) and its 
corresponding generation tools have become essential. IDL files are the 
specifications for defining service interfaces, and generation tools can 
convert IDL files into executable code, thereby simplifying the development 
process and improving efficiency.
Currently, Apache Dubbo only provides a Maven IDL generation plugin, lacking a 
Gradle plugin. This brings inconvenience to developers using Gradle to build 
projects.
h1. Necessity
 # {*}Unify Build Tools{*}: Gradle is the preferred build tool for Android 
projects and many Java projects. Providing a Dubbo Gradle IDL plugin can 
maintain the consistency of build tools and reduce the cost for developers to 
switch between different build tools.
 # {*}Simplify Configuration{*}: Gradle plugins can simplify the configuration 
and generation process of IDL files. Developers only need to add plugin 
dependencies and simple configurations in the `build.gradle` file to complete 
the generation of IDL files without manually executing complex commands.
 # {*}Integrate Development Process{*}: Gradle plugins can be better integrated 
with IDEs (Integrated Development Environments). Developers can directly 
execute Gradle tasks in the IDE, thereby realizing the automatic generation of 
IDL files and improving development efficiency.

h2. Implementation Plan
 # {*}Plugin Development{*}: Develop a Gradle plugin that encapsulates the 
Dubbo IDL generation tool and provides a concise configuration interface.
 # {*}Configuration{*}: In the `build.gradle` file, developers can configure 
parameters such as the path of the IDL file and the directory of the generated 
code.
 # {*}Task{*}: The plugin provides a Gradle task for executing the generation 
of IDL files. Developers can execute the task through the command line or the 
IDE.
 # {*}Dependency Management{*}: The plugin can automatically manage the 
dependencies of the Dubbo IDL generation tool, ensuring that developers do not 
need to manually download and configure it.

h1. Expected Results
 * Developers can use Gradle to build Dubbo projects and easily generate the 
code corresponding to the IDL.
 * Simplify the configuration and generation process of IDL files, and improve 
development efficiency.
 * Better integration with IDEs to achieve automatic generation of IDL files.

h2. Potential Mentors
 # Albumen Kevin, Apache Dubbo PMC, [email protected]
 # [email protected]
h4.  
h4.  

 

  was:
h2. Background and Goal

Currently, Dubbo Python exposes a serialization function interface that 
requires users to implement their own serialization methods. For commonly used 
serialization formats such as JSON and Protobuf, users must manually configure 
them each time. To streamline this process, we aim to build a built-in 
serialization layer that provides support for these common serialization 
formats by default.
h1. Goal

We recommend using [Pydantic|https://docs.pydantic.dev/latest/] to achieve 
this. Therefore, we expect the implementation to:

1. an internal serialization layer based on Pydantic, with support for at least 
JSON and Protobuf.

2. Leverage Pydantic's additional features, including data validation and other 
useful functionalities.
h2. Relevant Skills

1. Familiar with Python

2. Familiar with RPC
h2. Potential Mentors
 # Albumen Kevin, Apache Dubbo PMC, [email protected]
 # [email protected]
h4.  
h4.  
 


> GSoC 2025 - Dubbo Gradle IDL Plugin
> -----------------------------------
>
>                 Key: DUBBO-145
>                 URL: https://issues.apache.org/jira/browse/DUBBO-145
>             Project: Apache Dubbo
>          Issue Type: Task
>            Reporter: Albumen Kevin
>            Priority: Major
>              Labels: gsoc2025
>   Original Estimate: 350h
>  Remaining Estimate: 350h
>
> h2. Background and Goal
> In the API-First design paradigm, IDL (Interface Definition Language) and its 
> corresponding generation tools have become essential. IDL files are the 
> specifications for defining service interfaces, and generation tools can 
> convert IDL files into executable code, thereby simplifying the development 
> process and improving efficiency.
> Currently, Apache Dubbo only provides a Maven IDL generation plugin, lacking 
> a Gradle plugin. This brings inconvenience to developers using Gradle to 
> build projects.
> h1. Necessity
>  # {*}Unify Build Tools{*}: Gradle is the preferred build tool for Android 
> projects and many Java projects. Providing a Dubbo Gradle IDL plugin can 
> maintain the consistency of build tools and reduce the cost for developers to 
> switch between different build tools.
>  # {*}Simplify Configuration{*}: Gradle plugins can simplify the 
> configuration and generation process of IDL files. Developers only need to 
> add plugin dependencies and simple configurations in the `build.gradle` file 
> to complete the generation of IDL files without manually executing complex 
> commands.
>  # {*}Integrate Development Process{*}: Gradle plugins can be better 
> integrated with IDEs (Integrated Development Environments). Developers can 
> directly execute Gradle tasks in the IDE, thereby realizing the automatic 
> generation of IDL files and improving development efficiency.
> h2. Implementation Plan
>  # {*}Plugin Development{*}: Develop a Gradle plugin that encapsulates the 
> Dubbo IDL generation tool and provides a concise configuration interface.
>  # {*}Configuration{*}: In the `build.gradle` file, developers can configure 
> parameters such as the path of the IDL file and the directory of the 
> generated code.
>  # {*}Task{*}: The plugin provides a Gradle task for executing the generation 
> of IDL files. Developers can execute the task through the command line or the 
> IDE.
>  # {*}Dependency Management{*}: The plugin can automatically manage the 
> dependencies of the Dubbo IDL generation tool, ensuring that developers do 
> not need to manually download and configure it.
> h1. Expected Results
>  * Developers can use Gradle to build Dubbo projects and easily generate the 
> code corresponding to the IDL.
>  * Simplify the configuration and generation process of IDL files, and 
> improve development efficiency.
>  * Better integration with IDEs to achieve automatic generation of IDL files.
> h2. Potential Mentors
>  # Albumen Kevin, Apache Dubbo PMC, [email protected]
>  # [email protected]
> h4.  
> h4.  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to