mojohaus / mojohaus/exec-maven-plugin

Skip if output is younger than input

Open
#137 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
191
Forks
111
Avg merge
1d 21h
Merged PRs (30d)
4

Description

Just like the compiler plugin works, the exec plugin should skip execution in case the output is younger than the input.

As the exec plugin per se is unaware what the input and output to the execution is, a smart solution could be to configure it with feasible default:

  • holds patterns for input files, and defaults to ${project.build.sourceDirectory}.
  • holds patterns for output files, and defaults to ${project.build.outputDirectory}.

As a result:

  • When working with a plain Java project, no configuration is needed; the performance optization is granted for free.
  • When backwards compatibility is wanted, deactivate the optimization using empty and .
  • In all other case, provide feasible regex patters for and to safely detect only those files that play a role.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining the exec plugin configuration and the existing compiler plugin behavior referenced in the issue. Determine how input and output patterns should default to Maven source and output directories, how timestamp-based skipping should work, and how empty inputs/outputs preserve compatibility; done means the behavior is covered for plain Java projects and custom patterns.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.