当前位置: 首页 > 知识库问答 >
问题:

buildSrc gradle文件夹未编译

孔逸春
2023-03-14

我的目标是拥有一个其他构建文件可以在gradle中看到的公共类。我已经创建了一个名为buildSrc的文件夹,它位于我的android项目的根目录中。内容如下:

    class CountryFlavors {

    def Closure getFlavor() {
        return  callback;
    }

Closure  callback ={

    mock {
        applicationId "ca.mysite.mock"
    }
    prod {
        applicationId "ca.mysite.prod"

    }
}

}

从文档中可以看出,放入文件夹buildSrc的类将自动放入与我的android构建脚本相同的类路径中。但实际上,找不到该类。我试图引用构建中的类。应用程序级别的gradle文件,但找不到类。以下是我如何称呼CountryFlavors类:

new CountryFlavors().getFlavor()

我的最终目标是在外部定义一个类,该类可以向我返回一个闭包,我可以在构建脚本中使用它@蛋白石

共有1个答案

乔伯寅
2023-03-14

尝试将您的CountryFlavor课程加入:

buildSrc/src/main/groovy/CountryFlavor.groovy

https://docs.gradle.org/current/userguide/custom_tasks.html

为了回答你的问题,我创建了一个简单的项目。这是它的简化结构(我切割了gradle、gradle包装器等):

C:.
|   build.gradle
|   settings.gradle
|               
+---buildSrc
|   |               
|   \---src
|       \---main
|           \---groovy
|                   CountryFlavors.groovy

建筑gradle很简单:

task myTask << {
    println new CountryFlavors().getFlavor()
}

我放入getFlavor()方法:

println "This is my callback"

输出为:

gradle -q myTask

This is my callback
CountryFlavors$_closure1@3ce443f9
 类似资料:
  • 问题内容: 我有一个要使用Jenkins部署的.NET MVC项目。 我一直在让Jenkins运行msbuild,然后使用RoboCopy将结果文件复制出来。我想切换为仅使用发布个人资料。发布配置文件在使用Visual Studio的本地计算机上运行正常,但是在Jenkins主机上,使用msbuild失败。 它给出的错误是 ASPNETCOMPILER:错误ASPRUNTIME:找不到路径“ C:

  • 问题内容: 如何使用javac在Unix上的所有子文件夹中编译所有java文件? 问题答案: 使用诸如Ant或Maven之类的构建工具。与使用UNIX工具相比,这两种方法都可以使您以更好的方式管理依赖关系。And和Maven都还允许您定义除编译之外要执行的自定义任务。Maven还附带了用于管理远程存储库中的外部依赖项的约定,以及用于运行单元测试和支持连续集成的功能的约定。 即使您只需要偶尔编译一次

  • 我是Android系统的新手。我得到了一个应用程序,在其中我列出了所有SD文件和文件夹,包括doc,pdf,xls,jpg等。 如何在Android中以编程方式获取我的SD卡中所有文件夹和文件的文件夹名和文件名? 我正在使用这段代码,但无法获得文件夹名称(根文件夹和子文件夹)。

  • 我正在使用优秀的库,希望更新到最新版本,为此我需要使用composer。 文件结构: Composer.json文件: 我试图像这样使用库: 问题是我得到了错误: 致命错误:在第132行的 /home/bookmark/public_html/ajax/action.php中找不到类'mikehaertl\wkhtmlto\Pdf' 这是我第一次使用作曲家,知道我做错了什么吗?

  • 我有一个像这样的文件夹 应用程序 供应商 引导程序 公开的 文件夹 img 当我从url访问时http://example.com/img/img.png它工作,但当我喜欢访问http://example.com/img/我得到禁止403,我需要的是重定向或显示该页面没有找到我的。htaccess看起来像这样。 选项-多视图选项-索引重写引擎打开

  • 我有下面的Log4J2配置XML: 但是,每当log4j2 appender写入文件时,它在写入指定的文件路径时不会使用正确的字符串。 log4j2 appender第一次写入文件时,会写入由指定的正确文件路径。但是,只要将具有另一个Id的员工的信息放入线程上下文中,appender仍然会记录到旧文件路径。 例如,appender第一次记录时,它会写入正确的路径: 但当记录器记录下一个员工Id(使