Spring REST Docs Maven непрерывной сборки? - PullRequest
0 голосов
/ 27 ноября 2018

Я проходил этот урок https://www.youtube.com/watch?v=k5ncCJBarRI&t=1443s

Примерно в 1:07:30 автор, упомянувший о "Gradle непрерывной сборки", позже смог обнаружить изменения в тесте и автоматически восстановить asciidoc.Мне было интересно, если кто-нибудь знает, как настроить это в Maven?

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

Я былвозможность заставить maven перерисовывать html, когда в файле index.adoc есть изменение путем изменения <goal> с process-asciidoc на auto-refresh.Тем не менее, это не следит за изменениями в тесте.

Вопрос

Есть ли способ сообщить Maven, чтобы он смотрел наши тестовые файлы и перекомпилировал их после внесения изменений?

POM.XML

<plugin>
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctor-maven-plugin</artifactId>
    <version>1.5.7.1</version>
    <executions>
        <execution>
            <id>generate-docs</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>auto-refresh</goal>
            </goals>

            <configuration>
                <sourceDocumentName>index.adoc</sourceDocumentName>
            <backend>html</backend>
            <attributes>
                <snippets>${project.build.directory}/generated-snippets</snippets>
            </attributes>
            </configuration>

        </execution>
    </executions>
</plugin>

Спасибо.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

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

Я нашел плагин, который просматривает файлы.https://github.com/fizzed/maven-plugins Измените каталог часов, где находятся ваши тестовые файлы.Изменение цели с compile на package.

Watcher выполнит mvnw: package при обнаружении изменения.Затем плагин asciidoctor maven повторно упакует проект.

Добавьте это к своему плагину

<plugin>
            <groupId>com.fizzed</groupId>
            <artifactId>fizzed-watcher-maven-plugin</artifactId>
            <version>1.0.6</version>
            <configuration>
                <touchFile>target/classes/watcher.txt</touchFile>
                <watches>
                    <watch>
                        <directory><directory>src/test/[your test package]</directory></directory>
                    </watch>
                </watches>
                <goals>
                    <goal>package</goal>
                    <!-- <goal>compile</goal> -->
                </goals>
                <profiles>
                    <profile>optional-profile-to-activate</profile>
                </profiles>
            </configuration>
        </plugin>
0 голосов
/ 27 ноября 2018

У Maven нет эквивалента непрерывной сборки Gradle.Если вы хотите, чтобы изменения в тестах были обнаружены и вызывали перекомпиляцию тестов и выполнение всех задач, которые зависят (прямо или косвенно) от скомпилированных тестовых классов, вам придется использовать Gradle.

...