chore(commons): basic adapt for commons migration

This commit is contained in:
VGalaxies 2024-08-21 16:09:00 +08:00
parent 459d4413b4
commit b087f085c1
40 changed files with 95 additions and 1222 deletions

View File

@ -41,7 +41,8 @@ github:
- Analyze (java) - Analyze (java)
- CodeQL - CodeQL
- check-license - check-license
- build (memory, 11) - build-server (memory, 11)
- build-commons (11)
required_pull_request_reviews: required_pull_request_reviews:
dismiss_stale_reviews: true dismiss_stale_reviews: true
require_code_owner_reviews: false require_code_owner_reviews: false

1
.gitattributes vendored
View File

@ -12,4 +12,5 @@ hugegraph-store/hg-store-dist/src/assembly/static/bin/libjemalloc_aarch64.so exp
.github/ export-ignore .github/ export-ignore
.idea/ export-ignore .idea/ export-ignore
install-dist/scripts/ export-ignore install-dist/scripts/ export-ignore
hugegraph-commons/hugegraph-dist/ export-ignore
docker/ export-ignore docker/ export-ignore

View File

@ -32,7 +32,7 @@ jobs:
- name: mvn install - name: mvn install
run: | run: |
mvn install -DskipTests=true -ntp mvn install -Dmaven.test.skip=true -ntp
- name: generate current dependencies - name: generate current dependencies
run: | run: |
bash $SCRIPT_DEPENDENCY/regenerate_known_dependencies.sh current-dependencies.txt bash $SCRIPT_DEPENDENCY/regenerate_known_dependencies.sh current-dependencies.txt

View File

@ -1,4 +1,4 @@
name: "hugegraph-commons ci" name: "HugeGraph-Commons CI"
on: on:
workflow_dispatch: workflow_dispatch:
@ -10,12 +10,16 @@ on:
pull_request: pull_request:
jobs: jobs:
build: build-commons:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env:
# TODO: reset use stage to false later
USE_STAGE: 'true' # Whether to include the stage repository.
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
JAVA_VERSION: ['8', '11'] JAVA_VERSION: ['11']
steps: steps:
- name: Install JDK ${{ matrix.JAVA_VERSION }} - name: Install JDK ${{ matrix.JAVA_VERSION }}
@ -36,19 +40,23 @@ jobs:
with: with:
fetch-depth: 2 fetch-depth: 2
- name: License check(RAT) - name: Use staged maven repo settings
if: ${{ env.USE_STAGE == 'true' }}
run: | run: |
mvn apache-rat:check -ntp cp $HOME/.m2/settings.xml /tmp/settings.xml
find ./ -name rat.txt -print0 | xargs -0 -I file cat file > merged-rat.txt cp -vf .github/configs/settings.xml $HOME/.m2/settings.xml && cat $HOME/.m2/settings.xml
grep "Binaries" merged-rat.txt -C 3 && cat merged-rat.txt
- name: Compile - name: Compile
run: | run: |
mvn compile -Dmaven.javadoc.skip=true -ntp mvn compile -Dmaven.javadoc.skip=true -ntp
- name: Run test - name: Run common test
run: | run: |
mvn test -Dtest=UnitTestSuite mvn test -pl hugegraph-commons/hugegraph-common -Dtest=UnitTestSuite
- name: Run rpc test
run: |
mvn test -pl hugegraph-commons/hugegraph-rpc -Dtest=UnitTestSuite
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
uses: codecov/codecov-action@v3.0.0 uses: codecov/codecov-action@v3.0.0

View File

@ -1,4 +1,4 @@
name: "Graph PD & Store & Hstore CI" name: "HugeGraph-PD & Store & Hstore CI"
on: on:
push: push:
@ -14,7 +14,8 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
# TODO: avoid duplicated env setup in pd & store # TODO: avoid duplicated env setup in pd & store
USE_STAGE: 'false' # Whether to include the stage repository. # TODO: reset use stage to false later
USE_STAGE: 'true' # Whether to include the stage repository.
# TODO: remove outdated env # TODO: remove outdated env
TRAVIS_DIR: hugegraph-server/hugegraph-dist/src/assembly/travis TRAVIS_DIR: hugegraph-server/hugegraph-dist/src/assembly/travis
REPORT_DIR: target/site/jacoco REPORT_DIR: target/site/jacoco
@ -46,11 +47,11 @@ jobs:
- name: Run common test - name: Run common test
run: | run: |
mvn test -pl hugegraph-pd/hg-pd-test -am -P pd-common-test mvn test -pl hugegraph-pd/hg-pd-test -am -P pd-common-test -DskipCommonsTests=true
- name: Run core test - name: Run core test
run: | run: |
mvn test -pl hugegraph-pd/hg-pd-test -am -P pd-core-test mvn test -pl hugegraph-pd/hg-pd-test -am -P pd-core-test -DskipCommonsTests=true
# The above tests do not require starting a PD instance. # The above tests do not require starting a PD instance.
@ -64,11 +65,11 @@ jobs:
- name: Run client test - name: Run client test
run: | run: |
mvn test -pl hugegraph-pd/hg-pd-test -am -P pd-client-test mvn test -pl hugegraph-pd/hg-pd-test -am -P pd-client-test -DskipCommonsTests=true
- name: Run rest test - name: Run rest test
run: | run: |
mvn test -pl hugegraph-pd/hg-pd-test -am -P pd-rest-test mvn test -pl hugegraph-pd/hg-pd-test -am -P pd-rest-test -DskipCommonsTests=true
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
uses: codecov/codecov-action@v3.0.0 uses: codecov/codecov-action@v3.0.0
@ -79,7 +80,7 @@ jobs:
# TODO: avoid duplicated env setup # TODO: avoid duplicated env setup
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
USE_STAGE: 'false' # Whether to include the stage repository. USE_STAGE: 'true' # Whether to include the stage repository.
# TODO: remove outdated env # TODO: remove outdated env
TRAVIS_DIR: hugegraph-server/hugegraph-dist/src/assembly/travis TRAVIS_DIR: hugegraph-server/hugegraph-dist/src/assembly/travis
REPORT_DIR: target/site/jacoco REPORT_DIR: target/site/jacoco
@ -120,27 +121,27 @@ jobs:
- name: Run common test - name: Run common test
run: | run: |
mvn test -pl hugegraph-store/hg-store-test -am -P store-common-test mvn test -pl hugegraph-store/hg-store-test -am -P store-common-test -DskipCommonsTests=true
- name: Run client test - name: Run client test
run: | run: |
mvn test -pl hugegraph-store/hg-store-test -am -P store-client-test mvn test -pl hugegraph-store/hg-store-test -am -P store-client-test -DskipCommonsTests=true
- name: Run core test - name: Run core test
run: | run: |
mvn test -pl hugegraph-store/hg-store-test -am -P store-core-test mvn test -pl hugegraph-store/hg-store-test -am -P store-core-test -DskipCommonsTests=true
- name: Run rocksdb test - name: Run rocksdb test
run: | run: |
mvn test -pl hugegraph-store/hg-store-test -am -P store-rocksdb-test mvn test -pl hugegraph-store/hg-store-test -am -P store-rocksdb-test -DskipCommonsTests=true
- name: Run server test - name: Run server test
run: | run: |
mvn test -pl hugegraph-store/hg-store-test -am -P store-server-test mvn test -pl hugegraph-store/hg-store-test -am -P store-server-test -DskipCommonsTests=true
- name: Run raft-core test - name: Run raft-core test
run: | run: |
mvn test -pl hugegraph-store/hg-store-test -am -P store-raftcore-test mvn test -pl hugegraph-store/hg-store-test -am -P store-raftcore-test -DskipCommonsTests=true
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
uses: codecov/codecov-action@v3.0.0 uses: codecov/codecov-action@v3.0.0

View File

@ -1,4 +1,4 @@
name: "Graph Server CI" name: "HugeGraph-Server CI"
on: on:
push: push:
@ -9,11 +9,13 @@ on:
pull_request: pull_request:
jobs: jobs:
# TODO: rename to build-server later
build: build:
# TODO: we need test & replace it to ubuntu-24.04 or ubuntu-latest # TODO: we need test & replace it to ubuntu-24.04 or ubuntu-latest
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
env: env:
USE_STAGE: 'false' # Whether to include the stage repository. # TODO: reset use stage to false later
USE_STAGE: 'true' # Whether to include the stage repository.
TRAVIS_DIR: hugegraph-server/hugegraph-dist/src/assembly/travis TRAVIS_DIR: hugegraph-server/hugegraph-dist/src/assembly/travis
REPORT_DIR: target/site/jacoco REPORT_DIR: target/site/jacoco
BACKEND: ${{ matrix.BACKEND }} BACKEND: ${{ matrix.BACKEND }}

View File

@ -6,7 +6,7 @@ Required:
* Java 11 * Java 11
* Maven 3.5+ * Maven 3.5+
To build without executing tests: `mvn clean package -DskipTests` To build without executing tests: `mvn clean package -Dmaven.test.skip=true`
## Building in IDEA ## Building in IDEA

View File

@ -1,54 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
github:
features:
# Enable issue management
issues: true
# Enable wiki for documentation
wiki: true
# Enable projects for project management boards
projects: true
description: HugeGraph Commons - include common library & RPC module
homepage: https://hugegraph.apache.org/
del_branch_on_merge: true
#labels:
enabled_merge_buttons:
merge: false
squash: true
rebase: true
protected_branches:
master:
required_status_checks:
# strict means "Require branches to be up-to-date before merging".
strict: true
# contexts are the names of checks that must pass
contexts:
- build (8)
- build (11)
required_pull_request_reviews:
dismiss_stale_reviews: true
require_code_owner_reviews: false
required_approving_review_count: 2
notifications:
pullrequests_status: dev@hugegraph.apache.org
# Note: before use the config, we should ensure the "mail" address has set well (exist)
#pullrequests_comment: issues@hugegraph.apache.org
#issues: issues@hugegraph.apache.org
#discussions: issues@hugegraph.apache.org

View File

@ -1,31 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
[*.{java, xml, py}]
indent_style = space
indent_size = 4
[*.{java, xml}]
# Ignore the IDEA unsupported warning & it works well (indeed)
continuation_indent_size = 8

View File

@ -1,8 +0,0 @@
# ignore when package to source.tgz
.github/ export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.asf.yaml export-ignore
apache-release.sh export-ignore
hugegraph-dist/scripts export-ignore

View File

@ -1,96 +0,0 @@
name: Bug report (反馈 Bug)
description: Create a bug report to help HugeGraph improve
title: '[Bug] describe the main problem'
labels:
- bug
body:
- type: markdown
attributes:
value: >-
### Note (特别注意) :
> 1. 请先**搜索**现有的[Server-Issues](https://github.com/apache/hugegraph/issues) 与
[Commons-Issues](https://github.com/apache/hugegraph-commons/issues) 中没有与您相同
/ 相关的问题 (请勿重复提交)
> 2. 我们需要尽可能**详细**的信息来**复现**问题, 越详细的信息 (包括**日志 / 截图 / 配置**等)
会**越快**被响应和处理
> 3. Issue 标题请保持原有模板分类(例如:`[Bug]`), 长段描述之间可以增加`空行`或使用`序号`标记, 保持排版清晰
> 4. 请在对应的模块提交 issue, 缺乏有效信息 / 长时间 (> 14 天) 没有回复的 issue 可能会被 **关闭**
(更新时会再开启)
- type: dropdown
attributes:
label: Bug Type (问题类型)
options:
- exception / error (异常报错)
- logic (逻辑设计问题)
- performance (性能下降)
- others (please edit later)
- type: checkboxes
attributes:
label: Before submit
options:
- label: 我已经确认现有的 [Server-Issues](https://github.com/apache/hugegraph/issues) 与 [Commons-Issues](https://github.com/apache/hugegraph-commons/issues) 中没有相同 / 重复问题
required: true
- type: textarea
attributes:
label: Environment (环境信息)
description: |
> server version could get from [rest-api](https://hugegraph.apache.org/docs/clients/restful-api/) (http://localhost:8080/versions)
value: |
- Server Version: v0.11.x
- Common Version: v1.x
validations:
required: true
- type: textarea
attributes:
label: Expected & Actual behavior (期望与实际表现)
description: |
> we can refer [How to create a minimal reproducible Example](https://stackoverflow.com/help/minimal-reproducible-example) (如何提供最简的可复现用例)
> if possible, please provide screenshots or GIF (请提供清晰的截图, 动图录屏更佳)
placeholder: |
type the main problem here
```java
// Exception / Error info (尽可能详细的日志 + 完整异常栈)
```
validations:
required: true
- type: textarea
attributes:
label: Vertex/Edge example (问题点 / 边数据举例)
description: |
> 如果问题与具体的点 / 边数据相关, 请提供完整的`查询语句 + 返回 JSON 结果`
placeholder: |
// Query URL
GET http://localhost:8080/gremlin?gremlin=hugegraph.traversal().V('1:tom')
// JSON of Vertex / Edge
{
"vertex": { "id": "xxx" }
}
render: javascript
- type: textarea
attributes:
label: Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)
description: |
> 如果问题与具体的点类型 / 边类型 / 索引类型相关, 请提供完整的 `Schema 返回 JSON 结果`
placeholder: |
// Query URL
GET http://localhost:8080/graphs/hugegraph/schema/vertexlabels
// JSON of GraphSchema
{
"vertex": { "id": "xxx" }
}
render: javascript

View File

@ -1,7 +0,0 @@
blank_issues_enabled: false
# 设置提 issue 前的参考文档
contact_links:
- name: HugeGraph API Doc
url: https://hugegraph.apache.org/docs/clients/
about: Please search usage here before opening a new issue

View File

@ -1,15 +0,0 @@
name: Feature request (新需求 / 功能)
description: Give an idea for HugeGraph
title: '[Feature] describe the new feature'
labels:
- feature
body:
- type: textarea
attributes:
label: Feature Description (功能描述)
description: |
> 请简要描述新功能 / 需求的使用场景或上下文, 最好能给个具体的例子说明
placeholder: type the feature description here
validations:
required: true

View File

@ -1,94 +0,0 @@
name: Ask question (提问)
description: Question about usage or configs in HugeGraph
title: '[Question] describe your problem'
body:
- type: markdown
attributes:
value: >-
### Note (特别注意) :
> 1. 请先**搜索**现有的[Server-Issues](https://github.com/apache/hugegraph/issues) 与
[Commons-Issues](https://github.com/apache/hugegraph-commons/issues) 中没有与您相同
/ 相关的问题 (请勿重复提交)
> 2. 我们需要尽可能**详细**的信息来**复现**问题, 越详细的信息 (包括**日志 / 截图 / 配置**等)
会**越快**被响应和处理
> 3. Issue 标题请保持原有模板分类(例如:`[Bug]`), 长段描述之间可以增加`空行`或使用`序号`标记, 保持排版清晰
> 4. 请在对应的模块提交 issue, 缺乏有效信息 / 长时间 (> 14 天) 没有回复的 issue 可能会被 **关闭**
(更新时会再开启)
- type: dropdown
attributes:
label: Problem Type (问题类型)
options:
- struct / logic (架构 / 逻辑设计问题)
- performance (性能优化)
- exception / error (异常报错)
- others (please edit later)
- type: checkboxes
attributes:
label: Before submit
options:
- label: 我已经确认现有的 [Server-Issues](https://github.com/apache/hugegraph/issues) 与 [Commons-Issues](https://github.com/apache/hugegraph-commons/issues) 中没有相同 / 重复问题
required: true
- type: textarea
attributes:
label: Environment (环境信息)
description: |
> server version could get from [rest-api](https://hugegraph.apache.org/docs/clients/restful-api/) (http://localhost:8080/versions)
value: |
- Server Version: v0.11.x
- Common Version: v1.x
validations:
required: true
- type: textarea
attributes:
label: Your Question (问题描述)
description: |
> 图使用 / 配置相关问题,请优先参考 [REST-API 文档](https://hugegraph.apache.org/docs/clients/restful-api/), 以及 [Server 配置文档](https://hugegraph.apache.org/docs/config/config-option/)
> if possible, please provide screenshots or GIF (请提供清晰的截图, 动图录屏更佳)
placeholder: |
type the main problem here
```java
// Exception / Error info (尽可能详细的日志 + 完整异常栈)
```
validations:
required: true
- type: textarea
attributes:
label: Vertex/Edge example (问题点 / 边数据举例)
description: |
> 如果问题与具体的点 / 边数据相关, 请提供完整的`查询语句 + 返回 JSON 结果`
placeholder: |
// Query URL
GET http://localhost:8080/gremlin?gremlin=hugegraph.traversal().V('1:tom')
// JSON of Vertex / Edge
{
"vertex": { "id": "xxx" }
}
render: javascript
- type: textarea
attributes:
label: Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)
description: |
> 如果问题与具体的点类型 / 边类型 / 索引类型相关, 请提供完整的 `Schema 返回 JSON 结果`
placeholder: |
// Query URL
GET http://localhost:8080/graphs/hugegraph/schema/vertexlabels
// JSON of GraphSchema
{
"vertex": { "id": "xxx" }
}
render: javascript

View File

@ -1,11 +0,0 @@
language: java
jdk:
- openjdk8
install: mvn compile -Dmaven.javadoc.skip=true
script: mvn test -Dtest=UnitTestSuite
after_success:
- bash <(curl -s https://codecov.io/bash)

View File

@ -1,35 +0,0 @@
name: "CLA Assistant"
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened,closed,synchronize]
jobs:
CLAssistant:
runs-on: ubuntu-latest
steps:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
uses: cla-assistant/github-action@v2.1.3-beta
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: '.github/cla-signatures/cla.json'
path-to-document: 'https://github.com/hugegraph/hugegraph-doc/blob/master/CLA.md' # e.g. a CLA or a DCO document
custom-allsigned-prcomment: '**Good**! All Contributors have signed the [CLA](https://github.com/hugegraph/hugegraph-doc/blob/master/CLA.md).'
# branch should not be protected
branch: 'cla-assist'
allowlist: bot*
lock-pullrequest-aftermerge: false
# the following are the optional inputs - If the optional inputs are not given, then default values will be taken
#remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository)
#remote-repository-name: enter the remote repository name where the signatures should be stored (Default is storing the signatures in the same repository)
#create-file-commit-message: 'For example: Creating file for storing CLA Signatures'
#signed-commit-message: 'For example: $contributorName has signed the CLA in #$pullRequestNo'
#custom-notsigned-prcomment: 'pull request comment with Introductory message to ask new contributors to sign'
#custom-pr-sign-comment: 'The signature to be committed in order to sign the CLA'
#use-dco-flag: true - If you are using DCO instead of CLA

View File

@ -1,39 +0,0 @@
name: release maven package
on:
release:
types: [ published ]
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Install JDK 8
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'zulu'
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Release Maven package
uses: samuelmeuli/action-maven-publish@v1
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg_passphrase: ${{ secrets.GPG_PASSPHRASE }}
nexus_username: ${{ secrets.NEXUS_USERNAME }}
nexus_password: ${{ secrets.NEXUS_PASSWORD }}
server_id: sonatype-nexus-staging
maven_profiles: "release"
maven_args: >
-Dmaven.test.skip=true

View File

@ -1,66 +0,0 @@
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
name: "CodeQL"
on:
pull_request:
# The branches below must be a subset of the branches above
# branches: [ master ] # enable in all PRs
schedule:
- cron: '33 15 * * 5'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'java' ]
steps:
- name: Checkout repository
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# 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
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v3
- name: 'Dependency Review'
uses: actions/dependency-review-action@v3

View File

@ -1,60 +0,0 @@
name: "license checker"
on:
workflow_dispatch:
push:
branches:
- master
- /^release-.*$/
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check-license-header:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# More info could refer to: https://github.com/apache/skywalking-eyes
- name: Check License Header
uses: apache/skywalking-eyes@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
log: info
config: .licenserc.yaml
- uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt'
- name: License check(RAT)
run: |
mvn apache-rat:check -ntp
find ./ -name rat.txt -print0 | xargs -0 -I file cat file > merged-rat.txt
grep "Binaries" merged-rat.txt -C 3 && cat merged-rat.txt
check-dependency-license:
runs-on: ubuntu-latest
env:
SCRIPT_DEPENDENCY: hugegraph-dist/scripts/dependency
steps:
- name: Checkout source
uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt'
- name: mvn install
run: |
mvn install -DskipTests=true -ntp
- name: generate current dependencies
run: |
bash $SCRIPT_DEPENDENCY/regenerate_known_dependencies.sh current-dependencies.txt
- name: check third dependencies
run: |
bash $SCRIPT_DEPENDENCY/check_dependencies.sh

View File

@ -1,38 +0,0 @@
name: "Mark stale issues and pull requests"
on:
schedule:
- cron: "0 21 * * *"
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'Due to the lack of activity, the current issue is marked as stale and will be closed after 20 days, any update will remove the stale label'
stale-pr-message: 'Due to the lack of activity, the current pr is marked as stale and will be closed after 180 days, any update will remove the stale label'
stale-issue-label: 'inactive'
stale-pr-label: 'inactive'
exempt-issue-labels: 'feature,bug,enhancement,improvement,todo,guide,doc,help wanted,security'
exempt-pr-labels: 'feature,bug,enhancement,improvement,todo,guide,doc,help wanted,security'
exempt-all-milestones: true
days-before-issue-stale: 15
days-before-issue-close: 20
days-before-pr-stale: 30
days-before-pr-close: 180
operations-per-run: 10
start-date: '2018-10-01T00:00:00Z'
exempt-all-assignees: true
remove-stale-when-updated: true
exempt-all-pr-milestones: true
delete-branch: false
enable-statistics: true

View File

@ -1,84 +0,0 @@
target/
**.db
logs/
ui
node_modules/
upload-files/
demo*
gen-java
build
*.class
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
.svn
### IntelliJ IDEA ###
.idea/
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/nbdist/
/.nb-gradle/
build/
dist/
### VS Code ###
.vscode/
# misc
.DS_Store
*/.DS_Store
**/*.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
*.orig
*.rej
**/.keep
*.sdf
*.suo
*.vcxproj.user
*.swp
*.log
*.pyc
# maven ignore
output/
apache-hugegraph-*-incubating-*/
*.war
*.zip
*.tar
*.tar.gz*
tree.txt
*.versionsBackup
.flattened-pom.xml
# eclipse ignore
.settings/
# temp ignore
*.cache
*.diff
*.patch
*.tmp
# system ignore
Thumbs.db
hs_err_pid*
# mobile Tools for Java (J2ME)
.mtj.tmp/
# blueJ files
*.ctxt

View File

@ -1,79 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
header: # `header` section is configurations for source codes license header.
license:
spdx-id: Apache-2.0 # the spdx id of the license, it's convenient when your license is standard SPDX license.
copyright-owner: Apache Software Foundation # the copyright owner to replace the [owner] in the `spdx-id` template.
content: | # `license` will be used as the content when `fix` command needs to insert a license header.
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
# `pattern` is optional regexp if all the file headers are the same as `license` or the license of `spdx-id` and `copyright-owner`.
pattern: |
Licensed to the Apache Software Foundation under one or more contributor
license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright
ownership. The Apache Software Foundation licenses this file to you under
the Apache License, Version 2.0 \(the "License"\); you may
not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
paths: # `paths` are the path list that will be checked (and fixed) by license-eye, default is ['**'].
- '**'
paths-ignore: # `paths-ignore` are the path list that will be ignored by license-eye.
- '.gitignore'
- 'LICENSE'
- 'NOTICE'
- 'DISCLAIMER'
- '**/*.md'
- '**/*.versionsBackup'
- '**/*.log'
- '**/*.conf'
- '**/*.txt'
- '**/*.csv'
- '**/*.json'
- '**/*.svg'
- '**/*.gitattributes'
- '**/.flattened-pom.xml'
- '**/.prettierrc'
- '**/*.MF'
- '**/.stylelintrc'
- 'assembly/**'
- '.github/**/*'
- '**/target/*'
comment: on-failure # on what condition license-eye will comment on the pull request, `on-failure`, `always`, `never`.
# license-location-threshold specifies the index threshold where the license header can be located,
# after all, a "header" cannot be TOO far from the file start.
license-location-threshold: 80

View File

@ -1,7 +0,0 @@
Apache HugeGraph (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.
Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications,
and decision making process have stabilized in a manner consistent with other successful ASF projects.
While incubation status is not necessarily a reflection of the completeness or stability of the code,
it does indicate that the project has yet to be fully endorsed by the ASF.

View File

@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,7 +0,0 @@
Apache HugeGraph(incubating)
Copyright 2022-2023 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
The initial codebase was donated to the ASF by HugeGraph Authors, copyright 2017-2021.

View File

@ -24,5 +24,5 @@ public class CommonVersion {
public static final String NAME = "hugegraph-common"; public static final String NAME = "hugegraph-common";
// The second parameter of Version.of() is for all-in-one JAR // The second parameter of Version.of() is for all-in-one JAR
public static final Version VERSION = Version.of(CommonVersion.class, "1.3.0"); public static final Version VERSION = Version.of(CommonVersion.class, "1.5.0");
} }

View File

@ -6,4 +6,3 @@ Specification-Title: hugegraph-common
Created-By: Apache Maven 3.3.9 Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_111 Build-Jdk: 1.8.0_111
Specification-Version: 1.8.8 Specification-Version: 1.8.8

View File

@ -24,5 +24,5 @@ public class RpcVersion {
public static final String NAME = "hugegraph-rpc"; public static final String NAME = "hugegraph-rpc";
// The second parameter of Version.of() is for all-in-one JAR // The second parameter of Version.of() is for all-in-one JAR
public static final Version VERSION = Version.of(RpcVersion.class, "1.3.0"); public static final Version VERSION = Version.of(RpcVersion.class, "1.5.0");
} }

View File

@ -20,7 +20,6 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.apache.hugegraph</groupId>
<artifactId>hugegraph-commons</artifactId> <artifactId>hugegraph-commons</artifactId>
<version>${revision}</version> <version>${revision}</version>
<packaging>pom</packaging> <packaging>pom</packaging>
@ -35,9 +34,10 @@
</description> </description>
<parent> <parent>
<groupId>org.apache</groupId> <groupId>org.apache.hugegraph</groupId>
<artifactId>apache</artifactId> <artifactId>hugegraph</artifactId>
<version>23</version> <version>${revision}</version>
<relativePath>../pom.xml</relativePath>
</parent> </parent>
<licenses> <licenses>
@ -90,7 +90,7 @@
<properties> <properties>
<!-- Note: We need also update the version in CommonVersion.java & RpcVersion.java now --> <!-- Note: We need also update the version in CommonVersion.java & RpcVersion.java now -->
<revision>1.3.0</revision> <revision>1.5.0</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<top.level.dir>${project.basedir}/..</top.level.dir> <top.level.dir>${project.basedir}/..</top.level.dir>
<compiler.source>1.8</compiler.source> <compiler.source>1.8</compiler.source>
@ -116,6 +116,7 @@
<sun.xml.version>3.0.2</sun.xml.version> <sun.xml.version>3.0.2</sun.xml.version>
<checkstyle.plugin.version>3.1.2</checkstyle.plugin.version> <checkstyle.plugin.version>3.1.2</checkstyle.plugin.version>
<checkstyle.version>8.45</checkstyle.version> <checkstyle.version>8.45</checkstyle.version>
<skipCommonsTests>false</skipCommonsTests>
</properties> </properties>
<modules> <modules>
@ -280,6 +281,15 @@
</execution--> </execution-->
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<skipTests>${skipCommonsTests}</skipTests>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>

View File

@ -1,234 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
<property name="charset" value="UTF-8"/>
<property name="severity" value="info"/>
<property name="fileExtensions" value="java, properties, xml"/>
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
</module>
<module name="LineLength">
<property name="max" value="100"/>
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://|Reflection\.*"/>
</module>
<module name="RegexpSingleline">
<property name="format" value="System\.out\.println"/>
<property name="message" value="Prohibit invoking System.out.println in source code !"/>
</module>
<module name="TreeWalker">
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
<message key="name.invalidPattern" value="Package name ''{0}'' must match pattern ''{1}''."/>
</module>
<!-- <module name="ImportOrder">-->
<!-- <property name="staticGroups"-->
<!-- value="org.apache,java,javax,org,com,com.baidu.hugegraph"/>-->
<!-- <property name="separatedStaticGroups" value="true"/>-->
<!-- <property name="groups" value="org.apache,java,javax,org,com,com.baidu.hugegraph"/>-->
<!-- <property name="ordered" value="true"/>-->
<!-- <property name="separated" value="true"/>-->
<!-- <property name="option" value="top"/>-->
<!-- <property name="sortStaticImportsAlphabetically" value="true"/>-->
<!-- </module>-->
<module name="AvoidStarImport"/>
<module name="RedundantImport"/>
<module name="RedundantModifier"/>
<module name="UnusedImports"/>
<module name="EmptyLineSeparator">
<property name="allowMultipleEmptyLines" value="false"/>
<property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/>
<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF,INTERFACE_DEF, ENUM_DEF, STATIC_INIT, INSTANCE_INIT, METHOD_DEF,CTOR_DEF"/>
</module>
<module name="ModifierOrder"/>
<module name="TypeName">
<message key="name.invalidPattern" value="Type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ClassTypeParameterName">
<property name="format" value="^[A-Z][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern" value="Class type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ConstantName">
<property name="format" value="^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
</module>
<module name="LocalVariableName">
<property name="tokens" value="VARIABLE_DEF"/>
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MemberName">
<property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Member name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ParameterName">
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="CatchParameterName">
<property name="format" value="^[a-z]([a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ArrayTypeStyle"/>
<module name="MethodTypeParameterName">
<property name="format" value="^[A-Z][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Method type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MethodName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
<message key="name.invalidPattern"
value="Method name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="InterfaceTypeParameterName">
<property name="format" value="^[A-Z][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="EqualsHashCode"/>
<module name="MissingSwitchDefault"/>
<module name="DefaultComesLast"/>
<module name="SuperClone"/>
<module name="NoFinalizer"/>
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
<message key="ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
<message key="ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
<message key="ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
</module>
<module name="Indentation">
<property name="basicOffset" value="4"/>
<property name="braceAdjustment" value="0"/>
<property name="caseIndent" value="4"/>
<property name="throwsIndent" value="2"/>
<property name="lineWrappingIndentation" value="4"/>
<property name="arrayInitIndent" value="4"/>
</module>
<module name="UpperEll"/>
<module name="IllegalImport">
<property name="regexp" value="true"/>
<property name="illegalPkgs"
value="^com\.google\.api\.client\.repackaged,
^avro\.shaded, ^org\.apache\.hadoop\.hbase\.shaded,
^org\.apache\.hadoop\.shaded,
^javax\.ws\.rs\.ext,
^cc\.concurrent\.mango\.util\.concurrent,
^org\.apache\.curator-test\.shaded,
^com\.sun\.istack,
^org\.jetbrains\.annotations,
^jline\.internal,
^com\.cronutils\.utils,
^javax\.ws\.rs\.ext,
^org\.jboss\.netty\.util\.internal,
^com\.sun\.javafx,
^io\.reactivex\.annotations,
^org\.codehaus\.jackson"/>
<property name="illegalClasses"
value="^java\.util\.logging\.Logging,
^sun\.misc\.BASE64Encoder,
^sun\.misc\.BASE64Decoder,
^jdk\.internal\.jline\.internal\.Nullable"/>
</module>
<module name="NoWhitespaceBefore">
<property name="tokens" value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>
<property name="allowLineBreaks" value="true"/>
</module>
<module name="ParenPad"/>
<module name="OperatorWrap">
<property name="option" value="eol"/>
<property name="tokens"
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>
</module>
<module name="AnnotationLocation">
<property name="allowSamelineMultipleAnnotations" value="false"/>
<property name="allowSamelineSingleParameterlessAnnotation"
value="false"/>
<property name="allowSamelineParameterizedAnnotation" value="true"/>
<property name="tokens" value="METHOD_DEF, CTOR_DEF"/>
</module>
<module name="EmptyCatchBlock">
<property name="exceptionVariableName" value="expected"/>
</module>
<module name="CommentsIndentation"/>
<module name="NoLineWrap">
<!-- <property name="severity" value="error"/>-->
</module>
<module name="EmptyStatement">
<!-- <property name="severity" value="error"/>-->
</module>
<module name="NeedBraces">
<!-- <property name="severity" value="error"/>-->
</module>
<module name="LeftCurly">
<!-- <property name="severity" value="error"/>-->
</module>
<module name="WhitespaceAround">
<property name="allowEmptyConstructors" value="true"/>
<property name="allowEmptyMethods" value="true"/>
<property name="allowEmptyTypes" value="true"/>
<property name="allowEmptyLoops" value="true"/>
<message key="ws.notFollowed" value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
<message key="ws.notPreceded" value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
</module>
<module name="AvoidNestedBlocks">
<property name="allowInSwitchCase" value="true"/>
</module>
<module name="IllegalTokenText">
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
<property name="format" value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
<property name="message" value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
</module>
<module name="AvoidEscapedUnicodeCharacters">
<property name="allowEscapesForControlCharacters" value="true"/>
<property name="allowByTailComment" value="true"/>
<property name="allowNonPrintableEscapes" value="true"/>
</module>
<module name="EmptyBlock">
<property name="option" value="TEXT"/>
<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
</module>
<module name="OneStatementPerLine"/>
<module name="MultipleVariableDeclarations"/>
<module name="MissingSwitchDefault"/>
<module name="FallThrough"/>
<module name="OuterTypeFilename">
<!-- <property name="severity" value="error"/>-->
</module>
<module name="OneTopLevelClass">
<!-- <property name="severity" value="error"/>-->
</module>
<module name="JavadocStyle">
<property name="endOfSentenceFormat" value=""/>
</module>
<module name="JavadocType">
<property name="scope" value="protected"/>
<property name="allowMissingParamTags" value="true"/>
</module>
</module>
</module>

View File

@ -23,7 +23,7 @@ COPY . /pkg
WORKDIR /pkg WORKDIR /pkg
ARG MAVEN_ARGS ARG MAVEN_ARGS
RUN mvn package $MAVEN_ARGS -e -B -ntp -DskipTests -Dmaven.javadoc.skip=true && pwd && ls -l && rm \ RUN mvn package $MAVEN_ARGS -e -B -ntp -Dmaven.test.skip=true -Dmaven.javadoc.skip=true && pwd && ls -l && rm \
./hugegraph-server/*.tar.gz && rm ./hugegraph-pd/*.tar.gz && rm ./hugegraph-store/*.tar.gz ./hugegraph-server/*.tar.gz && rm ./hugegraph-pd/*.tar.gz && rm ./hugegraph-store/*.tar.gz
# 2nd stage: runtime env # 2nd stage: runtime env

View File

@ -23,7 +23,7 @@ COPY . /pkg
WORKDIR /pkg WORKDIR /pkg
ARG MAVEN_ARGS ARG MAVEN_ARGS
RUN mvn package $MAVEN_ARGS -e -B -ntp -DskipTests -Dmaven.javadoc.skip=true && pwd && ls -l && rm \ RUN mvn package $MAVEN_ARGS -e -B -ntp -Dmaven.test.skip=true -Dmaven.javadoc.skip=true && pwd && ls -l && rm \
./hugegraph-server/*.tar.gz && rm ./hugegraph-pd/*.tar.gz && rm ./hugegraph-store/*.tar.gz ./hugegraph-server/*.tar.gz && rm ./hugegraph-pd/*.tar.gz && rm ./hugegraph-store/*.tar.gz
# 2nd stage: runtime env # 2nd stage: runtime env

View File

@ -35,7 +35,7 @@ JACOCO_PORT=36320
RAFT_TOOLS=$RAFT1_DIR/bin/raft-tools.sh RAFT_TOOLS=$RAFT1_DIR/bin/raft-tools.sh
RAFT_LEADER="127.0.0.1:8091" RAFT_LEADER="127.0.0.1:8091"
mvn package -DskipTests mvn package -Dmaven.test.skip=true
# mkdir for each raft-server # mkdir for each raft-server
cp -r $SERVER_DIR $RAFT1_DIR cp -r $SERVER_DIR $RAFT1_DIR
@ -57,7 +57,7 @@ export HUGEGRAPH_PASSWORD=pa
$RAFT_TOOLS --set-leader "hugegraph" "$RAFT_LEADER" $RAFT_TOOLS --set-leader "hugegraph" "$RAFT_LEADER"
# run api-test # run api-test
mvn test -pl hugegraph-server/hugegraph-test -am -P api-test,$BACKEND || (cat $RAFT1_DIR/logs/hugegraph-server.log && exit 1) mvn test -pl hugegraph-server/hugegraph-test -am -P api-test,$BACKEND -DskipCommonsTests=true || (cat $RAFT1_DIR/logs/hugegraph-server.log && exit 1)
$TRAVIS_DIR/build-report.sh $BACKEND $JACOCO_PORT $REPORT_FILE $TRAVIS_DIR/build-report.sh $BACKEND $JACOCO_PORT $REPORT_FILE

View File

@ -29,7 +29,7 @@ REST_SERVER_CONF=$SERVER_DIR/conf/rest-server.properties
GREMLIN_SERVER_CONF=$SERVER_DIR/conf/gremlin-server.yaml GREMLIN_SERVER_CONF=$SERVER_DIR/conf/gremlin-server.yaml
JACOCO_PORT=36320 JACOCO_PORT=36320
mvn package -DskipTests -ntp mvn package -Dmaven.test.skip=true -ntp
# add mysql dependency # add mysql dependency
wget -P $SERVER_DIR/lib/ https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar wget -P $SERVER_DIR/lib/ https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar
@ -57,7 +57,7 @@ authentication: {
$TRAVIS_DIR/start-server.sh $SERVER_DIR $BACKEND $JACOCO_PORT || (cat $SERVER_DIR/logs/hugegraph-server.log && exit 1) $TRAVIS_DIR/start-server.sh $SERVER_DIR $BACKEND $JACOCO_PORT || (cat $SERVER_DIR/logs/hugegraph-server.log && exit 1)
# run api-test # run api-test
mvn test -pl hugegraph-server/hugegraph-test -am -P api-test,$BACKEND || (cat $SERVER_DIR/logs/hugegraph-server.log && exit 1) mvn test -pl hugegraph-server/hugegraph-test -am -P api-test,$BACKEND -DskipCommonsTests=true || (cat $SERVER_DIR/logs/hugegraph-server.log && exit 1)
$TRAVIS_DIR/build-report.sh $BACKEND $JACOCO_PORT $REPORT_FILE $TRAVIS_DIR/build-report.sh $BACKEND $JACOCO_PORT $REPORT_FILE

View File

@ -19,4 +19,4 @@ set -ev
BACKEND=$1 BACKEND=$1
mvn test -pl hugegraph-server/hugegraph-test -am -P core-test,$BACKEND mvn test -pl hugegraph-server/hugegraph-test -am -P core-test,$BACKEND -DskipCommonsTests=true

View File

@ -21,9 +21,9 @@ BACKEND=$1
SUITE=$2 SUITE=$2
if [[ "$SUITE" == "structure" || "$SUITE" == "tinkerpop" ]]; then if [[ "$SUITE" == "structure" || "$SUITE" == "tinkerpop" ]]; then
mvn test -pl hugegraph-server/hugegraph-test -am -P tinkerpop-structure-test,$BACKEND mvn test -pl hugegraph-server/hugegraph-test -am -P tinkerpop-structure-test,$BACKEND -DskipCommonsTests=true
fi fi
if [[ "$SUITE" == "process" || "$SUITE" == "tinkerpop" ]]; then if [[ "$SUITE" == "process" || "$SUITE" == "tinkerpop" ]]; then
mvn test -pl hugegraph-server/hugegraph-test -am -P tinkerpop-process-test,$BACKEND mvn test -pl hugegraph-server/hugegraph-test -am -P tinkerpop-process-test,$BACKEND -DskipCommonsTests=true
fi fi

View File

@ -20,5 +20,5 @@ set -ev
BACKEND=$1 BACKEND=$1
if [[ "$BACKEND" == "memory" ]]; then if [[ "$BACKEND" == "memory" ]]; then
mvn test -pl hugegraph-server/hugegraph-test -am -P unit-test mvn test -pl hugegraph-server/hugegraph-test -am -P unit-test -DskipCommonsTests=true
fi fi

View File

@ -23,7 +23,7 @@ COPY . /pkg
WORKDIR /pkg WORKDIR /pkg
ARG MAVEN_ARGS ARG MAVEN_ARGS
RUN mvn package $MAVEN_ARGS -e -B -ntp -DskipTests -Dmaven.javadoc.skip=true && pwd && ls -l && rm \ RUN mvn package $MAVEN_ARGS -e -B -ntp -Dmaven.test.skip=true -Dmaven.javadoc.skip=true && pwd && ls -l && rm \
./hugegraph-server/*.tar.gz && rm ./hugegraph-pd/*.tar.gz && rm ./hugegraph-store/*.tar.gz ./hugegraph-server/*.tar.gz && rm ./hugegraph-pd/*.tar.gz && rm ./hugegraph-store/*.tar.gz
# 2nd stage: runtime env # 2nd stage: runtime env

View File

@ -1,6 +1,7 @@
accessors-smart-1.2.jar accessors-smart-1.2.jar
airline-0.8.jar airline-0.8.jar
android-json-0.0.20131108.vaadin1.jar android-json-0.0.20131108.vaadin1.jar
animal-sniffer-annotations-1.18.jar
animal-sniffer-annotations-1.19.jar animal-sniffer-annotations-1.19.jar
annotations-13.0.jar annotations-13.0.jar
annotations-4.1.1.4.jar annotations-4.1.1.4.jar
@ -25,6 +26,7 @@ assertj-core-3.19.0.jar
ast-9.0-9.0.20190305.jar ast-9.0-9.0.20190305.jar
audience-annotations-0.5.0.jar audience-annotations-0.5.0.jar
auto-service-annotations-1.0.jar auto-service-annotations-1.0.jar
bolt-1.6.2.jar
bolt-1.6.4.jar bolt-1.6.4.jar
byte-buddy-1.10.20.jar byte-buddy-1.10.20.jar
byte-buddy-1.10.5.jar byte-buddy-1.10.5.jar
@ -104,21 +106,28 @@ groovy-jsr223-2.5.14-indy.jar
groovy-swing-2.5.14.jar groovy-swing-2.5.14.jar
groovy-templates-2.5.14.jar groovy-templates-2.5.14.jar
groovy-xml-2.5.14.jar groovy-xml-2.5.14.jar
grpc-api-1.28.1.jar
grpc-api-1.39.0.jar grpc-api-1.39.0.jar
grpc-api-1.47.0.jar grpc-api-1.47.0.jar
grpc-context-1.28.1.jar
grpc-context-1.39.0.jar grpc-context-1.39.0.jar
grpc-context-1.47.0.jar grpc-context-1.47.0.jar
grpc-core-1.28.1.jar
grpc-core-1.39.0.jar grpc-core-1.39.0.jar
grpc-core-1.47.0.jar grpc-core-1.47.0.jar
grpc-grpclb-1.39.0.jar grpc-grpclb-1.39.0.jar
grpc-netty-1.39.0.jar grpc-netty-1.39.0.jar
grpc-netty-1.47.0.jar grpc-netty-1.47.0.jar
grpc-netty-shaded-1.28.0.jar
grpc-netty-shaded-1.39.0.jar grpc-netty-shaded-1.39.0.jar
grpc-netty-shaded-1.47.0.jar grpc-netty-shaded-1.47.0.jar
grpc-protobuf-1.28.0.jar
grpc-protobuf-1.39.0.jar grpc-protobuf-1.39.0.jar
grpc-protobuf-lite-1.28.0.jar
grpc-protobuf-lite-1.39.0.jar grpc-protobuf-lite-1.39.0.jar
grpc-services-1.39.0.jar grpc-services-1.39.0.jar
grpc-spring-boot-starter-4.5.5.jar grpc-spring-boot-starter-4.5.5.jar
grpc-stub-1.28.0.jar
grpc-stub-1.39.0.jar grpc-stub-1.39.0.jar
grpc-stub-1.47.0.jar grpc-stub-1.47.0.jar
gson-2.8.6.jar gson-2.8.6.jar
@ -134,6 +143,7 @@ hbase-shaded-endpoint-2.0.6.jar
HdrHistogram-2.1.12.jar HdrHistogram-2.1.12.jar
HdrHistogram-2.1.9.jar HdrHistogram-2.1.9.jar
hessian-3.3.6.jar hessian-3.3.6.jar
hessian-3.3.7.jar
hg-pd-client-1.5.0.jar hg-pd-client-1.5.0.jar
hg-pd-common-1.5.0.jar hg-pd-common-1.5.0.jar
hg-pd-core-1.5.0.jar hg-pd-core-1.5.0.jar
@ -318,9 +328,11 @@ log4j-jul-2.17.2.jar
log4j-slf4j-impl-2.15.0.jar log4j-slf4j-impl-2.15.0.jar
log4j-slf4j-impl-2.17.0.jar log4j-slf4j-impl-2.17.0.jar
log4j-slf4j-impl-2.17.1.jar log4j-slf4j-impl-2.17.1.jar
log4j-slf4j-impl-2.18.0.jar
logging-interceptor-4.10.0.jar logging-interceptor-4.10.0.jar
lombok-1.18.20.jar lombok-1.18.20.jar
lombok-1.18.24.jar lombok-1.18.24.jar
lombok-1.18.8.jar
lookout-api-1.4.1.jar lookout-api-1.4.1.jar
lucene-analyzers-common-8.11.2.jar lucene-analyzers-common-8.11.2.jar
lucene-analyzers-smartcn-8.11.2.jar lucene-analyzers-smartcn-8.11.2.jar
@ -388,6 +400,7 @@ osgi-resource-locator-1.0.3.jar
parboiled-core-1.2.0.jar parboiled-core-1.2.0.jar
parboiled-scala_2.12-1.2.0.jar parboiled-scala_2.12-1.2.0.jar
parser-9.0-9.0.20190305.jar parser-9.0-9.0.20190305.jar
perfmark-api-0.19.0.jar
perfmark-api-0.23.0.jar perfmark-api-0.23.0.jar
perfmark-api-0.25.0.jar perfmark-api-0.25.0.jar
picocli-4.3.2.jar picocli-4.3.2.jar
@ -401,10 +414,12 @@ powermock-module-junit4-2.0.0-RC.3.jar
powermock-module-junit4-common-2.0.0-RC.3.jar powermock-module-junit4-common-2.0.0-RC.3.jar
powermock-module-junit4-rule-2.0.0-RC.3.jar powermock-module-junit4-rule-2.0.0-RC.3.jar
powermock-reflect-2.0.0-RC.3.jar powermock-reflect-2.0.0-RC.3.jar
protobuf-java-3.11.0.jar
protobuf-java-3.17.2.jar protobuf-java-3.17.2.jar
protobuf-java-3.21.7.jar protobuf-java-3.21.7.jar
protobuf-java-3.5.1.jar protobuf-java-3.5.1.jar
protobuf-java-util-3.17.2.jar protobuf-java-util-3.17.2.jar
proto-google-common-protos-1.17.0.jar
proto-google-common-protos-2.0.1.jar proto-google-common-protos-2.0.1.jar
protostuff-api-1.6.0.jar protostuff-api-1.6.0.jar
protostuff-collectionschema-1.6.0.jar protostuff-collectionschema-1.6.0.jar
@ -440,6 +455,7 @@ sjk-stacktrace-0.22.jar
slf4j-api-1.7.21.jar slf4j-api-1.7.21.jar
slf4j-api-1.7.25.jar slf4j-api-1.7.25.jar
slf4j-api-1.7.32.jar slf4j-api-1.7.32.jar
snakeyaml-1.18.jar
snakeyaml-1.26.jar snakeyaml-1.26.jar
snakeyaml-1.27.jar snakeyaml-1.27.jar
snakeyaml-1.28.jar snakeyaml-1.28.jar

View File

@ -87,7 +87,7 @@
<properties> <properties>
<revision>1.5.0</revision> <revision>1.5.0</revision>
<hugegraph-commons.version>1.3.0</hugegraph-commons.version> <hugegraph-commons.version>1.5.0</hugegraph-commons.version>
<release.name>hugegraph</release.name> <release.name>hugegraph</release.name>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source> <maven.compiler.source>11</maven.compiler.source>
@ -99,6 +99,7 @@
<module>hugegraph-server</module> <module>hugegraph-server</module>
<module>hugegraph-pd</module> <module>hugegraph-pd</module>
<module>hugegraph-store</module> <module>hugegraph-store</module>
<module>hugegraph-commons</module>
<module>install-dist</module> <module>install-dist</module>
</modules> </modules>
@ -272,6 +273,7 @@
<!-- You can exclude further files from processing: --> <!-- You can exclude further files from processing: -->
<exclude>**/*.txt</exclude> <exclude>**/*.txt</exclude>
<exclude>**/.flattened-pom.xml</exclude> <exclude>**/.flattened-pom.xml</exclude>
<exclude>**/apache-hugegraph-*/**/*</exclude>
</excludes> </excludes>
<!-- All files are included by default: <!-- All files are included by default:
<includes> <includes>