复制时可以通过gradle改变树的结构吗?
原版的
期望
我不确定在哪里创建闭包并覆盖复制树逻辑
我想做gra's相当于ant的globmapper功能
<property name="from.dir" location=".."/>
<property name="to.dir" location="dbutil"/>
<copy>
<fileset dir="${from.dir}" ... />
<globmapper from="${from.dir}/*/db" to="${to.dir}"/>
</copy>
Run Code Online (Sandbox Code Playgroud)
谢谢
彼得
我使用最新的 Gradle (v. 6.6.1) 和最新的 Kotlin (v. 1.4)。
buildSrc项目定义了所有 Kotlin 版本。不幸的是,它收到以下错误。
The `kotlin-dsl` plugin applied to project ':buildSrc' enables experimental Kotlin compiler features. For more information see https://docs.gradle.org/6.6.1/userguide/kotlin_dsl.html#sec:kotlin-dsl_plugin
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
/xxx/.gradle/wrapper/dists/gradle-6.6.1-all/43pddabvuyfjfvs8uyekonb98/gradle-6.6.1/lib/kotlin-stdlib-1.3.72.jar (version 1.3)
/xxx/.gradle/wrapper/dists/gradle-6.6.1-all/43pddabvuyfjfvs8uyekonb98/gradle-6.6.1/lib/kotlin-stdlib-common-1.3.72.jar (version 1.3)
/xxx/.gradle/wrapper/dists/gradle-6.6.1-all/43pddabvuyfjfvs8uyekonb98/gradle-6.6.1/lib/kotlin-stdlib-jdk7-1.3.72.jar (version 1.3)
/xxx/.gradle/wrapper/dists/gradle-6.6.1-all/43pddabvuyfjfvs8uyekonb98/gradle-6.6.1/lib/kotlin-stdlib-jdk8-1.3.72.jar (version 1.3)
/xxx/.gradle/wrapper/dists/gradle-6.6.1-all/43pddabvuyfjfvs8uyekonb98/gradle-6.6.1/lib/kotlin-reflect-1.3.72.jar (version 1.3)
/xxx/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.4.0/aa2101a19d8688e368ae6e35e8967550ced73884/kotlin-reflect-1.4.0.jar (version 1.4)
/xxx/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.3.72/916d54b9eb6442b615e6f1488978f551c0674720/kotlin-stdlib-jdk8-1.3.72.jar (version 1.3)
/xxx/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.72/3adfc2f4ea4243e01204be8081fe63bde6b12815/kotlin-stdlib-jdk7-1.3.72.jar (version 1.3)
/xxx/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.0/63e75298e93d4ae0b299bb869cf0c627196f8843/kotlin-stdlib-1.4.0.jar (version 1.4)
/xxx/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.4.0/1c752cce0ead8d504ccc88a4fed6471fd83ab0dd/kotlin-stdlib-common-1.4.0.jar (version 1.4)
Run Code Online (Sandbox Code Playgroud)
buildSrc项目有以下 …
我正在尝试在具有以下限制的项目中开始使用Gradle的Kotlin DSL:
Groovy提供的功能:
结果(仅基于我的示例):
我尝试使用Gralde KTS复制相同内容,但遇到以下困难:
build.gradle.kts包括根)中使用它们的共同点。使用Groovy,我只能使用like之类的变量springBootVersion,但是使用Kotlin Script,我必须在每个模块文件中创建相同的属性。包含文件样本:
apply plugin: 'kotlin'
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud)
Gradle模块样本:
apply from: "${rootDir}/gradle/include/kotlin-common-include.gradle"
dependencies {
compile project(':my.project.libraries.common')
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: springBootVersion
}
Run Code Online (Sandbox Code Playgroud)
问题:
springBootVersion或Constants.springBootVersion通过编译时检查将它们包括在内?附加链接:
我正在为.Net开发Code Fix提供程序.
我想检查方法内部,例如来自IMethodSymbol的方法语句.
作为一个例子,我在输入上有以下代码:
public void DoSomething(string input)
{
if(input == null)
throw new InvalidOperationException("!!!!");
}
Run Code Online (Sandbox Code Playgroud)
在代码修复方面,我有IMethodSymbol接口,并且无法获取方法语句,内部节点等(我想看'if',条件为'if',异常提升等).
我怎么才能得到它?
我有如下 NLog 配置。
如果存在,它会打印线程的名称。否则我会得到空字符串而不是线程名称。
问题:我如何归档下面的行为?
threadidNLog 变量相同)。当前配置示例:
<variable name="defaultLayout" value="${date} ${level} [${threadname}] ${logger} - ${message} ${exception:format=ToString}"/>
<targets async="true">
<target name="ConsoleAppender"
type="ColoredConsole"
layout="${var:defaultLayout}" />
</targets>
Run Code Online (Sandbox Code Playgroud)
请注意:我想避免打印这两个变量,例如这种没有用的布局: ... [${threadname}-${threadid}] ...
简短要求:能够创建协程上下文,该上下文仅在单线程中执行(例如,没有并行性)。
附加要求:最好使用现有的 CommonPool(例如线程池)来完成这些任务
实际上 kotlin 协程有一个方法newSingleThreadContext可以创建单独的线程并将所有任务安排到其中。然而,这是专用线程,因此大约 1000 个这样的上下文将需要大量资源。
因此,我想要具有以下特征的上下文: