Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
13176553
K
kotlin
项目概览
硅谷海盗
/
kotlin
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kotlin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
13176553
编写于
1月 19, 2020
作者:
V
Vyacheslav Gerasimov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Build: Implement preserveFileTimestamps for stripMetadata task
上级
82182893
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
2 deletion
+14
-2
buildSrc/src/main/kotlin/stripMetadata.kt
buildSrc/src/main/kotlin/stripMetadata.kt
+7
-1
libraries/reflect/build.gradle.kts
libraries/reflect/build.gradle.kts
+7
-1
未找到文件。
buildSrc/src/main/kotlin/stripMetadata.kt
浏览文件 @
13176553
...
...
@@ -5,14 +5,17 @@ import org.jetbrains.org.objectweb.asm.*
import
java.io.BufferedOutputStream
import
java.io.File
import
java.io.FileOutputStream
import
java.util.*
import
java.util.jar.JarFile
import
java.util.zip.ZipEntry
import
java.util.zip.ZipOutputStream
private
val
CONSTANT_TIME_FOR_ZIP_ENTRIES
=
GregorianCalendar
(
1980
,
1
,
1
,
0
,
0
,
0
).
timeInMillis
/**
* Removes @kotlin.Metadata annotations from compiled Kotlin classes
*/
fun
stripMetadata
(
logger
:
Logger
,
classNamePattern
:
String
,
inFile
:
File
,
outFile
:
File
)
{
fun
stripMetadata
(
logger
:
Logger
,
classNamePattern
:
String
,
inFile
:
File
,
outFile
:
File
,
preserveFileTimestamps
:
Boolean
=
true
)
{
val
classRegex
=
classNamePattern
.
toRegex
()
assert
(
inFile
.
exists
())
{
"Input file not found at $inFile"
}
...
...
@@ -49,6 +52,9 @@ fun stripMetadata(logger: Logger, classNamePattern: String, inFile: File, outFil
}
val
newEntry
=
ZipEntry
(
entry
.
name
)
if
(!
preserveFileTimestamps
)
{
newEntry
.
time
=
CONSTANT_TIME_FOR_ZIP_ENTRIES
}
outJar
.
putNextEntry
(
newEntry
)
outJar
.
write
(
outBytes
)
outJar
.
closeEntry
()
...
...
libraries/reflect/build.gradle.kts
浏览文件 @
13176553
...
...
@@ -128,7 +128,13 @@ val stripMetadata by tasks.registering {
outputs
.
file
(
outputJar
)
outputs
.
cacheIf
{
true
}
doLast
{
stripMetadata
(
logger
,
"kotlin/reflect/jvm/internal/impl/.*"
,
inputJar
.
get
(),
outputJar
)
stripMetadata
(
logger
=
logger
,
classNamePattern
=
"kotlin/reflect/jvm/internal/impl/.*"
,
inFile
=
inputJar
.
get
(),
outFile
=
outputJar
,
preserveFileTimestamps
=
false
)
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录