Maguyva 對 Java 的支援:企業級儲存庫的程式碼智慧
當儲存庫充滿 Spring 服務、內部框架,以及歷經數個組織世代仍存活下來的程式碼時,這特別有用。
副檔名
.java
Groovy 讀起來常常像設定檔。在 Gradle 建置裡,dependencies { implementation ... } 是一串帶閉包的方法呼叫,宣告式 Jenkinsfile 也是如此。建構器把任意名字變成呼叫,GDK 又給每個物件加上 each、collect 這樣的方法。記錄每一個呼叫的工具會被這些雜訊淹沒。
Maguyva 過濾掉 DSL 和 GDK 這一層,讓你自己的方法和類別凸顯出來。
Maguyva 支援 .groovy 和 .gradle 檔案以及 Jenkinsfile。類別、函式和方法都會被擷取,匯入會正規化 import static 和 as 別名。呼叫名會去掉末尾的閉包塊和 ?. 安全導航運算子,因此 repo?.save(order) { ... } 會記錄為對 save 的呼叫。類別內部不帶接收者的呼叫會解析到該類別自己的方法。
雜訊會分層過濾:
dependencies、implementation、task、given、when、then 和 Mock。each、collect、inject 和 eachLine。pipeline、stage、steps 和 sh 等 Jenkins 步驟,在以建構器風格使用、而不是帶括號呼叫時會被過濾。@CompileStatic、@Immutable 和 @Autowired 等 AST 轉換註解和框架註解,它們永遠不會被記錄為呼叫。圖譜還會記錄繼承、實例化和讀寫。
deployToStaging,來自哪些管線?」(先用 find_symbol,再用 dependency_search 的 incoming 方向)BaseIntegrationSpec?」(dependency_search)get_task_context)structural_search 中的 methods 預設集什麼也選不到。請改用 functions 預設集或 find_symbol。collect 或 stage)可能會被一併過濾。如果某個呼叫端似乎缺失,請使用 text_pattern_search。透過快速入門連接儲存庫,然後在相容性頁面檢視支援矩陣。建置所編譯的 JVM 程式碼請閱讀 Java 指南和 Kotlin 指南。
最適合的情境
代理工作流程
引擎細節
實用的 MCP 進入點
需要共享函式庫步驟、建置輔助函式或類別的定義和呼叫端時使用它。
對建置輔助函式使用 incoming 方向走訪,檢視哪些腳本和管線呼叫了它。
用於查詢 DSL 呼叫和 GDK 方法,這些呼叫已從圖譜中過濾掉。