Maven-плагин
Celesta-maven-plugin осуществляет кодогенерацию классов доступа к данным на основе CelestaSQL-скриптов. Подключение этого плагина обязательно для проектов, использующих Celesta.
Пример использования:
<plugin>
<groupId>ru.curs</groupId>
<artifactId>celesta-maven-plugin</artifactId>
<version>${celesta.version}</version>
<configuration>
<scores>
<score>. . .</score>
</scores>
<testScores>
<testScore>. . .</testScore>
</testScores>
<!-- unnecessary, true by default -->
<snakeToCamel>true</snakeToCamel>
</configuration>
<executions>
<execution>
<goals>
<goal>gen-cursors</goal>
<goal>gen-score-resources</goal>
<goal>gen-test-cursors</goal>
<goal>gen-test-score-resources</goal>
</goals>
</execution>
</executions>
</plugin>
Параметры конфигурации плагина:
-
scores
— пути к папкам в проекте, где размещены Язык Celesta-SQL-скрипты, описывающие рабочую базу данных. По умолчанию содержит путьsrc/main/celestasql
. -
testScores
— пути к папкам в проекте, где размещены Язык Celesta-SQL-скрипты, описывающие базу данных, используемую только для модульного тестирования. По умолчанию содержит путьsrc/test/celestasql
. -
snakeToCamel
(boolean-параметр, по умолчанию равен true) – следует ли конвертировать имена таблиц и полей, заданные в "snake_case" в CelestaSQL, в "CamelCase" в классах доступа к данным, чтобы соответствовать стандартам именования в Java.
Celesta Maven Plugin производит следующие операции:
-
Кодогенерирует курсоры на основе Язык Celesta-SQL:
-
На фазе
generate-sources
происходит кодогенерация курсоров изscores
и опционально папкиscore
вtarget/generated-sources/celesta
, -
На фазе
generate-test-sources
— изtestScores
вtarget/generated-test-sources/celesta
.
-
-
Копирует CelestaSQL файлы в ресурсы:
-
На фазе
generate-resources
происходит копирование файлов CelestaSQL изscores
и опционально папкиscore
вgenerated-resources/score
-
На фазе
generate-test-resources
— изtestScores
вgenerated-test-resources/score
-
-
Генерирует индекс
score.files
с перечнем относительных путей к .sql-файлам в ресурсах:-
На фазе
generate-resources
→generated-resources/score/score.files
-
На фазе
generate-test-resources
→generated-test-resources/score/score.files
-
Эти файлы используются во время выполнения Celesta для того, чтобы найти пути ко всем CelestaSQL-файлам внутри jar-файлов на classpath.