mklink 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
mklink 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
mklink 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 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目录

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣
发表于开发技能专区
2019/08/19 15:27

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

mklink 1.0.5 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软链接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软链接,达到加速写入和减少固态磁盘消耗目的。 新版值更新内容有: 支持添加多个软链接(mklinks)   // 多个链接   mklinks {     mklink {       next = '*'       link = "${project.projectDir}\\build"       target = "R:\\Build\\example\\${project...

0
4
发表于AI & 大数据专区
2019/07/12 16:44

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

mklink 1.0.4 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软连接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软连接,达到加速写入和减少固态磁盘消耗目的。 新版值更新内容有: 添加”allowNoRootPath“ 配置项,当目标的根路径不存在时允许继续构建 使用方法

0
9
发表于开发技能专区
2019/06/26 15:16

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

mklink 1.0.3 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软连接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软连接,达到加速写入和减少固态磁盘消耗目的。 新版值更新内容有: 对一些常见的在执行时不生成目录的任务进行忽略。即:在指定下一任务为任意任务(*)时,这些任务不依赖mklink,此时无需执行软连接操作。如:clean、init、buildEnvironment、help、...

0
4
发表于开发技能专区
2019/06/24 09:34

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

mklink 1.0.2 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软连接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软连接,达到加速写入和减少固态磁盘消耗目的。 新版值更新内容有: 修改任务描述,在查看任务时,可以简单的查看到任务所在工程路径、下一步任务、以及软连接的原路径和目标路径 使用方法

0
5
发表于服务端专区
2019/06/21 14:01

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

mklink 1.0.1 发布了,mklink 作为一个 Gradle 插件,用于构建过程中对一些目录建立软连接.。 mklink 可以在 Gradle 执行构建任务时,将 Build 目录在恰当的时机建立在内存盘的软连接,达到加速写入和减少固态磁盘消耗目的。 示例: 建立 Build 软连接到内存虚拟磁盘,减轻固态磁盘消耗吧 使用方法

5
4
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
0 评论
9 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部