This is an automated email from the ASF dual-hosted git repository.

tqchen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tvm.git


The following commit(s) were added to refs/heads/main by this push:
     new e30208ce5a [REFACTOR] Phase out root Makefile (#18828)
e30208ce5a is described below

commit e30208ce5a3902c91c05a6388d390ed452c544eb
Author: Tianqi Chen <[email protected]>
AuthorDate: Thu Feb 26 16:22:15 2026 -0500

    [REFACTOR] Phase out root Makefile (#18828)
    
    This PR removes the root Makefile and inlines its remaining
    functionality
    into CI scripts and READMEs. Also removes legacy lint scripts that are
    now handled by pre-commit.
    
    ## Changes
    
    - **Delete root `Makefile`** — all targets either unused or inlined
    - **Create `tests/scripts/task_jvm_build.sh`** — extracted JVM platform
      detection + mvn build from Makefile
    - **Update CI scripts**: `task_python_docs.sh` (cppdoc/javadoc),
      `task_java_unittest.sh` (jvmpkg), `cppdocs.sh` (doxygen)
    - **Update READMEs**: `docker/README.md`, `jvm/README.md`,
      `apps/cpp_rpc/README.md` — replace `make` with direct commands
    - **Remove legacy lint scripts** from `tests/lint/` (8 files) —
      pre-commit handles all linting now
    
    Subdirectory Makefiles (`docs/Makefile`, `web/Makefile`) are unchanged.
---
 Makefile                            | 151 ------------------------------------
 apps/cpp_rpc/README.md              |   3 +-
 docker/README.md                    |   6 +-
 jvm/README.md                       |   4 +-
 tests/lint/blocklint.sh             |  20 -----
 tests/lint/check_asf_header.sh      |  20 -----
 tests/lint/cppdocs.sh               |   2 +-
 tests/lint/flake8.sh                |  20 -----
 tests/lint/git-black.sh             |  20 -----
 tests/lint/git-clang-format.sh      |  20 -----
 tests/lint/jnilint.sh               |  20 -----
 tests/lint/pylint.sh                |  20 -----
 tests/lint/whitespace.sh            |  20 -----
 tests/scripts/task_java_unittest.sh |   6 +-
 tests/scripts/task_jvm_build.sh     |  66 ++++++++++++++++
 tests/scripts/task_python_docs.sh   |   4 +-
 16 files changed, 78 insertions(+), 324 deletions(-)

diff --git a/Makefile b/Makefile
deleted file mode 100644
index d4fa129e5d..0000000000
--- a/Makefile
+++ /dev/null
@@ -1,151 +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.
-
-
-.PHONY: all \
-        runtime cpptest crttest \
-        lint pylint cpplint \
-       cppdoc docs \
-       web webclean \
-        clean
-
-.SECONDEXPANSION:
-
-# Remember the root directory, to be usable by submake invocation.
-ROOTDIR = $(CURDIR)
-
-# Specify an alternate output directory relative to ROOTDIR.  Defaults
-# to "build".  Can also be a space-separated list of build
-# directories, each with a different configuration.
-TVM_BUILD_PATH ?= build
-TVM_BUILD_PATH := $(abspath $(TVM_BUILD_PATH))
-
-# Allow environment variables for 3rd-party libraries, default to
-# packaged version.
-DLPACK_PATH ?= $(ROOTDIR)/3rdparty/tvm-ffi/3rdparty/dlpack
-
-all: $(addsuffix /all,$(TVM_BUILD_PATH))
-
-runtime: $(addsuffix /runtime,$(TVM_BUILD_PATH))
-cpptest: $(addsuffix /cpptest,$(TVM_BUILD_PATH))
-crttest: $(addsuffix /crttest,$(TVM_BUILD_PATH))
-
-# If there is a config.cmake in the tvm directory, preferentially use
-# it.  Otherwise, copy the default cmake/config.cmake.
-ifeq ($(wildcard config.cmake),config.cmake)
-%/config.cmake: | config.cmake
-       @echo "No config.cmake found in $(TVM_BUILD_PATH), using config.cmake 
in root tvm directory"
-       @mkdir -p $(@D)
-else
-# filter-out used to avoid circular dependency
-%/config.cmake: | $$(filter-out %/config.cmake,$(ROOTDIR)/cmake/config.cmake)
-       @echo "No config.cmake found in $(TVM_BUILD_PATH), using default 
config.cmake"
-       @mkdir -p $(@D)
-       @cp $| $@
-endif
-
-
-# Cannot use .PHONY with a pattern rule, using FORCE instead.  For
-# now, force CMake to be re-run with each compile to mimic previous
-# behavior.  This may be relaxed in the future with the
-# CONFIGURE_DEPENDS option for GLOB (requires cmake >= 3.12).
-FORCE:
-%/CMakeCache.txt: %/config.cmake FORCE
-       @cd $(@D) && cmake $(ROOTDIR)
-
-
-# Since the pattern stem is already being used for the directory name,
-# cannot also have it refer to the command passed to CMake.
-# Therefore, explicitly listing out the delegated.
-CMAKE_TARGETS = all runtime cpptest crttest clean
-
-define GEN_CMAKE_RULE
-%/$(CMAKE_TARGET): %/CMakeCache.txt FORCE
-       @$$(MAKE) -C $$(@D) $(CMAKE_TARGET)
-endef
-$(foreach CMAKE_TARGET,$(CMAKE_TARGETS),$(eval $(GEN_CMAKE_RULE)))
-
-
-
-# Dev tools for formatting, linting, and documenting.  NOTE: lint
-# scripts that are executed in the CI should be in tests/lint. This
-# allows docker/lint.sh to behave similarly to the CI.
-format:
-       pre-commit run ruff-format --all-files
-       pre-commit run clang-format --all-files
-       cd rust && which cargo && cargo fmt --all
-
-lint:
-       pre-commit run --all-files
-
-cpplint:
-       tests/lint/cpplint.sh
-
-cppdoc:
-       doxygen docs/Doxyfile
-
-# EMCC; Web related scripts
-web:
-       $(MAKE) -C $(ROOTDIR)/web
-
-webclean:
-       $(MAKE) -C $(ROOTDIR)/web clean
-
-
-# JVM build rules
-INCLUDE_FLAGS = -Iinclude -I$(DLPACK_PATH)/include
-PKG_CFLAGS = -Wall -O3 $(INCLUDE_FLAGS) -fPIC
-PKG_LDFLAGS =
-
-ifeq ($(OS),Windows_NT)
-  JVM_PKG_PROFILE := windows
-  SHARED_LIBRARY_SUFFIX := dll
-else
-  UNAME_S := $(shell uname -s)
-  ifeq ($(UNAME_S), Darwin)
-    JVM_PKG_PROFILE := osx-x86_64
-    SHARED_LIBRARY_SUFFIX := dylib
-  else
-    JVM_PKG_PROFILE := linux-x86_64
-    SHARED_LIBRARY_SUFFIX := so
-  endif
-endif
-
-JVM_TEST_ARGS ?= -DskipTests -Dcheckstyle.skip=true
-
-# Built java docs are in jvm/core/target/site/apidocs
-javadoc:
-       (cd $(ROOTDIR)/jvm; \
-               mvn "javadoc:javadoc" -Dnotimestamp=true)
-
-jvmpkg:
-       (cd $(ROOTDIR)/jvm; \
-               mvn clean package -P$(JVM_PKG_PROFILE) -Dcxx="$(CXX)" \
-                       -Dcflags="$(PKG_CFLAGS)" -Dldflags="$(PKG_LDFLAGS)" \
-                       -Dcurrent_libdir="$(TVM_BUILD_PATH)" $(JVM_TEST_ARGS))
-
-jvminstall:
-       (cd $(ROOTDIR)/jvm; \
-               mvn install -P$(JVM_PKG_PROFILE) -Dcxx="$(CXX)" \
-                       -Dcflags="$(PKG_CFLAGS)" -Dldflags="$(PKG_LDFLAGS)" \
-                       -Dcurrent_libdir="$(TVM_BUILD_PATH)" $(JVM_TEST_ARGS))
-
-# Final cleanup rules, delegate to more specific rules.
-clean: $(addsuffix /clean,$(TVM_BUILD_PATH)) cyclean webclean
-
-docs:
-       python3 tests/scripts/ci.py docs
diff --git a/apps/cpp_rpc/README.md b/apps/cpp_rpc/README.md
index 2c6111ac3c..d8d7eee377 100644
--- a/apps/cpp_rpc/README.md
+++ b/apps/cpp_rpc/README.md
@@ -52,8 +52,7 @@ This folder contains a simple recipe to make RPC server in 
c++.
 
 - From within the configured tvm build directory, compile `tvm_runtime` and 
the `tvm_rpc` server:
 ```
-  cd $TVM_ROOT/build
-  make -jN tvm_runtime tvm_rpc
+  cmake --build $TVM_ROOT/build --target tvm_runtime tvm_rpc -j$(nproc)
 ```
 - Use `./tvm_rpc server` to start the RPC server
 
diff --git a/docker/README.md b/docker/README.md
index 7d3fd22dc9..7acab1df6c 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -110,13 +110,13 @@ tasks.
 - lint the python codes
 
   ```bash
-  ./docker/build.sh ci_lint make pylint
+  ./docker/build.sh ci_lint pre-commit run --all-files
   ```
 
 - build codes with CUDA support
 
   ```bash
-  ./docker/build.sh ci_gpu make -j$(nproc)
+  ./docker/build.sh ci_gpu bash -c "cd build && cmake -GNinja .. && ninja 
-j$(nproc)"
   ```
 
 - do the python unittest
@@ -128,5 +128,5 @@ tasks.
 - build the documents. The results will be available at `docs/_build/html`
 
   ```bash
-  ./docker/ci_build.sh ci_gpu make -C docs html
+  ./docker/ci_build.sh ci_gpu bash -c "cd docs && make html"
   ```
diff --git a/jvm/README.md b/jvm/README.md
index 355a17a7b2..d28c935ae4 100644
--- a/jvm/README.md
+++ b/jvm/README.md
@@ -50,7 +50,7 @@ First please refer to [Installation 
Guide](https://tvm.apache.org/docs/install/)
 Then you can compile tvm4j by
 
 ```bash
-make jvmpkg
+bash tests/scripts/task_jvm_build.sh
 ```
 
 (Optional) run unit test by
@@ -62,7 +62,7 @@ sh tests/scripts/task_java_unittest.sh
 After it is compiled and packaged, you can install tvm4j in your local maven 
repository,
 
 ```bash
-make jvminstall
+bash tests/scripts/task_jvm_build.sh install
 ```
 
 ## Convert and Register Java Function as TVM Function
diff --git a/tests/lint/blocklint.sh b/tests/lint/blocklint.sh
deleted file mode 100755
index e59c0056ad..0000000000
--- a/tests/lint/blocklint.sh
+++ /dev/null
@@ -1,20 +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.
-
-# Deprecated: functionality moved to pre-commit hooks. Kept as no-op for 
backward compatibility.
-exit 0
diff --git a/tests/lint/check_asf_header.sh b/tests/lint/check_asf_header.sh
deleted file mode 100755
index e59c0056ad..0000000000
--- a/tests/lint/check_asf_header.sh
+++ /dev/null
@@ -1,20 +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.
-
-# Deprecated: functionality moved to pre-commit hooks. Kept as no-op for 
backward compatibility.
-exit 0
diff --git a/tests/lint/cppdocs.sh b/tests/lint/cppdocs.sh
index b5067f7779..81b89e7b4f 100755
--- a/tests/lint/cppdocs.sh
+++ b/tests/lint/cppdocs.sh
@@ -23,7 +23,7 @@ function cleanup() {
 }
 trap cleanup EXIT
 
-make cppdoc 2>/tmp/$$.log.txt
+doxygen docs/Doxyfile 2>/tmp/$$.log.txt
 
 grep -v -E "ENABLE_PREPROCESSING|unsupported tag|Inheritance 
graph|use_default_type_traits_v" < /tmp/$$.log.txt > /tmp/$$.logclean.txt || 
true
 echo "---------Error Log----------"
diff --git a/tests/lint/flake8.sh b/tests/lint/flake8.sh
deleted file mode 100755
index e59c0056ad..0000000000
--- a/tests/lint/flake8.sh
+++ /dev/null
@@ -1,20 +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.
-
-# Deprecated: functionality moved to pre-commit hooks. Kept as no-op for 
backward compatibility.
-exit 0
diff --git a/tests/lint/git-black.sh b/tests/lint/git-black.sh
deleted file mode 100755
index e59c0056ad..0000000000
--- a/tests/lint/git-black.sh
+++ /dev/null
@@ -1,20 +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.
-
-# Deprecated: functionality moved to pre-commit hooks. Kept as no-op for 
backward compatibility.
-exit 0
diff --git a/tests/lint/git-clang-format.sh b/tests/lint/git-clang-format.sh
deleted file mode 100755
index e59c0056ad..0000000000
--- a/tests/lint/git-clang-format.sh
+++ /dev/null
@@ -1,20 +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.
-
-# Deprecated: functionality moved to pre-commit hooks. Kept as no-op for 
backward compatibility.
-exit 0
diff --git a/tests/lint/jnilint.sh b/tests/lint/jnilint.sh
deleted file mode 100755
index e59c0056ad..0000000000
--- a/tests/lint/jnilint.sh
+++ /dev/null
@@ -1,20 +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.
-
-# Deprecated: functionality moved to pre-commit hooks. Kept as no-op for 
backward compatibility.
-exit 0
diff --git a/tests/lint/pylint.sh b/tests/lint/pylint.sh
deleted file mode 100755
index e59c0056ad..0000000000
--- a/tests/lint/pylint.sh
+++ /dev/null
@@ -1,20 +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.
-
-# Deprecated: functionality moved to pre-commit hooks. Kept as no-op for 
backward compatibility.
-exit 0
diff --git a/tests/lint/whitespace.sh b/tests/lint/whitespace.sh
deleted file mode 100755
index e59c0056ad..0000000000
--- a/tests/lint/whitespace.sh
+++ /dev/null
@@ -1,20 +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.
-
-# Deprecated: functionality moved to pre-commit hooks. Kept as no-op for 
backward compatibility.
-exit 0
diff --git a/tests/scripts/task_java_unittest.sh 
b/tests/scripts/task_java_unittest.sh
index f7c9f3c097..35621a5a13 100755
--- a/tests/scripts/task_java_unittest.sh
+++ b/tests/scripts/task_java_unittest.sh
@@ -35,7 +35,7 @@ cleanup()
 }
 trap cleanup 0
 
-make jvmpkg
+bash "$(dirname "$0")/task_jvm_build.sh"
 
 # Skip the Java Tests for now
 exit 0
@@ -43,5 +43,5 @@ exit 0
 # expose tvm runtime lib to system env
 export LD_LIBRARY_PATH=$CURR_DIR/../../build/:$LD_LIBRARY_PATH
 python "$SCRIPT_DIR"/prepare_test_libs.py "$TEMP_DIR"
-make jvmpkg JVM_TEST_ARGS="-DskipTests=false\
-   -Dtest.tempdir=$TEMP_DIR"
+JVM_TEST_ARGS="-DskipTests=false -Dtest.tempdir=$TEMP_DIR" \
+    bash "$(dirname "$0")/task_jvm_build.sh"
diff --git a/tests/scripts/task_jvm_build.sh b/tests/scripts/task_jvm_build.sh
new file mode 100755
index 0000000000..a38ea564be
--- /dev/null
+++ b/tests/scripts/task_jvm_build.sh
@@ -0,0 +1,66 @@
+#!/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.
+
+# Build the TVM JVM package (tvm4j) using Maven with platform detection.
+# Usage: task_jvm_build.sh [goal] [mvn-extra-args...]
+#
+# The first positional argument sets the Maven goal (default: "clean package").
+# Extra arguments after the goal are passed through to mvn, e.g.:
+#   task_jvm_build.sh install
+#   task_jvm_build.sh "clean package" -DskipTests=false -Dtest.tempdir=/tmp/foo
+
+set -euxo pipefail
+
+GOAL="${1:-clean package}"
+if [ "$#" -gt 0 ]; then
+  shift
+fi
+
+ROOTDIR="$(cd "$(dirname "$0")/../.." && pwd)"
+TVM_BUILD_PATH="${TVM_BUILD_PATH:-${ROOTDIR}/build}"
+TVM_BUILD_PATH="$(realpath "${TVM_BUILD_PATH}")"
+
+DLPACK_PATH="${DLPACK_PATH:-${ROOTDIR}/3rdparty/tvm-ffi/3rdparty/dlpack}"
+
+INCLUDE_FLAGS="-I${ROOTDIR}/include -I${DLPACK_PATH}/include"
+PKG_CFLAGS="-Wall -O3 ${INCLUDE_FLAGS} -fPIC"
+PKG_LDFLAGS=""
+
+if [ "$(uname -s)" = "Darwin" ]; then
+    JVM_PKG_PROFILE="osx-x86_64"
+    SHARED_LIBRARY_SUFFIX="dylib"
+elif [ "${OS:-}" = "Windows_NT" ]; then
+    JVM_PKG_PROFILE="windows"
+    SHARED_LIBRARY_SUFFIX="dll"
+else
+    JVM_PKG_PROFILE="linux-x86_64"
+    SHARED_LIBRARY_SUFFIX="so"
+fi
+
+JVM_TEST_ARGS="${JVM_TEST_ARGS:--DskipTests -Dcheckstyle.skip=true}"
+
+cd "${ROOTDIR}/jvm"
+# shellcheck disable=SC2086
+mvn ${GOAL} \
+    "-P${JVM_PKG_PROFILE}" \
+    "-Dcxx=${CXX:-g++}" \
+    "-Dcflags=${PKG_CFLAGS}" \
+    "-Dldflags=${PKG_LDFLAGS}" \
+    "-Dcurrent_libdir=${TVM_BUILD_PATH}" \
+    ${JVM_TEST_ARGS} \
+    "$@"
diff --git a/tests/scripts/task_python_docs.sh 
b/tests/scripts/task_python_docs.sh
index bb1fd2d95b..3109f76ab2 100755
--- a/tests/scripts/task_python_docs.sh
+++ b/tests/scripts/task_python_docs.sh
@@ -149,11 +149,11 @@ if [ "$IS_LOCAL" == "1" ] && [ "$PYTHON_DOCS_ONLY" == "1" 
]; then
 fi
 
 # C++ doc
-make cppdoc
+doxygen docs/Doxyfile
 rm -f docs/doxygen/html/*.map docs/doxygen/html/*.md5
 
 # Java doc
-make javadoc
+(cd jvm && mvn "javadoc:javadoc" -Dnotimestamp=true)
 
 # type doc
 cd web

Reply via email to