Class Scheduler


  • public class Scheduler
    extends Object
    • Field Detail

      • startTime

        protected final Instant startTime
      • finished

        protected final Set<String> finished
      • buildHasErrors

        protected boolean buildHasErrors
      • buildWasAborted

        protected boolean buildWasAborted
    • Method Detail

      • markNodesAsReadyToBuild

        protected void markNodesAsReadyToBuild​(BuildJob job)
      • addQueuedBuild

        public void addQueuedBuild​(BuildFuture future)
      • ejectFinishedBuilds

        public boolean ejectFinishedBuilds​(PrintStream logger,
                                           PersistBuildInfoAction persistBuildInfo)
        Eject the build if the build has finished building.
        Returns:
        true if the build was ejected and false otherwise.
      • successBuild

        public void successBuild​(BuildJob node)
      • successBuild

        public void successBuild​(ScheduledNode node)
      • abortBuild

        public void abortBuild​(BuildJob node)
      • errorBuild

        public void errorBuild​(BuildJob node)
      • hasNext

        public boolean hasNext()
      • hasBuildErrors

        public boolean hasBuildErrors()
        Checks if any build node in the scheduler has errors. This method should only be called once the scheduler returns ABORT node, so we know if that is due to a build being aborted, or because a certain build didn't build (or has parent build error)
        Returns:
        if any node in the build layers has error and false if it does not.
      • wasAborted

        public boolean wasAborted()
        Returns:
        true if the build was aborted and false otherwise
      • getNext

        public ScheduledNode getNext()
        Returns:
        next node used for building