{
  "_class" : "hudson.maven.MavenModuleSetBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.SCMTrigger$SCMTriggerCause",
          "shortDescription" : "Started by an SCM change"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 80,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "297c2802e84ef6b1e55f6c293ac3c42cf6b090d8",
            "branch" : [
              {
                "SHA1" : "297c2802e84ef6b1e55f6c293ac3c42cf6b090d8",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "297c2802e84ef6b1e55f6c293ac3c42cf6b090d8",
            "branch" : [
              {
                "SHA1" : "297c2802e84ef6b1e55f6c293ac3c42cf6b090d8",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "297c2802e84ef6b1e55f6c293ac3c42cf6b090d8",
        "branch" : [
          {
            "SHA1" : "297c2802e84ef6b1e55f6c293ac3c42cf6b090d8",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "http://localhost:3000/Gaming/gaming.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      "_class" : "hudson.maven.reporters.MavenAggregatedArtifactRecord"
    },
    {
      "_class" : "hudson.maven.reporters.SurefireAggregatedReport",
      "failCount" : 0,
      "skipCount" : 0,
      "totalCount" : 87,
      "urlName" : "testReport"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.jacoco.JacocoBuildAction"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#80",
  "duration" : 169486,
  "estimatedDuration" : 102276,
  "executor" : None,
  "fullDisplayName" : "gaming #80",
  "id" : "80",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 80,
  "queueId" : 1254877,
  "result" : "SUCCESS",
  "timestamp" : 1696890188001,
  "url" : "https://fhdwdev.ha.bib.de/jenkins/view/Gaming/job/gaming/80/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gaming-gui/src/main/java/de/fhdw/gaming/gui/Main.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessValueState.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/GameBuilderFactory.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/InputProviderFactory.java",
          "gaming-core/src/main/java/module-info.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/StringFieldType.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/GameBuilderFactoryProvider.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Strategy.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GivingUpGuessValueStrategy.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessValueMove.java",
          "gaming-contest/src/main/java/de/fhdw/gaming/contest/Main.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/FailingGuessValueStrategy.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultGame.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/ObserverFactory.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Stateful.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessFixedValueMove.java",
          "gaming-gui/src/main/java/de/fhdw/gaming/gui/LogObserver.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/util/ConsumerE.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/InputProvider.java",
          "gaming-gui/src/main/java/de/fhdw/gaming/gui/ControlCreator.java",
          "gaming-gui/src/main/java/de/fhdw/gaming/gui/InteractiveDialogInputProvider.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultObserverFactoryProvider.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Move.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultGameBuilderFactoryProvider.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Game.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/FieldTypeException.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/InputProviderException.java",
          "gaming-gui/src/main/java/de/fhdw/gaming/gui/LogObserverFactory.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/util/FunctionE.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/ObserverFactoryProvider.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/GameBuilder.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/util/GameBuilderFactoryWrapper.java",
          "gaming-contest/src/main/java/module-info.java",
          "gaming-gui/src/main/java/de/fhdw/gaming/gui/GuiObserverFactory.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/BooleanFieldType.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Player.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/CheatingGuessValueStrategy.java",
          "gaming-gui/src/main/java/de/fhdw/gaming/gui/GameRunner.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/FieldTypeVisitor.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/util/NonInteractiveInputProvider.java",
          "gaming-gui/src/main/java/de/fhdw/gaming/gui/GuiObserver.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/FieldType.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/ObjectFieldType.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/MoveChecker.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/ControllableGuessValueStrategy.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/IntegerFieldType.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessValuePlayer.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/GameException.java",
          "gaming-contest/src/main/java/de/fhdw/gaming/contest/ui/InteractiveStreamInputProvider.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Observer.java",
          "gaming-gui/src/main/java/module-info.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/State.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessValueStrategy.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/PlayerState.java"
        ],
        "commitId" : "b7c1410d4be428cb5ebecbff92844d4c5bba5d45",
        "timestamp" : 1696886978000,
        "author" : {
          "absoluteUrl" : "https://fhdwdev.ha.bib.de/jenkins/user/fhdwcsh",
          "fullName" : "Christoph Schulz"
        },
        "authorEmail" : "develop@kristov.de",
        "comment" : "gaming: copyright updated\u000a",
        "date" : "2023-10-09 23:29:38 +0200",
        "id" : "b7c1410d4be428cb5ebecbff92844d4c5bba5d45",
        "msg" : "gaming: copyright updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gaming-gui/src/main/java/de/fhdw/gaming/gui/LogObserverFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/util/ConsumerE.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/util/FunctionE.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/InputProviderFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-gui/src/main/java/module-info.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/GameException.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-gui/src/main/java/de/fhdw/gaming/gui/Main.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessValuePlayer.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessValueMove.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-gui/src/main/java/de/fhdw/gaming/gui/LogObserver.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/FieldTypeException.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Game.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/util/NonInteractiveInputProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessValueStrategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-gui/src/main/java/de/fhdw/gaming/gui/InteractiveDialogInputProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Player.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/GameBuilderFactoryProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/GameBuilder.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/FieldTypeVisitor.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/ObserverFactoryProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/ObjectFieldType.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Observer.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Move.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/CheatingGuessValueStrategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/MoveChecker.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/StringFieldType.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-contest/src/main/java/module-info.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/FieldType.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-contest/src/main/java/de/fhdw/gaming/contest/ui/InteractiveStreamInputProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/IntegerFieldType.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-gui/src/main/java/de/fhdw/gaming/gui/GameRunner.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Strategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/State.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/InputProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultGameBuilderFactoryProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultGame.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/InputProviderException.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/ControllableGuessValueStrategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessValueState.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/util/GameBuilderFactoryWrapper.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/GameBuilderFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/module-info.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Stateful.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/FailingGuessValueStrategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GuessFixedValueMove.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultObserverFactoryProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-gui/src/main/java/de/fhdw/gaming/gui/GuiObserver.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-gui/src/main/java/de/fhdw/gaming/gui/ControlCreator.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GivingUpGuessValueStrategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/ObserverFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/ui/type/BooleanFieldType.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-gui/src/main/java/de/fhdw/gaming/gui/GuiObserverFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/PlayerState.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-contest/src/main/java/de/fhdw/gaming/contest/Main.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/FailingGuessValueStrategy.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/CheatingGuessValueStrategy.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/ControllableGuessValueStrategy.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Strategy.java",
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GivingUpGuessValueStrategy.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultGame.java"
        ],
        "commitId" : "651feae87912a11be828b13e2303ed5093352e07",
        "timestamp" : 1696886980000,
        "author" : {
          "absoluteUrl" : "https://fhdwdev.ha.bib.de/jenkins/user/fhdwcsh",
          "fullName" : "Christoph Schulz"
        },
        "authorEmail" : "develop@kristov.de",
        "comment" : "gaming-core: passing maximum computation time to computeNextMove()\u000a",
        "date" : "2023-10-09 23:29:40 +0200",
        "id" : "651feae87912a11be828b13e2303ed5093352e07",
        "msg" : "gaming-core: passing maximum computation time to computeNextMove()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/CheatingGuessValueStrategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultGame.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/ControllableGuessValueStrategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Strategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/GivingUpGuessValueStrategy.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/FailingGuessValueStrategy.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gaming-core/src/test/java/de/fhdw/gaming/core/domain/DefaultGameTest.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultGame.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/MoveGenerator.java",
          "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Game.java"
        ],
        "commitId" : "297c2802e84ef6b1e55f6c293ac3c42cf6b090d8",
        "timestamp" : 1696887007000,
        "author" : {
          "absoluteUrl" : "https://fhdwdev.ha.bib.de/jenkins/user/fhdwcsh",
          "fullName" : "Christoph Schulz"
        },
        "authorEmail" : "develop@kristov.de",
        "comment" : "gaming-core: DefaultGame is now a final class\u000a\u000aThe last piece of abstraction (chooseRandomMove) is now implemented by\u000ausing a MoveGenerator object passed during construction.\u000a",
        "date" : "2023-10-09 23:30:07 +0200",
        "id" : "297c2802e84ef6b1e55f6c293ac3c42cf6b090d8",
        "msg" : "gaming-core: DefaultGame is now a final class",
        "paths" : [
          {
            "editType" : "add",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/MoveGenerator.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/DefaultGame.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/main/java/de/fhdw/gaming/core/domain/Game.java"
          },
          {
            "editType" : "edit",
            "file" : "gaming-core/src/test/java/de/fhdw/gaming/core/domain/DefaultGameTest.java"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://fhdwdev.ha.bib.de/jenkins/user/fhdwcsh",
      "fullName" : "Christoph Schulz"
    }
  ],
  "mavenArtifacts" : {
    
  },
  "mavenVersionUsed" : "3.9.4"
}