Gradle:覆盖插件中的排除配置

Gradle:覆盖插件中的排除配置,gradle,liferay,Gradle,Liferay,我正在使用Liferay“Gradle主题生成器”开发Liferay 7.2主题(战争风格)。我还将其配置为生成CSS源映射。这很好,除了原始的SCSS文件没有与主题WAR文件一起部署——另一方面,源映射是部署的。最后,浏览器中的DevTools向服务器请求大约200个不存在的SCSS源文件,我无法手动将其分配给本地文件(看起来Firefox和Chrome不久前就删除了该功能;无论我在DevTools中使用多少本地文件和工作区,我都无法让浏览器识别本地文件,因为“这些是我正在寻找的源!”) 我试

我正在使用Liferay“Gradle主题生成器”开发Liferay 7.2主题(战争风格)。我还将其配置为生成CSS源映射。这很好,除了原始的SCSS文件没有与主题WAR文件一起部署——另一方面,源映射是部署的。最后,浏览器中的DevTools向服务器请求大约200个不存在的SCSS源文件,我无法手动将其分配给本地文件(看起来Firefox和Chrome不久前就删除了该功能;无论我在DevTools中使用多少本地文件和工作区,我都无法让浏览器识别本地文件,因为“这些是我正在寻找的源!”)

我试图将gradle war任务配置为在生成的war中包含这些scss文件,但是: 主题生成器是一个gradle插件,它以编程方式配置
war
任务,并将排除设置为
***.scss
(请参阅)。更改该插件是不可能的,因此如何在
build.gradle
中覆盖该排除

或者,我尝试在第一个war任务之后运行第二个war任务,目的是将这些scss文件添加到现有的war文件中(如果我想要“主题开发构建”,还可以运行另一个任务):

但这会把WAR文件弄得一团糟:有些文件现在在战争中创建了两次,有些则完全丢失了


最后,我需要一种方法将scss文件连同传输的css和css源映射一起部署到我的测试服务器中。有人知道如何绕过主题生成器插件配置的排除项吗?或者有任何其他想法可以帮助我吗?

您尝试过使用generator liferay主题NPM模块而不是Gradle主题生成器插件?在liferay 7.2中使用生成器liferay主题的v9.x

看 和 更多细节

当我使用这个模块生成我的主题时,我看到.scss和.css.map都是包含在我的theme.war文件中的文件


希望能有所帮助。

我在尝试运行nodejs和npm之后,烧掉了我机器上所有与之相关的东西。如果您愿意再次尝试,我建议您安装。NVM使您的机器上的多个版本的nodejs易于管理和切换。当您遇到需要某些节点版本。抱歉,我不想再试一次。我在这个主题上已经浪费了3天时间。另外,我在generator liferay主题中遇到的主要问题是,它需要依赖包中包含太多的小文件,在这个工作机器上运行速度慢得令人无法忍受,我无法关闭on access病毒扫描程序,然后e yeoman安装后脚本失败,未注意公司代理设置。不,不再尝试。
task fragmentWAR(type: War) {
    group 'build'
    description 'Prepares a war with scss files'
    dependsOn war 

    from('build/buildTheme') {
        include '**/*.scss'
        exclude '**/.sass-cache'
    }
}

task fragmentDeploy {
    group 'build'
    description 'Goes to war with scss files'
    dependsOn += fragmentWAR
    dependsOn += deploy
}

deploy.mustRunAfter(fragmentWAR)