Gradle: переопределить исключить конфигурации, сделанные в плагине - PullRequest
0 голосов
/ 16 января 2020

Я разрабатываю тему Liferay 7.2 (в стиле WAR), используя Liferays «Gradle Theme Builder». Я также настроил его для генерации CSS исходных карт. Это работает нормально, за исключением того, что исходные файлы S CSS не развертываются с файлом WAR темы - с другой стороны, исходные карты развертываются. В конце концов, DevTools в браузере запрашивают у сервера около 200 несуществующих исходных файлов S CSS, которые я не могу вручную назначить локальному файлу (похоже, что Firefox и Chrome удалены с функцией некоторое время назад, и независимо от того, сколько я играю с локальными файлами и рабочими пространствами в DevTools, я не могу заставить браузер распознавать локальные файлы как «это источники, которые я ищу!»).

Я пытался настроить задачу войны Gradle, чтобы включить эти файлы s css в получившуюся WAR, но: Theme Builder - плагин gradle, который настраивает задачу war программно и устанавливает исключение на **/*.scss (см. источников здесь ). Изменение этого плагина не подлежит сомнению, так как я могу переопределить исключение в моем build.gradle?

В качестве альтернативы я попытался запустить вторую военную задачу после первой с намерением добавить эти файлы s css в существующий файл 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, другие отсутствуют полностью.

В конце концов, Мне нужен способ развертывания файлов s css вместе с перенесенными исходными картами css и css на мой тестовый сервер. У кого-нибудь есть идеи, как обойти это исключение, настроенное плагином построителя тем, или любую другую идею, которая может мне здесь помочь?

1 Ответ

0 голосов
/ 16 января 2020

Вы пытались использовать модуль generator-liferay-theme NPM вместо плагина Gradle Theme Builder? Используйте v9.x generator-liferay-theme для Liferay 7.2.

См. https://github.com/liferay/liferay-js-themes-toolkit и https://github.com/liferay/liferay-js-themes-toolkit/tree/master/packages/generator-liferay-theme для получения более подробной информации.

Когда я создаю свою тему с помощью этого модуля, я вижу, что .s css и. css .map являются файлами, включенными в мой файл темы .war.

Надеюсь, это поможет.

...