This is an automated email from the ASF dual-hosted git repository.
vaughn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph.git
The following commit(s) were added to refs/heads/master by this push:
new 9cbb61862 chore: prepare for apache v1.0.0 release (#2048)
9cbb61862 is described below
commit 9cbb61862c6e01c5251abd064eefc0afdceafb47
Author: imbajin <[email protected]>
AuthorDate: Wed Dec 14 17:52:01 2022 +0800
chore: prepare for apache v1.0.0 release (#2048)
* chore: apache release
* chore: update release script & remove redundant pom config
---
.gitattributes | 14 +++
.gitignore | 7 +-
.licenserc.yaml | 1 +
BUILDING.md | 7 +-
build.sh | 24 -----
hugegraph-api/pom.xml | 17 +---
.../org/apache/hugegraph/api/graph/VertexAPI.java | 4 +-
hugegraph-cassandra/pom.xml | 16 +---
hugegraph-core/pom.xml | 16 +---
hugegraph-dist/pom.xml | 5 +-
hugegraph-dist/scripts/apache-release.sh | 105 +++++++++++++++++++++
hugegraph-example/pom.xml | 21 +----
hugegraph-style.xml | 2 +
hugegraph-test/pom.xml | 19 +---
pom.xml | 83 ++++++++++------
15 files changed, 194 insertions(+), 147 deletions(-)
diff --git a/.gitattributes b/.gitattributes
new file mode 100755
index 000000000..e66a894fb
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,14 @@
+# ignored file when package to source.tgz
+.gitattributes export-ignore
+.gitignore export-ignore
+.asf.yaml export-ignore
+checkstyle.xml export-ignore
+apache-release.sh export-ignore
+.licenserc.yaml export-ignore
+.editorconfig export-ignore
+
+# ignored directory
+.github/ export-ignore
+hugegraph-dist/scripts/ export-ignore
+style/ export-ignore
+#assembly/ export-ignore
diff --git a/.gitignore b/.gitignore
index 782c85270..47bbf4017 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,6 @@ node_modules
upload-files/
demo*
gen-java
-build
*.class
### STS ###
@@ -29,9 +28,9 @@ build
### NetBeans ###
/nbproject/private/
/nbbuild/
-/dist/
/nbdist/
/.nb-gradle/
+dist/
build/
### VS Code ###
@@ -57,15 +56,17 @@ build/
*.pyc
# maven ignore
+apache-hugegraph-incubating-*/
output/
*.war
*.zip
*.tar
-*.tar.gz
+*.tar.gz*
tree.txt
*.versionsBackup
.flattened-pom.xml
+
# eclipse ignore
.settings/
diff --git a/.licenserc.yaml b/.licenserc.yaml
index 953dad4f0..e79935c6f 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -53,6 +53,7 @@ header: # `header` section is configurations for source codes
license header.
paths-ignore: # `paths-ignore` are the path list that will be ignored by
license-eye.
- '.gitignore'
+ - '.gitattributes'
- 'LICENSE'
- '**/*.versionsBackup'
- '**/*.versionsBackup'
diff --git a/BUILDING.md b/BUILDING.md
index 3ac025a69..d99dda447 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -3,7 +3,7 @@ Building hugegraph
Required:
-* Java 8 (0.9 and later)
+* Java 8/11
* Maven
To build without executing tests:
@@ -38,8 +38,7 @@ To build without executing tests:
1. Click on "File" -> "Open", choose your project location.
2. Open maven view by click "View" -> "Tool Windows" -> "Maven Projects".
-3. Choose root module "hugegraph: Distributed Graph Database", unfold the
-menu of "Lifecycle".
+3. Choose root module "hugegraph: Distributed Graph Database", unfold the menu
of "Lifecycle".
4. Click the "Toggle 'Skip Tests' Mode" button which is located on the top
navibar of "Maven Projects" window to skip tests.
-5. Double click "package" or "install" to build project.
\ No newline at end of file
+5. Double click "package" or "install" to build project.
diff --git a/build.sh b/build.sh
deleted file mode 100644
index 43191e263..000000000
--- a/build.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-#
-# 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.
-#
-
-export MAVEN_HOME=/home/scmtools/buildkit/maven/apache-maven-3.3.9/
-export JAVA_HOME=/home/scmtools/buildkit/java/jdk1.8.0_25/
-export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
-
-mvn clean compile
-
diff --git a/hugegraph-api/pom.xml b/hugegraph-api/pom.xml
index 650805c2b..81077464b 100644
--- a/hugegraph-api/pom.xml
+++ b/hugegraph-api/pom.xml
@@ -148,27 +148,12 @@
<build>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>${top.level.dir}</directory>
- <includes>
- <include>*.tar.gz</include>
- </includes>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>${final.name}</directory>
- </fileset>
- </filesets>
- </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
<configuration>
<archive>
<index>true</index>
diff --git
a/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java
b/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java
index cb4854a85..333cc7482 100644
--- a/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java
+++ b/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java
@@ -127,8 +127,8 @@ public class VertexAPI extends BatchAPI {
/**
* Batch update steps like:
- * 1. Get all newVertices' ID & combine first
- * 2. Get all oldVertices & update
+ * 1. Get all newVertices' ID & combine first
+ * 2. Get all oldVertices & update
* 3. Add the final vertex together
*/
@PUT
diff --git a/hugegraph-cassandra/pom.xml b/hugegraph-cassandra/pom.xml
index 54734959b..ac9e3f4e1 100644
--- a/hugegraph-cassandra/pom.xml
+++ b/hugegraph-cassandra/pom.xml
@@ -99,22 +99,8 @@
<build>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>${top.level.dir}</directory>
- <includes>
- <include>*.tar.gz</include>
- </includes>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>${final.name}</directory>
- </fileset>
- </filesets>
- </configuration>
</plugin>
</plugins>
</build>
diff --git a/hugegraph-core/pom.xml b/hugegraph-core/pom.xml
index ccf6bec45..e0e3a887c 100644
--- a/hugegraph-core/pom.xml
+++ b/hugegraph-core/pom.xml
@@ -291,22 +291,8 @@
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>${top.level.dir}</directory>
- <includes>
- <include>*.tar.gz</include>
- </includes>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>${final.name}</directory>
- </fileset>
- </filesets>
- </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
diff --git a/hugegraph-dist/pom.xml b/hugegraph-dist/pom.xml
index 91a63e51d..ad5d5552d 100644
--- a/hugegraph-dist/pom.xml
+++ b/hugegraph-dist/pom.xml
@@ -149,14 +149,15 @@
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
<configuration>
<filesets>
<fileset>
<directory>${top.level.dir}</directory>
<includes>
<include>*.tar.gz</include>
+ <include>.flattened-pom.xml</include>
<!--<include>${final.name}/**</include>-->
</includes>
<followSymlinks>false</followSymlinks>
@@ -178,7 +179,7 @@
</goals>
<configuration>
<target>
- <tar
destfile="${top.level.dir}/${final.name}.tar.gz"
+ <tar destfile="${final.destfile}"
basedir="${top.level.dir}"
includes="${final.name}/**"
compression="gzip"/>
diff --git a/hugegraph-dist/scripts/apache-release.sh
b/hugegraph-dist/scripts/apache-release.sh
new file mode 100755
index 000000000..376d26ee6
--- /dev/null
+++ b/hugegraph-dist/scripts/apache-release.sh
@@ -0,0 +1,105 @@
+#!/usr/bin/env bash
+#
+# 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.
+#
+
+GROUP="hugegraph"
+# current repository name
+REPO="${GROUP}"
+# release version (input by committer)
+RELEASE_VERSION=$1
+USERNAME=$2
+PASSWORD=$3
+# git release branch (check it carefully)
+GIT_BRANCH="release-${RELEASE_VERSION}"
+
+RELEASE_VERSION=${RELEASE_VERSION:?"Please input the release version behind
script"}
+
+WORK_DIR=$(
+ cd "$(dirname "$0")" || exit
+ pwd
+)
+cd "${WORK_DIR}" || exit
+echo "In the work dir: $(pwd)"
+
+# clean old dir then build a new one
+rm -rf dist && mkdir -p dist/apache-${REPO}
+
+# step1: package the source code
+cd ../../
+git archive --format=tar.gz \
+
--output="hugegraph-dist/scripts/dist/apache-${REPO}/apache-${REPO}-incubating-${RELEASE_VERSION}-src.tar.gz"
\
+ --prefix=apache-${REPO}-"${RELEASE_VERSION}"-incubating-src/ "${GIT_BRANCH}"
|| exit
+cd - || exit
+
+# step2: copy the binary file (Optional)
+# Note: it's optional for project to generate binary package (skip this step
if not need)
+cp -v ../../apache-${REPO}-incubating-"${RELEASE_VERSION}".tar.gz \
+ dist/apache-${REPO} || exit
+
+# step3: sign + hash
+##### 3.1 sign in source & binary package
+gpg --version 1>/dev/null || exit
+cd ./dist/apache-${REPO} || exit
+for i in *.tar.gz; do
+ echo "$i" && eval gpg "${GPG_OPT}" --armor --output "$i".asc --detach-sig
"$i"
+done
+
+##### 3.2 generate SHA512 file
+shasum --version 1>/dev/null || exit
+for i in *.tar.gz; do
+ echo "$i" && shasum -a 512 "$i" >"$i".sha512
+done
+
+#### 3.3 check signature & sha512
+for i in *.tar.gz; do
+ echo "$i"
+ eval gpg "${GPG_OPT}" --verify "$i".asc "$i" || exit
+done
+
+for i in *.tar.gz; do
+ echo "$i"
+ shasum -a 512 --check "$i".sha512 || exit
+done
+
+# step4: upload to Apache-SVN
+##### 4.1 download apache-SVN
+SVN_DIR="${GROUP}-svn-dev"
+cd ../
+rm -rfv ${SVN_DIR}
+
+svn co "https://dist.apache.org/repos/dist/dev/incubator/${GROUP}" ${SVN_DIR}
+
+##### 4.2 copy new release package to svn directory
+mkdir -p ${SVN_DIR}/"${RELEASE_VERSION}"
+cp -v apache-${REPO}/*tar.gz* "${SVN_DIR}/${RELEASE_VERSION}"
+cd ${SVN_DIR} || exit
+
+##### 4.3 check status & add files
+svn status
+svn add --parents "${RELEASE_VERSION}"/apache-${REPO}-*
+## check status again
+svn status
+
+##### 4.4 commit & push files
+if [ "$USERNAME" = "" ]; then
+ svn commit -m "submit files for ${REPO} ${RELEASE_VERSION}" || exit
+else
+ svn commit -m "submit files for ${REPO} ${RELEASE_VERSION}" --username
"${USERNAME}" \
+ --password "${PASSWORD}" || exit
+fi
+
+echo "Finished all, please check all steps in script manually again!"
diff --git a/hugegraph-example/pom.xml b/hugegraph-example/pom.xml
index bd1d02acc..781f13180 100644
--- a/hugegraph-example/pom.xml
+++ b/hugegraph-example/pom.xml
@@ -35,30 +35,13 @@
<version>${revision}</version>
</dependency>
</dependencies>
+
<build>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>${top.level.dir}</directory>
- <excludes>
- <exclude>${final.name}/**</exclude>
- <exclude>*.tar.gz</exclude>
- <exclude>*.zip</exclude>
- <exclude>*.tar</exclude>
- </excludes>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>${final.name}</directory>
- </fileset>
- </filesets>
- </configuration>
</plugin>
</plugins>
</build>
-
</project>
diff --git a/hugegraph-style.xml b/hugegraph-style.xml
index 440486bab..8536d5154 100644
--- a/hugegraph-style.xml
+++ b/hugegraph-style.xml
@@ -14,6 +14,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
+
+<!-- This file could be imported in IDEA for correct code-style -->
<code_scheme name="hugegraph-style" version="173">
<option name="LINE_SEPARATOR" value="
" />
<option name="RIGHT_MARGIN" value="100" />
diff --git a/hugegraph-test/pom.xml b/hugegraph-test/pom.xml
index ac638464d..7d6d8a36e 100644
--- a/hugegraph-test/pom.xml
+++ b/hugegraph-test/pom.xml
@@ -177,25 +177,8 @@
</executions>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>${top.level.dir}</directory>
- <excludes>
- <exclude>${final.name}/**</exclude>
- <exclude>*.tar.gz</exclude>
- <exclude>*.zip</exclude>
- <exclude>*.tar</exclude>
- </excludes>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>${final.name}</directory>
- </fileset>
- </filesets>
- </configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
diff --git a/pom.xml b/pom.xml
index 881b1a686..837742018 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,27 +39,62 @@
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
- <prerequisites>
- <maven>3.5.0</maven>
- </prerequisites>
+ <developers>
+ <developer>
+ <id>Apache Hugegraph(incubating)</id>
+ <email>[email protected]</email>
+ <url>https://hugegraph.apache.org/</url>
+ </developer>
+ </developers>
+
+ <mailingLists>
+ <mailingList>
+ <name>Development Mailing List</name>
+ <subscribe>[email protected]</subscribe>
+ <unsubscribe>[email protected]</unsubscribe>
+ <post>[email protected]</post>
+ </mailingList>
+ <mailingList>
+ <name>Commits List</name>
+ <subscribe>[email protected]</subscribe>
+ <unsubscribe>[email protected]</unsubscribe>
+ <post>[email protected]</post>
+ </mailingList>
+ <mailingList>
+ <name>Issues List</name>
+ <subscribe>[email protected]</subscribe>
+ <unsubscribe>[email protected]</unsubscribe>
+ <post>[email protected]</post>
+ </mailingList>
+ </mailingLists>
+
+ <issueManagement>
+ <system>Github Issues</system>
+ <url>https://github.com/apache/hugegraph/issues</url>
+ </issueManagement>
<scm>
<url>https://github.com/apache/hugegraph</url>
- <connection>https://github.com/apache/hugegraph</connection>
-
<developerConnection>https://github.com/apache/hugegraph</developerConnection>
+
<connection>scm:git:https://github.com/apache/hugegraph.git</connection>
+
<developerConnection>scm:git:https://github.com/apache/hugegraph.git</developerConnection>
</scm>
+ <prerequisites>
+ <maven>3.5.0</maven>
+ </prerequisites>
+
<properties>
<revision>1.0.0</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<top.level.dir>${project.basedir}/..</top.level.dir>
<release.name>hugegraph</release.name>
<final.name>apache-${release.name}-incubating-${project.version}</final.name>
+ <final.destfile>${top.level.dir}/${final.name}.tar.gz</final.destfile>
<compiler.source>1.8</compiler.source>
<compiler.target>1.8</compiler.target>
<slf4j.version>1.7.5</slf4j.version>
@@ -294,6 +329,7 @@
<build>
<pluginManagement>
<plugins>
+ <!-- TODO: move necessary plugin out of pluginManagement? -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
@@ -340,8 +376,8 @@
</configuration>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
<configuration>
<filesets>
<fileset>
@@ -349,7 +385,7 @@
<includes>
<include>*.tar</include>
<include>*.tar.gz</include>
- <include>*.zip</include>
+ <include>.flattened-pom.xml</include>
<include>${final.name}/**</include>
</includes>
<followSymlinks>false</followSymlinks>
@@ -388,8 +424,10 @@
<exclude>CONFIG.ini</exclude>
<exclude>GROUPS</exclude>
<exclude>OWNERS</exclude>
- <!-- GitHub -->
+ <!-- Git & GitHub -->
<exclude>.github/**/*</exclude>
+ <exclude>.gitignore</exclude>
+ <exclude>.gitattributes</exclude>
<!-- Intellij -->
<exclude>**/*.iml</exclude>
<exclude>**/*.iws</exclude>
@@ -476,7 +514,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>2.20</version>
<executions>
<execution>
<id>core-test</id>
@@ -497,7 +534,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>2.20</version>
<executions>
<execution>
<id>unit-test</id>
@@ -518,7 +554,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>2.20</version>
<executions>
<execution>
<id>api-test</id>
@@ -539,7 +574,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>2.20</version>
<executions>
<execution>
<id>tinkerpop-structure-test</id>
@@ -560,7 +594,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>2.20</version>
<executions>
<execution>
<id>tinkerpop-process-test</id>
@@ -575,7 +608,7 @@
</build>
</profile>
<profile>
- <id>release</id>
+ <id>apache-release</id>
<build>
<plugins>
<plugin>
@@ -599,12 +632,15 @@
<goals>
<goal>jar</goal>
</goals>
+ <configuration>
+ <doclint>none</doclint>
+ <failOnError>false</failOnError>
+ </configuration>
</execution>
</executions>
<configuration>
- <additionalJOptions>
-
<additionalJOption>-Xdoclint:none</additionalJOption>
- </additionalJOptions>
+ <doclint>none</doclint>
+ <failOnError>false</failOnError>
</configuration>
</plugin>
<plugin>
@@ -627,17 +663,6 @@
</gpgArguments>
</configuration>
</plugin>
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.3</version>
- <extensions>true</extensions>
- <configuration>
- <serverId>ossrh</serverId>
- <nexusUrl>https://oss.sonatype.org/</nexusUrl>
-
<autoReleaseAfterClose>false</autoReleaseAfterClose>
- </configuration>
- </plugin>
</plugins>
</build>
</profile>