From d3e208641063f7b922c3a88d8ec72fd02d6637a8 Mon Sep 17 00:00:00 2001 From: Anil Keshav Date: Tue, 14 Sep 2021 20:21:28 +0200 Subject: [PATCH] (feat) artifactPrepareVersion publish artifactid, group and package as cpe (#3100) * release artifact, package and group to cpe * including versioning type as a cpe * unit test * eliminating versioningType Co-authored-by: Your Name --- cmd/artifactPrepareVersion.go | 11 ++++++----- cmd/artifactPrepareVersion_test.go | 27 +++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/cmd/artifactPrepareVersion.go b/cmd/artifactPrepareVersion.go index 90f6746b3..35d764dfd 100644 --- a/cmd/artifactPrepareVersion.go +++ b/cmd/artifactPrepareVersion.go @@ -207,11 +207,12 @@ func runArtifactPrepareVersion(config *artifactPrepareVersionOptions, telemetryD commonPipelineEnvironment.git.commitMessage = gitCommitMessage // we may replace GetVersion() above with GetCoordinates() at some point ... - if config.FetchCoordinates { - coordinates, err := artifact.GetCoordinates() - if err != nil { - return fmt.Errorf("failed to get coordinates: %w", err) - } + coordinates, err := artifact.GetCoordinates() + if err != nil && !config.FetchCoordinates { + log.Entry().Warnf("fetchCoordinates is false and failed get artifact Coordinates") + } else if err != nil && config.FetchCoordinates { + return fmt.Errorf("failed to get coordinates: %w", err) + } else { commonPipelineEnvironment.artifactID = coordinates.ArtifactID commonPipelineEnvironment.groupID = coordinates.GroupID commonPipelineEnvironment.packaging = coordinates.Packaging diff --git a/cmd/artifactPrepareVersion_test.go b/cmd/artifactPrepareVersion_test.go index e5a104cf5..48fc4543f 100644 --- a/cmd/artifactPrepareVersion_test.go +++ b/cmd/artifactPrepareVersion_test.go @@ -474,6 +474,33 @@ func TestRunArtifactPrepareVersion(t *testing.T) { assert.EqualError(t, err, "failed to get coordinates: coordinatesError") }) + + t.Run("warning - failed to get coordinates", func(t *testing.T) { + config := artifactPrepareVersionOptions{ + BuildTool: "maven", + VersioningType: "library", + FetchCoordinates: false, + } + + cpe := artifactPrepareVersionCommonPipelineEnvironment{} + + versioningMock := artifactVersioningMock{ + originalVersion: "1.2.3", + versioningScheme: "maven", + coordinatesError: fmt.Errorf("coordinatesError"), + } + + worktree := gitWorktreeMock{ + commitHash: plumbing.ComputeHash(plumbing.CommitObject, []byte{2, 3, 4}), + } + repo := gitRepositoryMock{ + revisionHash: plumbing.ComputeHash(plumbing.CommitObject, []byte{1, 2, 3}), + } + + err := runArtifactPrepareVersion(&config, &telemetry.CustomData{}, &cpe, &versioningMock, nil, &repo, func(r gitRepository) (gitWorktree, error) { return &worktree, nil }) + + assert.NoError(t, err) + }) } func TestVersioningTemplate(t *testing.T) {