<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          mklinkGradle?目錄建立軟連接

          聯(lián)合創(chuàng)作 · 2023-09-28 11:10

          mklink 作為一個(gè) Gradle 插件,用于構(gòu)建過(guò)程中對(duì)一些目錄建立軟連接。

          典型的使用場(chǎng)景:

          首先,我們開(kāi)發(fā)、構(gòu)建時(shí)使用了固態(tài)硬盤(pán)和內(nèi)存虛擬磁盤(pán)。

          構(gòu)件過(guò)程中,Build 文件夾往往都是清理后重新生成,Build 下文件數(shù)量多、磁盤(pán)占用空間大,mklink 可以在 Gradle 執(zhí)行構(gòu)建任務(wù)時(shí),將 Build 目錄在恰當(dāng)?shù)臅r(shí)機(jī)建立在內(nèi)存盤(pán)的軟連接,達(dá)到加速寫(xiě)入減少固態(tài)磁盤(pán)消耗目的。

          當(dāng)然,目前市面上的固態(tài)磁盤(pán),壽命足以滿足開(kāi)發(fā)人員的日常開(kāi)銷,構(gòu)建過(guò)程中的磁盤(pán)消耗顯得不那么重要,但對(duì)于持續(xù)集成服務(wù)器,經(jīng) mklink 作用后,每天省下的固態(tài)消耗就很可觀了,即使搭載普通固態(tài)硬盤(pán)的機(jī)子也能勝任持續(xù)構(gòu)建工作,內(nèi)存盤(pán)也釋放出固態(tài)磁盤(pán)的一部分占用空間,畢竟塞得太滿速度也受影響

          使用方法:

          • 應(yīng)用插件

          Using the plugins DSL:

          plugins {
            id "com.mxstrive.gradle.mklink-plugin" version "1.0.4"
          }

          Using legacy plugin application:

          buildscript {
            repositories {
              maven {
                url "https://plugins.gradle.org/m2/"
              }
            }
            dependencies {
              classpath "gradle.plugin.com.mxstrive.gradle:mklink:1.0.4"
            }
          }
          
          apply plugin: "com.mxstrive.gradle.mklink-plugin"
          • 配置
          mklink {
              // 依賴mklink的任務(wù),mklink會(huì)在此任務(wù)執(zhí)行前建立軟連接,可借助--dry-run去查詢確定合適的任務(wù)
              // next task, which depends on mklink
              next = '*'
              // 需要進(jìn)行軟連接的目錄
              // Specifies the new symbolic link name
              link = "${project.projectDir}\\build"
              // 軟連接目的路徑,這里R就是一個(gè)內(nèi)存盤(pán)驅(qū)動(dòng)
              // Specifies the path (relative or absolute) that the new link refers to.
              target = "R:\\Build\\${project.name}"
              // [可選] 當(dāng)目標(biāo)的根路徑不存在時(shí)允許繼續(xù)構(gòu)建
              // [optional] Allow build continue when the root  path of target not exist
              allowNoRootPath = true
          }

          注意:

           在應(yīng)用插件時(shí):

          apply plugin: "com.mxstrive.gradle.mklink-plugin",在插件順序上盡量置后,mklink需要在讀取到next指示的任務(wù)之后,將自己設(shè)置為該的任務(wù)的依賴

          如:插件java會(huì)生成Build目錄,現(xiàn)在需要將Build進(jìn)行軟連接到其他路徑,mklink插件需要配置在java插件之后

              apply plugin: 'java'
              apply plugin: 'com.mxstrive.gradle.mklink-plugin'

          執(zhí)行g(shù)radle build --dry-run,可以看到

          :mklink SKIPPED
          :compileJava SKIPPED
          :processResources SKIPPED
          :classes SKIPPED
          :jar SKIPPED
          :assemble SKIPPED
          :compileTestJava SKIPPED
          :processTestResources SKIPPED
          :testClasses SKIPPED
          :test SKIPPED
          :check SKIPPED
          :build SKIPPED

          mklink任務(wù)會(huì)在compileJava任務(wù)之前執(zhí)行,軟連接好Build目錄

          瀏覽 25
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www.91av视频在线 | 黄色自拍视频 | 国产3级在线观看 | 日本久久香蕉 | 国产亚洲精品成人a v久久网站 |