{
  "_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" : 35,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "283a16f1323752ae4f6d3cd4a16dffd8578e60a4",
            "branch" : [
              {
                "SHA1" : "283a16f1323752ae4f6d3cd4a16dffd8578e60a4",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "283a16f1323752ae4f6d3cd4a16dffd8578e60a4",
            "branch" : [
              {
                "SHA1" : "283a16f1323752ae4f6d3cd4a16dffd8578e60a4",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "283a16f1323752ae4f6d3cd4a16dffd8578e60a4",
        "branch" : [
          {
            "SHA1" : "283a16f1323752ae4f6d3cd4a16dffd8578e60a4",
            "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" : "#35",
  "duration" : 6540,
  "estimatedDuration" : 6498,
  "executor" : None,
  "fullDisplayName" : "ModuleManager-Dev #35",
  "id" : "35",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 35,
  "queueId" : 254,
  "result" : "SUCCESS",
  "timestamp" : 1538909340071,
  "url" : "https://ksp.sarbian.com/jenkins/user/sarbian/my-views/view/All/job/ModuleManager-Dev/35/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Progress/ProgressCounter.cs"
        ],
        "commitId" : "7f84a464584133e780a438e7d6ccc0a4f6448a3f",
        "timestamp" : 1530686011000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Whitespace\u000a",
        "date" : "2018-07-03 23:33:31 -0700",
        "id" : "7f84a464584133e780a438e7d6ccc0a4f6448a3f",
        "msg" : "Whitespace",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/ProgressCounter.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/Progress/PatchProgressTest.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManager/Progress/PatchProgress.cs",
          "ModuleManager/Progress/ProgressCounter.cs",
          "ModuleManager/Progress/IPatchProgress.cs"
        ],
        "commitId" : "7d2507abb3a4b3d28d65cc2709f90427a5ec525b",
        "timestamp" : 1530686325000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Allow warnings\u000aCache generation can proceed but the user will be alerted.\u000a",
        "date" : "2018-07-03 23:38:45 -0700",
        "id" : "7d2507abb3a4b3d28d65cc2709f90427a5ec525b",
        "msg" : "Allow warnings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/PatchProgress.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/IPatchProgress.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/ProgressCounter.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Progress/PatchProgressTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Collections/ArrayEnumerator.cs",
          "ModuleManagerTests/Collections/ArrayEnumeratorTest.cs"
        ],
        "commitId" : "106581c492eaeee390a2c35b404a299acfcbea3e",
        "timestamp" : 1530686392000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Make ArrayEnumerator more versatile\u000aNow optionally accepts start index and length\u000a",
        "date" : "2018-07-03 23:39:52 -0700",
        "id" : "106581c492eaeee390a2c35b404a299acfcbea3e",
        "msg" : "Make ArrayEnumerator more versatile",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Collections/ArrayEnumeratorTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Collections/ArrayEnumerator.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Tags/TagListParser.cs",
          "ModuleManager/Tags/TagList.cs",
          "ModuleManagerTests/Tags/TagListParserTest.cs",
          "ModuleManager/Tags/Tag.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManagerTests/Tags/TagListTest.cs",
          "ModuleManagerTests/Tags/TagTest.cs",
          "ModuleManager/ModuleManager.csproj"
        ],
        "commitId" : "ee3e340f51ebddc453a67a673f2e3fd122204009",
        "timestamp" : 1530687203000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Tag, TagList, TagListParser\u000aA lot of things in MM are structured like :tag[value]trailer and this\u000aformalizes that structure\u000a",
        "date" : "2018-07-03 23:53:23 -0700",
        "id" : "ee3e340f51ebddc453a67a673f2e3fd122204009",
        "msg" : "Tag, TagList, TagListParser",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Tags/TagListTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Tags/TagListParser.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Tags/Tag.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Tags/TagListParserTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Tags/TagList.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Tags/TagTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Patches/EditPatch.cs",
          "ModuleManagerTests/PatchExtractorTest.cs",
          "ModuleManagerTests/Patches/PassSpecifiers/AfterPassSpecifierTest.cs",
          "ModuleManager/PatchExtractor.cs",
          "ModuleManagerTests/Patches/PassSpecifiers/InsertPassSpecifierTest.cs",
          "ModuleManager/Progress/IPatchProgress.cs",
          "ModuleManager/Patches/IPatch.cs",
          "ModuleManagerTests/Patches/EditPatchTest.cs",
          "ModuleManagerTests/Patches/CopyPatchTest.cs",
          "ModuleManagerTests/Patches/PassSpecifiers/ForPassSpecifierTest.cs",
          "ModuleManagerTests/Patches/PassSpecifiers/FinalPassSpecifierTest.cs",
          "ModuleManager/Patches/PassSpecifiers/FirstPassSpecifier.cs",
          "ModuleManager/Patches/ProtoPatch.cs",
          "ModuleManager/Patches/ProtoPatchBuilder.cs",
          "ModuleManagerTests/Patches/DeletePatchTest.cs",
          "ModuleManagerTests/Patches/ProtoPatchBuilderTest.cs",
          "ModuleManager/Patches/PassSpecifiers/LegacyPassSpecifier.cs",
          "ModuleManager/Patches/PassSpecifiers/BeforePassSpecifier.cs",
          "ModuleManager/Patches/PatchCompiler.cs",
          "ModuleManagerTests/Progress/PatchProgressTest.cs",
          "ModuleManagerTests/PatchListTest.cs",
          "ModuleManagerTests/Patches/PassSpecifiers/FirstPassSpecifierTest.cs",
          "ModuleManager/Patches/PassSpecifiers/InsertPassSpecifier.cs",
          "ModuleManager/Patches/PassSpecifiers/ForPassSpecifier.cs",
          "ModuleManager/Patches/DeletePatch.cs",
          "ModuleManager/Patches/PassSpecifiers/IPassSpecifier.cs",
          "ModuleManagerTests/Patches/PatchCompilerTest.cs",
          "ModuleManager/NeedsChecker.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManagerTests/NeedsCheckerTest.cs",
          "ModuleManager/PatchList.cs",
          "ModuleManagerTests/NodeMatcherTest.cs",
          "ModuleManagerTests/Patches/PassSpecifiers/LegacyPassSpecifierTest.cs",
          "ModuleManager/Patches/PassSpecifiers/FinalPassSpecifier.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManager/NodeMatcher.cs",
          "ModuleManagerTests/PatchApplierTest.cs",
          "ModuleManager/Progress/PatchProgress.cs",
          "ModuleManager/PatchApplier.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManagerTests/Patches/PassSpecifiers/BeforePassSpecifierTest.cs",
          "ModuleManager/Patches/CopyPatch.cs",
          "ModuleManager/Patches/PassSpecifiers/AfterPassSpecifier.cs"
        ],
        "commitId" : "f5127b1158aa586a181548f67d214c091d649898",
        "timestamp" : 1531108997000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Restructure patch building\u000aLots of changes\u000a* Parsing/validating patch is now separate code\u000a* Less code in the patch extractor (may even be able to go away entirely\u000awith some simplifications)\u000a* Pass specifier is now an explicit concept\u000a* Needs checker is now an object and has a cleaner interface\u000a* Some things which were errors before are now just warnings\u000a * If there is more than one pass specifier it will take the first one\u000aand warn\u000a* Syntax for root patch names is much more formal now, this might break\u000asome unusual cases that are silently accepted now\u000a",
        "date" : "2018-07-08 21:03:17 -0700",
        "id" : "f5127b1158aa586a181548f67d214c091d649898",
        "msg" : "Restructure patch building",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/PassSpecifiers/FinalPassSpecifier.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/PassSpecifiers/BeforePassSpecifierTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/IPatchProgress.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Patches/DeletePatch.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Patches/CopyPatchTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/PassSpecifiers/BeforePassSpecifier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Patches/PatchCompilerTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/PatchProgress.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/PassSpecifiers/ForPassSpecifierTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Patches/EditPatch.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/ProtoPatch.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/ProtoPatchBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchExtractorTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/PassSpecifiers/InsertPassSpecifier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchListTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Patches/EditPatchTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/NeedsChecker.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Patches/PatchCompiler.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Patches/CopyPatch.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchExtractor.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchApplierTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/PassSpecifiers/FirstPassSpecifierTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/PassSpecifiers/InsertPassSpecifierTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/PassSpecifiers/ForPassSpecifier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/NodeMatcher.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchList.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/PassSpecifiers/LegacyPassSpecifier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Patches/DeletePatchTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/PassSpecifiers/AfterPassSpecifierTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Progress/PatchProgressTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Patches/IPatch.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/PassSpecifiers/IPassSpecifier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/NeedsCheckerTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/NodeMatcherTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/ProtoPatchBuilderTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/PassSpecifiers/FinalPassSpecifierTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/PassSpecifiers/FirstPassSpecifier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Patches/PassSpecifiers/AfterPassSpecifier.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Patches/PassSpecifiers/LegacyPassSpecifierTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Tags/TagListParser.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManagerTests/PatchExtractorTest.cs",
          "ModuleManager/PatchExtractor.cs",
          "ModuleManagerTests/Tags/TagListParserTest.cs"
        ],
        "commitId" : "387ed74a65e0d53f62a16c5ee0ea448b047e80ce",
        "timestamp" : 1531111150000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Make extra colons a warning rather than an error\u000aBeen seeing a lot of these and the correct path is determinate\u000a",
        "date" : "2018-07-08 21:39:10 -0700",
        "id" : "387ed74a65e0d53f62a16c5ee0ea448b047e80ce",
        "msg" : "Make extra colons a warning rather than an error",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Tags/TagListParserTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Tags/TagListParser.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchExtractor.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchExtractorTest.cs"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
      "fullName" : "joeydwong"
    }
  ]
}