Tag: gradle plugin

Gradle子项目排序并生成jar(spring boot + angular)

我是一个Gradle newby。 我有以下项目设置: 根 核心:包含spring boot 2应用程序 ui:角度5前端应用程序 目标:我想从我的根文件夹运行“gradle build”,它应该包含一个包含Angular应用程序的jar文件。 我得到了覆盖的“用户界面”: apply plugin: “com.moowork.node” buildscript { repositories globalRepositories dependencies { classpath “com.moowork.gradle:gradle-node-plugin:1.2.0” } } node { // based on current version of Angular 5 version = “8.9.1” npmVersion = “5.6.0” download = true } task buildAngular(type: NpmTask) { args = [‘run’, ‘build’] } buildAngular.dependsOn(npm_install) build.dependsOn(buildAngular) […]

什么在我的gradle文件仍然保证警告:“配置’编译’已经过时,并已被取代’实施’”?

我有下面的gradle文件,我找不到任何仍然保证警告“ 配置”编译“已经过时,并已被替换为”实施“的任何东西 。 第一个模块Gradle文件: buildscript { repositories { maven { url ‘https://maven.fabric.io/public’ } } dependencies { classpath ‘io.fabric.tools:gradle:1.24.1’ } } repositories { maven { url ‘https://maven.fabric.io/public’ } } apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ apply plugin: ‘io.fabric’ apply plugin: ‘kotlin-kapt’ def keystorePropertiesFile = rootProject.file(“keystore.properties”) def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android […]

抑制关于“没有文件com.foo.Bar $ toString()”的Dokka投诉?

我正在使用Gradle Dokka插件0.9.16-eap-1生成一些Kotlin代码的文档。 我是一个没有破窗户types的人,因此有点沮丧,插件生成吨的消息,我没有明确记录一个重写的方法,在基类中充分记录的类的消息, 例如 : package com.foo /** * A silly class to demonstrate silliness. */ class Bar : java.io.InputStream() { override fun read() = -1 override fun toString() = “BAZ!” } 对于这个class级,Dokka谴责: No documentation for com.foo.Bar$read() (Bar.kt:6) No documentation for com.foo.Bar$toString() (Bar.kt:7) 这有点乏味,因为我不想用复制粘贴文档冗余地冗余文档。 看看Dokka README.md ,我看到的唯一相关配置选项是: dokka { … // Emit warnings about not […]

如何在kotlin-android编译之前处理重复的类?

我做了一个图书馆。 它将通过apt在几个库中以不同的方法生成相同的类。 我写了一个gradle插件,通过将一个Transform添加到android build插件的扩展中来合并重复的类。 它在java项目中运行良好,但是在Kotlin项目中,在我的Transform工作之前出现了一个错误,这个错误是由重复的类覆盖导致的,所以生成类错过了许多方法。 我想在kotlin编译之前转换代码。 我怎样才能做到这一点。

与kotlin gradle插件 – 设置布尔扩展属性

我正在尝试将Groovy插件从groovy迁移到kotlin。 我有一个布尔Property ,我想在我的插件扩展名初始化为false: open class MyPluginExtension(project: Project) { val myBooleanProperty: Property = project.objects.property(Boolean::class.java) init { myBooleanProperty.set(false) } } 这失败了 java.lang.IllegalArgumentException: Cannot set the value of a property of type boolean using an instance of type java.lang.Boolean. 在org.gradle.api.internal.provider.DefaultPropertyState#set(T)抛出exception 对此有何想法?

Kotlin测试覆盖率

有谁知道是否有一个好的测试覆盖工具(最好是Gradle插件)存在的Kotlin? 我已经看了一下JaCoCo,但似乎并不能可靠地支持Kotlin。

从gradle org.gradle.api.Project获取ClassLoader?

我正在写一个gradle插件 ,希望从该插件应用于的项目的资源读取特定的属性文件。 要阅读这些资源,我需要一个项目的类路径。 目前我正在与: org.gradle.api.Project.getBuildscript().getClassLoader().getResourcesAsStream(…) 但即使该项目中存在此类资源,它也总是返回null。

Gradle中的实现和编译有什么区别?

更新到android studio 3.0并创建一个新的项目后,我注意到,在build.gradle有一个新的方法来添加新的依赖关系,而不是compile有implementation 而不是testCompile有testImplementation 例如: implementation 'com.android.support:appcompat-v7:25.0.0' testImplementation 'junit:junit:4.12' 代替 compile 'com.android.support:appcompat-v7:25.0.0' testCompile 'junit:junit:4.12' 他们之间有什么区别,我应该使用什么。

如何限制kotlin使用jdk1.6上面公布的java api

我的编译环境是jdk1.8,运行时环境是jdk1.6。 gradle的java插件有sourceCompatibility属性。 这是有效的Java项目。 例如:当sourceCompatibility=1.6 ,如果我使用api(比如来自jdk1.7的Paths ,编译器会报错。 但sourceCompatibility属性不适用于kotlin项目。 我明白这是出于java插件的范围。 但是我很奇怪, kotlin插件是否有类似的属性。 ( jvmTarget属性默认是1.6,不会阻止我使用jdk1.7 api) ===我的代码=== 科特林代码: fun main(args: Array<String>) { val pp = Paths.get("/tmp") … … } 我想让kotlin的编译器报告错误,但是编译成功了, 父build.gradle : buildscript { repositories { jcenter() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0" } } subprojects { apply plugin: "java" compileJava.sourceCompatibility=1.6 compileJava.targetCompatibility=1.6 compileJava.options.encoding = 'UTF-8' // For ubuntu compileJava.options.bootClasspath […]

如何跨多个Gradle项目共享样板Kotlin配置?

在Gradle项目中, 典型的Kotlin配置是非常模板化的,我正在寻找一种将其抽象为外部构建脚本的方式,以便它可以被重用。 我有一个工作的解决方案(下面),但是这感觉就像是一个黑客,因为kotlin gradle插件不能用这种方式工作。 从外部脚本中应用任何非标准插件是很麻烦的,因为你不能通过id来应用插件 apply plugin: 'kotlin'将导致Plugin with id 'kotlin' not found. 简单的(通常)解决方法是通过插件的完全限定的类名应用,即 apply plugin: org.jetbrains.kotlin.gradle.plugin.KotlinPluginWrapper 在这种情况下抛出一个很好的小异常,表明插件可能不是这样调用的: Failed to determine source cofiguration of kotlin plugin. Can not download core. Please verify that this or any parent project contains 'kotlin-gradle-plugin' in buildscript's classpath configuration. 所以我设法将一个插件(只是真正的插件的修改版本)一起破解,迫使它从当前的buildscript中找到插件。 kotlin.gradle buildscript { ext.kotlin_version = "1.0.3" repositories { jcenter() } […]