Skip to content

Commit

Permalink
Create Assembly Definition files
Browse files Browse the repository at this point in the history
* Moved to .NET 2.0 instead of subset
* Bumped to version 1.2.4
* Did some using clean up
* Implemented IDisposable where callbacks are involved
  • Loading branch information
simeonradivoev committed Dec 27, 2017
1 parent fe458c6 commit 5a67f7d
Show file tree
Hide file tree
Showing 19 changed files with 196 additions and 70 deletions.
1 change: 0 additions & 1 deletion Assets/Plugins/UniGit/Editor/Filters/GitLfsFilter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
using System.IO;
using System.Threading;
using LibGit2Sharp;
using UniGit.Utils;
using Debug = UnityEngine.Debug;

namespace UniGit.Filters
Expand Down
13 changes: 10 additions & 3 deletions Assets/Plugins/UniGit/Editor/GitAutoFetcher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,20 @@

namespace UniGit
{
public class GitAutoFetcher
public class GitAutoFetcher : IDisposable
{
private readonly GitCredentialsManager credentialsManager;
private readonly GitManager gitManager;
private readonly GitCallbacks gitCallbacks;
private bool needsFetch;

[UniGitInject]
public GitAutoFetcher(GitManager gitManager,GitCredentialsManager credentialsManager,GitCallbacks callbacks)
public GitAutoFetcher(GitManager gitManager,GitCredentialsManager credentialsManager,GitCallbacks gitCallbacks)
{
this.gitManager = gitManager;
this.credentialsManager = credentialsManager;
callbacks.EditorUpdate += OnEditorUpdate;
this.gitCallbacks = gitCallbacks;
gitCallbacks.EditorUpdate += OnEditorUpdate;
needsFetch = !EditorApplication.isPlayingOrWillChangePlaymode && !EditorApplication.isCompiling && !EditorApplication.isUpdating;
}

Expand Down Expand Up @@ -70,5 +72,10 @@ private bool AutoFetchChanges()
GitProfilerProxy.EndSample();
return false;
}

public void Dispose()
{
if(gitCallbacks != null) gitCallbacks.EditorUpdate -= OnEditorUpdate;
}
}
}
13 changes: 10 additions & 3 deletions Assets/Plugins/UniGit/Editor/GitCredentialsManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

namespace UniGit
{
public class GitCredentialsManager
public class GitCredentialsManager : IDisposable
{
private readonly ICredentialsAdapter[] adapters;
private readonly GUIContent[] adapterNames;
Expand All @@ -23,17 +23,19 @@ public class GitCredentialsManager
private GitCredentialsJson gitCredentials;
private readonly GitManager gitManager;
private readonly GitSettingsJson gitSettings;
private GitCallbacks gitCallbacks;

[UniGitInject]
public GitCredentialsManager(GitManager gitManager,GitSettingsJson gitSettings,List<ICredentialsAdapter> adapters)
public GitCredentialsManager(GitManager gitManager,GitSettingsJson gitSettings,List<ICredentialsAdapter> adapters, GitCallbacks gitCallbacks)
{
this.gitSettings = gitSettings;
this.gitManager = gitManager;
this.adapters = adapters.ToArray();
this.gitCallbacks = gitCallbacks;
adapterNames = adapters.Select(a => new GUIContent(GetAdapterName(a))).ToArray();
adapterIds = adapters.Select(GetAdapterId).ToArray();

EditorApplication.update += EditorUpdate;
gitCallbacks.EditorUpdate += EditorUpdate;

LoadGitCredentials();

Expand Down Expand Up @@ -416,6 +418,11 @@ internal void SetNewPassword(string url,string user, string password)
}
}

public void Dispose()
{
if(gitCallbacks != null) gitCallbacks.EditorUpdate -= EditorUpdate;
}

public GitCredentialsJson GitCredentials
{
get { return gitCredentials; }
Expand Down
2 changes: 1 addition & 1 deletion Assets/Plugins/UniGit/Editor/GitManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace UniGit
{
public class GitManager : IDisposable
{
public const string Version = "1.2.3";
public const string Version = "1.2.4";

private readonly string repoPath;
private readonly string gitPath;
Expand Down
5 changes: 1 addition & 4 deletions Assets/Plugins/UniGit/Editor/GitOverlay.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
using System.Linq;
using LibGit2Sharp;
using LibGit2Sharp;
using UniGit.Utils;
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;

namespace UniGit
Expand Down
16 changes: 12 additions & 4 deletions Assets/Plugins/UniGit/Editor/GitProjectOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,18 @@

namespace UniGit
{
public class GitProjectOverlay
public class GitProjectOverlay : IDisposable
{
private readonly GitManager gitManager;
private readonly GitSettingsJson gitSettings;
private readonly GUIStyle iconStyle;
private StatusTreeClass statusTree;
private readonly object statusTreeLock = new object();
private readonly GitAsyncManager asyncManager;
private readonly GitCallbacks gitCallbacks;

[UniGitInject]
public GitProjectOverlay(GitManager gitManager,GitCallbacks callbacks,GitSettingsJson gitSettings, GitAsyncManager asyncManager)
public GitProjectOverlay(GitManager gitManager,GitCallbacks gitCallbacks, GitSettingsJson gitSettings, GitAsyncManager asyncManager)
{
if (iconStyle == null)
{
Expand All @@ -36,8 +37,9 @@ public GitProjectOverlay(GitManager gitManager,GitCallbacks callbacks,GitSetting
this.gitManager = gitManager;
this.gitSettings = gitSettings;
this.asyncManager = asyncManager;
callbacks.ProjectWindowItemOnGUI += CustomIcons;
callbacks.UpdateRepository += OnUpdateRepository;
this.gitCallbacks = gitCallbacks;
gitCallbacks.ProjectWindowItemOnGUI += CustomIcons;
gitCallbacks.UpdateRepository += OnUpdateRepository;
}

private void OnUpdateRepository(GitRepoStatus status,string[] paths)
Expand Down Expand Up @@ -102,6 +104,12 @@ private void UpdateStatusTree(GitRepoStatus status, bool threaded = false)
}
}

public void Dispose()
{
gitCallbacks.ProjectWindowItemOnGUI -= CustomIcons;
gitCallbacks.UpdateRepository -= OnUpdateRepository;
}

public StatusTreeClass StatusTree
{
get { return statusTree; }
Expand Down
1 change: 0 additions & 1 deletion Assets/Plugins/UniGit/Editor/GitPushWizard.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System;
using System.Linq;
using JetBrains.Annotations;
using LibGit2Sharp;
using LibGit2Sharp.Handlers;
Expand Down
19 changes: 13 additions & 6 deletions Assets/Plugins/UniGit/Editor/GitSettingsManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,24 @@
using UniGit.Utils;
using UnityEditor;
using UnityEngine;
#pragma warning disable 618
#pragma warning disable 618 //disables warrnings for the use of depricated GitSettings

namespace UniGit
{
public class GitSettingsManager
public class GitSettingsManager : IDisposable
{
private GitSettingsJson settings;
private string settingsPath;
private readonly GitSettingsJson settings;
private readonly GitCallbacks gitCallbacks;
private readonly string settingsPath;

[UniGitInject]
public GitSettingsManager(GitSettingsJson settings,string settingsPath,GitCallbacks callbacks)
public GitSettingsManager(GitSettingsJson settings,string settingsPath,GitCallbacks gitCallbacks)
{
this.settings = settings;
this.settingsPath = settingsPath;
this.gitCallbacks = gitCallbacks;

callbacks.EditorUpdate += OnEditorUpdate;
gitCallbacks.EditorUpdate += OnEditorUpdate;
}

private void OnEditorUpdate()
Expand Down Expand Up @@ -86,5 +88,10 @@ public void SaveSettingsToFile()
Debug.LogException(e);
}
}

public void Dispose()
{
if (gitCallbacks != null) gitCallbacks.EditorUpdate -= OnEditorUpdate;
}
}
}
8 changes: 6 additions & 2 deletions Assets/Plugins/UniGit/Editor/GitStashSaveWizard.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using LibGit2Sharp;
using JetBrains.Annotations;
using LibGit2Sharp;
using UniGit.Utils;
using UnityEditor;
using UnityEngine;
Expand All @@ -17,14 +18,16 @@ private void Construct(GitManager gitManager)
this.gitManager = gitManager;
}

[UsedImplicitly]
private void OnEnable()
{
GitWindows.AddWindow(this);
createButtonName = "Save";
titleContent = new GUIContent("Stash Save",GitOverlay.icons.stashIcon.image);
}

private void OnDisable()
[UsedImplicitly]
private void OnDisable()
{
GitWindows.RemoveWindow(this);
}
Expand All @@ -37,6 +40,7 @@ protected override bool DrawWizardGUI()
return false;
}

[UsedImplicitly]
private void OnWizardCreate()
{
gitManager.Repository.Stashes.Add(gitManager.Signature, stashMessage, stashModifiers);
Expand Down
25 changes: 13 additions & 12 deletions Assets/Plugins/UniGit/Editor/GitUnityMenu.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using UniGit.Utils;
using JetBrains.Annotations;
using UniGit.Utils;
using UnityEditor;
using UnityEngine;

Expand All @@ -15,34 +16,34 @@ internal static void Init(GitManager gitManager)

#region

[MenuItem("Window/GIT History")]
[UsedImplicitly,MenuItem("Window/GIT History")]
private static void OpenGitHistoryWindow()
{
UniGitLoader.GetWindow<GitHistoryWindow>();
}

[MenuItem("Window/GIT Diff")]
[UsedImplicitly,MenuItem("Window/GIT Diff")]
private static void OpenGitDiffWindow()
{
UniGitLoader.GetWindow<GitDiffWindow>();
}

[MenuItem("Window/GIT Settings")]
[UsedImplicitly,MenuItem("Window/GIT Settings")]
private static void OpenGitSettingsWindow()
{
UniGitLoader.GetWindow<GitSettingsWindow>();
}

#endregion
#endregion

#region UniGit menus
[MenuItem("UniGit/About",false,0)]
#region UniGit menus
[UsedImplicitly,MenuItem("UniGit/About",false,0)]
private static void OpenAboutWindow()
{
EditorWindow.GetWindow<GitAboutWindow>(true,"About UniGit");
}

[MenuItem("UniGit/Initialize",false,0)]
[UsedImplicitly,MenuItem("UniGit/Initialize",false,0)]
private static void Initilize()
{
if (!gitManager.IsValidRepo && EditorUtility.DisplayDialog("Initialize Repository", "Are you sure you want to initialize a Repository for your project", "Yes", "Cancel"))
Expand All @@ -51,25 +52,25 @@ private static void Initilize()
}
}

[MenuItem("UniGit/Initialize", true, 0)]
[UsedImplicitly,MenuItem("UniGit/Initialize", true, 0)]
private static bool InitilizeValidate()
{
return !gitManager.IsValidRepo;
}

[MenuItem("UniGit/Report Issue", false, 0)]
[UsedImplicitly,MenuItem("UniGit/Report Issue", false, 0)]
private static void ReportIssue()
{
GitLinks.GoTo(GitLinks.ReportIssue);
}

[MenuItem("UniGit/Help",false ,0)]
[UsedImplicitly,MenuItem("UniGit/Help",false ,0)]
private static void Help()
{
GitLinks.GoTo(GitLinks.Wiki);
}

[MenuItem("UniGit/Donate",false,20)]
[UsedImplicitly,MenuItem("UniGit/Donate",false,20)]
private static void Donate()
{
GitLinks.GoTo(GitLinks.Donate);
Expand Down
21 changes: 17 additions & 4 deletions Assets/Plugins/UniGit/Editor/Lfs/GitLfsManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,28 @@
using LibGit2Sharp;
using UniGit.Filters;
using UniGit.Settings;
using UniGit.Status;
using UniGit.Utils;
using UnityEditor;
using UnityEngine;

namespace UniGit
{
public class GitLfsManager : ISettingsAffector
public class GitLfsManager : ISettingsAffector, IDisposable
{
private readonly bool isInstalled;
private bool initilized;
private readonly string version;
private FilterRegistration lfsRegistration;
private GitLfsTrackedInfo[] trackedInfo = new GitLfsTrackedInfo[0];
private readonly GitManager gitManager;
private readonly GitCallbacks gitCallbacks;

[UniGitInject]
public GitLfsManager(GitManager gitManager,GitCallbacks callbacks)
public GitLfsManager(GitManager gitManager,GitCallbacks gitCallbacks)
{
this.gitManager = gitManager;
callbacks.UpdateRepository += (s,p) => { UpdateInitilized(); };
this.gitCallbacks = gitCallbacks;
gitCallbacks.UpdateRepository += OnUpdateRepository;
gitManager.AddSettingsAffector(this);

try
Expand All @@ -46,6 +48,11 @@ public GitLfsManager(GitManager gitManager,GitCallbacks callbacks)
}
}

private void OnUpdateRepository(GitRepoStatus status, string[] paths)
{
UpdateInitilized();
}

public void Update()
{
RegisterFilter();
Expand Down Expand Up @@ -150,6 +157,12 @@ public bool CheckInitialized()
return Directory.Exists(UniGitPath.Combine(gitManager.RepoPath, ".git", "lfs")) && File.Exists(UniGitPath.Combine(gitManager.RepoPath,".git","hooks", "pre-push"));
}

public void Dispose()
{
if(gitCallbacks != null) gitCallbacks.UpdateRepository -= OnUpdateRepository;
if(gitManager != null) gitManager.RemoveSettingsAffector(this);
}

public bool Initilized
{
get { return initilized; }
Expand Down
2 changes: 1 addition & 1 deletion Assets/Plugins/UniGit/Editor/Status/GitRepoStatus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace UniGit.Status
{
public class GitRepoStatus : IEnumerable<GitStatusEntry>
{
private List<GitStatusEntry> entries = new List<GitStatusEntry>();
private readonly List<GitStatusEntry> entries = new List<GitStatusEntry>();

public GitRepoStatus(RepositoryStatus status)
{
Expand Down
8 changes: 8 additions & 0 deletions Assets/Plugins/UniGit/Editor/UniGit.asmdef
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "UniGit",
"references": [],
"includePlatforms": [
"Editor"
],
"excludePlatforms": []
}
9 changes: 9 additions & 0 deletions Assets/Plugins/UniGit/Editor/UniGit.asmdef.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 5a67f7d

Please sign in to comment.