Skip to content

Commit

Permalink
[Issue #417] Grpc Publisher and Consumer API work (#660)
Browse files Browse the repository at this point in the history
* readme.md

* [ISSUE #563] SDK SUPPORT CLOUD EVENT (#575)

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

* SDK SUPPORT CLOUD EVENT

Co-authored-by: wangshaojie <wangshaojie@cmss.chinamobile.com>

* [Feature #562] support cloudevents api in eventmesh-connector-api module (#578)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* connector support cloud event (#586)

Co-authored-by: wangshaojie <wangshaojie@cmss.chinamobile.com>

* [Feature #562] Support CloudEvents for pub/sub in EventMesh runtime (#587)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* support cloudEvents

* support cloudEvents

* support cloudEvents

* support cloudEvents

* support cloudevents

* support cloudEvents

* support cloudEvents

* support cloudEvents

* [Feature #562] Implement CloudEvents protocol adaptor (#595)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* support cloudEvents

* Add files via upload

* Update README.md

* support cloudEvents

* support cloudEvents

* [ISSUE #580] Add checkstyle gradle plugin (#581)

* Add checkstyle gradle plugin, change plugin package

* skip check in ci

* support cloudEvents

* support cloudevents

* update wechat-official qr code

* update mesh-helper qr code

* Add files via upload

* update README.md

* update README.md

* Update .asf.yaml

* support cloudEvents

* support cloudEvents

* [ISSUE #588] Fix typo in README.md (#589)

close #588

* support cloudEvents

* [Bug #590] Consumer subscription topic is invalid (#590) (#592)

* [Bug #590] Consumer subscription topic is invalid (#590)

* [Bug #590] Consumer subscription topic is invalid (#590)

close #590

* support cloudEvents adaptor

* [Feature #562] Implement CloudEvents adaptor

Co-authored-by: Eason Chen <qqeasonchen@gmail.com>
Co-authored-by: Wenjun Ruan <wenjun@apache.org>
Co-authored-by: Nicholas Zhan <zhan_nicholas@outlook.com>
Co-authored-by: hagsyn <44764414+hagsyn@users.noreply.github.com>

* [Feature #562] Implement EventMeshMessage protocol adaptor (#597)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* support cloudEvents

* Add files via upload

* Update README.md

* support cloudEvents

* support cloudEvents

* [ISSUE #580] Add checkstyle gradle plugin (#581)

* Add checkstyle gradle plugin, change plugin package

* skip check in ci

* support cloudEvents

* support cloudevents

* update wechat-official qr code

* update mesh-helper qr code

* Add files via upload

* update README.md

* update README.md

* Update .asf.yaml

* support cloudEvents

* support cloudEvents

* [ISSUE #588] Fix typo in README.md (#589)

close #588

* support cloudEvents

* [Bug #590] Consumer subscription topic is invalid (#590) (#592)

* [Bug #590] Consumer subscription topic is invalid (#590)

* [Bug #590] Consumer subscription topic is invalid (#590)

close #590

* support cloudEvents adaptor

* [Feature #562] Implement CloudEvents adaptor

* [Feature #562] Implement EventMeshMessage protocol adaptor

* supplement apache header

Co-authored-by: Eason Chen <qqeasonchen@gmail.com>
Co-authored-by: Wenjun Ruan <wenjun@apache.org>
Co-authored-by: Nicholas Zhan <zhan_nicholas@outlook.com>
Co-authored-by: hagsyn <44764414+hagsyn@users.noreply.github.com>

* Remove some unused code (#591)

* Remove some unused code in sdk module

* Remove some unused code in sdk module

* fixed a wrong url in cn-doc (#585)

close #596

* resolve_exception->Consumer subscription topic is invalid #590 (#598)

close #590

* update Eventmeshmessage plugin (#599)

* [Feature #564] Support CloudEvents protocols for pub/sub in EventMesh-feature design

* support cloudevents api in eventmesh-connector-api module

* fix checkStyle

* fix checkStyle

* fix checkStyle

* 1.support LifeCycle.java
2.update Consumer and Producer

* fix remove the extra blank line

* support cloudEvents

* Add files via upload

* Update README.md

* support cloudEvents

* support cloudEvents

* [ISSUE #580] Add checkstyle gradle plugin (#581)

* Add checkstyle gradle plugin, change plugin package

* skip check in ci

* support cloudEvents

* support cloudevents

* update wechat-official qr code

* update mesh-helper qr code

* Add files via upload

* update README.md

* update README.md

* Update .asf.yaml

* support cloudEvents

* support cloudEvents

* [ISSUE #588] Fix typo in README.md (#589)

close #588

* support cloudEvents

* [Bug #590] Consumer subscription topic is invalid (#590) (#592)

* [Bug #590] Consumer subscription topic is invalid (#590)

* [Bug #590] Consumer subscription topic is invalid (#590)

close #590

* support cloudEvents adaptor

* [Feature #562] Implement CloudEvents adaptor

* [Feature #562] Implement EventMeshMessage protocol adaptor

* supplement apache header

* 1.update package name
2.support build.gradle and gradle.properties
3.support ProtocolTransportObject

Co-authored-by: Eason Chen <qqeasonchen@gmail.com>
Co-authored-by: Wenjun Ruan <wenjun@apache.org>
Co-authored-by: Nicholas Zhan <zhan_nicholas@outlook.com>
Co-authored-by: hagsyn <44764414+hagsyn@users.noreply.github.com>

* Update eventmesh-store-quickstart.md

* Update README.md

* Add slack icon (#601)

* Add protocol producer in java sdk (#600)

* Add protocol producer in sdk

* Refactor callback handler

* Add tcp protocol client

* Change Tcp interface (#603)

* update http push request and adaptor (#606)

1.update http push request
2.update http in protocol adaptor

* update java sdk (#607)

* Fix standalone connector interface, fix example (#608)

* fix compile error (#609)

* update java sdk

* fix compile error

* Java sdk update (#610)

* update java sdk

* fix compile error

* fix sdk error

* Add EventMeshTCPClient, this client wrap the sub/sub client (#611)

* runtime update (#612)

* update java sdk

* fix compile error

* fix sdk error

* 1.remove the openmessage from connector-api
2.fix the standalone connector

* Java sdk update (#615)

* update java sdk

* fix compile error

* fix sdk error

1.remove the openmessage from connector-api
2.fix the standalone connector

* 1.fix the standalone connector
2.fix the sdk

* eventmesh-admin-rocketmq submodule and createTopic REST API (#530)

* eventmesh-admin-rocketmq submodule and createTopic draft API

* add license header

* change to /topicmanage

* fix build error

* fix some code check style issues

close #435 #346

* Fix some small issue (#616)

* eventmeshmessage protocol adaptor for tcp (#618)

1.fix the standalone connector
2.fix eventmeshmessage protocol adaptor for tcp

* remove openschema implementation from em project

* eventmesh message protocol for http pub/sub with standalone connector (#619)

1.fix eventmeshmessage protocol adaptor for http with standalone connector

* create topic command (#531)

* create topic command

* address review comments

* fix build and add createtopic method to standalone module

* fix build issue

* fix a few remaining code check issues

* fix test

close #346

* Java sdk update cloudevents pub/sub (#620)

1.cloudevents protocol tcp pub/sub for sdk

* Update README.md

* Change TCP Decoder and Encoder (#621)

* cloudevents protocol tcp pub/sub for sdk (#622)

1.cloudevents protocol tcp pub/sub for sdk

* cloudevents protocol tcp pub/sub for sdk (#623)

cloudevents protocol tcp pub/sub for sdk

* cloudevents protocol http pub/sub for sdk (#625)

cloudevents protocol http pub/sub for sdk

* cloudevents protocol pub/sub for http sdk (#627)

 fix cloudevents protocol pub/sub for http sdk

* Add AbstractEventMeshTCPSubHandler (#624)

* Add AbstractEventMeshTCPSubHandler

* cloudevents/eventmesh message protocol pub/sub for sdk in rocketmq-connector (#628)

* fix cloudevents/eventmesh message protocol pub/sub for sdk in rocketmq-connector

* cloudevents/eventmesh message protocol pub/sub for sdk in rocketmq-connector (#629)

* fix cloudevents/eventmesh message protocol pub/sub for sdk in rocketmq-connector

* Safely delete useless log4j dependencies

* Safely delete outdated metrics dependencies

* Sately delete useless collections4 dependency

* Safely delete useless commons dependencies

* Reback to the collections4, but let it not in api dependency

* Could not remove text for Safe Ramdom implementation

* Fix build error

* Add collection4

* Fix build error

* Revert "Safely delete outdated metrics dependencies"

This reverts commit 92287b0.

* Change to api dependency

* Remove doclint warnings

* Depracated checkstyle check error temporarily, we should remove it when we polish later

* sync request/response for sdk in rocketmq-connector (#634)

fix sync request/response for sdk in rocketmq-connector

* Update .asf.yaml

* Update .asf.yaml

* fix conflicts and update the code (#635)

* Add files via upload

* Update README.md

* [ISSUE #580] Add checkstyle gradle plugin (#581)

* Add checkstyle gradle plugin, change plugin package

* skip check in ci

* update wechat-official qr code

* update mesh-helper qr code

* Add files via upload

* update README.md

* update README.md

* Update .asf.yaml

* [ISSUE #588] Fix typo in README.md (#589)

close #588

* [Bug #590] Consumer subscription topic is invalid (#590) (#592)

* [Bug #590] Consumer subscription topic is invalid (#590)

* [Bug #590] Consumer subscription topic is invalid (#590)

close #590

* fixed a wrong url in cn-doc (#585)

close #596

* resolve_exception->Consumer subscription topic is invalid #590 (#598)

close #590

* Update eventmesh-store-quickstart.md

* Update README.md

* Add slack icon (#601)

* eventmesh-admin-rocketmq submodule and createTopic REST API (#530)

* eventmesh-admin-rocketmq submodule and createTopic draft API

* add license header

* change to /topicmanage

* fix build error

* fix some code check style issues

close #435 #346

* create topic command (#531)

* create topic command

* address review comments

* fix build and add createtopic method to standalone module

* fix build issue

* fix a few remaining code check issues

* fix test

close #346

* Update README.md

* Safely delete useless log4j dependencies

* Safely delete outdated metrics dependencies

* Sately delete useless collections4 dependency

* Safely delete useless commons dependencies

* Reback to the collections4, but let it not in api dependency

* Could not remove text for Safe Ramdom implementation

* Fix build error

* Add collection4

* Fix build error

* Revert "Safely delete outdated metrics dependencies"

This reverts commit 92287b0.

* Change to api dependency

* Remove doclint warnings

* Depracated checkstyle check error temporarily, we should remove it when we polish later

* Update .asf.yaml

* Update .asf.yaml

Co-authored-by: Eason Chen <qqeasonchen@gmail.com>
Co-authored-by: Wenjun Ruan <wenjun@apache.org>
Co-authored-by: Nicholas Zhan <zhan_nicholas@outlook.com>
Co-authored-by: hagsyn <44764414+hagsyn@users.noreply.github.com>
Co-authored-by: sarihuangshanrong <280456134@qq.com>
Co-authored-by: yuri <yu.zhao5@huawei.com>
Co-authored-by: vongosling <vongosling@apache.org>

* supply apache header

* Remove license name, add LICENSE file

* resolve conflict

* remove some not used in binary license

* set connector plugin to standalone

* Add license check shell

* Add jdk11 and otherOS in github ci

* Add comments

* resolve javadoc failed on jdk11

* Change skywalking uses repo to main

* GRPC producer publish API

* remove unused files

* remove unused plugin

* [ISSUE #630] RocketMQProducerImpl cannot load config properties from classpath (#631)

* Fix RocketMqConsumer cannot load properties in classpath
close #630

* [Bug #646] Missing the rocketmq message properties during protocol conversion (#647)

* [Bug #646] Missing the rocketmq message properties during protocol conversion

* fix checkstyle and gradle module dependency

* fix conflicts

close #646

* grpc publish with cloudevents

* [MINOR] Hide ctx in callback function and update contributing doc (#644)

1. Hide ctx in callback function
2. Resolve compile warning of loss spi
3. Update contributing doc
4.Remove codeql

* [ISSUE #405] remove some unused code (#649)

* [ISSUE #405] remove some unused code

* [Issue #417] grpc publish API

* [MINOR] Add third-part dependencies licenses (#650)

* [MINOR] supply the license and update the third party license file name (#653)

 [MINOR] supply the license and update the third party license file name

* [ISSUE #340]Add http trace http point (#527)

* tracing in AbstractHTTPServer

* add licence

* the span exporter

* design docs

* fix the error on text

* delete the useless dependence

* remove the unused code

* fix the different spanExporter

* change the class name

* fix gradle -build problem

* design docs improve

* fix the gradle.build error problem

* fixed

* unsure fix

* fix the path name

* fix check error

* format code

* add javadoc

* checkstyle fix

* unversioned files

* put context into channel in advance

* Update quick start docs (#656)

* [MINOR] Upgrade log4j version to 2.16.0 (#654)

* Update log4j version

* [MINOR] update the license and add the third party license files (#657)

* [MINOR] update the license and add the third party license files

* [ISSUE #604]Improve the rebalance algorithm (#605)

* modify:optimize flow control in downstreaming msg

* modify:optimize stategy of selecting session in downstream msg

* modify:optimize msg downstream,msg store in session

* modify:fix bug:not a @sharable handler

* modify:downstream broadcast msg asynchronously

* modify:remove unneccessary interface in eventmesh-connector-api

* modify:fix conflict

* modify:add license in EventMeshAction

* modify:fix ack problem

* modify:fix exception handle when exception occured in EventMeshTcpMessageDispatcher

* modify:fix log print

* modify: fix issue#496,ClassCastException

* modify: improve rebalance algorithm

close #604

* [Feature #547] Create and upload 1.3.0-snapshot docker image (#659)

* [Feature #547] Create and upload 1.3.0-snapshot docker image

* grpc consumer work

* [MINOR] Add third-part dependencies licenses (#650)

* [MINOR] supply the license and update the third party license file name (#653)

 [MINOR] supply the license and update the third party license file name

* [ISSUE #340]Add http trace http point (#527)

* tracing in AbstractHTTPServer

* add licence

* the span exporter

* design docs

* fix the error on text

* delete the useless dependence

* remove the unused code

* fix the different spanExporter

* change the class name

* fix gradle -build problem

* design docs improve

* fix the gradle.build error problem

* fixed

* unsure fix

* fix the path name

* fix check error

* format code

* add javadoc

* checkstyle fix

* unversioned files

* put context into channel in advance

* Update quick start docs (#656)

* [MINOR] Upgrade log4j version to 2.16.0 (#654)

* Update log4j version

* [MINOR] update the license and add the third party license files (#657)

* [MINOR] update the license and add the third party license files

* [ISSUE #604]Improve the rebalance algorithm (#605)

* modify:optimize flow control in downstreaming msg

* modify:optimize stategy of selecting session in downstream msg

* modify:optimize msg downstream,msg store in session

* modify:fix bug:not a @sharable handler

* modify:downstream broadcast msg asynchronously

* modify:remove unneccessary interface in eventmesh-connector-api

* modify:fix conflict

* modify:add license in EventMeshAction

* modify:fix ack problem

* modify:fix exception handle when exception occured in EventMeshTcpMessageDispatcher

* modify:fix log print

* modify: fix issue#496,ClassCastException

* modify: improve rebalance algorithm

close #604

* [Feature #547] Create and upload 1.3.0-snapshot docker image (#659)

* [Feature #547] Create and upload 1.3.0-snapshot docker image

* merge from develop

* GRPC producer publish API

* grpc publish with cloudevents

* Adding grpc publish and subscribe API examples

* grpc consumer api testing and bug fixing

* minor enhancement to grpc consumer

Co-authored-by: xwm1992 <mike_xwm@126.com>
Co-authored-by: wangshaojie4039 <15001782969@163.com>
Co-authored-by: wangshaojie <wangshaojie@cmss.chinamobile.com>
Co-authored-by: Eason Chen <qqeasonchen@gmail.com>
Co-authored-by: Wenjun Ruan <wenjun@apache.org>
Co-authored-by: Nicholas Zhan <zhan_nicholas@outlook.com>
Co-authored-by: hagsyn <44764414+hagsyn@users.noreply.github.com>
Co-authored-by: sarihuangshanrong <280456134@qq.com>
Co-authored-by: yuri <yu.zhao5@huawei.com>
Co-authored-by: vongosling <vongosling@apache.org>
Co-authored-by: ZePeng Chen <84842773+Roc-00@users.noreply.github.com>
Co-authored-by: lrhkobe <34571087+lrhkobe@users.noreply.github.com>
  • Loading branch information
13 people committed Dec 24, 2021
1 parent dafa5a7 commit 87a1116
Show file tree
Hide file tree
Showing 473 changed files with 40,789 additions and 20,612 deletions.
2 changes: 1 addition & 1 deletion .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ github:
- microservice
- state-management
enabled_merge_buttons:
merge: true
squash: true
merge: false
rebase: false
protected_branches:
master:
Expand Down
38 changes: 12 additions & 26 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,48 +33,32 @@ on:
jobs:
build:
name: Build

runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
language:
- 'java'
java:
- 8
os: [ubuntu-latest, macOS-latest]
java: [8, 11]
runs-on: ${{ matrix.os }}

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
languages: ${{ matrix.language }}

- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}

- name: Build
# skip check here, since we use Checkstyle task to check the added file
run: ./gradlew clean build jacocoTestReport checkLicense -x check
# We use -x check to skip check code style here, since this task will check all files.
# We use Checkstyle task to check the added file
run: ./gradlew clean build jar dist jacocoTestReport -x check

- name: Perform CodeQL analysis
uses: github/codeql-action/analyze@v1

- name: Upload coverage report to codecov.io
run: bash <(curl -s https://codecov.io/bash) || echo 'Failed to upload coverage report!'
- name: Install plugin
run: ./gradlew installPlugin

checkstyle:
name: Checkstyle

runs-on: ubuntu-latest

steps:
Expand All @@ -96,14 +80,16 @@ jobs:
license-check:
name: License Check

runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Check license header
uses: apache/skywalking-eyes@9bd5feb86b5817aa6072b008f9866a2c3bbc8587
uses: apache/skywalking-eyes@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Check third party dependencies
run: ./gradlew clean jar dist && ./gradlew installPlugin && ./gradlew tar && sh tools/third-party-dependencies/check-dependencies.sh && echo "Thirty party dependencies check success"
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,11 @@ classes
package-lock.json
node_modules
.DS_Store
.run
.run

h2/db.mv.db

# license check tmp file
all-dependencies.txt
self-modules.txt
third-party-dependencies.txt
31 changes: 20 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ Here are the workflow for contributors:

1. Fork to your own
2. Clone fork to local repository
```shell
```git
git clone git@github.com:yourgithub/incubator-eventmesh.git
```
3. Create a new branch and work on it
```shell
```git
git checkout -b fix_patch_xx
```
4. Keep your branch in sync
```shell
```git
git remote add upstream git@github.com:apache/incubator-eventmesh.git
git fetch upstream develop:upstream_develop
git rebase upstream_develop
Expand All @@ -65,18 +65,20 @@ EventMesh repository, and the related Issue will be closed.
We use [GitHub Issues](https://github.com/apache/incubator-eventmesh/issues)
and [Pull Requests](https://github.com/apache/incubator-eventmesh/pulls) for trackers.

If you find a typo in a document, find a bug in code, or want new features, or want to give suggestions, you
If you find a bug in code, or want new features, or want to give suggestions, you
can [open an issue on GitHub](https://github.com/apache/incubator-eventmesh/issues/new) to report it. Please follow the
guideline message in the issue template.

If you want to contribute, please follow the [contribution workflow](#github-workflow) and create a new pull request. If
your PR contains large changes, e.g. component refactor or new components, please write detailed documents about its
If you want to contribute, please follow the [contribution workflow](#github-workflow) and create a new pull request. Your PR title should start with [ISSUE #xx].
If your PR contains large changes, e.g. component refactor or new components, please write detailed documents about its
design and usage.

Note that a single pull request should not be too large. If heavy changes are required, it's better to separate the
If your change is about a typo or small optimize, you needn't create an Issue, just submit a PR and title with [MINOR].

[Note]: A single pull request should not be too large. If heavy changes are required, it's better to separate the
changes to a few individual PRs.

### Code review
### PR review

All code should be well reviewed by one or more committers. Some principles:

Expand All @@ -88,11 +90,18 @@ All code should be well reviewed by one or more committers. Some principles:

EventMesh follows [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) policy. All source files should
have the Apache License header added to the file header. EventMesh uses the [apache/skywalking-eyes](https://github.com/apache/skywalking-eyes) to check
the source file header, and EventMesh uses [Gradle-License-Report](https://github.com/jk1/Gradle-License-Report) plugin to check for third-part dependencies.
When you need to add a three-part dependency, you need to register the newly added dependency in tool/license/allowed-licenses.txt, you can execute `./gradlew clean checkLicense` to judge
whether there exist dependencies have been added, and the newly added three-part libraries need to meet [ASF 3RD PARTY LICENSE POLICY](https://apache.org/legal/resolved.html).
the source file header.

EventMesh uses [check-dependencies.sh](tools/third-party-dependencies/check-dependencies.sh) script to check for third-part dependencies.
When you need to add a three-part dependency, you need to register the newly added dependency in tool/license/known-dependencies.txt. The newly added three-part libraries need to meet [ASF 3RD PARTY LICENSE POLICY](https://apache.org/legal/resolved.html).
It is highly recommended communicating with EventMesh community before you need to add a three-part library.

### PR merge

After a PR is approved by at least one committer, it can be merged. Before the merge, the committer can make changes to the commits message, requiring the commits
message to be clear without duplication, and use Squash and Merge to make sure one PR should only contain one commits.
For large multi-person PR, use Merge to merge, and fix the commits by rebase before merging.

## Community

### Contact us
Expand Down
35 changes: 22 additions & 13 deletions CONTRIBUTING.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ Editor -> Code Style -> Java -> Scheme -> Import Scheme -> CheckStyle Configurat

1. Fork到您个人仓库
2. 克隆到本地存储库
```shell
```git
git clone git@github.com:yourgithub/incubator-eventmesh.git
```
3. 创建一个新分支并对其进行处理
```shell
```git
git checkout -b fix_patch_xx
```
4. 保持分支与主库同步
```shell
```git
git remote add upstream git@github.com:apache/incubator-eventmesh.git
git fetch upstream develop:upstream_develop
git rebase upstream_develop
Expand All @@ -56,19 +56,20 @@ git rebase upstream_develop
### 打开问题/ PR

我们将使用Issues和Pull Requests作为跟踪器
[GitHub Issues](https://github.com/apache/incubator-eventmesh/issues)
[Pull Requests](https://github.com/apache/incubator-eventmesh/pulls)
- [GitHub Issues](https://github.com/apache/incubator-eventmesh/issues)
- [Pull Requests](https://github.com/apache/incubator-eventmesh/pulls)

如果您在文档中发现拼写错误,在代码中发现错误,想要新功能或提出建议, 您可以提出问题[在GitHub上打开问题](https://github.com/apache/incubator-eventmesh/issues/new)
请按照问题模板中的准则消息进行操作
如果您发现新的Bug,想要新功能或提出新当建议,您可以在GitHub上[创建Issue](https://github.com/apache/incubator-eventmesh/issues/new) ,请按照Issue模板中的准则进行操作。
如果您在文档中发现拼写错误,或者发现代码中存在可以进行微小的优化的地方,您可以无需创建Issue, 直接提交一个PR

如果您想贡献,请遵循[贡献工作流程](#github-workflow)并创建一个新的拉取请求。 如果您的PR包含较大的更改,例如组件重构或新组件,请写详细文档 有关其设计和使用的信息。
对于PR的标题请依照[ISSUE #xx]进行开头,如果是细小的改动请以[MINOR]进行开头。

请注意,单个拉取请求不应太大。如果需要进行重大更改,最好将更改分开 到一些个人PR。
【注意】: 单个PR不应太大。如果需要进行重大更改,最好将更改分开 到一些个人PR。

### 代码审查
### PR审查

所有代码应由一个或多个committer进行良好的审查。一些原则:
所有PR应由一个或多个committer进行良好的审查。一些原则:

- 可读性: 重要代码应有详细记录。符合我们的[代码风格](./style/checkStyle.xml)
- 优雅: 新功能,类或组件应经过精心设计
Expand All @@ -78,10 +79,18 @@ git rebase upstream_develop

EventMesh遵循[Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) 政策。
所有的源代码文件应该在文件头部添加Apache License header,EventMesh会使用[apache/skywalking-eyes](https://github.com/apache/skywalking-eyes)
对源代码文件头进行校验。EventMesh使用[Gradle-License-Report](https://github.com/jk1/Gradle-License-Report)插件
检查第三方依赖,当你需要添加三方依赖时,你需要将新添加的依赖注册在tool/license/allowed-licenses.txt中,你可以通过执行`./gradlew clean checkLicense`命令可以判断当前是否有license尚未添加,
对源代码文件头进行校验。

EventMesh使用[check-dependencies.sh](tools/third-party-dependencies/check-dependencies.sh)脚本
检查第三方依赖,当你需要添加三方依赖时,你需要将新添加的依赖注册在tool/license/known-dependencies.txt中,
同时新添加的三方库需要满足[Apache对于第三方的政策](https://apache.org/legal/resolved.html)
非常建议在需要添加三方依赖之前与EventMesh社区进行沟通。

当添加依赖时遇到问题时,社区PPMC会协助解决,非常建议在需要添加三方依赖之前与EventMesh社区进行沟通。

### PR合并

PR经过至少一个committer approve之后会由committer负责合并,在合并的时候,committer可以对commits信息进行修改,要求commits信息简洁明了,不重复。
在合并时使用Squash and merge, 要求一个PR保留一个commits。对于大型多人协助的PR,使用Merge进行合并,在合并之前通过rebase修正commits。

## 社区

Expand Down
Loading

0 comments on commit 87a1116

Please sign in to comment.