Package io.helidon.build.devloop
Interface ProjectSupplier
- All Known Implementing Classes:
MavenProjectSupplier
public interface ProjectSupplier
A
Project supplier.-
Method Summary
Modifier and TypeMethodDescriptionReturns the name of the build file supported by this supplier, e.g.changedSince(Path projectDir, FileTime lastCheckTime) Returns the most recent modification time if any project file has a modified time more recent than the given time.booleanhasChanges(Path projectDir, FileTime lastCheckTime) Returns whether or not any project file has a modified time more recent than the given time.newProject(BuildExecutor executor, boolean clean, boolean allowSkip, int cycleNumber) Returns a newProjectinstance from the project directory that has been successfully built.
-
Method Details
-
newProject
Project newProject(BuildExecutor executor, boolean clean, boolean allowSkip, int cycleNumber) throws Exception Returns a newProjectinstance from the project directory that has been successfully built. Implementations must callBuildMonitor.onBuildStart(int, BuildType)if a build is performed.- Parameters:
executor- The build executor.clean-trueif the project should be cleaned and built.allowSkip-trueif the project build can be skipped if up to date.cycleNumber- The cycle number.- Returns:
- The project instance, guaranteed to have been successfully built.
- Throws:
IllegalArgumentException- if the project directory is not a valid.Exception- if the build fails.
-
hasChanges
Returns whether or not any project file has a modified time more recent than the given time.- Parameters:
projectDir- The project directory.lastCheckTime- The time to check against.- Returns:
trueif changed.
-
changedSince
Returns the most recent modification time if any project file has a modified time more recent than the given time.- Parameters:
projectDir- The project directory.lastCheckTime- The time to check against.- Returns:
- The time, if changed.
-
buildFileName
String buildFileName()Returns the name of the build file supported by this supplier, e.g. "pom.xml".- Returns:
- The name.
-