Gradle 目录建立软连接 mklink

Apache-2.0
Java 查看源码»
跨平台
2019-06-21
陌寻

mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软连接。

典型的使用场景:

首先,我们开发、构建时使用了固态硬盘和内存虚拟磁盘。

构件过程中,Build 文件夹往往都是清理后重新生成,Build 下文件数量多、磁盘占用空间大,mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软连接,达到加速写入减少固态磁盘消耗目的。

当然,目前市面上的固态磁盘,寿命足以满足开发人员的日常开销,构建过程中的磁盘消耗显得不那么重要,但对于持续集成服务器,经 mklink 作用后,每天省下的固态消耗就很可观了,即使搭载普通固态硬盘的机子也能胜任持续构建工作,内存盘也释放出固态磁盘的一部分占用空间,毕竟塞得太满速度也受影响

 

使用方法:

  • 应用插件

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的任务,mklink会在此任务执行前建立软连接,可借助--dry-run去查询确定合适的任务
    // next task, which depends on mklink
    next = '*'
    // 需要进行软连接的目录
    // Specifies the new symbolic link name
    link = "${project.projectDir}\\build"
    // 软连接目的路径,这里R就是一个内存盘驱动
    // Specifies the path (relative or absolute) that the new link refers to.
    target = "R:\\Build\\${project.name}"
    // [可选] 当目标的根路径不存在时允许继续构建
    // [optional] Allow build continue when the root  path of target not exist
    allowNoRootPath = true
}

 

注意:

 在应用插件时:

apply plugin: "com.mxstrive.gradle.mklink-plugin",在插件顺序上尽量置后,mklink需要在读取到next指示的任务之后,将自己设置为该的任务的依赖

如:插件java会生成Build目录,现在需要将Build进行软连接到其他路径,mklink插件需要配置在java插件之后

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

执行gradle 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任务会在compileJava任务之前执行,软连接好Build目录

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

mklink 1.0.5 发布,软链接 Gradle 构建时指定目录

mklink 1.0.5 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软链接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软链接,达到加...

前天 15:27

mklink 1.0.4 发布,软连接 Gradle 构建时指定目录

mklink 1.0.4 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软连接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软连接,达到加...

07/12 16:44

mklink 1.0.3 发布,软连接 Gradle 构建时指定目录

mklink 1.0.3 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软连接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软连接,达到加...

06/26 15:16

mklink 1.0.2 发布,软连接 Gradle 构建时指定目录

mklink 1.0.2 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软连接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软连接,达到加...

06/24 09:34

mklink 1.0.1 发布,软连接 Gradle 构建时指定目录

mklink 1.0.1 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软连接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软连接,达到加...

06/21 14:01

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

Mklink in Windows

Mklink is a MS Windows command line utility that you can use to create symbolic links or symlinks and hard links in MS Windows. Mklink is a nice tool for troubleshooting file ...

2014/08/13 21:19
46
0
mklink命令

  从 Vista 以后,微软将用户文件和用户的软件配置( AppData ) 明确划分开,并且全部存放在使用者的用户目录下。   Linux早已这样做了,并且在Linux中可将 home 挂载为独立分区,而微软显...

2016/03/24 14:51
23
1
root命令执行一览

mkdir /opt/taobao cd /opt/taobao/ scp googlezhang@10.211.55.2:/Users/googlezhang/workspace/opt.taobao.install.tar ./ scp /Users/googlezhang/workspace/opt.taobao.install.tar root...

2016/03/21 11:01
55
1
个人目录迁移和mklink

*Windows 7 mklink命令详解* mklink是Windows 7下的一个类似于linux下In的命令,其作用是在NTFS文件系统中创建文件或目录的链接(类似于桌面快捷方式)。如果加以利用其发挥的作用是非常的大...

2013/08/08 10:21
381
0
金山快盘把分散的文夹同步

MKLINK [[/D] | [/H] | [/J]] Link Target /D 创建目录符号链接。默认为文件 符号链接。 /H 创建硬链接,而不是符号链接。 /J 创建目录联接。 Link 指定新的符号链接名称。 Target 指定新链接...

2013/03/01 15:06
14
0
使用mklink 做目录关联

可以用来做很多事情

2016/08/02 14:15
951
0
浏览器缓存修改

火狐浏览器 打开Firefox浏览器 在左上角的地址栏空白处输入“ about:config ”,之后按下回车键(Enter) 鼠标单击“我保证会小心” 在列出来的表中任意鼠标右键,移动到新建,选择“字符串 ...

2016/11/17 10:08
32
0
Update java version in windows 7

如果在windows 7中,你安装了多个版本的Java,如何才能在不同版本Java之间自由切换呢?一下是步骤 1. 确保在windows 注册表中有你想切换到的Java版本的设置,在下面的实例图中,我们就创建了...

2015/10/31 05:39
3
0
Windows10 把文件夹映射到桌面的方法

# 把文件夹映射到桌面的方法 --- > 命令如下: - 用管理员身份打开CMD - 输入命令 :mklink /j C:\Users\Administrator\Desktop\FileName G:\FileName --- ``` mklink 链接映射的命令 /j 创建...

2018/04/10 22:49
136
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部