Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
7e2db95
Improve repositores code
sverdlov93 Oct 13, 2024
b3b2401
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Oct 13, 2024
80a94c7
Improve repositores code
sverdlov93 Oct 13, 2024
9c7a467
Improve repositores code
sverdlov93 Oct 13, 2024
2d7a90c
Improve repositores code
sverdlov93 Oct 13, 2024
faa0521
Improve repositores code
sverdlov93 Oct 13, 2024
ee1c68d
Improve repositores code
sverdlov93 Oct 13, 2024
eb35483
Improve repositores code
sverdlov93 Oct 13, 2024
f3a4155
Improve repositores code
sverdlov93 Oct 13, 2024
fc3baac
Improve repositores code
sverdlov93 Oct 13, 2024
2af5a7b
Improve repositores code
sverdlov93 Oct 13, 2024
51d4f2d
Improve repositores code
sverdlov93 Oct 13, 2024
581e2ec
Improve repositores code
sverdlov93 Oct 13, 2024
c8e8ede
Improve repositores code
sverdlov93 Oct 25, 2024
8ad1862
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Oct 25, 2024
0f89b37
Improve repositores code
sverdlov93 Oct 25, 2024
780cfb1
Improve repositores code
sverdlov93 Oct 25, 2024
b55d9f8
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Oct 29, 2024
98cb97a
Improve repositores code
sverdlov93 Nov 3, 2024
67903cd
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Nov 7, 2024
72c6dd7
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Nov 19, 2024
20e2f2c
Improve upload archive progress bar
sverdlov93 Nov 20, 2024
b9c1bfc
Improve upload archive progress bar
sverdlov93 Nov 20, 2024
b0b118a
Improve upload archive progress bar
sverdlov93 Nov 20, 2024
f4caa49
Improve upload archive progress bar
sverdlov93 Nov 21, 2024
1035da0
Improve upload archive progress bar
sverdlov93 Nov 21, 2024
bf1d39b
Merge branch 'dev' into npm-login
sverdlov93 Nov 21, 2024
21f263f
Improve upload archive progress bar
sverdlov93 Nov 21, 2024
11e828e
Merge remote-tracking branch 'sverdlov93/npm-login' into npm-login
sverdlov93 Nov 21, 2024
7b84fd8
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Dec 11, 2024
ab6d11b
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Dec 24, 2024
c2c2298
Improve upload archive progress bar
sverdlov93 Jan 6, 2025
5e4eaf9
Improve upload archive progress bar
sverdlov93 Jan 6, 2025
662d621
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Jan 6, 2025
3e7585d
Improve upload archive progress bar
sverdlov93 Jan 6, 2025
b7312fd
Improve upload archive progress bar
sverdlov93 Jan 6, 2025
7c4bd5e
Improve upload archive progress bar
sverdlov93 Jan 7, 2025
83787fc
Update docs/buildtools/setup/help.go
sverdlov93 Jan 8, 2025
d0ea1ba
Update buildtools/cli.go
sverdlov93 Jan 8, 2025
f3bb7e4
Update buildtools/cli.go
sverdlov93 Jan 8, 2025
651147c
Update buildtools/cli.go
sverdlov93 Jan 8, 2025
8b3633b
Update buildtools/cli.go
sverdlov93 Jan 8, 2025
058c344
Update utils/cliutils/commandsflags.go
sverdlov93 Jan 8, 2025
4ee0af5
Improve upload archive progress bar
sverdlov93 Jan 8, 2025
71d8654
Merge branch 'npm-login' of https://github.com/sverdlov93/jfrog-cli i…
sverdlov93 Jan 8, 2025
3fbc14f
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Jan 8, 2025
17bda08
Improve upload archive progress bar
sverdlov93 Jan 8, 2025
1af6c2b
Improve upload archive progress bar
sverdlov93 Jan 8, 2025
5a82768
Improve upload archive progress bar
sverdlov93 Jan 8, 2025
8c1d1a3
Improve upload archive progress bar
sverdlov93 Jan 8, 2025
d1ae1d1
Improve upload archive progress bar
sverdlov93 Jan 8, 2025
5d54f3f
Improve upload archive progress bar
sverdlov93 Jan 8, 2025
25975fa
Improve upload archive progress bar
sverdlov93 Jan 9, 2025
6d09d6d
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Jan 9, 2025
6b5f58a
Improve upload archive progress bar
sverdlov93 Jan 9, 2025
169433d
Improve upload archive progress bar
sverdlov93 Jan 22, 2025
3ec8cdf
Improve upload archive progress bar
sverdlov93 Jan 27, 2025
68812e0
Improve upload archive progress bar
sverdlov93 Jan 27, 2025
baa2fcc
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli into npm-login
sverdlov93 Jan 27, 2025
40428f9
Improve upload archive progress bar
sverdlov93 Jan 27, 2025
28ab3b3
Improve upload archive progress bar
sverdlov93 Jan 27, 2025
5b34971
Improve upload archive progress bar
sverdlov93 Jan 27, 2025
06587dc
Improve upload archive progress bar
sverdlov93 Jan 27, 2025
380a4cf
Improve upload archive progress bar
sverdlov93 Jan 27, 2025
b515f88
Improve upload archive progress bar
sverdlov93 Jan 28, 2025
31809c9
Improve upload archive progress bar
sverdlov93 Jan 28, 2025
eb7145e
Improve upload archive progress bar
sverdlov93 Jan 28, 2025
14880fa
Update dependencies
omerzi Jan 28, 2025
b05b3eb
Update dependencies
omerzi Jan 28, 2025
6a8a03b
Update dependencies
omerzi Jan 28, 2025
fc239bc
Update dependencies
omerzi Jan 28, 2025
8f782d4
Update dependencies
omerzi Jan 28, 2025
3fd319f
Update dependencies
omerzi Jan 28, 2025
0caa3f9
Merge branch 'dev' into setup-gradle
omerzi Jan 29, 2025
8044326
Update dependencies
omerzi Jan 29, 2025
2b9f03f
Merge remote-tracking branch 'origin/setup-gradle' into setup-gradle
omerzi Jan 29, 2025
d4a8578
Merge remote-tracking branch 'upstream/dev' into setup-gradle
omerzi Feb 2, 2025
e1ed7b0
Update dependencies
omerzi Feb 2, 2025
888e36f
Update dependencies
omerzi Feb 2, 2025
6cca6b8
Update dependencies
omerzi Feb 2, 2025
3de950e
Update dependencies
omerzi Feb 2, 2025
2d7951b
Update dependencies
omerzi Feb 2, 2025
46132a5
Update dependencies
omerzi Feb 2, 2025
4da2591
Merge branch 'dev' into setup-gradle
omerzi Feb 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ require (
github.com/google/go-github/v56 v56.0.0 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gookit/color v1.5.4 // indirect
github.com/grokify/mogo v0.64.12 // indirect
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,8 @@ github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd h1:1FjCyPC+syAzJ5/2S8fqdZK1R22vvA0J7JZKcuOIQ7Y=
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 h1:5iH8iuqE5apketRbSFBy+X1V0o+l+8NF1avt4HWl7cA=
github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
Expand Down
57 changes: 56 additions & 1 deletion gradle_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,15 @@ package main

import (
"errors"
"fmt"
"github.com/jfrog/gofrog/io"
"github.com/jfrog/jfrog-cli-artifactory/artifactory/commands/gradle"
coretests "github.com/jfrog/jfrog-cli-core/v2/utils/tests"
"github.com/jfrog/jfrog-client-go/http/httpclient"
"github.com/stretchr/testify/require"
"net/http"
"os"
"os/exec"
"path/filepath"
"strings"
"testing"
Expand All @@ -13,7 +21,6 @@ import (
clientTestUtils "github.com/jfrog/jfrog-client-go/utils/tests"

buildinfo "github.com/jfrog/build-info-go/entities"
"github.com/jfrog/jfrog-cli-artifactory/artifactory/commands/gradle"
"github.com/jfrog/jfrog-cli-core/v2/common/build"
commonCliUtils "github.com/jfrog/jfrog-cli-core/v2/common/cliutils"
"github.com/jfrog/jfrog-cli-core/v2/common/commands"
Expand Down Expand Up @@ -216,6 +223,37 @@ func TestGradleBuildWithServerIDWithUsesPlugin(t *testing.T) {
cleanGradleTest(t)
}

func TestSetupGradleCommand(t *testing.T) {
restoreFunc := prepareGradleSetupTest(t)
defer restoreFunc()
// Validate that the module does not exist in the cache before running the test.
client, err := httpclient.ClientBuilder().Build()
assert.NoError(t, err)

// This module is part of the dependencies in the build.gradle file of the current test project.
// We want to ensure that it is not exist in the cache before running the build command.
moduleCacheUrl := serverDetails.ArtifactoryUrl + tests.GradleRemoteRepo + "-cache/com/fasterxml/jackson/core/jackson-core/2.13.2/jackson-core-2.13.2.jar"
_, _, err = client.GetRemoteFileDetails(moduleCacheUrl, artHttpDetails)
assert.ErrorContains(t, err, "404")

jfrogCli := coretests.NewJfrogCli(execMain, "jfrog", "")
assert.NoError(t, execGo(jfrogCli, "setup", "gradle", "--repo="+tests.GradleRemoteRepo))

// Run `gradle clean` to resolve the artifact from Artifactory and force it to be downloaded.
output, err := exec.Command("gradle",
"clean",
"build",
"--info",
"--refresh-dependencies").CombinedOutput()
assert.NoError(t, err, fmt.Sprintf("%s\n%q", string(output), err))

// Validate that the module exists in the cache after running the build command.
_, res, err := client.GetRemoteFileDetails(moduleCacheUrl, artHttpDetails)
if assert.NoError(t, err, "Failed to find the artifact in the cache: "+moduleCacheUrl) {
assert.Equal(t, http.StatusOK, res.StatusCode)
}
}

func createGradleProject(t *testing.T, projectName string) string {
srcBuildFile := filepath.Join(filepath.FromSlash(tests.GetTestResourcesPath()), "gradle", projectName, "build.gradle")
buildGradlePath, err := tests.ReplaceTemplateVariables(srcBuildFile, "")
Expand All @@ -227,9 +265,26 @@ func createGradleProject(t *testing.T, projectName string) string {

return buildGradlePath
}

func initGradleTest(t *testing.T) {
if !*tests.TestGradle {
t.Skip("Skipping Gradle test. To run Gradle test add the '-test.gradle=true' option.")
}
createJfrogHomeConfig(t, true)
}

func prepareGradleSetupTest(t *testing.T) func() {
initGradleTest(t)
gradleHome := t.TempDir()
t.Setenv(gradle.UserHomeEnv, gradleHome)
wd, err := os.Getwd()
assert.NoError(t, err)
gradleProjectDir := t.TempDir()
err = io.CopyDir(filepath.Join(tests.GetTestResourcesPath(), "gradle", "setupcmd"), gradleProjectDir, true, nil)
require.NoError(t, err)
assert.NoError(t, os.Chdir(gradleProjectDir))
restoreDir := clientTestUtils.ChangeDirWithCallback(t, wd, gradleProjectDir)
return func() {
restoreDir()
}
}
20 changes: 20 additions & 0 deletions testdata/gradle/setupcmd/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
plugins {
id("java")
}

allprojects {
repositories {
all { repo ->
// This check is for Gradle versions less than 8.0
if (repo.hasProperty('allowInsecureProtocol')) {
// For Gradle 8.0 and later this flag is mandatory to allow running against local Artifactory instances
repo.allowInsecureProtocol = true
}
}
}
}

dependencies {
implementation("com.fasterxml.jackson.core:jackson-databind:2.13.2")
implementation("org.apache.commons:commons-lang3:3.12.0")
}
2 changes: 2 additions & 0 deletions testdata/gradle/setupcmd/settings.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// settings.gradle.kts
rootProject.name = "test-gradle2"
11 changes: 11 additions & 0 deletions testdata/gradle/setupcmd/src/main/java/com/example/App.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.example;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.StringUtils;

public class App {
public static void main(String[] args) {
ObjectMapper mapper = new ObjectMapper();
String example = StringUtils.trim(" example ");
}
}
Loading