<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### 概述 # * * * * * # ### 特性說明 #### 下面是一些 Gradle 特性的列表。 * ### 基于聲明的構建和基于約定的構建 Gradle 的核心在于基于 Groovy 的豐富而可擴展的域描述語言(DSL)。 Groovy 通過聲明性的語言元素將基于聲明的構建推向下層,你可以按你想要的方式進行組合。 這些元素同樣也為支持 Java, Groovy,OSGi,Web 和 Scala 項目提供了基于約定的構建。 并且,這種聲明性的語言是可以擴展的。你可以添加新的或增強現有的語言元素。 因此,它提供了簡明、可維護和易理解的構建。**** * ### 為以依賴為基礎的編程方式提供語言支持 聲明性語言優點在于通用任務圖,你可以將其充分利用在構建中. 它提供了最大限度的靈活性,以讓 Gradle 適應你的特殊需求。 * ### 構建結構化 Gradle 的靈活和豐富性最終能夠支持在你的構建中應用通用的設計模式。 例如,它可以很容易地將你的構建拆分為多個可重用的模塊,最后再進行組裝,但不要強制地進行模塊的拆分。 不要把原本在一起的東西強行分開(比如在你的項目結構里),從而避免讓你的構建變成一場噩夢。 最后,你可以創建一個結構良好,易于維護,易于理解的構建。 * ### 深度 API Gradle 允許你在構建執行的整個生命周期,對它的核心配置及執行行為進行監視并自定義。 * ### Gradle 的擴展 Gradle 有非常良好的擴展性。 從簡單的單項目構建,到龐大的多項目構建,它都能顯著地提升你的效率。 這才是真正的結構化構建。通過最先進的增量構建功能,它可以解決許多大型企業所面臨的性能瓶頸問題。 * ### 多項目構建 Gradle 對多項目構建的支持非常出色。項目依賴是首先需要考慮的問題。 我們允許你在多項目構建當中對項目依賴關系進行建模,因為它們才是你真正的問題域。 Gradle 遵守你的布局。 Gradle 提供了局部構建的功能。 如果你在構建一個單獨的子項目,Gradle 也會幫你構建它所依賴的所有子項目。 你也可以選擇重新構建依賴于特定子項目的子項目。 這種增量構建將使得在大型構建任務中省下大量時間。 * ### 多種方式管理依賴 不同的團隊喜歡用不同的方式來管理他們的外部依賴。 從 Maven 和 Ivy 的遠程倉庫的傳遞依賴管理,到本地文件系統的 jar 包或目錄,Gradle 對所有的管理策略都提供了方便的支持。 * ### Gradle 是第一個構建集成工具 Ant tasks 是最重要的。而更有趣的是,Ant projects 也是最重要的。 Gradle 對任意的 Ant 項目提供了深度導入,并在運行時將 Ant 目標(target)轉換為原生的 Gradle 任務(task)。 你可以從 Gradle 上依賴它們(Ant targets),增強它們,甚至在你的 build.xml 上定義對 Gradle tasks 的依賴。Gradle 為屬性、路徑等等提供了同樣的整合。 Gradle 完全支持用于發布或檢索依賴的 Maven 或 Ivy 倉庫。 Gradle 同樣提供了一個轉換器,用于將一個 Maven pom.xml 文件轉換為一個 Gradle 腳本。Maven 項目的運行時導入的功能將很快會有。 * ### 易于移植 Gradle 能適應你已有的任何結構。因此,你總可以在你構建項目的同一個分支當中開發你的 Gradle 構建腳本,并且它們能夠并行進行。 我們通常建議編寫測試,以保證生成的文件是一樣的。 這種移植方式會盡可能的可靠和減少破壞性。這也是重構的最佳做法。 * ### Groovy Gradle 的構建腳本是采用 Groovy 寫的,而不是用 XML。 但與其他方法不同,它并不只是展示了由一種動態語言編寫的原始腳本的強大。 那樣將導致維護構建變得很困難。 Gradle 的整體設計是面向被作為一門語言,而不是一個僵化的框架。 并且 Groovy 是我們允許你通過抽象的 Gradle 描述你個人的 story 的黏合劑。 Gradle 提供了一些標準通用的 story。這是我們相比其他聲明性構建系統的主要特點。 我們的 Groovy 支持也不是簡單的糖衣層,整個 Gradle 的 API 都是完全 groovy 化的。只有通過 Groovy才能去運用它并對它提高效率。 * ### The Gradle wrapper Gradle Wrapper 允許你在沒有安裝 Gradle 的機器上執行 Gradle 構建。 這一點是非常有用的。比如,對一些持續集成服務來說。 它對一個開源項目保持低門檻構建也是非常有用的。 Wrapper 對企業來說也很有用,它使得對客戶端計算機零配置。 它強制使用指定的版本,以減少兼容支持問題。 * ### 自由和開源 Gradle 是一個開源項目,并遵循 ASL 許可。 * ### 為什么使用 Groovy? 我們認為內部 DSL(基于一種動態語言)相比 XML 在構建腳本方面優勢非常大。它們是一對動態語言。 為什么使用 Groovy?答案在于 Gradle 內部的運行環境。 雖然 Gradle 核心目的是作為通用構建工具,但它還是主要面向 Java 項目。 這些項目的團隊成員顯然熟悉 Java。我們認為一個構建工具應該盡可能地對所有團隊成員透明。 你可能會想說,為什么不能使用 Java 來作為構建腳本的語言。 我認為這是一個很有意義的問題。對你們的團隊來講,它確實會有最高的透明度和最低的學習曲線。 但由于 Java 本身的局限性,這種構建語言可能就不會那樣友善、 富有表現力和強大。 [1] 這也是為什么像 Python,Groovy 或者 Ruby 這樣的語言在這方面表現得更好的原因。 我們選擇了 Groovy,因為它向 Java 人員提供了目前為止最大的透明度。 其基本的語法,類型,包結構和其他方面都與 Java 一樣,Groovy 在這之上又增加了許多東西。但是和 Java 也有著共同點。 對于那些分享和樂于去學習 Python 知識的 Java 團隊而言,上述論點并不適用。 Gradle 的設計非常適合在 JRuby 或 Jython 中創建另一個構建腳本引擎。 那時候,對我們而言,它只是不再是最高優先級的了。我們很高興去支持任何社區努力創建其他的構建腳本引擎。
                  <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>

                              哎呀哎呀视频在线观看