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.
* [REFACTOR] Phase out te.schedule python components
This PR phases out te.schedule python components.
te.compute is kept around for future usages.
tir.Schedule is a more modern version of the scheduling that we can use onwards.
Doing so also helps us to cleanup the testcases that relies on
explicit full build and execution. As we move future unit testcases
towards structural equality based unit tests.
* Simplify CI to focus on UT
The main rationale is that we should only have very few target
dependent UT in tests/python/codegen and possible
a new category in future for op-level integration if needed.
* Re-enable wasm
* fix lint
* remove hybrid,sparse autodoc and remove tests
---------
Co-authored-by: Siyuan Feng <hzfengsy@sjtu.edu.cn>
This PR starts the step 0 to phase out relay from the current
development main branch. This PR focuses on the python
components of relay, autotvm, auto_scheduler. To make the change
manageable, we will also do followup steps on te.Schedule and
c++ components in followup PRs.
To continue support community members who depends on
legacy flows, the [v0.19.0](https://github.com/apache/tvm/tree/v0.19.0)
branch will continue contain these components.
As noted in [discussion on phasing out legacy components](https://discuss.tvm.apache.org/t/phasing-out-legacy-components/17703/30),
this would help us to do two purposes:
- By removing outdated or redundant elements, we can significantly
reduce complexity and improve maintainability.
- Unify our focus: Concentrating our efforts on the new unity flow
will allow for more efficient development and innovation.
It is also a good opportunity for us to revisit and reduce CI time.
The past relay legacy flow contains a lot of end to end tests that
requires hardware resources to run and causing long CI time.
Moving onwards, we can focus more on unit-tests that focuses
on structural equality and runs within seconds, while be mindful
about tests that requires hardware resources (by restricting them
to specific folders and CI nightly in some cases).
---
Co-authored-by: Siyuan Feng <hzfengsy@sjtu.edu.cn>
* Use /usr/bin/env bash in shebang
This makes scripts executable on system without /bin/bash (NixOS)
* Use `set -e` in script instead of `bash -e` in shebang
A number of test scripts use the '|| exit 1' idiom. This has two
issues, first process exit codes are defined to be in the range 0-255.
Second, more importantly, the idiom is fragile because it requires
that every possible failure point be explicitly coded. This patch
removes the idiom in favour of "set -e" as used in the docker scripts
as a more robust mechanism to ensure that script failures are always
caught and propagated by default.
* [tvm4j] RPC Server
* [tvm4j] fix recursively function calling; connect to proxy server; osx rename .so to .dylib
* [tvm4j] test case for proxy connection; thread pool for serving