Maven чистый плагин исключить .cvsignore - PullRequest
2 голосов
/ 27 апреля 2011

В моем проекте я изначально допустил ошибку и зафиксировал целевой каталог в репозитории cvs;Я знаю, что не существует безопасного способа удаления каталога из CVS, поэтому я поместил туда файл .cvsignore, чтобы в основном игнорировать все (я не хочу, чтобы разработчики, которые не могут даже объединиться правильно для фиксации своих классов ...).

Проблема возникает с моим Дженкинсом, потому что я бегу и проверяю цели;в основном clean запускается перед обновлением CVS, поэтому он всегда находит файл для обновления (.cvsignore, который был удален clean) и запускает часто бесполезную сборку.но я пробовал и не работал:

[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting file set: **************************/target (included: [**], excluded: [])

Исключение настраивается как:

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <executions>
        <execution>
            <id>not-clean</id>
            <configuration>
                <filesets>
                    <fileset>
                        <directory>target</directory>
                        <excludes>
                            <exclude>*cvsignore</exclude>
                        </excludes>
                        <followSymlinks>false</followSymlinks>
                    </fileset>
                </filesets>
            </configuration>
            <phase>initialize</phase>
            <goals>
                <goal>clean</goal>
            </goals>
        </execution>
    </executions>
</plugin>

1 Ответ

4 голосов
/ 27 апреля 2011

Вы можете попробовать установить <excludeDefaultDirectories> на true. В противном случае, я считаю, папка target всегда будет удалена.

Следующий фрагмент кода работает для меня.Обратите внимание, что я использовал default-clean в качестве id.

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <version>2.4.1</version>
            <executions>
                <execution>
                    <id>default-clean</id>
                    <configuration>
                        <excludeDefaultDirectories>true</excludeDefaultDirectories>
                        <filesets>
                            <fileset>
                                <directory>target</directory>
                                <excludes>
                                    <exclude>.cvsignore</exclude>
                                    <exclude>CVS</exclude>
                                    <exclude>CVS/**</exclude>
                                </excludes>
                                <followSymlinks>false</followSymlinks>
                            </fileset>
                        </filesets>
                    </configuration>
                    <phase>initialize</phase>
                    <goals>
                        <goal>clean</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...