{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by sarbian"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 33,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "eef68b8d632a9aff4b8897e823f56af56ad39ed1",
            "branch" : [
              {
                "SHA1" : "eef68b8d632a9aff4b8897e823f56af56ad39ed1",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "eef68b8d632a9aff4b8897e823f56af56ad39ed1",
            "branch" : [
              {
                "SHA1" : "eef68b8d632a9aff4b8897e823f56af56ad39ed1",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "eef68b8d632a9aff4b8897e823f56af56ad39ed1",
        "branch" : [
          {
            "SHA1" : "eef68b8d632a9aff4b8897e823f56af56ad39ed1",
            "name" : "refs/remotes/origin/dev"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/sarbian/ModuleManager.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "ModuleManager.dll",
      "fileName" : "ModuleManager.dll",
      "relativePath" : "ModuleManager.dll"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#33",
  "duration" : 7303,
  "estimatedDuration" : 6498,
  "executor" : None,
  "fullDisplayName" : "ModuleManager-Dev #33",
  "id" : "33",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 33,
  "queueId" : 231,
  "result" : "SUCCESS",
  "timestamp" : 1525511701978,
  "url" : "https://ksp.sarbian.com/jenkins/user/lamont/my-views/view/All/job/ModuleManager-Dev/33/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "5a5b3e7c542f0a0e55c0bbc72ea2ee299a4a8e62",
        "timestamp" : 1523229691000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Make patch stopwatch local\u000aIt's not needed outside of ProcessPatch(), which contains everything it \u000aneeds to time\u000a",
        "date" : "2018-04-08 16:21:31 -0700",
        "id" : "5a5b3e7c542f0a0e55c0bbc72ea2ee299a4a8e62",
        "msg" : "Make patch stopwatch local",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "bedb00c654f69cfe2ecf87b29bc25190d048901a",
        "timestamp" : 1523229691000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Make useCache local\u000aReally only needed for a few lines in ProcessPatch()\u000a",
        "date" : "2018-04-08 16:21:31 -0700",
        "id" : "bedb00c654f69cfe2ecf87b29bc25190d048901a",
        "msg" : "Make useCache local",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/PatchExtractorTest.cs",
          "ModuleManagerTests/PatchTest.cs",
          "ModuleManager/PatchExtractor.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManager/Patch.cs",
          "ModuleManager/PatchList.cs",
          "ModuleManagerTests/PatchApplierTest.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "5ab92f618ac9e51ebc5bb55a86ab3244ea28f47d",
        "timestamp" : 1523229838000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Make Patch an object\u000aSaves having to parse things multiple times, error/info messages can now \u000ashow the original name (except NEEDS, will be worked on).  More \u000afunctionality will be added to this class in future commits.\u000a",
        "date" : "2018-04-08 16:23:58 -0700",
        "id" : "5ab92f618ac9e51ebc5bb55a86ab3244ea28f47d",
        "msg" : "Make Patch an object",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManager/Patch.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/PatchTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchExtractor.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchExtractorTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchList.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchApplierTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchExtractor.cs"
        ],
        "commitId" : "a551c2cdfcf41a9494f30ba77f86f310744a78b3",
        "timestamp" : 1523229838000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Simplify a bit\u000a",
        "date" : "2018-04-08 16:23:58 -0700",
        "id" : "a551c2cdfcf41a9494f30ba77f86f310744a78b3",
        "msg" : "Simplify a bit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchExtractor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchExtractor.cs"
        ],
        "commitId" : "f96c333cb23db5a6d54c91faedbb088a5791899d",
        "timestamp" : 1523229838000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Extra semicolon\u000a",
        "date" : "2018-04-08 16:23:58 -0700",
        "id" : "f96c333cb23db5a6d54c91faedbb088a5791899d",
        "msg" : "Extra semicolon",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchExtractor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManagerTests/PatchExtractorTest.cs",
          "ModuleManager/PatchExtractor.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManagerTests/PatchListTest.cs",
          "ModuleManagerTests/PatchApplierTest.cs",
          "ModuleManager/Collections/ArrayEnumerator.cs",
          "ModuleManager/Pass.cs",
          "ModuleManager/PatchList.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManagerTests/PassTest.cs",
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "83288b5773b3115ce6870e6107a8f0eb1d97703b",
        "timestamp" : 1523510679000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Extract interface for PatchList, modify PatchExtractor\u000aPatchExtractor did too much at once, it shouldn't enumerate and extract \u000aat the same time (still some work to be done there...).  PatchList now \u000ahas a clearer interface and obscures more of the details - iterating \u000athrough patches is now handled by it rater than PatchApplier\u000a",
        "date" : "2018-04-11 22:24:39 -0700",
        "id" : "83288b5773b3115ce6870e6107a8f0eb1d97703b",
        "msg" : "Extract interface for PatchList, modify PatchExtractor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchExtractorTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchApplierTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Collections/ArrayEnumerator.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Pass.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/PassTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchExtractor.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchList.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchListTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "cccdc85fcb522b7be1f0682baf8807934b43cea1",
        "timestamp" : 1523510679000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Allow null value in wildcard match\u000aAllows for instance :HAS[#someValue] instead of :HAS[#someValue[*]]\u000a",
        "date" : "2018-04-11 22:24:39 -0700",
        "id" : "cccdc85fcb522b7be1f0682baf8807934b43cea1",
        "msg" : "Allow null value in wildcard match",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/PatchExtractorTest.cs",
          "ModuleManagerTests/PatchTest.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManager/NodeMatcher.cs",
          "ModuleManager/Patch.cs",
          "ModuleManager/PatchApplier.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManagerTests/NodeMatcherTest.cs"
        ],
        "commitId" : "3698d7c53885fb090ed1ef7b5ba5b4fedc22a377",
        "timestamp" : 1523512958000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Extract node matcher\u000aWill eventually be useful in modifying nodes too, but not without some \u000arefactoring.  For now it is only used on root patches.\u000a",
        "date" : "2018-04-11 23:02:38 -0700",
        "id" : "3698d7c53885fb090ed1ef7b5ba5b4fedc22a377",
        "msg" : "Extract node matcher",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManager/NodeMatcher.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/NodeMatcherTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchExtractorTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Patch.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Patches/DeletePatch.cs",
          "ModuleManagerTests/PatchExtractorTest.cs",
          "ModuleManager/Patches/EditPatch.cs",
          "ModuleManagerTests/Patches/PatchCompilerTest.cs",
          "ModuleManager/PatchExtractor.cs",
          "ModuleManager/Patches/IPatch.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManagerTests/Patches/EditPatchTest.cs",
          "ModuleManagerTests/Patches/CopyPatchTest.cs",
          "ModuleManager/Patch.cs",
          "ModuleManager/PatchList.cs",
          "ModuleManager/Pass.cs",
          "ModuleManagerTests/Patches/DeletePatchTest.cs",
          "ModuleManagerTests/PatchTest.cs",
          "ModuleManager/Patches/PatchCompiler.cs",
          "ModuleManagerTests/PatchListTest.cs",
          "ModuleManagerTests/PatchApplierTest.cs",
          "ModuleManager/PatchApplier.cs",
          "ModuleManagerTests/PassTest.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManager/Patches/CopyPatch.cs"
        ],
        "commitId" : "5d77647f910ee0a35f2b0c1d3148314ff4344263",
        "timestamp" : 1524121646000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Extract IPatch interface, split up root patches\u000a",
        "date" : "2018-04-19 00:07:26 -0700",
        "id" : "5d77647f910ee0a35f2b0c1d3148314ff4344263",
        "msg" : "Extract IPatch interface, split up root patches",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PassTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/IPatch.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchExtractorTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/CopyPatch.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/DeletePatch.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchListTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/PatchCompilerTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/EditPatch.cs"
          },
          {
            "editType" : "delete",
            "file" : "ModuleManagerTests/PatchTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/DeletePatchTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchApplierTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchList.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/CopyPatchTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/EditPatchTest.cs"
          },
          {
            "editType" : "delete",
            "file" : "ModuleManager/Patch.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/PatchCompiler.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Pass.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchExtractor.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/PatchListTest.cs",
          "ModuleManagerTests/Patches/PatchCompilerTest.cs",
          "ModuleManagerTests/PassTest.cs",
          "ModuleManagerTests/NodeMatcherTest.cs"
        ],
        "commitId" : "d331d9e7efd2b3c0cc1b565072492c2669e9bb26",
        "timestamp" : 1524123804000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Fix tests depending on line endings\u000aSince we're already asserting on the ParamName, we can trust that the \u000a2nd part of the message will be there and not test it.\u000a",
        "date" : "2018-04-19 00:43:24 -0700",
        "id" : "d331d9e7efd2b3c0cc1b565072492c2669e9bb26",
        "msg" : "Fix tests depending on line endings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/NodeMatcherTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PassTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchListTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Patches/PatchCompilerTest.cs"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
      "fullName" : "joeydwong"
    }
  ]
}