等级:覆盖排除在插件中进行的配置

问题描述 投票:0回答:1

我正在使用Liferays“ Gradle Theme Builder”开发Liferay 7.2主题(WAR风格)。我也将其配置为生成CSS源映射。除原始SCSS文件未与主题WAR文件一起部署外,此工作正常,而源地图已部署。最后,浏览器中的DevTools向服务器询问约200个不存在的SCSS源文件,我无法手动将它们分配给本地文件(看起来Firefox和Chrome早已删除了该功能;无论如何我在DevTools中处理了很多本地文件和工作区,我无法让浏览器将本地文件识别为“这些是我正在寻找的源!”)。

我尝试将gradle war任务配置为在生成的WAR中包括那些scss文件,但是:Theme Builder是一个gradle插件,可以通过编程方式配置war任务,并将排除项设置为**/*.scss(请参见sources here)。更改该插件是没有问题的,那么如何覆盖我的build.gradle中的排除对象?

或者,我尝试在第一个战争任务之后运行第二个战争任务,目的是将这些scss文件添加到现有的WAR文件中(如果我想进行“主题开发”,则可以运行另一个任务来获得额外的好处) :

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)

但是这弄乱了WAR文件:有些文件现在在WAR中创建了两次,另一些文件则完全丢失了。

最后,我需要一种方法来将scss文件以及已转换的css和css源映射一起部署到我的测试服务器中。是否有人知道如何规避由主题构建器插件配置的排除-或任何其他可能对我有帮助的想法?

gradle liferay
1个回答
0
投票

您是否尝试过使用generator-liferay-theme NPM模块而不是Gradle Theme Builder插件?将Generator-liferay-theme v9.x用于Liferay 7.2。

请参阅https://github.com/liferay/liferay-js-themes-toolkithttps://github.com/liferay/liferay-js-themes-toolkit/tree/master/packages/generator-liferay-theme了解更多详情。

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

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.