Play Framework 2.1.x не будет компилировать Twitter Bootstrap 3 LESS

Я пытаюсь настроить Play 2.1.1 с помощью Twitter Bootstrap 3 с помощью файлов LESS.

Я поместил файлы LESS для начальной загрузки в app\assets\stylesheets\bootstrap.

Я обновляю конфигурацию проекта (Build.scala), чтобы скомпилировать только основной файл bootstrap.less (импорт других файлов):

val main = play.Project(appName, appVersion, appDependencies).settings(
    lessEntryPoints <<= baseDirectory(customLessEntryPoints),
    javascriptEntryPoints <<= baseDirectory(customJavascriptEntryPoints)
)

def customLessEntryPoints(base: File): PathFinder = (
    (base / "app" / "assets" / "stylesheets" / "bootstrap" / "bootstrap.less") +++
    (base / "app" / "assets" / "stylesheets" / "*.less")
)

def customJavascriptEntryPoints(base: File): PathFinder = (
  (base / "app" / "assets" / "javascripts" * "*.js")
)

Я не могу скомпилировать Bootstrap, я получаю следующее:

Expected )
In ...\app\assets\stylesheets\bootstrap\mixins.less at line 0.

Проблема, похоже, исходит из параметров mixin, разделенных точкой с запятой. Когда я заменяю запятую запятой, она работает.

Требуется ли компилятору Play LESS запятую? Нужно ли заменять каждую точку с запятой запятой или я могу настроить компилятор Play LESS?

Спасибо

EDIT:

Здесь есть официальная проблема: https://github.com/playframework/playframework/issues/1423

Кажется, мне нужно дождаться обновления Play с новой версией компилятора LESS. Тем временем я буду использовать внешний компилятор.

Ответ 1

Вот временное решение, отправленное парнем mica16 из github:

1) Я установил плагин в соответствии с документацией: https://github.com/jmparsons/play-lessc (там ошибка в показанном примере = > команда должна быть: npm install -g less, а не npm install -g lessc).

2) В plugins.sbt я добавил следующие строки:

resolvers += "JMParsons Releases" at "http://jmparsons.github.io/releases/"

addSbtPlugin("com.jmparsons" % "play-lessc" % "0.0.8")

(убедитесь, что вы разделили их на линейный переход)

3) Я открыл свою сборку build.scala, и я вставил строки, указанные плагинами, и добавил их:

def customLessEntryPoints(base: File): PathFinder =
(base / "app" / "assets" / "stylesheets" * "bootstrap.less") +++
(base / "app" / "assets" / "stylesheets" * "main.less") (main.less is my custom css)

По какой-то причине я не могу определить (на данный момент я даже не ищу его), вы должны поместить свой загрузочный файл меньше в корневую папку stylesheets. В противном случае я не смог бы скомпилировать эти файлы.

4) Я указал строку html относительно css:

<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap.min.css")">

5) Я запускаю play run, и все работает.

Изменить. Как кто-то спросил: есть ли способ установить плагин lessc без установки jsnode и npm?