<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 使用 Ant [TOC] ## 獲取 Ant 任務 Kotlin 為 Ant 提供了三個任務: * kotlinc: 面向 JVM 的 Kotlin 編譯器; * kotlin2js: 面向 JavaScript 的 Kotlin 編譯器; * withKotlin: 使用標準 *javac* Ant 任務時編譯 Kotlin 文件的任務。 這仨任務在 *kotlin-ant.jar* 庫中定義,該庫位于 [Kotlin 編譯器](https://github.com/JetBrains/kotlin/releases/tag/v1.3.50)的 *lib* 文件夾中需要 Ant 1.8.2+ 版本。 ## 面向 JVM 只用 Kotlin 源代碼 當項目由 Kotlin 專用源代碼組成時,編譯項目的最簡單方法是使用 *kotlinc* 任務: ```xml <project name="Ant Task Test" default="build"> <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/> <target name="build"> <kotlinc src="hello.kt" output="hello.jar"/> </target> </project> ``` 其中 `${kotlin.lib}` 指向解壓縮 Kotlin 獨立編譯器所在文件夾。 ## 面向 JVM 只用 Kotlin 源代碼且多根 如果項目由多個源代碼根組成,那么使用 *src* 作為元素來定義路徑: ```xml <project name="Ant Task Test" default="build"> <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/> <target name="build"> <kotlinc output="hello.jar"> <src path="root1"/> <src path="root2"/> </kotlinc> </target> </project> ``` ## 面向 JVM 使用 Kotlin 和 Java 源代碼 如果項目由 Kotlin 和 Java 源代碼組成,雖然可以使用 *kotlinc* 來避免任務參數的重復,但是建議使用 *withKotlin* 任務: ```xml <project name="Ant Task Test" default="build"> <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/> <target name="build"> <delete dir="classes" failonerror="false"/> <mkdir dir="classes"/> <javac destdir="classes" includeAntRuntime="false" srcdir="src"> <withKotlin/> </javac> <jar destfile="hello.jar"> <fileset dir="classes"/> </jar> </target> </project> ``` 還可以將正在編譯的模塊的名稱指定為 `moduleName` 屬性: ```xml <withKotlin moduleName="myModule"/> ``` ## 面向 JavaScript 用單個源文件夾 ```xml <project name="Ant Task Test" default="build"> <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/> <target name="build"> <kotlin2js src="root1" output="out.js"/> </target> </project> ``` ## 面向 JavaScript 用 Prefix、 PostFix 以及 sourcemap 選項 ```xml <project name="Ant Task Test" default="build"> <taskdef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/> <target name="build"> <kotlin2js src="root1" output="out.js" outputPrefix="prefix" outputPostfix="postfix" sourcemap="true"/> </target> </project> ``` ## 面向 JavaScript 用單個源文件夾以及 metaInfo 選項 如果要將翻譯結果作為 Kotlin/JavaScript 庫分發,那么 `metaInfo` 選項會很有用。 如果 `metaInfo` 設置為 `true`,則在編譯期間將創建具有二進制元數據的額外的 JS 文件。該文件應該與翻譯結果一起分發: ```xml <project name="Ant Task Test" default="build"> <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${kotlin.lib}/kotlin-ant.jar"/> <target name="build"> <!-- 會創建 out.meta.js,其中包含二進制元數據 --> <kotlin2js src="root1" output="out.js" metaInfo="true"/> </target> </project> ``` ## 參考 元素和屬性的完整列表如下: ### kotlinc 和 kotlin2js 的公共屬性 | 名稱 | 描述 | 必需 | 默認值 | |------|-------------|----------|---------------| | `src` | 要編譯的 Kotlin 源文件或目錄 | 是 | | | `nowarn` | 禁止所有編譯警告 | 否 | false | | `noStdlib` | 不要將 Kotlin 標準庫包含進 classpath | 否 | false | | `failOnError` | 在編譯期間檢測到錯誤時,會導致構建失敗 | 否 | true | ### kotlinc 屬性 | 名稱 | 描述 | 必需 | 默認值 | |------|-------------|----------|---------------| | `output` | 目標目錄或 .jar 文件名 | 是 | | | `classpath` | 編譯類路徑 | 否 | | | `classpathref` | 編譯類路徑引用 | 否 | | | `includeRuntime` | Kotlin 運行時庫是否包含在 jar 中,如果 `output` 是 .jar 文件的話 | 否 | true | | `moduleName` | 編譯的模塊的名稱 | 否 | 目標(如果指定的話)或項目的名稱 | ### kotlin2js 屬性 | 名稱 | 描述 | 必需 | |------|-------------|----------| | `output` | 目標文件 | 是 | | `libraries` | Kotlin 庫的路徑 | 否 | | `outputPrefix` | 生成的 JavaScript 文件所用前綴 | 否 | | `outputSuffix` | 生成的 JavaScript 文件所用后綴 | 否 | | `sourcemap` | 是否要生成 sourcemap 文件 | 否 | | `metaInfo` | 是否要生成具有二進制描述符的元數據文件 | 否 | | `main` | 編譯器是否生成調用 main 函數的代碼 | 否 | ### 傳遞原始編譯器參數 如需傳遞原始編譯器參數,可以使用帶 `value` 或 `line` 屬性的 `<compilerarg>` 元素。可以放在 `<kotlinc>`、 `<kotlin2js>` 與 `<withKotlin>` 任務元素內,如下所示: ```xml <kotlinc src="${test.data}/hello.kt" output="${temp}/hello.jar"> <compilerarg value="-Xno-inline"/> <compilerarg line="-Xno-call-assertions -Xno-param-assertions"/> <compilerarg value="-Xno-optimize"/> </kotlinc> ``` 當運行 `kotlinc -help` 時,會顯示可以使用的參數的完整列表。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看