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 производит следующие операции:

  1. Кодогенерирует курсоры на основе Язык Celesta-SQL:

    • На фазе generate-sources происходит кодогенерация курсоров из scores и опционально папки score в target/generated-sources/celesta,

    • На фазе generate-test-sources — из testScores в target/generated-test-sources/celesta.

  2. Копирует CelestaSQL файлы в ресурсы:

    • На фазе generate-resources происходит копирование файлов CelestaSQL из scores и опционально папки score в generated-resources/score

    • На фазе generate-test-resources — из testScores в generated-test-resources/score

  3. Генерирует индекс score.files с перечнем относительных путей к .sql-файлам в ресурсах:

    • На фазе generate-resourcesgenerated-resources/score/score.files

    • На фазе generate-test-resourcesgenerated-test-resources/score/score.files

Эти файлы используются во время выполнения Celesta для того, чтобы найти пути ко всем CelestaSQL-файлам внутри jar-файлов на classpath.