chore: prepare for apache v1.0.0 release (#2048)

* chore: apache release

* chore: update release script & remove redundant pom config
This commit is contained in:
imbajin 2022-12-14 17:52:01 +08:00 committed by GitHub
parent 73bf516630
commit 9cbb61862c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 194 additions and 147 deletions

14
.gitattributes vendored Executable file
View File

@ -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

7
.gitignore vendored
View File

@ -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/

View File

@ -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'

View File

@ -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.
5. Double click "package" or "install" to build project.

View File

@ -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

View File

@ -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>

View File

@ -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 &amp; combine first
* 2. Get all oldVertices &amp; update
* 3. Add the final vertex together
*/
@PUT

View File

@ -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>

View File

@ -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>

View File

@ -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"/>

View File

@ -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!"

View File

@ -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>

View File

@ -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="&#xA;" />
<option name="RIGHT_MARGIN" value="100" />

View File

@ -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>

83
pom.xml
View File

@ -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>dev-subscribe@hugegraph.apache.org</email>
<url>https://hugegraph.apache.org/</url>
</developer>
</developers>
<mailingLists>
<mailingList>
<name>Development Mailing List</name>
<subscribe>dev-subscribe@hugegraph.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@hugegraph.apache.org</unsubscribe>
<post>dev@hugegraph.incubator.apache.org</post>
</mailingList>
<mailingList>
<name>Commits List</name>
<subscribe>commits-subscribe@hugegraph.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@hugegraph.apache.org</unsubscribe>
<post>commits@hugegraph.apache.org</post>
</mailingList>
<mailingList>
<name>Issues List</name>
<subscribe>issues-subscribe@hugegraph.apache.org</subscribe>
<unsubscribe>issues-unsubscribe@hugegraph.apache.org</unsubscribe>
<post>issues@hugegraph.apache.org</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>