8914472706
Correct three stale facts against the current tree: the repo IS a git repo at top level, the Java client targets JDK 17 (not 21), and note the NonWindows.slnx build entry point for the macOS working tree. Flag the gradle JDK 17 toolchain requirement in ToolchainLinks.
184 lines
6.5 KiB
Markdown
184 lines
6.5 KiB
Markdown
# Toolchain Links
|
|
|
|
This machine has the project toolchain installed for gateway, worker, dashboard,
|
|
protobuf/gRPC contracts, and the planned .NET, Go, Rust, Python, and Java
|
|
clients.
|
|
|
|
If a new terminal cannot find a recently installed tool, refresh PATH in
|
|
PowerShell:
|
|
|
|
```powershell
|
|
$env:Path = [Environment]::GetEnvironmentVariable('Path','Machine') + ';' + [Environment]::GetEnvironmentVariable('Path','User')
|
|
```
|
|
|
|
## Core Tools
|
|
|
|
| Tool | Version | Path |
|
|
| --- | --- | --- |
|
|
| Git | 2.53.0.windows.2 | `C:\Program Files\Git\cmd\git.exe` |
|
|
| winget | 1.28.240 | `C:\Users\dohertj2\AppData\Local\Microsoft\WindowsApps\winget.exe` |
|
|
| SQLCMD | 14.0.1000.169 NT | `C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\SQLCMD.EXE` |
|
|
| SQLite CLI | 3.53.0 | `C:\Users\dohertj2\AppData\Local\Microsoft\WinGet\Links\sqlite3.exe` |
|
|
| grpcurl | 1.9.3 | `C:\Users\dohertj2\AppData\Local\Microsoft\WinGet\Links\grpcurl.exe` |
|
|
|
|
## .NET And Windows Build Tools
|
|
|
|
| Tool | Version | Path |
|
|
| --- | --- | --- |
|
|
| .NET SDK | 10.0.201 | `C:\Program Files\dotnet\dotnet.exe` |
|
|
| .NET runtime | 10.0.5 | `C:\Program Files\dotnet\shared\Microsoft.NETCore.App` |
|
|
| ASP.NET Core runtime | 10.0.5 | `C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App` |
|
|
| Windows Desktop runtime | 10.0.5 | `C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App` |
|
|
| MSBuild | 17.14.40.60911 | `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe` |
|
|
| Visual Studio Build Tools | 2022 BuildTools | `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools` |
|
|
| VC tools | 14.44.35207 | `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207` |
|
|
| C compiler x64 | 14.44.35207 | `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\cl.exe` |
|
|
| Linker x64 | 14.44.35207 | `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\link.exe` |
|
|
| C compiler x86 | 14.44.35207 | `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x86\cl.exe` |
|
|
| Linker x86 | 14.44.35207 | `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x86\link.exe` |
|
|
| LibMan CLI | 3.0.71 | `C:\Users\dohertj2\.dotnet\tools\libman.exe` |
|
|
|
|
Reference assemblies:
|
|
|
|
```text
|
|
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8
|
|
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8.1
|
|
```
|
|
|
|
Environment:
|
|
|
|
```text
|
|
DOTNET_ROOT=C:\Program Files\dotnet
|
|
```
|
|
|
|
Use `dotnet build` for SDK-style projects. Use the full MSBuild path above when
|
|
a .NET Framework or COM interop build needs classic Visual Studio MSBuild.
|
|
|
|
## Go
|
|
|
|
| Tool | Version | Path |
|
|
| --- | --- | --- |
|
|
| Go | 1.26.2 windows/amd64 | `C:\Program Files\Go\bin\go.exe` |
|
|
| protoc-gen-go | latest installed by `go install` | `C:\Users\dohertj2\go\bin\protoc-gen-go.exe` |
|
|
| protoc-gen-go-grpc | latest installed by `go install` | `C:\Users\dohertj2\go\bin\protoc-gen-go-grpc.exe` |
|
|
|
|
Environment:
|
|
|
|
```text
|
|
GOROOT=C:\Program Files\Go
|
|
GOPATH=C:\Users\dohertj2\go
|
|
Go plugin bin=C:\Users\dohertj2\go\bin
|
|
```
|
|
|
|
Installed plugin commands:
|
|
|
|
```powershell
|
|
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
|
|
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
|
|
```
|
|
|
|
## Rust
|
|
|
|
| Tool | Version | Path |
|
|
| --- | --- | --- |
|
|
| rustup | 1.29.0 | `C:\Users\dohertj2\.cargo\bin\rustup.exe` |
|
|
| rustc | 1.95.0 | `C:\Users\dohertj2\.cargo\bin\rustc.exe` |
|
|
| cargo | 1.95.0 | `C:\Users\dohertj2\.cargo\bin\cargo.exe` |
|
|
|
|
Rust uses the MSVC toolchain installed with Visual Studio Build Tools. The
|
|
default Rust linker smoke test has passed.
|
|
|
|
User cargo bin:
|
|
|
|
```text
|
|
C:\Users\dohertj2\.cargo\bin
|
|
```
|
|
|
|
## Python
|
|
|
|
| Tool | Version | Path |
|
|
| --- | --- | --- |
|
|
| Python | 3.12.10 | `C:\Users\dohertj2\AppData\Local\Programs\Python\Python312\python.exe` |
|
|
| Python launcher | installed | `C:\Users\dohertj2\AppData\Local\Programs\Python\Launcher\py.exe` |
|
|
| pip | 26.0.1 | Python 3.12 site packages |
|
|
|
|
Installed Python packages:
|
|
|
|
```text
|
|
grpcio==1.80.0
|
|
grpcio-tools==1.80.0
|
|
protobuf==6.33.6
|
|
pytest==9.0.3
|
|
pytest-asyncio==1.3.0
|
|
click==8.3.3
|
|
typer==0.25.0
|
|
```
|
|
|
|
## Java
|
|
|
|
| Tool | Version | Path |
|
|
| --- | --- | --- |
|
|
| Java runtime | Temurin 21.0.10+7 LTS | `C:\Program Files\Eclipse Adoptium\jdk-21.0.10.7-hotspot\bin\java.exe` |
|
|
| Java compiler | Temurin 21.0.10+7 LTS | `C:\Program Files\Eclipse Adoptium\jdk-21.0.10.7-hotspot\bin\javac.exe` |
|
|
| Gradle | 9.4.1 | `C:\Tools\gradle-9.4.1\bin\gradle.bat` |
|
|
| Maven | 3.9.15 | `C:\Tools\apache-maven-3.9.15\bin\mvn.cmd` |
|
|
|
|
The Java client was retargeted 21 -> 17 for Ignition 8.3 (`clients/java/build.gradle`
|
|
declares a `JavaLanguageVersion.of(17)` toolchain). Gradle resolves toolchains by
|
|
version, so a JDK 17 must be available on the build host even though the runtime
|
|
above is Temurin 21 (a 17-targeted build still runs on 21+).
|
|
|
|
Environment:
|
|
|
|
```text
|
|
JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-21.0.10.7-hotspot
|
|
GRADLE_HOME=C:\Tools\gradle-9.4.1
|
|
MAVEN_HOME=C:\Tools\apache-maven-3.9.15
|
|
```
|
|
|
|
## Protobuf And gRPC
|
|
|
|
| Tool | Version | Path |
|
|
| --- | --- | --- |
|
|
| protoc | 34.1 | `C:\Users\dohertj2\AppData\Local\Microsoft\WinGet\Packages\Google.Protobuf_Microsoft.Winget.Source_8wekyb3d8bbwe\bin\protoc.exe` |
|
|
| Buf | 1.68.4 | `C:\Users\dohertj2\AppData\Local\Microsoft\WinGet\Links\buf.exe` |
|
|
| grpcurl | 1.9.3 | `C:\Users\dohertj2\AppData\Local\Microsoft\WinGet\Links\grpcurl.exe` |
|
|
|
|
Generated code should be reproducible from the shared `.proto` files. Do not
|
|
hand-edit generated protobuf or gRPC code.
|
|
|
|
## Project-Specific External References
|
|
|
|
MXAccess analysis:
|
|
|
|
```text
|
|
C:\Users\dohertj2\Desktop\mxaccess
|
|
C:\Users\dohertj2\Desktop\mxaccess\docs\MXAccess-Public-API.md
|
|
C:\Users\dohertj2\Desktop\mxaccess\docs\MXAccess-Reverse-Engineering.md
|
|
```
|
|
|
|
Galaxy Repository SQL notes:
|
|
|
|
```text
|
|
C:\Users\dohertj2\Desktop\lmxopcua\gr
|
|
C:\Users\dohertj2\Desktop\lmxopcua\gr\connectioninfo.md
|
|
C:\Users\dohertj2\Desktop\lmxopcua\gr\queries
|
|
```
|
|
|
|
## Smoke Checks Performed
|
|
|
|
These checks passed after installation:
|
|
|
|
- `dotnet build` of a temporary `net48` class library.
|
|
- `cargo build` of a temporary Rust binary using the MSVC linker.
|
|
- `go build` of a temporary Go module.
|
|
- `javac` compile of a temporary Java class.
|
|
- Python imports for `grpc`, `grpc_tools`, and `pytest`.
|
|
|
|
|
|
## Related Documentation
|
|
|
|
- [Implementation Plan Index](./ImplementationPlanIndex.md)
|
|
- [Client Proto Generation](./ClientProtoGeneration.md)
|
|
- [Client Packaging](./ClientPackaging.md)
|