[
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)