Phase 1: Precheck
Load this file when executing Phase 1. Refer back to upgrade-success-criteria and upgrade-strategy for success criteria and strategy, and ../rules/troubleshooting.md when failures occur.
| Category | Scenario | Action |
|---|---|---|
| Unsupported Project | Not a Maven/Gradle project | STOP with error |
| Unsupported Project | Git not installed or not managed | Log warning, continue without git |
| Invalid Goal | No legacy Azure SDK deps found | STOP — nothing to migrate |
| Java Version | Below JDK 8 | Include Java upgrade as part of the migration plan |
Prerequisites: JDK 8+ and Maven or Gradle must be pre-installed.
Environment detection:
Detect available JDKs:
- Check
JAVA_HOMEandJDK_HOMEenvironment variables - Run
java -versionandjavac -versionto detect the default JDK - Search common JDK installation paths (platform-specific: Program Files on Windows, /usr/lib/jvm on Linux, /Library/Java on macOS)
- Check for version manager installations (SDKMAN, ASDF, jenv, Jabba)
- For each found JDK, read the
releasefile to determine the version
Report all found JDKs with their path, version, and discovery source.
Detect build tools:
- Check for Maven Wrapper (
mvnw/mvnw.cmd) or Gradle Wrapper (gradlew/gradlew.bat) in the project root — prefer wrappers when present - If a wrapper exists, read
.mvn/wrapper/maven-wrapper.propertiesorgradle/wrapper/gradle-wrapper.propertiesto determine the wrapper-defined version - Run
mvn --versionorgradle --versionto detect system installations - Check
MAVEN_HOME/M2_HOMEenvironment variables
Report all found installations with their path, version, and source.
On success: Create .github/java-upgrade/{RUN_ID}/plan.md from the Plan Template — replace placeholders (<RUN_ID>, <PROJECT_NAME>, <current_branch>, <current_commit_id>, datetime) and follow the HTML-comment instructions to populate each section.