NetRexxC

說明

在執行中 (Apache Ant) JVM 內編譯 NetRexx 原始碼樹狀結構。

原始碼和目標目錄將會遞迴掃描 NetRexx 原始碼檔案以進行編譯。只有沒有對應類別檔案或類別檔案比 Java 檔案舊的 NetRexx 檔案才會被編譯。

原始碼樹狀結構中的檔案會複製到目標目錄,允許支援檔案正確地位於類別路徑中。原始碼檔案會被複製,因為 NetRexx 編譯器無法透過參數在特定目錄中產生類別檔案

原始碼樹狀結構的目錄結構應遵循套件層級。

可以精簡要編譯/複製之檔案的集合。這可以使用 includesincludesfileexcludesexcludesfiledefaultexcludes 屬性來完成。使用 includesincludesfile 屬性,您可以使用樣式指定要包含的檔案。excludeexcludesfile 屬性用於指定要排除的檔案。這也是使用樣式完成的。最後,使用 defaultexcludes 屬性,您可以指定是否要使用預設排除。請參閱 基於目錄的任務 部分,了解檔案的包含/排除如何運作,以及如何撰寫樣式。

此任務會形成一個隱含的 檔案集,並支援大多數 <fileset> (dir 變成 srcdir) 的屬性,以及嵌套的 <include><exclude><patternset> 元素。

除了 classpathsrcdirdestDir 之外的所有屬性也以 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 必須排除的檔案範本的逗號或空白分隔清單。 否;如果 defaultexcludesno,則預設為預設排除或無
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.getBytesaStringVar.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"/>