在執行中 (Apache Ant) JVM 內編譯 NetRexx 原始碼樹狀結構。
原始碼和目標目錄將會遞迴掃描 NetRexx 原始碼檔案以進行編譯。只有沒有對應類別檔案或類別檔案比 Java 檔案舊的 NetRexx 檔案才會被編譯。
原始碼樹狀結構中的檔案會複製到目標目錄,允許支援檔案正確地位於類別路徑中。原始碼檔案會被複製,因為 NetRexx 編譯器無法透過參數在特定目錄中產生類別檔案
原始碼樹狀結構的目錄結構應遵循套件層級。
可以精簡要編譯/複製之檔案的集合。這可以使用 includes、includesfile、excludes、excludesfile 和 defaultexcludes 屬性來完成。使用 includes 或 includesfile 屬性,您可以使用樣式指定要包含的檔案。exclude 或 excludesfile 屬性用於指定要排除的檔案。這也是使用樣式完成的。最後,使用 defaultexcludes 屬性,您可以指定是否要使用預設排除。請參閱 基於目錄的任務 部分,了解檔案的包含/排除如何運作,以及如何撰寫樣式。
此任務會形成一個隱含的 檔案集,並支援大多數 <fileset>
(dir 變成 srcdir) 的屬性,以及嵌套的 <include>
、<exclude>
和 <patternset>
元素。
除了 classpath、srcdir 和 destDir 之外的所有屬性也以 ant.netrexxc.attributename
的形式作為屬性提供,例如<property name="ant.netrexxc.verbose" value="noverbose"/>
或從命令列以
ant -Dant.netrexxc.verbose=noverbose ...
注意:此任務依賴於 Apache Ant 發行版中未包含的外部函式庫。請參閱 函式庫依賴關係 以取得更多資訊。
屬性 | 說明 | 必要 |
---|---|---|
binary | 字面值是否會被視為 Java 二進位類型,而不是 NetRexx 類型 | 否 |
classpath | 編譯期間使用的 classpath | 否 |
comments | 是否將註解傳遞至產生的 Java 原始檔 | 否 |
compact | 錯誤訊息是否以簡潔或詳細格式顯示。 | 否;預設為 true |
compile | NetRexx 編譯器是否應編譯產生的 Java 程式碼 | 否 |
console | 是否應在「主控台」上顯示訊息。請注意,此工作會依賴於過濾編譯訊息的預設值。 | 否 |
crossref | 是否產生變數交叉參照 | 否 |
decimal | 是否應對 NetRexx 程式碼使用十進位算術。對於效能至上的應用程式,將此設定為 off會將十進位算術報告為錯誤。 |
否 |
defaultexcludes | 是否應使用預設排除 (yes|no)。 |
否;預設為 yes |
destDir | 應將 NetRexx 原始檔複製並編譯至其中的目標目錄 | 是 |
diag | 是否產生編譯的診斷資訊 | 否 |
excludes | 必須排除的檔案範本的逗號或空白分隔清單。 | 否;如果 defaultexcludes 為 no,則預設為預設排除或無 |
excludesfile | 檔案名稱。此檔案的每一行都會視為排除範本 | 否 |
explicit | 是否必須在使用前明確宣告變數 | 否 |
format | 產生的 Java 程式碼是否以美觀的方式格式化,或保留與 NetRexx 行號相符以進行呼叫堆疊除錯 | 否 |
includes | 必須包含的檔案範本的逗號或空白分隔清單。 | 否;預設為全部 (**) |
includesfile | 檔案名稱。此檔案的每一行都會視為包含範本 | 否 |
java | 是否產生產生的 Java 程式碼 | 否 |
keep | 設定是否應在編譯後保留產生的 Java 原始檔。產生的檔案將具有 .java.keep 副檔名,而非 .java。使用 removeKeepExtension來變更。 |
否 |
logo | 編譯時是否顯示編譯器文字標誌 | 否 |
removeKeepExtension | 在 compile=false模式中,說明是否應移除尾端的 .keep,以便產生的 Java 原始檔實際上以 .java 結尾。這有助於稍後使用 javadoc 工具。 |
否 |
replace | 編譯時是否應取代所產生的 .java 檔案 | 否 |
savelog | 是否將編譯器訊息寫入 NetRexxC.log,以及寫入主控台 | 否 |
sourcedir | 指示 NetRexx 編譯器將類別檔案儲存在與原始檔相同的目錄中。另一種選擇是工作目錄 | 否 |
srcDir | 設定目錄以在其中尋找原始 NetRexx 檔案 | 是 |
strictargs | 指示 NetRexx 編譯器方法呼叫總是需要括號,即使不需要任何引數,例如 aStringVar.getBytes 與 aStringVar.getBytes() |
否 |
strictassign | 指示 NetRexx 編譯器指定必須與類型完全相符 | 否 |
strictcase | 指定 NetRexx 編譯器是否應區分大小寫 | 否 |
strictimport | 是否需要使用 import 陳述式明確匯入類別 |
否;預設情況下,NetRexx 編譯器會自動匯入某些套件 |
strictprops | 是否需要使用 this 明確限定本機屬性 |
否 |
strictsignal | 編譯器是否應強制透過明確命名的類型來捕捉例外 | 否 |
symbols | 是否應將偵錯符號產生到類別檔案中 | 否 |
time | 要求 NetRexx 編譯器將編譯時間列印到主控台 | 否 |
trace | 開啟或關閉追蹤,並引導產生的追蹤輸出 | 否 |
utf8 | 指示 NetRexx 編譯器原始檔為 UTF8 | 否 |
verbose | 指示是否應產生大量警告和錯誤訊息 | 否 |
suppressMethodArgumentNotUsed | 指示我們是否應在 strictargs 模式中篩選出 Method argument not used訊息。 |
否 |
suppressPrivatePropertyNotUsed | 指示我們是否應在 strictargs 模式中篩選出 Private Property defined, but not used訊息。 |
否 |
suppressVariableNotUsed | 指示我們是否應在 strictargs 模式中篩選出 Variable set but not used訊息。請小心使用此選項,因為您可能會隱藏錯誤! |
否 |
suppressExceptionNotSignalled | 告訴我們是否應在 strictsignal 模式中濾出 已宣告例外,但未在方法中發出訊號訊息。 |
否 |
suppressDeprecation | 告訴我們是否應濾出編譯器輸出的任何不建議使用訊息 | 否 |
<netrexxc srcDir="/source/project" includes="vnr/util/*" destDir="/source/project/build" classpath="/source/project2/proj.jar" comments="true" crossref="false" replace="true" keep="true"/>