Tag: gradle

Gradle:使“测试”源设置取决于“主”源集

这是我的项目结构: 这是Intellij IDEA为使用Gradle构建的Kotlin项目创建的默认项目结构。 由于某些原因, main源集并没有被设置为test源集的依赖关系,所以不可能编写单元测试。 我可以在IDEA的“模块设置”中手动添加这个依赖关系,但是每次有一个Gradle刷新,这个设置就会消失。 我的猜测是,当使用Gradle时,IDEA模块设置完全复制Gradle设置,所以为了使依赖性持久化,必须将其添加到build.gradle 。 语法是什么?

关于gradle依赖的未解决的参考?

我在我的gradle构建文件中有以下maven repo listen, maven { url 'https://nexus.company.com/repository/maven-company-releases' // Omitting the credentials block for brevity. } 在我的依赖关系中,我有以下几点。 compile "com.company:dependency:0.0.1" 现在,当我这样做 gradle clean idea 它似乎工作,似乎没有抱怨不能找到依赖或任何东西 – 所以我认为它从联系人得到它。 无论如何,当我尝试构建 – 我得到以下错误。 Kotlin: Unresolved reference: dependency 为intelliJ添加一个标签 – 万一这是一个愚蠢的同步问题…万一有人想知道…

Android – 任务执行失败“:app:transformClassesWithMultidexlistForDebug'

当我尝试运行我非常简单的Android应用程序时,我得到以下输出: 信息:Gradle:执行任务:[:app:assembleDebug] 信息:Kotlin:Kotlin JPS插件已禁用信息:6/2/16,11:25 AM – 编译完成,1个错误,0个警告,6s 706ms 错误:Gradle:任务':app:transformClassesWithMultidexlistForDebug'的执行失败。 com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.7.0_79。 jdk / Contents / Home / bin / java''以非零的退出值1结束 我原本没有使用multidex,我得到了与标准dex类似的错误。 这里是我没有multidex的原始输出: 信息:Gradle:执行任务:[:app:assembleDebug] 信息:Kotlin:Kotlin JPS插件已禁用信息:6/2/16,11:28 AM – 编译完成,1个错误和0个警告在7s 624ms 错误:Gradle:执行任务':app:transformClassesWithDexForDebug'失败。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java''已完成非零出口值1 我想我已经尝试了所有可能的解决方案,没有任何工作。 这是我的应用程序级别build.gradle: apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "24.0.0 rc4" defaultConfig { applicationId "com.example.XXX.testapplication" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" multiDexEnabled […]

如何在多模块gradle项目中提供测试数据和类

我想为下游模块提供来自上游模块的测试数据/类。 什么是最好的方法来做到这一点? 假设我有以下模块: :data-transactions – 有一个接口TransactionsCache 。 这个模块默认会提供一个TransactionDbCache ,它用SQLite备份这个缓存。 :ui-transactions – 需要一个TransactionsCache实例向用户显示事务。 这个模块依赖于:data-transactions 。 我想要的是 在测试:ui-transactions ,我想提供一个TransactionsCache的假实现,比如TransactionsInMemoryCache 。 :data-transactions其他下游模块也可能需要TransactionsInMemoryCache 。 这个类不应该包含在非测试模块中。 像TransactionsInMemoryCache这样的测试依赖关系应该能够利用kotlin internal可见性修饰符 – 即与以下模块处于相同的模块:data-transactions 我猜这里的解决方案是与srcSets和一个特殊的testHelper配置? 注意:这是为Android,所以我需要生成一个APK。 这可能没有味道?

有没有像Gradle中有效的pom(Maven)?

几个月前我就开始使用Gradle,有时我的build.gradle文件遇到问题。 例如,如果我添加这样的东西到我的文件: apply plugin: 'kotlin' 我不知道会扩大到什么程度。 在我的情况下,我发现它也引入了java插件,而java插件本身也设置了一些配置。 我怎么知道这些陈述将扩展到什么? Gradle有没有像一个有效的build.gradle ? 澄清:我真正希望知道的是每个apply plugin X语句在幕后进行,而不需要查看文档等。

具有不同源代码集的Gradle任务

我有两个任务, jar和run ,都依赖于build任务。 当被调用的时候,我希望它只在特定的文件夹中构建文件。 然后当run被称为我想它建立相同的文件, jar做了加上另一个文件夹中的文件。 这是一个sudo代码示例: jar.build.sourcesets += 'my/path/to/files' run.build.sourcesets += jar.build.sourcesets run.build.sourcesets += 'additonal/path/to/files' 这是我现在在我的build.gradle文件不工作: sourceSets { main.kotlin.srcDirs += 'src/main/kotlin' run.kotlin.srcDirs += 'src/test/kotlin' run.resources.srcDirs += "src/main/resources" run.resources.srcDirs += "src/test/resources" run.output.resourcesDir = "build/js/resources" } 我一直在阅读关于源代码集,但我还没有找到一个解决方案。 我应该怎么做呢?

Android,Gradle:为什么(第二次)“gradlew build –build-cache”不能马上完成?

Gradle ver .: 4.1。 作为文件中的结果文件:“/ gradle/wrapper/gradle-wrapper.properties ”我有下一个内容: distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip Android Gradle插件:“ com.android.tools.build:gradle:2.3.3 ” 在我的应用程序的build.gradle : apply plugin: 'com.android.application' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-android' 我的步骤来建立我的Android项目: 开始构建(从命令行):“ gradlew build –build-cache ” 结果: 在6分2秒内成功完成412项可执行任务:执行230项,最新182项 我没有改变我的项目 再次运行相同的命令:“ gradlew build –build-cache ” 结果: 在2分38秒内完成成功,412个可执行的任务:148个执行,264个最新 我没有改变我的项目 再次运行相同的命令:“ gradlew build –build-cache ” 结果: 1分41秒成功完成412项可执行任务:135项执行,277项最新 问题: 为什么第二次和第三次“ gradlew build […]

Android Studio构建失败,Kotlin

:app:mergeDebugAssets :app:processDebugJavaRes UP-TO-DATE :app:transformResourcesWithMergeJavaResForDebug FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK kotlin/internal/internal.kotlin_builtins File1: /Users/KD/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.0.4/172b43fbc03b521fed141484b212d6725fa671a9/kotlin-compiler-embeddable-1.0.4.jar File2: /Users/KD/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-runtime/1.0.4/8e25da5e31669f5acf514bdd99b94ff5c7003b3b/kotlin-runtime-1.0.4.jar 我的build.gradle: apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.app2par.ctime" minSdkVersion 16 […]

JaCoCo Gradle插件报告每个包的0.0类覆盖率

我的目录结构是: |/src | |/main | | |/com.episo | | | |/contracts | | | | |/clip | | | | |/security | | | |/repositories | | | | |/memory | |/test | | |/com.episo | | | |/contracts | | | | |/clip | | | | |/security | | | |/repositories | | […]

Dokka – 跳过为默认的android包生成javadoc

我正在尝试使用Dokka插件为Android Kotlin应用程序生成Javadoc。 我把插件添加到我的gradle中: classpath "org.jetbrains.dokka:dokka-gradle-plugin:0.9.15" 然后我按照项目说明做了一个基本配置: dokka { outputFormat = 'javadoc' outputDirectory = "$rootDir/docs" skipEmptyPackages = true noStdlibLink = true } 我使用基本的gradle命令生成文档: [user@linux AppDir]$ bash gradlew dokka 输出是好的,但它包括从我已经添加到我的项目的android或插件的多个目录,例如: android.R android.support com.google com.crashlytics . . . etc. 我如何跳过这些包? 有什么办法只为我的/ app / scr / java文件夹和我创建的文件生成码头吗? 任何帮助表示赞赏。