Skip to content

Commit b4a11df

Browse files
Addressed comments
1 parent aeeacb0 commit b4a11df

File tree

5 files changed

+43
-68
lines changed

5 files changed

+43
-68
lines changed

artifactory/commands/huggingface/huggingFaceDownload.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ import (
99
"os/exec"
1010

1111
"github.com/jfrog/build-info-go/entities"
12-
"github.com/jfrog/jfrog-cli-core/v2/artifactory/utils"
12+
"github.com/jfrog/jfrog-cli-artifactory/artifactory/utils"
13+
coreUtils "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils"
1314
buildUtils "github.com/jfrog/jfrog-cli-core/v2/common/build"
1415
"github.com/jfrog/jfrog-cli-core/v2/utils/config"
1516
"github.com/jfrog/jfrog-client-go/utils/errorutils"
@@ -126,7 +127,7 @@ func (hfd *HuggingFaceDownload) CollectDependenciesForBuildInfo() error {
126127

127128
// GetDependencies returns HuggingFace model/dataset files in JFrog Artifactory
128129
func (hfd *HuggingFaceDownload) GetDependencies() ([]entities.Dependency, error) {
129-
serviceManager, err := utils.CreateServiceManager(hfd.serverDetails, -1, 0, false)
130+
serviceManager, err := coreUtils.CreateServiceManager(hfd.serverDetails, -1, 0, false)
130131
if err != nil {
131132
return nil, fmt.Errorf("failed to create services manager: %w", err)
132133
}
@@ -145,7 +146,7 @@ func (hfd *HuggingFaceDownload) GetDependencies() ([]entities.Dependency, error)
145146
hfd.repoId,
146147
revisionPattern,
147148
)
148-
results, err := executeAqlQuery(serviceManager, aqlQuery)
149+
results, err := utils.ExecuteAqlQuery(serviceManager, aqlQuery)
149150
if err != nil {
150151
return nil, fmt.Errorf("failed to search for HuggingFace artifacts: %w", err)
151152
}

artifactory/commands/huggingface/huggingFaceUpload.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import (
1111
"time"
1212

1313
"github.com/jfrog/build-info-go/entities"
14-
"github.com/jfrog/jfrog-cli-core/v2/artifactory/utils"
14+
"github.com/jfrog/jfrog-cli-artifactory/artifactory/utils"
15+
coreUtils "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils"
1516
buildUtils "github.com/jfrog/jfrog-cli-core/v2/common/build"
1617
"github.com/jfrog/jfrog-cli-core/v2/utils/config"
1718
"github.com/jfrog/jfrog-client-go/utils/errorutils"
@@ -127,7 +128,7 @@ func (hfu *HuggingFaceUpload) CollectArtifactsForBuildInfo() error {
127128

128129
// GetArtifacts returns HuggingFace model/dataset files in JFrog Artifactory
129130
func (hfu *HuggingFaceUpload) GetArtifacts(buildProperties string) ([]entities.Artifact, error) {
130-
serviceManager, err := utils.CreateServiceManager(hfu.serverDetails, -1, 0, false)
131+
serviceManager, err := coreUtils.CreateServiceManager(hfu.serverDetails, -1, 0, false)
131132
if err != nil {
132133
return nil, fmt.Errorf("failed to create services manager: %w", err)
133134
}
@@ -146,7 +147,7 @@ func (hfu *HuggingFaceUpload) GetArtifacts(buildProperties string) ([]entities.A
146147
hfu.repoId,
147148
revisionPattern,
148149
)
149-
results, err := executeAqlQuery(serviceManager, aqlQuery)
150+
results, err := utils.ExecuteAqlQuery(serviceManager, aqlQuery)
150151
if err != nil {
151152
return nil, fmt.Errorf("failed to search for HuggingFace artifacts: %w", err)
152153
}

artifactory/commands/huggingface/utils.go

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ package cli
33
import (
44
"encoding/json"
55
"fmt"
6-
servicesUtils "github.com/jfrog/jfrog-client-go/artifactory/services/utils"
7-
"io"
86
"os"
97
"os/exec"
108
"path/filepath"
@@ -139,31 +137,6 @@ func GetRepoKeyFromHFEndpoint() (string, error) {
139137
return repoKey, nil
140138
}
141139

142-
// executeAqlQuery executes an AQL query and parses the JSON response
143-
func executeAqlQuery(serviceManager artifactory.ArtifactoryServicesManager, aqlQuery string) ([]servicesUtils.ResultItem, error) {
144-
reader, err := serviceManager.Aql(aqlQuery)
145-
if err != nil {
146-
return nil, fmt.Errorf("failed to execute AQL query: %w", err)
147-
}
148-
defer func() {
149-
if reader != nil {
150-
_ = reader.Close()
151-
}
152-
}()
153-
aqlResults, err := io.ReadAll(reader)
154-
if err != nil {
155-
return nil, errorutils.CheckError(err)
156-
}
157-
parsedResult := new(servicesUtils.AqlSearchResult)
158-
if err = json.Unmarshal(aqlResults, parsedResult); err != nil {
159-
return nil, errorutils.CheckError(err)
160-
}
161-
if parsedResult.Results == nil {
162-
return nil, nil
163-
}
164-
return parsedResult.Results, nil
165-
}
166-
167140
type aqlResult struct {
168141
Results []aqlItem `json:"results"`
169142
}
@@ -254,6 +227,6 @@ func SaveBuildInfo(ctx *BuildInfoContext) error {
254227
log.Warn("Failed to save build info: ", err.Error())
255228
return err
256229
}
257-
log.Info("Build info saved locally. Use 'jf rt bp", ctx.BuildName, ctx.BuildNumber, "' to publish it to Artifactory.")
230+
log.Info("Build info saved locally.")
258231
return nil
259232
}

artifactory/commands/ocicontainer/docker_utils.go

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package ocicontainer
22

33
import (
4-
"encoding/json"
54
"fmt"
6-
"io"
75
"net/http"
86
"strings"
97
"sync"
108

9+
artUtils "github.com/jfrog/jfrog-cli-artifactory/artifactory/utils"
1110
"github.com/jfrog/jfrog-client-go/artifactory"
1211
"github.com/jfrog/jfrog-client-go/artifactory/services/utils"
1312
"github.com/jfrog/jfrog-client-go/utils/errorutils"
@@ -79,7 +78,7 @@ func searchArtifactoryForFilesByPath(repository string, paths []string, serviceM
7978
repository, strings.Join(pathConditions, ",\n "))
8079

8180
// Execute AQL search
82-
allResults, err := executeAqlQuery(serviceManager, aqlQuery)
81+
allResults, err := artUtils.ExecuteAqlQuery(serviceManager, aqlQuery)
8382
if err != nil {
8483
return []utils.ResultItem{}, fmt.Errorf("failed to search Artifactory for layers by path: %w", err)
8584
}
@@ -117,7 +116,7 @@ func SearchForImageLayersInPath(imageName, repository string, paths []string, se
117116
repository, path, excludePath)
118117

119118
// Execute AQL search
120-
allResults, err = executeAqlQuery(serviceManager, aqlQuery)
119+
allResults, err = artUtils.ExecuteAqlQuery(serviceManager, aqlQuery)
121120
if err != nil {
122121
return []utils.ResultItem{}, fmt.Errorf("failed to search Artifactory for layers in path: %w", err)
123122
}
@@ -138,7 +137,7 @@ func SearchManifestPathByDigest(repo, digest string, serviceManager artifactory.
138137
"@docker.manifest.digest": "%s"
139138
}).include("path")`, repo, strings.TrimPrefix(digest, "sha256:"), digest)
140139

141-
results, err := executeAqlQuery(serviceManager, aqlQuery)
140+
results, err := artUtils.ExecuteAqlQuery(serviceManager, aqlQuery)
142141
if err != nil {
143142
return "", err
144143
}
@@ -180,35 +179,6 @@ func deduplicateResultsBySha256(results []utils.ResultItem) []utils.ResultItem {
180179
return deduplicated
181180
}
182181

183-
// executeAqlQuery executes an AQL query and parses the JSON response
184-
func executeAqlQuery(serviceManager artifactory.ArtifactoryServicesManager, aqlQuery string) ([]utils.ResultItem, error) {
185-
reader, err := serviceManager.Aql(aqlQuery)
186-
if err != nil {
187-
return nil, fmt.Errorf("failed to search Artifactory for layers: %w", err)
188-
}
189-
defer func() {
190-
if reader != nil {
191-
_ = reader.Close()
192-
}
193-
}()
194-
195-
aqlResults, err := io.ReadAll(reader)
196-
if err != nil {
197-
return nil, errorutils.CheckError(err)
198-
}
199-
parsedResult := new(utils.AqlSearchResult)
200-
if err = json.Unmarshal(aqlResults, parsedResult); err != nil {
201-
return nil, errorutils.CheckError(err)
202-
}
203-
204-
var allResults []utils.ResultItem
205-
if parsedResult.Results != nil {
206-
allResults = parsedResult.Results
207-
}
208-
209-
return allResults, nil
210-
}
211-
212182
// MARKER LAYER HANDLING
213183

214184
// getMarkerLayerShasFromSearchResult separates marker layers from regular layers

artifactory/utils/artifactoryUtils.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package utils
22

33
import (
4+
"encoding/json"
45
"errors"
56
"fmt"
7+
"io"
68
"strconv"
79
"strings"
810

@@ -11,6 +13,9 @@ import (
1113
artifactoryUtils "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils"
1214
"github.com/jfrog/jfrog-cli-core/v2/plugins/common"
1315
"github.com/jfrog/jfrog-cli-core/v2/plugins/components"
16+
"github.com/jfrog/jfrog-client-go/artifactory"
17+
servicesUtils "github.com/jfrog/jfrog-client-go/artifactory/services/utils"
18+
"github.com/jfrog/jfrog-client-go/utils/errorutils"
1419
)
1520

1621
func ShouldRunNative(configPath string) bool {
@@ -112,3 +117,28 @@ func getDebFlag(c *components.Context) (deb string, err error) {
112117
}
113118
return deb, nil
114119
}
120+
121+
// ExecuteAqlQuery executes an AQL query and parses the JSON response
122+
func ExecuteAqlQuery(serviceManager artifactory.ArtifactoryServicesManager, aqlQuery string) ([]servicesUtils.ResultItem, error) {
123+
reader, err := serviceManager.Aql(aqlQuery)
124+
if err != nil {
125+
return nil, fmt.Errorf("failed to execute AQL query: %w", err)
126+
}
127+
defer func() {
128+
if reader != nil {
129+
_ = reader.Close()
130+
}
131+
}()
132+
aqlResults, err := io.ReadAll(reader)
133+
if err != nil {
134+
return nil, errorutils.CheckError(err)
135+
}
136+
parsedResult := new(servicesUtils.AqlSearchResult)
137+
if err = json.Unmarshal(aqlResults, parsedResult); err != nil {
138+
return nil, errorutils.CheckError(err)
139+
}
140+
if parsedResult.Results == nil {
141+
return nil, nil
142+
}
143+
return parsedResult.Results, nil
144+
}

0 commit comments

Comments
 (0)