The Patch Plugin can be configured to apply sets of patches from multiple directories. In the example below, the plugin is setup to apply all the patches in a bugfix directory with optimization (will not reapply the same patch) and also from an enhancement directory. This scenario might crop up if you don't have commit access to a project's source yet need to apply bugfix and enhancement patches. The two different patch source directories are shown purely as an example of what can be configured.
<project> [...] <build> [...] <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-patch-plugin</artifactId> <version>1.2</version> <configuration> <targetDirectory>${moduleDirectory}</targetDirectory> <skipApplication>false</skipApplication> </configuration> <executions> <execution> <id>bugfix-patches</id> <configuration> <patchDirectory>src/main/patches/bugfix</patchDirectory> <patchTrackingFile>${project.build.directory}/optimization-files/bugfix/patches-applied.txt</patchTrackingFile> <naturalOrderProcessing>true</naturalOrderProcessing> </configuration> <phase>process-sources</phase> <goals> <goal>apply</goal> </goals> </execution> <execution> <id>enhancement-patches</id> <configuration> <patchDirectory>src/main/patches/enhancement</patchDirectory> <patchTrackingFile>${project.build.directory}/optimization-files/enhancement/patches-applied.txt</patchTrackingFile> <naturalOrderProcessing>true</naturalOrderProcessing> </configuration> <phase>process-sources</phase> <goals> <goal>apply</goal> </goals> </execution> </executions> </plugin> </plugins> [...] </build> [...] </project>