Как настроить компилятор Scala на использование плагина при сборке с использованием Maven? - PullRequest
1 голос
/ 10 февраля 2011

Итак, у меня есть проект Maven с двумя подмодулями. Первый - это сам плагин компилятора, который компилируется, как я и ожидаю.

Второй подмодуль - это пример кода, который я хочу компилировать с помощью ранее созданного плагина компилятора.

Итак, у меня есть это в файле pom:

<plugin>
  <groupId>org.scala-tools</groupId>
  <artifactId>maven-scala-plugin</artifactId>
  <executions>
    <execution>
      <goals>
        <goal>compile</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <sourceDir>.</sourceDir>
    <!--jvmArgs>
      <jvmArg>-Xms64m</jvmArg>
      <jvmArg>-Xmx1024m</jvmArg>
    </jvmArgs-->
    <args>
      <arg>-Xplugin:../plugin/target/plugin-1.0-SNAPSHOT.jar</arg>
    </args>
  </configuration>
</plugin>

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

Редактировать : Как и предполагалось, я попытался использовать тег compilerPlugins , поэтому соответствующая область стала:

<configuration>
<sourceDir>.</sourceDir>
  <compilerPlugins>
    <compilerPlugin>
      <groupId>*groupid*</groupId>
      <artifactId>plugin</artifactId>
      <version>1.0-SNAPSHOT</version>
    </compilerPlugin>
  </compilerPlugins>
</configuration>

И это действительно сработало, к сожалению, теперь выдает такую ​​ошибку:

Невозможно найти ресурс ' groupid : плагин: jar: 1.0-SNAPSHOT' в репозитории scala-tools.org (http://scala -tools.org / repo-Release)

Что вполне понятно, поскольку его там нет.

Я пытался добавить его в качестве зависимости в список зависимостей, но это ничего не изменило.

окончательное редактирование :

выполнение:

mvn clean install

исправил.

Спасибо

1 Ответ

4 голосов
/ 10 февраля 2011

Разве это не работает с использованием конфигурации compilerPlugin для установки артефакта?

http://scala -tools.org / mvnsites / Maven-плагин-Скала / компилирования mojo.html # compilerPlugins

Обновление : По сути, это артефакт, похожий на зависимость. Вы добавите в него свой плагин компилятора как артефакт:

<compilerPlugins>
  <compilerPlugin>
    <groupId>_your plugins groupId_</groupId>
    <artifactId>plugin</artifactId>
    <version>1.0-SNAPSHOT</groupId>
  </compilerPlugin>
</compilerPlugins>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...