<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user sarbian</shortDescription><userId>sarbian</userId><userName>sarbian</userName></cause></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>53</buildNumber><marked><SHA1>aa022badeb26e22a85b71f631f019190b617fb8a</SHA1><branch><SHA1>aa022badeb26e22a85b71f631f019190b617fb8a</SHA1><name>origin/master</name></branch></marked><revision><SHA1>aa022badeb26e22a85b71f631f019190b617fb8a</SHA1><branch><SHA1>aa022badeb26e22a85b71f631f019190b617fb8a</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>144</buildNumber><marked><SHA1>00216d33dcf53034d6c4e593effd84d67e341c49</SHA1><branch><SHA1>00216d33dcf53034d6c4e593effd84d67e341c49</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>00216d33dcf53034d6c4e593effd84d67e341c49</SHA1><branch><SHA1>00216d33dcf53034d6c4e593effd84d67e341c49</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>00216d33dcf53034d6c4e593effd84d67e341c49</SHA1><branch><SHA1>00216d33dcf53034d6c4e593effd84d67e341c49</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/sarbian/ModuleManager.git</remoteUrl><scmName></scmName></action><action _class='hudson.plugins.git.GitTagAction'></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>ModuleManager-3.1.1.zip</displayPath><fileName>ModuleManager-3.1.1.zip</fileName><relativePath>ModuleManager-3.1.1.zip</relativePath></artifact><artifact><displayPath>ModuleManager.3.1.1.dll</displayPath><fileName>ModuleManager.3.1.1.dll</fileName><relativePath>ModuleManager.3.1.1.dll</relativePath></artifact><building>false</building><displayName>#144</displayName><duration>4881</duration><estimatedDuration>4997</estimatedDuration><fullDisplayName>ModuleManager #144</fullDisplayName><id>144</id><inProgress>false</inProgress><keepLog>false</keepLog><number>144</number><queueId>308</queueId><result>SUCCESS</result><timestamp>1542047972810</timestamp><url>https://ksp.sarbian.com/jenkins/user/jonnyothan/my-views/view/all/job/ModuleManager/144/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/MMPatchLoader.cs</affectedPath><commitId>7ea256db1aa3c2e961d0178307fe9561f7206d0d</commitId><timestamp>1540175007000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Make patch stopwatch local
It's not needed outside of ProcessPatch(), which contains everything it 
needs to time
</comment><date>2018-10-21 19:23:27 -0700</date><id>7ea256db1aa3c2e961d0178307fe9561f7206d0d</id><msg>Make patch stopwatch local</msg><path><editType>edit</editType><file>ModuleManager/MMPatchLoader.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/MMPatchLoader.cs</affectedPath><commitId>8056f597afe14208b0ff9dd133cf9b8eb9b7c341</commitId><timestamp>1540175007000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Make useCache local
Really only needed for a few lines in ProcessPatch()
</comment><date>2018-10-21 19:23:27 -0700</date><id>8056f597afe14208b0ff9dd133cf9b8eb9b7c341</id><msg>Make useCache local</msg><path><editType>edit</editType><file>ModuleManager/MMPatchLoader.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManagerTests/PatchExtractorTest.cs</affectedPath><affectedPath>ModuleManagerTests/PatchTest.cs</affectedPath><affectedPath>ModuleManager/PatchExtractor.cs</affectedPath><affectedPath>ModuleManagerTests/ModuleManagerTests.csproj</affectedPath><affectedPath>ModuleManager/Patch.cs</affectedPath><affectedPath>ModuleManager/PatchList.cs</affectedPath><affectedPath>ModuleManagerTests/PatchApplierTest.cs</affectedPath><affectedPath>ModuleManager/PatchApplier.cs</affectedPath><affectedPath>ModuleManager/ModuleManager.csproj</affectedPath><commitId>02bd5817ec393dbecc9cc1eb0143aed2b5389723</commitId><timestamp>1540175570000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Make Patch an object
Saves having to parse things multiple times, error/info messages can now 
show the original name (except NEEDS, will be worked on).  More 
functionality will be added to this class in future commits.
</comment><date>2018-10-21 19:32:50 -0700</date><id>02bd5817ec393dbecc9cc1eb0143aed2b5389723</id><msg>Make Patch an object</msg><path><editType>edit</editType><file>ModuleManagerTests/ModuleManagerTests.csproj</file></path><path><editType>add</editType><file>ModuleManagerTests/PatchTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchExtractorTest.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchList.cs</file></path><path><editType>add</editType><file>ModuleManager/Patch.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchApplierTest.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchApplier.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchExtractor.cs</file></path><path><editType>edit</editType><file>ModuleManager/ModuleManager.csproj</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/PatchExtractor.cs</affectedPath><commitId>9d37955474438a38696ca0b15ae8dc8c451982d1</commitId><timestamp>1540175570000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Simplify a bit
</comment><date>2018-10-21 19:32:50 -0700</date><id>9d37955474438a38696ca0b15ae8dc8c451982d1</id><msg>Simplify a bit</msg><path><editType>edit</editType><file>ModuleManager/PatchExtractor.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/PatchExtractor.cs</affectedPath><commitId>54c48ffa3ffab3939ec6895ef15756ef19339c0f</commitId><timestamp>1540175570000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Extra semicolon
</comment><date>2018-10-21 19:32:50 -0700</date><id>54c48ffa3ffab3939ec6895ef15756ef19339c0f</id><msg>Extra semicolon</msg><path><editType>edit</editType><file>ModuleManager/PatchExtractor.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/MMPatchLoader.cs</affectedPath><affectedPath>ModuleManagerTests/PatchExtractorTest.cs</affectedPath><affectedPath>ModuleManager/PatchExtractor.cs</affectedPath><affectedPath>ModuleManagerTests/ModuleManagerTests.csproj</affectedPath><affectedPath>ModuleManagerTests/PatchListTest.cs</affectedPath><affectedPath>ModuleManager/PatchList.cs</affectedPath><affectedPath>ModuleManager/Collections/ArrayEnumerator.cs</affectedPath><affectedPath>ModuleManager/Pass.cs</affectedPath><affectedPath>ModuleManagerTests/PatchApplierTest.cs</affectedPath><affectedPath>ModuleManager/PatchApplier.cs</affectedPath><affectedPath>ModuleManager/ModuleManager.csproj</affectedPath><affectedPath>ModuleManagerTests/PassTest.cs</affectedPath><commitId>e9411608c888b47d128865beedf047b3c622139b</commitId><timestamp>1540175713000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Extract interface for PatchList, modify PatchExtractor
PatchExtractor did too much at once, it shouldn't enumerate and extract 
at the same time (still some work to be done there...).  PatchList now 
has a clearer interface and obscures more of the details - iterating 
through patches is now handled by it rater than PatchApplier
</comment><date>2018-10-21 19:35:13 -0700</date><id>e9411608c888b47d128865beedf047b3c622139b</id><msg>Extract interface for PatchList, modify PatchExtractor</msg><path><editType>edit</editType><file>ModuleManagerTests/PatchExtractorTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/ModuleManagerTests.csproj</file></path><path><editType>edit</editType><file>ModuleManager/PatchList.cs</file></path><path><editType>edit</editType><file>ModuleManager/Collections/ArrayEnumerator.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchApplier.cs</file></path><path><editType>edit</editType><file>ModuleManager/ModuleManager.csproj</file></path><path><editType>add</editType><file>ModuleManager/Pass.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/PassTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchListTest.cs</file></path><path><editType>edit</editType><file>ModuleManager/MMPatchLoader.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchExtractor.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchApplierTest.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/MMPatchLoader.cs</affectedPath><commitId>fef311054bbd8b0298e7af79e09acd935a4409d3</commitId><timestamp>1540175713000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Allow null value in wildcard match
Allows for instance :HAS[#someValue] instead of :HAS[#someValue[*]]
</comment><date>2018-10-21 19:35:13 -0700</date><id>fef311054bbd8b0298e7af79e09acd935a4409d3</id><msg>Allow null value in wildcard match</msg><path><editType>edit</editType><file>ModuleManager/MMPatchLoader.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManagerTests/PatchExtractorTest.cs</affectedPath><affectedPath>ModuleManagerTests/PatchTest.cs</affectedPath><affectedPath>ModuleManagerTests/ModuleManagerTests.csproj</affectedPath><affectedPath>ModuleManager/NodeMatcher.cs</affectedPath><affectedPath>ModuleManager/Patch.cs</affectedPath><affectedPath>ModuleManager/ModuleManager.csproj</affectedPath><affectedPath>ModuleManager/PatchApplier.cs</affectedPath><affectedPath>ModuleManagerTests/NodeMatcherTest.cs</affectedPath><commitId>e134c5049ff49671538e6a64e9e494bf3f241a0b</commitId><timestamp>1540175713000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Extract node matcher
Will eventually be useful in modifying nodes too, but not without some 
refactoring.  For now it is only used on root patches.
</comment><date>2018-10-21 19:35:13 -0700</date><id>e134c5049ff49671538e6a64e9e494bf3f241a0b</id><msg>Extract node matcher</msg><path><editType>edit</editType><file>ModuleManager/ModuleManager.csproj</file></path><path><editType>edit</editType><file>ModuleManager/PatchApplier.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchExtractorTest.cs</file></path><path><editType>add</editType><file>ModuleManager/NodeMatcher.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/ModuleManagerTests.csproj</file></path><path><editType>edit</editType><file>ModuleManager/Patch.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/NodeMatcherTest.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/Patches/DeletePatch.cs</affectedPath><affectedPath>ModuleManagerTests/PatchExtractorTest.cs</affectedPath><affectedPath>ModuleManager/Patches/EditPatch.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PatchCompilerTest.cs</affectedPath><affectedPath>ModuleManager/PatchExtractor.cs</affectedPath><affectedPath>ModuleManager/Patches/IPatch.cs</affectedPath><affectedPath>ModuleManagerTests/ModuleManagerTests.csproj</affectedPath><affectedPath>ModuleManagerTests/Patches/EditPatchTest.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/CopyPatchTest.cs</affectedPath><affectedPath>ModuleManager/Patch.cs</affectedPath><affectedPath>ModuleManager/Pass.cs</affectedPath><affectedPath>ModuleManager/PatchList.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/DeletePatchTest.cs</affectedPath><affectedPath>ModuleManagerTests/PatchTest.cs</affectedPath><affectedPath>ModuleManager/Patches/PatchCompiler.cs</affectedPath><affectedPath>ModuleManagerTests/PatchListTest.cs</affectedPath><affectedPath>ModuleManagerTests/PatchApplierTest.cs</affectedPath><affectedPath>ModuleManager/ModuleManager.csproj</affectedPath><affectedPath>ModuleManager/PatchApplier.cs</affectedPath><affectedPath>ModuleManagerTests/PassTest.cs</affectedPath><affectedPath>ModuleManager/Patches/CopyPatch.cs</affectedPath><commitId>53d238a7ccc585c66ef21536fa5dd62fbea70328</commitId><timestamp>1540175811000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Extract IPatch interface, split up root patches
</comment><date>2018-10-21 19:36:51 -0700</date><id>53d238a7ccc585c66ef21536fa5dd62fbea70328</id><msg>Extract IPatch interface, split up root patches</msg><path><editType>edit</editType><file>ModuleManager/ModuleManager.csproj</file></path><path><editType>delete</editType><file>ModuleManager/Patch.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/DeletePatch.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/ModuleManagerTests.csproj</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchExtractorTest.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchApplier.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchExtractor.cs</file></path><path><editType>edit</editType><file>ModuleManager/Pass.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchListTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/EditPatchTest.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/IPatch.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PassTest.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/EditPatch.cs</file></path><path><editType>delete</editType><file>ModuleManagerTests/PatchTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/DeletePatchTest.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchList.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/CopyPatchTest.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/PatchCompiler.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/PatchCompilerTest.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/CopyPatch.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchApplierTest.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManagerTests/PatchListTest.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PatchCompilerTest.cs</affectedPath><affectedPath>ModuleManagerTests/PassTest.cs</affectedPath><affectedPath>ModuleManagerTests/NodeMatcherTest.cs</affectedPath><commitId>ffbabbbdbeb035211853584a4d7ed43832c58dd0</commitId><timestamp>1540175811000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Fix tests depending on line endings
Since we're already asserting on the ParamName, we can trust that the 
2nd part of the message will be there and not test it.
</comment><date>2018-10-21 19:36:51 -0700</date><id>ffbabbbdbeb035211853584a4d7ed43832c58dd0</id><msg>Fix tests depending on line endings</msg><path><editType>edit</editType><file>ModuleManagerTests/PatchListTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/Patches/PatchCompilerTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/NodeMatcherTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PassTest.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/Progress/ProgressCounter.cs</affectedPath><commitId>c91258096cc0c5d3fb79a08ccfa30eee950e8939</commitId><timestamp>1540175811000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Whitespace
</comment><date>2018-10-21 19:36:51 -0700</date><id>c91258096cc0c5d3fb79a08ccfa30eee950e8939</id><msg>Whitespace</msg><path><editType>edit</editType><file>ModuleManager/Progress/ProgressCounter.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManagerTests/Progress/PatchProgressTest.cs</affectedPath><affectedPath>ModuleManager/MMPatchLoader.cs</affectedPath><affectedPath>ModuleManager/Progress/PatchProgress.cs</affectedPath><affectedPath>ModuleManager/Progress/ProgressCounter.cs</affectedPath><affectedPath>ModuleManager/Progress/IPatchProgress.cs</affectedPath><commitId>7b230976b88f11380d84ad3d6f224d0c6a9042b5</commitId><timestamp>1540175811000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Allow warnings
Cache generation can proceed but the user will be alerted.
</comment><date>2018-10-21 19:36:51 -0700</date><id>7b230976b88f11380d84ad3d6f224d0c6a9042b5</id><msg>Allow warnings</msg><path><editType>edit</editType><file>ModuleManager/MMPatchLoader.cs</file></path><path><editType>edit</editType><file>ModuleManager/Progress/PatchProgress.cs</file></path><path><editType>edit</editType><file>ModuleManager/Progress/ProgressCounter.cs</file></path><path><editType>edit</editType><file>ModuleManager/Progress/IPatchProgress.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/Progress/PatchProgressTest.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/Collections/ArrayEnumerator.cs</affectedPath><affectedPath>ModuleManagerTests/Collections/ArrayEnumeratorTest.cs</affectedPath><commitId>99984913ac564b5a06860a4094bbafe4ff335450</commitId><timestamp>1540175811000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Make ArrayEnumerator more versatile
Now optionally accepts start index and length
</comment><date>2018-10-21 19:36:51 -0700</date><id>99984913ac564b5a06860a4094bbafe4ff335450</id><msg>Make ArrayEnumerator more versatile</msg><path><editType>edit</editType><file>ModuleManager/Collections/ArrayEnumerator.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/Collections/ArrayEnumeratorTest.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/Tags/TagListParser.cs</affectedPath><affectedPath>ModuleManager/Tags/TagList.cs</affectedPath><affectedPath>ModuleManagerTests/Tags/TagListParserTest.cs</affectedPath><affectedPath>ModuleManager/Tags/Tag.cs</affectedPath><affectedPath>ModuleManagerTests/ModuleManagerTests.csproj</affectedPath><affectedPath>ModuleManagerTests/Tags/TagListTest.cs</affectedPath><affectedPath>ModuleManagerTests/Tags/TagTest.cs</affectedPath><affectedPath>ModuleManager/ModuleManager.csproj</affectedPath><commitId>7d994ad71842dd85e4c48efcdeed075d8ed09dd3</commitId><timestamp>1540175811000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Tag, TagList, TagListParser
A lot of things in MM are structured like :tag[value]trailer and this
formalizes that structure
</comment><date>2018-10-21 19:36:51 -0700</date><id>7d994ad71842dd85e4c48efcdeed075d8ed09dd3</id><msg>Tag, TagList, TagListParser</msg><path><editType>edit</editType><file>ModuleManagerTests/ModuleManagerTests.csproj</file></path><path><editType>add</editType><file>ModuleManager/Tags/TagList.cs</file></path><path><editType>add</editType><file>ModuleManager/Tags/TagListParser.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Tags/TagListTest.cs</file></path><path><editType>add</editType><file>ModuleManager/Tags/Tag.cs</file></path><path><editType>edit</editType><file>ModuleManager/ModuleManager.csproj</file></path><path><editType>add</editType><file>ModuleManagerTests/Tags/TagListParserTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Tags/TagTest.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManagerTests/PatchExtractorTest.cs</affectedPath><affectedPath>ModuleManager/Patches/EditPatch.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PassSpecifiers/AfterPassSpecifierTest.cs</affectedPath><affectedPath>ModuleManager/PatchExtractor.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PassSpecifiers/InsertPassSpecifierTest.cs</affectedPath><affectedPath>ModuleManager/Progress/IPatchProgress.cs</affectedPath><affectedPath>ModuleManager/Patches/IPatch.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/EditPatchTest.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PassSpecifiers/ForPassSpecifierTest.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/CopyPatchTest.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PassSpecifiers/FinalPassSpecifierTest.cs</affectedPath><affectedPath>ModuleManager/Patches/PassSpecifiers/FirstPassSpecifier.cs</affectedPath><affectedPath>ModuleManager/Patches/ProtoPatch.cs</affectedPath><affectedPath>ModuleManager/Patches/ProtoPatchBuilder.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/ProtoPatchBuilderTest.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/DeletePatchTest.cs</affectedPath><affectedPath>ModuleManager/Patches/PassSpecifiers/LegacyPassSpecifier.cs</affectedPath><affectedPath>ModuleManager/Patches/PassSpecifiers/BeforePassSpecifier.cs</affectedPath><affectedPath>ModuleManager/Patches/PatchCompiler.cs</affectedPath><affectedPath>ModuleManagerTests/Progress/PatchProgressTest.cs</affectedPath><affectedPath>ModuleManagerTests/PatchListTest.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PassSpecifiers/FirstPassSpecifierTest.cs</affectedPath><affectedPath>ModuleManager/Patches/PassSpecifiers/InsertPassSpecifier.cs</affectedPath><affectedPath>ModuleManager/Patches/PassSpecifiers/ForPassSpecifier.cs</affectedPath><affectedPath>ModuleManager/Patches/DeletePatch.cs</affectedPath><affectedPath>ModuleManager/Patches/PassSpecifiers/IPassSpecifier.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PatchCompilerTest.cs</affectedPath><affectedPath>ModuleManager/NeedsChecker.cs</affectedPath><affectedPath>ModuleManagerTests/ModuleManagerTests.csproj</affectedPath><affectedPath>ModuleManagerTests/NeedsCheckerTest.cs</affectedPath><affectedPath>ModuleManager/PatchList.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PassSpecifiers/LegacyPassSpecifierTest.cs</affectedPath><affectedPath>ModuleManagerTests/NodeMatcherTest.cs</affectedPath><affectedPath>ModuleManager/Patches/PassSpecifiers/FinalPassSpecifier.cs</affectedPath><affectedPath>ModuleManager/MMPatchLoader.cs</affectedPath><affectedPath>ModuleManager/NodeMatcher.cs</affectedPath><affectedPath>ModuleManagerTests/PatchApplierTest.cs</affectedPath><affectedPath>ModuleManager/PatchApplier.cs</affectedPath><affectedPath>ModuleManager/ModuleManager.csproj</affectedPath><affectedPath>ModuleManager/Progress/PatchProgress.cs</affectedPath><affectedPath>ModuleManagerTests/Patches/PassSpecifiers/BeforePassSpecifierTest.cs</affectedPath><affectedPath>ModuleManager/Patches/PassSpecifiers/AfterPassSpecifier.cs</affectedPath><affectedPath>ModuleManager/Patches/CopyPatch.cs</affectedPath><commitId>9b79b392f325efd89949a41c920f4871946a2ea5</commitId><timestamp>1540175811000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Restructure patch building
Lots of changes
* Parsing/validating patch is now separate code
* Less code in the patch extractor (may even be able to go away entirely
with some simplifications)
* Pass specifier is now an explicit concept
* Needs checker is now an object and has a cleaner interface
* Some things which were errors before are now just warnings
 * If there is more than one pass specifier it will take the first one
and warn
* Syntax for root patch names is much more formal now, this might break
some unusual cases that are silently accepted now
</comment><date>2018-10-21 19:36:51 -0700</date><id>9b79b392f325efd89949a41c920f4871946a2ea5</id><msg>Restructure patch building</msg><path><editType>edit</editType><file>ModuleManagerTests/PatchExtractorTest.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchApplier.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/PassSpecifiers/FinalPassSpecifier.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/PassSpecifiers/BeforePassSpecifier.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/ProtoPatchBuilder.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/PassSpecifiers/FinalPassSpecifierTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/ProtoPatchBuilderTest.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/PassSpecifiers/AfterPassSpecifier.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/NeedsCheckerTest.cs</file></path><path><editType>edit</editType><file>ModuleManager/Patches/CopyPatch.cs</file></path><path><editType>edit</editType><file>ModuleManager/Patches/PatchCompiler.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/Patches/EditPatchTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/PassSpecifiers/FirstPassSpecifierTest.cs</file></path><path><editType>edit</editType><file>ModuleManager/ModuleManager.csproj</file></path><path><editType>edit</editType><file>ModuleManager/PatchExtractor.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchList.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/PassSpecifiers/IPassSpecifier.cs</file></path><path><editType>edit</editType><file>ModuleManager/MMPatchLoader.cs</file></path><path><editType>edit</editType><file>ModuleManager/NeedsChecker.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchListTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/PassSpecifiers/LegacyPassSpecifierTest.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/PassSpecifiers/FirstPassSpecifier.cs</file></path><path><editType>edit</editType><file>ModuleManager/Patches/EditPatch.cs</file></path><path><editType>edit</editType><file>ModuleManager/Progress/IPatchProgress.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/ModuleManagerTests.csproj</file></path><path><editType>add</editType><file>ModuleManager/Patches/PassSpecifiers/LegacyPassSpecifier.cs</file></path><path><editType>edit</editType><file>ModuleManager/NodeMatcher.cs</file></path><path><editType>edit</editType><file>ModuleManager/Patches/DeletePatch.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/PatchApplierTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/PassSpecifiers/BeforePassSpecifierTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/Patches/PatchCompilerTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/NodeMatcherTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/PassSpecifiers/ForPassSpecifierTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/PassSpecifiers/AfterPassSpecifierTest.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/PassSpecifiers/InsertPassSpecifier.cs</file></path><path><editType>edit</editType><file>ModuleManager/Progress/PatchProgress.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/PassSpecifiers/ForPassSpecifier.cs</file></path><path><editType>edit</editType><file>ModuleManager/Patches/IPatch.cs</file></path><path><editType>add</editType><file>ModuleManager/Patches/ProtoPatch.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/Patches/CopyPatchTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/Patches/DeletePatchTest.cs</file></path><path><editType>add</editType><file>ModuleManagerTests/Patches/PassSpecifiers/InsertPassSpecifierTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/Progress/PatchProgressTest.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/MMPatchLoader.cs</affectedPath><affectedPath>ModuleManager/Tags/TagListParser.cs</affectedPath><affectedPath>ModuleManagerTests/PatchExtractorTest.cs</affectedPath><affectedPath>ModuleManager/PatchExtractor.cs</affectedPath><affectedPath>ModuleManagerTests/Tags/TagListParserTest.cs</affectedPath><commitId>845fd212cf7121a33ff68a2d5706126f09391aa8</commitId><timestamp>1540175811000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></author><authorEmail>joeydwong@gmail.com</authorEmail><comment>Make extra colons a warning rather than an error
Been seeing a lot of these and the correct path is determinate
</comment><date>2018-10-21 19:36:51 -0700</date><id>845fd212cf7121a33ff68a2d5706126f09391aa8</id><msg>Make extra colons a warning rather than an error</msg><path><editType>edit</editType><file>ModuleManagerTests/PatchExtractorTest.cs</file></path><path><editType>edit</editType><file>ModuleManagerTests/Tags/TagListParserTest.cs</file></path><path><editType>edit</editType><file>ModuleManager/MMPatchLoader.cs</file></path><path><editType>edit</editType><file>ModuleManager/Tags/TagListParser.cs</file></path><path><editType>edit</editType><file>ModuleManager/PatchExtractor.cs</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ModuleManager/Properties/AssemblyInfo.cs</affectedPath><commitId>00216d33dcf53034d6c4e593effd84d67e341c49</commitId><timestamp>1542047814000</timestamp><author><absoluteUrl>https://ksp.sarbian.com/jenkins/user/sarbian</absoluteUrl><fullName>sarbian</fullName></author><authorEmail>sebastien.gaggini@gmail.com</authorEmail><comment>v3.1.1
</comment><date>2018-11-12 19:36:54 +0100</date><id>00216d33dcf53034d6c4e593effd84d67e341c49</id><msg>v3.1.1</msg><path><editType>edit</editType><file>ModuleManager/Properties/AssemblyInfo.cs</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://ksp.sarbian.com/jenkins/user/joeydwong</absoluteUrl><fullName>joeydwong</fullName></culprit><culprit><absoluteUrl>https://ksp.sarbian.com/jenkins/user/sarbian</absoluteUrl><fullName>sarbian</fullName></culprit></freeStyleBuild>