From 7eaab80b6d6e7b7fa16687deb521283db6404f8f Mon Sep 17 00:00:00 2001 From: attiasas Date: Thu, 30 Jan 2025 11:09:31 +0200 Subject: [PATCH] rename to sc --- commands/git/audit/gitaudit.go | 2 +- utils/scm/gitmanager.go | 8 ++----- utils/scm/gitmanager_test.go | 4 ++-- utils/scm/scmutils.go | 38 ++++++++++++++++++---------------- 4 files changed, 25 insertions(+), 27 deletions(-) diff --git a/commands/git/audit/gitaudit.go b/commands/git/audit/gitaudit.go index 78ee9939..21d4a188 100644 --- a/commands/git/audit/gitaudit.go +++ b/commands/git/audit/gitaudit.go @@ -69,7 +69,7 @@ func DetectGitInfo(wd string) (gitInfo *services.XscGitInfoContext, err error) { if err != nil { return } - return scmManager.GetGitContext() + return scmManager.GetSourceControlContext() } func toAuditParams(params GitAuditParams) *sourceAudit.AuditParams { diff --git a/utils/scm/gitmanager.go b/utils/scm/gitmanager.go index 51248c69..4bba18d5 100644 --- a/utils/scm/gitmanager.go +++ b/utils/scm/gitmanager.go @@ -32,10 +32,6 @@ func NewGitManager(localRepositoryWorkingDir string) (gm *GitManager, err error) return } -func GitCliExists() bool { - return true -} - func (gm *GitManager) getRootRemote() (root *goGit.Remote, err error) { remotes, err := gm.localGitRepository.Remotes() if err != nil { @@ -101,7 +97,7 @@ func (gm *GitManager) isClean() (bool, error) { } // Detect git information -func (gm *GitManager) GetGitContext() (gitInfo *services.XscGitInfoContext, err error) { +func (gm *GitManager) GetSourceControlContext() (gitInfo *services.XscGitInfoContext, err error) { remoteUrl, err := getRemoteUrl(gm.remote) if err != nil { return nil, err @@ -180,7 +176,7 @@ func getGitProject(url string) string { return urlParts[1] } -func getGitProvider(url string) ScmProvider { +func getGitProvider(url string) ScProvider { if strings.Contains(url, Github.String()) { return Github } diff --git a/utils/scm/gitmanager_test.go b/utils/scm/gitmanager_test.go index 8f1f3844..c6f245a2 100644 --- a/utils/scm/gitmanager_test.go +++ b/utils/scm/gitmanager_test.go @@ -140,7 +140,7 @@ Reviewed-by: Mike Frysinger `, } assert.NoError(t, err) assert.NotNil(t, gitManager) - gitInfo, err := gitManager.GetGitContext() + gitInfo, err := gitManager.GetSourceControlContext() if testCase.gitInfo == nil { // Dirty project, we can't assert the git info @@ -159,7 +159,7 @@ func TestGetGitProvider(t *testing.T) { testCases := []struct { name string url string - provider ScmProvider + provider ScProvider }{ { name: "Github", diff --git a/utils/scm/scmutils.go b/utils/scm/scmutils.go index 478cb78d..0a10bbd5 100644 --- a/utils/scm/scmutils.go +++ b/utils/scm/scmutils.go @@ -10,54 +10,56 @@ import ( ) const ( - Github ScmProvider = "github" - Gitlab ScmProvider = "gitlab" - Bitbucket ScmProvider = "bitbucket" - Azure ScmProvider = "azure" - Gerrit ScmProvider = "gerrit" + Github ScProvider = "github" + Gitlab ScProvider = "gitlab" + Bitbucket ScProvider = "bitbucket" + Azure ScProvider = "azure" + Gerrit ScProvider = "gerrit" // TODO: Add support for other git providers // git clone https://git-codecommit.{region}.amazonaws.com/v1/repos/{repository_name} - AWSCodeCommit ScmProvider = "codecommit" + AWSCodeCommit ScProvider = "codecommit" // git clone https://gitea.com/gitea/helm-chart.git - Gitea ScmProvider = "gitea" + Gitea ScProvider = "gitea" // svn checkout https://svn.code.sf.net/p/svn-sample-repo/code/ svn-sample-repo-code - SourceForge ScmProvider = "sourceforge" + SourceForge ScProvider = "sourceforge" - Unknown ScmProvider = "" + Unknown ScProvider = "" ) -// ScmProvider is the type of source control provider -type ScmProvider string +// ScProvider is the type of source control provider +type ScProvider string -func (sp ScmProvider) String() string { +func (sp ScProvider) String() string { return string(sp) } const ( - Git ScmType = "git" + Git ScType = "git" ) -type ScmType string +// ScType is the type of source control manager +type ScType string -func (st ScmType) String() string { +func (st ScType) String() string { return string(st) } +// ScmTypeData holds the data for each source control manager type type ScmTypeData struct { indicator string } -var scmTypeData = map[ScmType]ScmTypeData{Git: {".git"}} +var supportedScmTypes = map[ScType]ScmTypeData{Git: {".git"}} type ScmManager interface { - GetGitContext() (gitInfo *services.XscGitInfoContext, err error) + GetSourceControlContext() (gitInfo *services.XscGitInfoContext, err error) } func DetectScmInProject(projectPath string) (manager ScmManager, err error) { - for scmType, scmData := range scmTypeData { + for scmType, scmData := range supportedScmTypes { if exists, e := isScmProject(projectPath, scmData); !exists || err != nil { err = errors.Join(e, err) continue