Frage

In meinem Projekt habe ich ursprünglich einen Fehler gemacht und das Zielverzeichnis im CVS -Repository begangen. Ich weiß, dass es keinen sicheren Weg gibt, ein Verzeichnis aus Lebensläufern zu entfernen. Deshalb habe ich dort eine .CVSignore -Datei dort eingelegt, um im Grunde alles zu ignorieren (ich möchte nicht, dass Entwickler, die nicht einmal in der Lage sind, ihre Klassen zu begehen ...) .

Das Problem steigt mit meinem Jenkins CI auf, weil ich sauber und testziele laufe. Grundsätzlich wird vor dem CVS -Update ausgeführt, sodass es immer eine Datei zum Aktualisieren findet (die .cVSignore, die von sauber ausgelöscht wurde) und löst einen oft nutzlosen Build aus.

Ich denke, der Weg zu gehen ist, Ausschlüsse zu verwenden, aber ich habe versucht und nicht funktioniert:

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

Der Ausschluss ist konfiguriert als:

<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>
War es hilfreich?

Lösung

Sie könnten versuchen, einzustellen <excludeDefaultDirectories> zu true, Sonst glaube ich target Ordner würde immer gelöscht.

Der folgende Code -Snippet funktioniert für mich. Beachten Sie, dass ich verwendet habe default-clean als die 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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top