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