Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The jar plugin doesn't seem to check, whether rebuilding a jar file is actually required. For daily work, it would be faster to do what Ant's "jar" task does: Compare the timestamps of the input files with the timestamp of the target file.
While this approach has the obvious advantage of being safe (and thus possibly well choosen as a default), it is not appropriate for large projects, where a single build requires a real lot of jar files being rebuilt, even if only a single source file has been changed. This applies, in particular, because comparable plugins like the war, ear, and assembly plugin are forced to behave in the same manner.
Suggestion:
- Introduce a new property, for example "maven.build.force". The main idea of the property would
be, that other plugins (install, war, assembly, ...) would listen to the same property. While they
would possible ignore it initially, one could add support later on. - The default property value would be true.
- If the property value is set to false, then the jar plugin compares the timestamps of the input files with
the timestamp of the output file. If the latter is newer than the input timestamps, then the jar file isn't
being rebuilt.
I am ready to provide a patch, if my suggestion should find interest.
Attachments
Attachments
Issue Links
- is duplicated by
-
MJAR-25 Do not rejar when not necessary
- Closed
- relates to
-
MSOURCES-28 No test for up todate/no ablity to exclude pom.properties from resulting jar
- Closed
-
MASSEMBLY-402 Assembly plugin goals should have a forceCreation parameter.
- Closed