首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在gradle kts中从sourceSet中的不同文件调用依赖项指令

在gradle kts中,可以通过sourceSet来指定源代码目录,不同的源代码目录可以拥有不同的依赖项指令。

Gradle是一种基于Groovy和Kotlin的构建工具,用于自动化构建、测试和部署软件项目。它使用脚本来描述构建过程,并提供了强大的依赖管理功能。

在build.gradle.kts文件中,可以使用sourceSets属性来定义源代码目录。每个sourceSet对象表示一个源代码集合,例如main和test。在sourceSet中,可以通过dependencies属性来添加依赖项指令。

以下是一个示例,演示如何在gradle kts中从不同的源代码目录调用依赖项指令:

代码语言:txt
复制
plugins {
    java
}

// 定义源代码目录
sourceSets {
    main {
        java.srcDirs("src/main/java")
        kotlin.srcDirs("src/main/kotlin")
        resources.srcDirs("src/main/resources")
    }
    test {
        java.srcDirs("src/test/java")
        kotlin.srcDirs("src/test/kotlin")
        resources.srcDirs("src/test/resources")
    }
}

dependencies {
    // 在main源代码目录中调用依赖项指令
    mainImplementation("com.example:library:1.0.0")

    // 在test源代码目录中调用依赖项指令
    testImplementation("junit:junit:4.12")
}

在上述示例中,通过sourceSets属性定义了两个源代码目录:main和test。在main源代码目录中,调用了mainImplementation指令来添加对com.example:library:1.0.0库的依赖。在test源代码目录中,调用了testImplementation指令来添加对JUnit库的依赖。

对于gradle kts中的源代码目录和依赖项指令,可以根据具体的项目需求和结构进行调整和配置。

关于gradle kts以及更多gradle相关信息,请参考腾讯云产品Gradle构建镜像:https://cloud.tencent.com/document/product/1207/47539

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

将构建配置 Groovy 迁移到 KTS

Project Structure 编辑器不会展开在 buildSrc 文件定义用于库名称或版本常量。 KTS 文件目前项目视图中不提供文本提示。...所以KTS需要统一做到: 使用双引号统一引号. [groovy-kts-diff1.png] 消除函数调用和属性赋值歧义(分别使用括号和赋值运算符)。...如果插件来自插件门户不存在 buildScript 依赖,那么这些插件 Kotlin 中就必须使用 apply 才能应用。...:结果不同,后者无法获取gradle.properties数据); local.properties 获取工程local.properties文件 gradleLocalProperties...:build.gradle 所以非buildSrc目录下build.gradle.kts文件我们使用Dependencies.kt需要注意其加载顺序。

3.6K00
  • 将构建配置 Groovy 迁移到 KTS

    Project Structure 编辑器不会展开在 buildSrc 文件定义用于库名称或版本常量。 KTS 文件目前项目视图中不提供文本提示。...所以KTS需要统一做到: 使用双引号统一引号. ? groovy-kts-diff1.png 消除函数调用和属性赋值歧义(分别使用括号和赋值运算符)。 ?...如果插件来自插件门户不存在 buildScript 依赖,那么这些插件 Kotlin 中就必须使用 apply 才能应用。...:结果不同,后者无法获取gradle.properties数据); local.properties 获取工程local.properties文件 gradleLocalProperties...Moudle:build.gradle 所以非buildSrc目录下build.gradle.kts文件我们使用Dependencies.kt需要注意其加载顺序。

    1.6K20

    Android四种依赖管理方法应用对比

    为了满足不同项目和团队需求,Android开发社区已经提出了多种依赖管理方法。 传统依赖方法 传统依赖管理方式是项目的build.gradle文件中直接添加依赖,这是最常见方法之一。...步骤如下: 创建一个名为buildSrc子项目。 buildSrc创建一个Kotlin文件,例如Dependencies.kt,并在其中定义依赖。...settings.gradle文件定义构建模块: includeBuild('path/to/composeBuilds') 构建模块创建一个build.gradle.kts文件,并在其中定义依赖...主项目的settings.gradle.kts文件,指定Version Catalogs位置: // settings.gradle.kts dependencyResolutionManagement...Catalogs,并使用其中依赖: // build.gradle.kts dependencies { // 使用Version Catalogs依赖 implementation

    85320

    第六章 Java Gradle插件

    又能满足不同业务需要,这也是我们架构参考。...一般情况下我们都是仓库查找我们需要Jar包,Gradle要配置一个仓库Jar依赖,首先我们得告诉Gradle我们要使用什么类型仓库,这些仓库位置在哪里,这里Gradle知道哪里去搜寻我们依赖...以上脚本我们配置了一个Maven中心库,告诉Gradle可以Maven中心库搜寻我们依赖Jar,初次之外,我们也可以jcenter库、ivy库、本地Maven库mavenLocal、自己搭建Maven...私服库等等搜寻,甚至我们本地配置文件夹也可以作为一个仓库,由此可见,Gradle支持仓库非常丰富,也可以多个库一起使用,比如一些公共开源框架可以mavenCentral上下载,一些我们公司自己私有...项目依赖依赖是一个Gradle项目,是Settings Build文件配置过依赖一个项目非常简单,比如 Paste_Image.png 这就是一个项目依赖依赖后,这个项目中java类等就会为你所用

    1.2K10

    Android—Gradle教程(九)完结篇

    因此,本篇里,将会以Gradle构建优化以及如何Groovy迁移到KTS进行详解! 话不多说,直接开始! 1、Gradle构建优化 优化都是些配置,快速过一下就行了!...当你build.gradle文件声明依赖时候,你应该避免版本号结束地方使用+号,比如:com.android.tools.build:gradle:4.+ 因为Gradle检查更新,用动态版本号会导致未知版本更新...过去Gradle配置文件中使用编程语言) 将来,KTS会比Groovy更适合用于编写Gradle脚本,因为采用Kotlin编写代码可读性更高,并且Kotlin提供了更好编译时检查和IDE支持 虽然与...2.2 何为KTS? KTS:是指Kotlin脚本,这是Gradle构建配置文件中使用一种Kotlin语言形式。Kotlin脚本是可从命令行运行Kotlin代码。...(根gradle脚本不同,buildscript) Gradle提供属性扩展。

    3.1K20

    如何为 Gradle KTS 脚本添加扩展?

    Kotlin DSL 版本脚本被称为 "Program",它在 Gradle 实现当中也通过一个叫 Program 类及其子类来描述,定义 Program.kt 文件当中。...classloader 包含了 classpath 阶段添加依赖,因此 body 阶段可以访问所有前面 dependencies 当中添加 maven 依赖类。...2.1 定义根工程 build.gradle.kts 当中 按照我们前面的分析,只要定义 Gradle 脚本当中,不管写到哪里,都相当于定义了了 Build_gradle 构造函数当中,这样一个局部函数只能在当前范围内使用...2.3 定义 init.gradle.kts 当中 接下来我们就要考虑,有没有什么办法让我电脑上所有的工程都能支持这个扩展呢?...jar 文件也放到 /.gradle/ : ?

    1.4K20

    Gradle Plugin for Android Development User Guide 1

    [Java插件主要创建了两个新task,其中jar task是assemble task依赖,test task是check task依赖] The Java plugin creates...[Gradle支持命令行中使用某个task名称camel case缩写调用这个task] For instance: gradle aR is the same as typing gradle...Manifest entries [通过DSL我们可以build.gradle 文件中指定那些定义AndroidManifest文件内容,不过能够指定内容有限] Through the DSL...[Gradle Plugin 0.11.0 版本开始build.gradle 文件中使用applicationId 而不是 packageName 来指定AndroidManifest文件packageName...[注:如果你有很多library projects,那么你要根据它们相互之间依赖关系确定一个正确顺序,就类似以前build系统project.properties 文件一样,以前需要如下地声明

    83830

    还在用build.gradle吗?试试build.gradle.kts

    我们先看一段代码吧 我们先来对比下两个基本内容相同配置文件吧。 第一个是我截取kts相关,第二个则是我以前一个项目采用还是build.gradle。...第一眼影像,我们可以简单比对出kts相关代码提示上真的就会好很多。 举个例子各位大佬以前知道com.android.libraryandroid所代表Extension到底是什么吗?...kts,我发现com.android.application下androidExtension是BaseAppModuleExtension,我们所有定义子属性其实都是在这个实体类上拓展而已...我个人看法并不是啊,最新as,其实对于gradle源码跟踪其实就已经非常不错了。...还有就是相比较而言,因为groovy是一门动态化语言,所以其中类型判断也更为简单,而且groovyMethodMissing这个机制,可以帮助我们动态调用很多隐藏api。

    5.2K20

    Gradle Plugin for Android Development User Guide 2

    它不是main assemble任务依赖,所以它是test运行时自动调用。...差不多,区别在于整个library和它依赖都会被自动添加到test app,Manifest文件也被整合到test appManifest。...Multi-projects reports [对于多项目的测试,可以使用插件android-reporting 来将所有的测试结果输出到一个单一报告,而且这个设置必须是要设置根项目的build.gradle...[所有的Manifest文件也都会整合成为一个Manifest文件,其中product flavor和build type类似,都可以有不同components或者permissions] 3 All...Manipulating tasks [简单Java项目一般都是有限任务一起工作然后得到一个输出,例如classes 任务是用来编译Java源代码任务,build.gradle 文件可以使用classes

    65510

    第十二章 Android Gradle测试

    12.1 基本概念 Android Gradle,测试应用相关已经被作为项目的一部分,而不再是一个单元测试工程了,这对我们一起管理引用代码比较方便。...androidTest SourceSet里我们可以依赖各种测试库,写很多方面的测试用例,比如单元测试、集成测试,espresso UI测试,uiautomator自动化测试等等。...前面我们讲过,每一个SourceSet都可以配置它自己dependencies依赖,androidTest也不例外,它也可以,并且它可以有自己资源,配置等,和我们使用其他SourceSet是一样...其实和测试Application项目是一样,配置、目录、依赖等都一样,唯一不同是不会有被测试Apk生成,只有一个测试Apk生成,我们库项目中代码被作为一个依赖库添加到测试Apk,库AndroidManifest...文件配置也会被合并到测试ApkAndroidManifest,有没有发现,其实一个Application项目引用库项目是一样

    53720

    如何为 Gradle KTS 脚本添加扩展?

    关键词:Gradle Groovy Kotlin KTS 本质上还是要搞清楚 KTS 是怎么运行 现在我们 Gradle 脚本都迁移到 KTS 了。...Kotlin DSL 版本脚本被称为 "Program",它在 Gradle 实现当中也通过一个叫 Program 类及其子类来描述,定义 Program.kt 文件当中。...classloader 包含了 classpath 阶段添加依赖,因此 body 阶段可以访问所有前面 dependencies 当中添加 maven 依赖类。...2.1 定义根工程 build.gradle.kts 当中 按照我们前面的分析,只要定义 Gradle 脚本当中,不管写到哪里,都相当于定义了了 Build_gradle 构造函数当中,这样一个局部函数只能在当前范围内使用...jar 文件也放到 /.gradle/ : ?

    2.2K30

    第三章 Gradle构建脚本基础

    本章整体构建脚本角度介绍Gradle,什么是Settings文件,他有什么作用;什么是Build文件,它又有什么作用,我们可以新建多少Build文件。...3.1 Setting文件 Gradle,定义了一个设置文件,用于初始化以及工程树配置。设置文件默认名字是settings.gradle,放在根工程目录下。...这一点Gradle早就考虑到了,为我们提供了便捷方法进行配置,比如配置所有Child Project仓库为jcenter,这样我们依赖jar包就可以jcenter中心库中下载了: 还比如我们开发一个大型...上面讲了很多配置,但是大家不要误以为subprojects和allprojects只能配置,他们只是两个方法,接受一个闭包作为参数,对工程进行遍历,遍历过程调用我们自定义闭包,所以我们可以闭包里配置...3.8 脚本即代码,代码也是脚本 虽然我们一个gradle文件写脚本,但是我们写都是代码,这一点一定要记清楚,这样你才能时刻使用Groovy、Java以及Gradle任何语法和API帮你完成你想做事情

    48410

    第一个用gradle构建java项目

    build.gradle.kts 构建过程描述脚本 gradlew 构建脚本 gradlew.bat 构建脚本 settings.gradle.kts 项目名称等配置文件 settings.gradle.kts...useJUnitPlatform() }Copy 其中,java表示java应用插件,group表示组名称,version则表示该项目的版本,mavenCentral()表示中央仓库,dependencies内容表示项目依赖...; } }Copy 执行项目构建得到jar文件 idea构建gradle项目,需要关注gradle插件内容,特别是下图中红色部分 该配置描述了项目构建gradle版本,默认使用项目...gradle/wrapper目录下gradle版本,我们IDEA执行构建操作时则使用此配置。...执行build构建操作,可以得到项目jar文件 本文为大数据到人工智能博主「xiaozhch5」原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

    72620

    Gradle 与 AGP 构建 API: 如何编写插件

    让我们创建 Task 并打印输出开始——没错,就是 hello world。为此,我会在应用层 build.gradle.kts 文件注册一个新 Task,并将其命名为 *"hello"*。...注意当前 build.gradle.kts 文件属于应用模块,所以 project.name 将会是当前模块名字 "app"。而如果我是用 project.parent?....△ 现在 Task 会在执行阶段打印 hello 信息 我自定义 Task 目前位于 build.gradle.kts 文件。...我会创建一个新文件夹,并将其命名为 buildSrc。接下来,我为插件项目创建了一个 build.gradle.kts 文件,这样 Gradle 就会自动将此文件夹添加至构建。...这是项目根文件顶层目录。注意,我并不需要在我项目中将其添加为模块。Gradle 会自动编译目录代码,并将其加入到您构建脚本 classpath

    83930

    第七章 Android Gradle插件

    7.3 应用Android Gradle插件 Gradle插件时候,我们讲了要应用一个插件,必须要知道他们插件id,除此之外,如果是第三方插件,还要配置他们依赖classpath。...Android Gradle插件就是属于第三方插件,它托管Jcenter上,所以应用他们之前,我们要先配置依赖classpath,这样当我们应用插件时候,Gradle系统才能找到他们。...下面我们来看看Android Gradlebuild.gradle配置文件 Android Gradle工程配置,都是android{},这是唯一一个入口,通过它,可以对Android Gradle...build.gradle脚本文件做了处理,从上面的例子我们可以看到,重写了main这个SourceSet,为Android Studio指明我们java文件、res资源文件、assets文件、aidl...文件以及manifest文件项目中位置,这Android Studio才能识别他们,进而作为一个Android工程进行编译构建。

    96420

    手把手教你如何maven迁移到gradle

    目前很多项目构建选择稳健Maven工具,然而,作为一名Java开发,随着spring全家桶切换成gralde构建,以及越来越多开源项目Maven过度到GradleGradle成了程序开发必备技能之一...X2可以将这些依赖声明为可选,这样当您项目在其POM中将X2声明为直接依赖时,X2支持所有驱动程序不会自动包含在项目的类路径。...("hello from task") } } tasks.register("hello", GreetingTask) Tasks列表other栏下会出现 hello 命令行输入...DependencyManagement ---- maven父pom工程定义依赖版本使用标签,标识不引入依赖,只是声明依赖。...gradle,可以使用 io.spring.dependency-management插件。

    2.9K40

    Android安卓进阶之——相比 Groovy 脚本, KTS 性能到底怎么样?

    Groovy(过去 Gradle 配置文件中使用编程语言)。...除了clan build,gradle-profiler还可以针对增量编译,不同 Gradle 插件版本,以及不同内存/CPU 等执行性能分析。...关于gradle-profile具体使用,可以参考文档:分析构建性能 Gradle 6.8 版本性能分析 针对Gradle 6.8版本,我们以下4个用例来分析KTS性能 首次运行(即清除所有build...,两者性能类似 可以看出,KTS只有buildSrc非abi更改时有性能优势,这是因为buildSrcgroovy更改会导致整个项目过时,导致项目重新编译 而buildSrckts修改可以跳过未受影响构建脚本文件编译...KTS与Groovy DSL编译速度相差不大 由上可知,KTS目前优缺点都非常明显,易用性上非常突出,性能方面有一定劣势,Gradle官方也一直优化,读者可以根据自己项目情况决定是否将构建配置

    1.6K41

    放弃 KotlinPoet 基于模版引擎生成 Dependency Gradle Plugin

    接入 mars-gradle-plugin 但是问题来了,官方文档是基于 groovy 写,但是使用 kts 开发者应该怎么写呢?... groovy 里能 work 了,原因就是 mars-gradle-plugin 已经给 rootProject 创建了一个名为 veMarsExt extension kts 正确写法 import...veMarsExt 里 deps 通过 Map 委托,获取到 key 对应 value(第 7 行),即坐标依赖 思考 虽然理清了怎么 build.gradle.kts 下使用 mars-gradle-plugin...一种更为优雅方案 Gradle 插件 + kotlinPoet 最先想到一种简单且不失风度解决方案就是这个了,与火山引擎 mars-gradle-plugin 不同是,**这个方案插件需要在...buildSrc build.gradle(.kts) 被 apply**,然后: 还是 dependency-lock.json 里读取依赖信息 通过 kotlinPoet buildSrc

    86940

    精准化测试看ASMAndroid强势插入-Gradle插件

    文件夹,是一个系统保留目录,可以直接运行插件代码而不用引用插件包 独立项目:类似module,单独编译成jar使用 创建 Gradle自带了创建模板项目的方法——gradle init,通过这个指令,...相应目录下执行该指令,如下所示。...使用 使用插件项目根目录Gradle文件,指定访问mavenLocal,同时,使用groupId、artifactId和version组成对插件引用,如下所示。...:只有项目的本地依赖(本地jar) PROVIDED_ONLY:只提供本地或远程依赖 SUB_PROJECTS:只有子项目 SUB_PROJECTS_LOCAL_DEPS:只有子项目的本地依赖(本地...Gradle中使用Gradle需要对原有脚本做一些改造,首先,要将build.gradle脚本改为buld.gradle.kts,然后将Kotlin代码放到src/man/kotlin目录下,最后,脚本代码也要做相应更新

    1K40
    领券