{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user sarbian",
          "userId" : "sarbian",
          "userName" : "sarbian"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 53,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "aa022badeb26e22a85b71f631f019190b617fb8a",
            "branch" : [
              {
                "SHA1" : "aa022badeb26e22a85b71f631f019190b617fb8a",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "aa022badeb26e22a85b71f631f019190b617fb8a",
            "branch" : [
              {
                "SHA1" : "aa022badeb26e22a85b71f631f019190b617fb8a",
                "name" : "origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 142,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "66443617dbb6700955d0db084d2a4f49283ec3a7",
            "branch" : [
              {
                "SHA1" : "66443617dbb6700955d0db084d2a4f49283ec3a7",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "66443617dbb6700955d0db084d2a4f49283ec3a7",
            "branch" : [
              {
                "SHA1" : "66443617dbb6700955d0db084d2a4f49283ec3a7",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "66443617dbb6700955d0db084d2a4f49283ec3a7",
        "branch" : [
          {
            "SHA1" : "66443617dbb6700955d0db084d2a4f49283ec3a7",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/sarbian/ModuleManager.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "ModuleManager-3.0.7.zip",
      "fileName" : "ModuleManager-3.0.7.zip",
      "relativePath" : "ModuleManager-3.0.7.zip"
    },
    {
      "displayPath" : "ModuleManager.3.0.7.dll",
      "fileName" : "ModuleManager.3.0.7.dll",
      "relativePath" : "ModuleManager.3.0.7.dll"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#142",
  "duration" : 4090,
  "estimatedDuration" : 4997,
  "executor" : None,
  "fullDisplayName" : "ModuleManager #142",
  "id" : "142",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 142,
  "queueId" : 233,
  "result" : "SUCCESS",
  "timestamp" : 1525517901707,
  "url" : "https://ksp.sarbian.com/jenkins/user/mellon85/my-views/view/All/job/ModuleManager/142/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "ef917abe1462d2e52e4114c04971451f5eacc5b6",
        "timestamp" : 1521264120000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Fix deprecation\u000a",
        "date" : "2018-03-16 22:22:00 -0700",
        "id" : "ef917abe1462d2e52e4114c04971451f5eacc5b6",
        "msg" : "Fix deprecation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/Logging/ModLoggerTest.cs",
          "ModuleManager/Extensions/IBasicLoggerExtensions.cs",
          "ModuleManager/Logging/QueueLogger.cs",
          "ModuleManager/Logging/ModLogger.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManagerTests/Progress/PatchProgressTest.cs",
          "ModuleManagerTests/Extensions/IBasicLoggerExtensionsTest.cs",
          "ModuleManager/Logging/IBasicLogger.cs",
          "ModuleManagerTests/PatchApplierTest.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManagerTests/Logging/QueueLoggerTest.cs"
        ],
        "commitId" : "30fd490b1ff5ff505070a9d2a34992f622fddb8a",
        "timestamp" : 1521399471000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Turn some semi-redundant methods into extensions\u000aKeeps having to reimplement them for every IBasicLogger implementation\u000a",
        "date" : "2018-03-18 11:57:51 -0700",
        "id" : "30fd490b1ff5ff505070a9d2a34992f622fddb8a",
        "msg" : "Turn some semi-redundant methods into extensions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Extensions/IBasicLoggerExtensions.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Progress/PatchProgressTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Logging/ModLogger.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Logging/ModLoggerTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Logging/QueueLogger.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Logging/QueueLoggerTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Logging/IBasicLogger.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Extensions/IBasicLoggerExtensionsTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchApplierTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/Logging/ModLoggerTest.cs",
          "ModuleManagerTests/Logging/UnityLoggerTest.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManager/Logging/ModLogger.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManager/Logging/UnityLogger.cs"
        ],
        "commitId" : "e152f673fc60ffd04f47ce01e0b1d466f66b4ee7",
        "timestamp" : 1521399547000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Split up prefixing and translating logs for unity\u000aShould be separate classes.\u000a",
        "date" : "2018-03-18 11:59:07 -0700",
        "id" : "e152f673fc60ffd04f47ce01e0b1d466f66b4ee7",
        "msg" : "Split up prefixing and translating logs for unity",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Logging/ModLoggerTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Logging/ModLogger.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Logging/UnityLoggerTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Logging/UnityLogger.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "cc34564ef7fcb7a316ca6ce4429b8c0e4401c47c",
        "timestamp" : 1522447111000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Allow parentheses in value name\u000a",
        "date" : "2018-03-30 14:58:31 -0700",
        "id" : "cc34564ef7fcb7a316ca6ce4429b8c0e4401c47c",
        "msg" : "Allow parentheses in value name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "a0111d261d211f4731b6afaaa330584a3c381637",
        "timestamp" : 1522993795000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Allow spaces in value names\u000aAddresses #107\u000a",
        "date" : "2018-04-05 22:49:55 -0700",
        "id" : "a0111d261d211f4731b6afaaa330584a3c381637",
        "msg" : "Allow spaces in value names",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManager/Operator.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManager/OperatorParser.cs",
          "ModuleManagerTests/OperatorParserTest.cs",
          "ModuleManager/ModuleManager.csproj"
        ],
        "commitId" : "ab6b5c4610295521555a860cf25af829a9ae8446",
        "timestamp" : 1523170758000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Fix operators\u000aAddresses #110\u000aOperators are now parsed like commands, removed from the regex.\u000a",
        "date" : "2018-04-07 23:59:18 -0700",
        "id" : "ab6b5c4610295521555a860cf25af829a9ae8446",
        "msg" : "Fix operators",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManager/OperatorParser.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/OperatorParserTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Operator.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManagerTests/MMPatchLoaderTest.cs"
        ],
        "commitId" : "c28744139c01a32caf2c98e8749ff9ba5276c3d5",
        "timestamp" : 1524206409000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Fix value assignment with * indexer\u000aBroken in #111 - probably an unusual case but it would have worked \u000abefore.\u000aAdded tests to ensure that this fixes it.  Tests are not and will \u000aprobably never cover all of MMPatchLoader.ModifyNode but useful to add \u000abugfix cases here as they occur.\u000a",
        "date" : "2018-04-19 23:40:09 -0700",
        "id" : "c28744139c01a32caf2c98e8749ff9ba5276c3d5",
        "msg" : "Fix value assignment with * indexer",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/MMPatchLoaderTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "TestUtils/UrlBuilder.cs",
          "ModuleManagerTests/NeedsCheckerTest.cs"
        ],
        "commitId" : "0aa64b5f002c42400ffc3ef7f5499370f79a0313",
        "timestamp" : 1524298081000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Reflection fields should be readonly\u000a",
        "date" : "2018-04-21 01:08:01 -0700",
        "id" : "0aa64b5f002c42400ffc3ef7f5499370f79a0313",
        "msg" : "Reflection fields should be readonly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "TestUtils/UrlBuilder.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/NeedsCheckerTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "TestUtils/UrlBuilder.cs",
          "TestUtilsTests/UrlBuilderTest.cs"
        ],
        "commitId" : "ae2a14f9154564360f07a6ef9d41ebc5add23eb6",
        "timestamp" : 1524298140000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Create special GameData subdirectory\u000aIt's special\u000a",
        "date" : "2018-04-21 01:09:00 -0700",
        "id" : "ae2a14f9154564360f07a6ef9d41ebc5add23eb6",
        "msg" : "Create special GameData subdirectory",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "TestUtilsTests/UrlBuilderTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "TestUtils/UrlBuilder.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/NeedsChecker.cs",
          "ModuleManagerTests/NeedsCheckerTest.cs"
        ],
        "commitId" : "4a7e3c8a455084f1a05ec187819c46db66a2b1d3",
        "timestamp" : 1524298614000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Allow checking needs against directories\u000aIf the needs string contains a / it will check for a directory with that \u000apath in GameData.  Notes:\u000a* PluginData folders are excluded\u000a* Leading and trailing slashes are allowed\u000a* Multiple slashes together will be treated as a single slash\u000a* Comaprison is case sensitive\u000a",
        "date" : "2018-04-21 01:16:54 -0700",
        "id" : "4a7e3c8a455084f1a05ec187819c46db66a2b1d3",
        "msg" : "Allow checking needs against directories",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/NeedsCheckerTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/NeedsChecker.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/OperatorParserTest.cs",
          "ModuleManager/OperatorParser.cs"
        ],
        "commitId" : "1b642c0d7193148d2058f5fd1d8e50fc5140314d",
        "timestamp" : 1525510949000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/sarbian",
          "fullName" : "sarbian"
        },
        "authorEmail" : "sebastien.gaggini@gmail.com",
        "comment" : "Require at least one space before the operator (#119)\u000aFixes wildcards in value names.  If * appears in at the end of value\u000aname without a space it should be interpreted as a wildcard rather than\u000athe multiplication operator\u000a",
        "date" : "2018-05-05 11:02:29 +0200",
        "id" : "1b642c0d7193148d2058f5fd1d8e50fc5140314d",
        "msg" : "Require at least one space before the operator (#119)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/OperatorParserTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/OperatorParser.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "dc4802f4ca2a6cd112b587ab202276727047a9a0",
        "timestamp" : 1525517814000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/unknown",
          "fullName" : "unknown"
        },
        "authorEmail" : "sebastien.gaggini@gmail.com",
        "comment" : "Fix SHA generation for DLL - Fix #120\u000aMake sure TransformFinalBlock is called *after* the last block\u000a",
        "date" : "2018-05-05 12:56:54 +0200",
        "id" : "dc4802f4ca2a6cd112b587ab202276727047a9a0",
        "msg" : "Fix SHA generation for DLL - Fix #120",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Properties/AssemblyInfo.cs"
        ],
        "commitId" : "66443617dbb6700955d0db084d2a4f49283ec3a7",
        "timestamp" : 1525517868000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/unknown",
          "fullName" : "unknown"
        },
        "authorEmail" : "sebastien.gaggini@gmail.com",
        "comment" : "v3.0.7\u000a",
        "date" : "2018-05-05 12:57:48 +0200",
        "id" : "66443617dbb6700955d0db084d2a4f49283ec3a7",
        "msg" : "v3.0.7",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/Properties/AssemblyInfo.cs"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/unknown",
      "fullName" : "unknown"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/sarbian",
      "fullName" : "sarbian"
    },
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
      "fullName" : "joeydwong"
    }
  ]
}