Skip to content
Success

Changes

Summary

  1. Update NuGet packages where available (commit: b605a73) (details)
  2. Accessory projects on .NET 4.7.1 (commit: 2993250) (details)
  3. Update NSubstitute to latest (commit: 9a9bd67) (details)
  4. Update Xunit (commit: bb85860) (details)
  5. Fix Xunit warnings (commit: 0968853) (details)
  6. implement stream logger (commit: e03db37) (details)
  7. Unnecessary using (commit: 16d88d2) (details)
  8. These are already run by MMPatchLoader (commit: 376b71f) (details)
  9. Extract post patch (commit: e1a2be8) (details)
  10. Operate on a copy of the game database then apply (commit: 48df502) (details)
  11. Move path initialization to static initializer (commit: 72f37f1) (details)
  12. Make sure cache also uses copy of game db (commit: 122d4bf) (details)
  13. Extract paths to their own class (commit: ea7b05a) (details)
  14. patch in background (commit: d50fc9e) (details)
  15. Remove PurgeUnused (commit: 09b1eff) (details)
  16. Put log paths in path repository (commit: 39e4157) (details)
  17. Rename file to reflect class name (commit: de6b621) (details)
  18. Dump ModuleManager log to main log after patching (commit: 6ed6702) (details)
  19. Don't count insert nodes as patches (commit: 1589e07) (details)
  20. Only display whole percentages (commit: c2424cb) (details)
  21. Add subdir under Logs (commit: aeca335) (details)
  22. Replace reloading screen messages with dialog (commit: ed78083) (details)
  23. add LogSplitter (commit: 52d8b18) (details)
  24. Save patch log and dump when loading from cache (commit: 7145003) (details)
  25. Get rid of stream logger's exception logger (commit: ee9073b) (details)
  26. Get rid of trailing whitespace (commit: e0c1400) (details)
  27. use international date format (commit: 326119b) (details)
  28. extract common parts of reading logs from queue to its own class (commit: 072b0d0) (details)
  29. v4.0.0 (commit: 166b72c) (details)
Commit b605a7345aed428c1f1d64856329fcdf722c2391 by joeydwong
Update NuGet packages where available
Others require .NET 4
(commit: b605a73)
The file was modified ModuleManagerTests/ModuleManagerTests.csproj (diff)
The file was modified TestUtilsTests/TestUtilsTests.csproj (diff)
The file was modified TestUtilsTests/packages.config (diff)
The file was modified ModuleManagerTests/packages.config (diff)
Commit 29932505aafa752c4a3bb7eb1cd51491118c9fd1 by joeydwong
Accessory projects on .NET 4.7.1
Visual Studio apparently requires .NET 4 to run tests now.  Main project
stays on 3.5 since KSP requires that.
(commit: 2993250)
The file was modified ModuleManagerTests/packages.config (diff)
The file was modified TestUtilsTests/TestUtilsTests.csproj (diff)
The file was modified TestUtilsTests/packages.config (diff)
The file was modified TestUtils/TestUtils.csproj (diff)
The file was modified ModuleManagerTests/ModuleManagerTests.csproj (diff)
Commit 9a9bd677dadd99e360490bb2b110522b3ca3b1bd by joeydwong
Update NSubstitute to latest
(commit: 9a9bd67)
The file was modified ModuleManagerTests/packages.config (diff)
The file was addedModuleManagerTests/app.config
The file was modified ModuleManagerTests/ModuleManagerTests.csproj (diff)
The file was modified ModuleManagerTests/packages.config (diff)
The file was modified ModuleManagerTests/ModuleManagerTests.csproj (diff)
The file was modified TestUtilsTests/TestUtilsTests.csproj (diff)
The file was modified TestUtilsTests/packages.config (diff)
The file was modified ModuleManagerTests/Patches/EditPatchTest.cs (diff)
The file was modified ModuleManagerTests/PatchExtractorTest.cs (diff)
The file was modified TestUtilsTests/DummyTest.cs (diff)
The file was modified ModuleManagerTests/Patches/CopyPatchTest.cs (diff)
The file was modified ModuleManagerTests/Patches/PatchCompilerTest.cs (diff)
The file was modified ModuleManagerTests/DummyTest.cs (diff)
The file was modified ModuleManagerTests/Extensions/ConfigNodeExtensionsTest.cs (diff)
Commit e03db37b1605fe8496b3456f0af5a7a752439442 by joeydwong
implement stream logger
log to a stream
(commit: e03db37)
The file was addedModuleManager/Logging/StreamLogger.cs
The file was modified ModuleManager/ModuleManager.csproj (diff)
The file was addedModuleManagerTests/Logging/StreamLoggerTest.cs
The file was modified ModuleManagerTests/ModuleManagerTests.csproj (diff)
The file was modified ModuleManager/Progress/IPatchProgress.cs (diff)
Commit 376b71fe5cdee0ea1410bb4d63763ed00bc251c9 by joeydwong
These are already run by MMPatchLoader
No need to explicitly run them again on database reload
(commit: 376b71f)
The file was modified ModuleManager/ModuleManager.cs (diff)
Commit e1a2be8b7b7dfab2c1c9f1acc0a96cc6d3696b34 by joeydwong
Extract post patch
Now its own loading system
Extract test runner and add tests for it (meta!)
(commit: e1a2be8)
The file was modified ModuleManager/ModuleManager.cs (diff)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
The file was modified ModuleManagerTests/ModuleManagerTests.csproj (diff)
The file was addedModuleManager/ModuleManagerTestRunner.cs
The file was addedModuleManagerTests/InGameTestRunnerTest.cs
The file was modified ModuleManager/ModuleManager.csproj (diff)
The file was addedModuleManager/ModuleManagerPostPatch.cs
Commit 48df502d6d38721788489652d57cd83d1d16a8dd by joeydwong
Operate on a copy of the game database then apply
* Insert nodes are now patches.  They don't support MM syntax yet (just
applied directly) but that could be added
* ProtoUrlConfig identifies a UrlFile and node without the expectation
that the UrlFile knows about the node (turned into a real UrlConfig at
the end)
* Intermedate state of the game database is now a linked list of nodes
(commit: 48df502)
The file was modified ModuleManager/ModuleManager.csproj (diff)
The file was modified ModuleManagerTests/Patches/PatchCompilerTest.cs (diff)
The file was modified ModuleManager/Patches/EditPatch.cs (diff)
The file was addedModuleManagerTests/Patches/InsertPatchTest.cs
The file was modified ModuleManager/Patches/DeletePatch.cs (diff)
The file was modified ModuleManager/Progress/IPatchProgress.cs (diff)
The file was modified ModuleManagerTests/PatchApplierTest.cs (diff)
The file was modified ModuleManagerTests/Patches/EditPatchTest.cs (diff)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
The file was modified ModuleManager/Patches/CopyPatch.cs (diff)
The file was modified ModuleManager/Progress/PatchProgress.cs (diff)
The file was modified ModuleManager/PatchList.cs (diff)
The file was addedModuleManager/Patches/InsertPatch.cs
The file was modified ModuleManager/Patches/IPatch.cs (diff)
The file was modified ModuleManagerTests/Patches/CopyPatchTest.cs (diff)
The file was modified ModuleManager/PatchContext.cs (diff)
The file was modified ModuleManager/PatchApplier.cs (diff)
The file was modified ModuleManagerTests/PatchListTest.cs (diff)
The file was modified ModuleManager/Patches/PatchCompiler.cs (diff)
The file was modified ModuleManagerTests/ModuleManagerTests.csproj (diff)
The file was modified ModuleManagerTests/Progress/PatchProgressTest.cs (diff)
The file was modified ModuleManager/PatchExtractor.cs (diff)
The file was modified ModuleManagerTests/MMPatchLoaderTest.cs (diff)
The file was modified ModuleManagerTests/Patches/DeletePatchTest.cs (diff)
The file was addedModuleManager/ProtoUrlConfig.cs
The file was modified ModuleManagerTests/PatchExtractorTest.cs (diff)
Commit 72f37f1b58158c6dbf5fed3aef2cd06d3ffc9fc5 by joeydwong
Move path initialization to static initializer
By the time the plugin is even loaded this should all exist
(commit: 72f37f1)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
Commit 122d4bfbfc8d4c32c84cc63a7da43430c0be1c32 by joeydwong
Make sure cache also uses copy of game db
Configs can be applied after in either case
(commit: 122d4bf)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
Commit ea7b05a6358295f43f20d02aba4095e76e58fef3 by joeydwong
Extract paths to their own class
Forgot that the static initalizers would prevent tests from running
(commit: ea7b05a)
The file was modified ModuleManager/ModuleManager.csproj (diff)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
The file was addedModuleManager/FilePathRepository.cs
The file was modified ModuleManager/CustomConfigsManager.cs (diff)
Commit d50fc9e2403b3860c842267b4ff3ef04d32c53e6 by joeydwong
patch in background
Patches are now applied on a separate thread to an isolated copy of the
game database, then copied into the actual game database by post-patch
runner.  Post patch runner will wait for patched database if it isn't
done yet.
One consequence is that logging during patching can no longer be
directed to the main log (it'll get mixed up with other messages).  Now
directed to
<ksp_root>/Logs/ModuleManager.log
(commit: d50fc9e)
The file was modified ModuleManager/Progress/IPatchProgress.cs (diff)
The file was modified ModuleManager/PatchApplier.cs (diff)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
The file was modified ModuleManager/Progress/PatchProgress.cs (diff)
The file was modified ModuleManager/ModuleManager.cs (diff)
The file was addedModuleManager/MMPatchRunner.cs
The file was modified ModuleManager/ModuleManager.csproj (diff)
The file was modified ModuleManagerTests/Progress/PatchProgressTest.cs (diff)
The file was modified ModuleManager/ModuleManagerPostPatch.cs (diff)
The file was modified ModuleManagerTests/PatchApplierTest.cs (diff)
Commit 09b1eff0444f3ecdb1e6b312b1f10906e1ef2b73 by joeydwong
Remove PurgeUnused
Hasn't been necessary for a while
(commit: 09b1eff)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
Commit 39e4157f86bcce19eafb2d2adbc0fc5b64f520ff by joeydwong
Put log paths in path repository
(commit: 39e4157)
The file was modified ModuleManager/MMPatchRunner.cs (diff)
The file was modified ModuleManager/FilePathRepository.cs (diff)
Commit de6b621e8e8bfcdbd9ec917f0fcd9404d1967579 by joeydwong
Rename file to reflect class name
(commit: de6b621)
The file was removedModuleManager/ModuleManagerPostPatch.cs
The file was modified ModuleManager/ModuleManager.csproj (diff)
The file was addedModuleManager/PostPatchLoader.cs
Commit 6ed6702fcf105168da1552667e2d6cf5a8e5dc2a by joeydwong
Dump ModuleManager log to main log after patching
Makes it easier to debug people's issues
(commit: 6ed6702)
The file was modified ModuleManager/PostPatchLoader.cs (diff)
Commit 1589e0708914af3889854411f44e89ee86c78b02 by joeydwong
Don't count insert nodes as patches
As far as progress is concerned, these take much less time to apply than
patches, and are often less numerous.  This can lead to weird completion
percentages.
(commit: 1589e07)
The file was modified ModuleManager/PatchApplier.cs (diff)
The file was modified ModuleManagerTests/PatchListTest.cs (diff)
The file was modified ModuleManager/Patches/EditPatch.cs (diff)
The file was modified ModuleManager/Patches/InsertPatch.cs (diff)
The file was modified ModuleManager/Patches/DeletePatch.cs (diff)
The file was modified ModuleManager/Patches/IPatch.cs (diff)
The file was modified ModuleManager/PatchList.cs (diff)
The file was modified ModuleManagerTests/Patches/EditPatchTest.cs (diff)
The file was modified ModuleManager/Patches/CopyPatch.cs (diff)
The file was modified ModuleManagerTests/Patches/DeletePatchTest.cs (diff)
The file was modified ModuleManagerTests/PatchApplierTest.cs (diff)
The file was modified ModuleManagerTests/Patches/InsertPatchTest.cs (diff)
The file was modified ModuleManagerTests/Patches/CopyPatchTest.cs (diff)
Commit c2424cb2254dbaa3bdd45e2defcfb20c40116e26 by joeydwong
Only display whole percentages
(commit: c2424cb)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
Commit aeca3350c3960f3b87489f73e120c86c8c3f21de by joeydwong
Add subdir under Logs
Makes it consistent with Kopernicus
(commit: aeca335)
The file was modified ModuleManager/FilePathRepository.cs (diff)
Commit ed78083e1fd679a0c23ffe272b5fa1863aefd893 by joeydwong
Replace reloading screen messages with dialog
(commit: ed78083)
The file was modified ModuleManager/ModuleManager.cs (diff)
Commit 52d8b18040d915575e643cf6d8b5cc039f779fb0 by joeydwong
add LogSplitter
directs logs to two other loggers
(commit: 52d8b18)
The file was modified ModuleManagerTests/ModuleManagerTests.csproj (diff)
The file was addedModuleManagerTests/Logging/LogSplitterTest.cs
The file was addedModuleManager/Logging/LogSplitter.cs
The file was modified ModuleManager/ModuleManager.csproj (diff)
Commit 714500341d17e5a0fccba3baa61b2ac6105e62f9 by joeydwong
Save patch log and dump when loading from cache
This ensures that modders have access to a full history of what
ModuleManager did even when the log was taken from a run where it loaded
from cache
(commit: 7145003)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
The file was modified ModuleManager/FilePathRepository.cs (diff)
Commit ee9073b8a94c4ea4e8fbbf01c2e48704cb1088cb by joeydwong
Get rid of stream logger's exception logger
In theory it should be monitored, and not being able to log is a pretty 
serious condition we'd want to watch for
(commit: ee9073b)
The file was modified ModuleManager/Logging/StreamLogger.cs (diff)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
The file was modified ModuleManager/MMPatchRunner.cs (diff)
The file was modified ModuleManagerTests/Logging/StreamLoggerTest.cs (diff)
Commit e0c1400300d9aafc649cce033ed99d85df50f24c by joeydwong
Get rid of trailing whitespace
Thanks VisualStudio
(commit: e0c1400)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
Commit 326119bc1ec3d1c2cf8b13f22f6d426e47b7e96a by joeydwong
use international date format
(commit: 326119b)
The file was modified ModuleManager/Logging/StreamLogger.cs (diff)
Commit 072b0d002a2e3facd4850a6a9ec9efdd7f6c99c5 by joeydwong
extract common parts of reading logs from queue to its own class
(commit: 072b0d0)
The file was addedModuleManagerTests/Logging/QueueLogRunnerTest.cs
The file was modified ModuleManager/MMPatchLoader.cs (diff)
The file was modified ModuleManager/MMPatchRunner.cs (diff)
The file was modified ModuleManagerTests/ModuleManagerTests.csproj (diff)
The file was modified ModuleManagerTests/Collections/MessageQueueTest.cs (diff)
The file was addedModuleManager/Logging/QueueLogRunner.cs
The file was modified ModuleManager/Collections/MessageQueue.cs (diff)
The file was modified ModuleManager/ModuleManager.csproj (diff)
The file was modified ModuleManager/Properties/AssemblyInfo.cs (diff)