Skip to content

Commit c832488

Browse files
authored
Merge branch 'dev' into moveoutdockertest
2 parents 1d07f04 + 250831b commit c832488

File tree

14 files changed

+91
-11
lines changed

14 files changed

+91
-11
lines changed

.github/actions/install-and-setup/action.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,11 @@ runs:
102102
branch: swift-6.1-release
103103
tag: 6.1-RELEASE
104104
if: ${{ inputs.install-swift == 'true' && runner.os == 'Windows'}}
105+
106+
# Ensure Java 11 remains active after all installations (Swift setup might override it)
107+
- name: Force Java 11 on Windows
108+
if: runner.os == 'Windows'
109+
shell: powershell
110+
run: |
111+
echo "JAVA_HOME=$env:JAVA_HOME_11_X64" >> $env:GITHUB_ENV
112+
echo "$env:JAVA_HOME_11_X64\bin" >> $env:GITHUB_PATH

buildscripts/download-jars.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
# https://github.com/jfrog/maven-dep-tree
88

99
# Once you have updated the versions mentioned below, please execute this script from the root directory of the jfrog-cli-core to ensure the JAR files are updated.
10-
GRADLE_DEP_TREE_VERSION="3.0.4"
10+
GRADLE_DEP_TREE_VERSION="3.1.0"
1111
# Changing this version also requires a change in mavenDepTreeVersion within utils/java/mvn.go.
12-
MAVEN_DEP_TREE_VERSION="1.1.3"
12+
MAVEN_DEP_TREE_VERSION="1.1.5"
1313

1414
curl -fL https://releases.jfrog.io/artifactory/oss-release-local/com/jfrog/gradle-dep-tree/${GRADLE_DEP_TREE_VERSION}/gradle-dep-tree-${GRADLE_DEP_TREE_VERSION}.jar -o sca/bom/buildinfo/technologies/java/resources/gradle-dep-tree.jar
1515
curl -fL https://releases.jfrog.io/artifactory/oss-release-local/com/jfrog/maven-dep-tree/${MAVEN_DEP_TREE_VERSION}/maven-dep-tree-${MAVEN_DEP_TREE_VERSION}.jar -o sca/bom/buildinfo/technologies/java/resources/maven-dep-tree.jar

commands/curation/curationaudit_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"sync"
1717
"testing"
1818

19+
"github.com/jfrog/jfrog-cli-security/sca/bom/buildinfo/technologies/java"
1920
"github.com/jfrog/jfrog-cli-security/utils/formats"
2021

2122
biutils "github.com/jfrog/build-info-go/utils"
@@ -833,7 +834,7 @@ func getTestCasesForDoCurationAudit() []testCase {
833834
curationCache, err := utils.GetCurationCacheFolderByTech(techutils.Maven)
834835
require.NoError(t, err)
835836
cleanUpTestDirChange()
836-
return []string{"com.jfrog:maven-dep-tree:tree", "-DdepsTreeOutputFile=output", "-Dmaven.repo.local=" + curationCache}
837+
return []string{"com.jfrog:maven-dep-tree:" + java.GetMavenDepTreeVersion() + ":tree", "-DdepsTreeOutputFile=output", "-Dmaven.repo.local=" + curationCache}
837838
},
838839
expectedBuildRequest: map[string]bool{
839840
"/api/curation/audit/maven-remote/org/webjars/npm/underscore/1.13.6/underscore-1.13.6.pom": false,

jas/analyzermanager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
const (
2424
ApplicabilityFeatureId = "contextual_analysis"
2525
AnalyzerManagerZipName = "analyzerManager.zip"
26-
defaultAnalyzerManagerVersion = "1.23.3"
26+
defaultAnalyzerManagerVersion = "1.23.9"
2727
analyzerManagerDownloadPath = "xsc-gen-exe-analyzer-manager-local/v1"
2828
analyzerManagerDirName = "analyzerManager"
2929
analyzerManagerExecutableName = "analyzerManager"

jfrog-security

49.4 MB
Binary file not shown.

sca/bom/buildinfo/technologies/java/deptreemanager_test.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ func TestGetGradleGraphFromDepTree(t *testing.T) {
5050
"org.slf4j:slf4j-api:1.4.2",
5151
}
5252

53-
manager := &gradleDepTreeManager{DepTreeManager{}}
53+
manager := &gradleDepTreeManager{
54+
DepTreeManager: DepTreeManager{},
55+
isCurationCmd: false,
56+
}
5457
outputFileContent, err := manager.runGradleDepTree()
5558
assert.NoError(t, err)
5659
depTree, uniqueDeps, err := getGraphFromDepTree(outputFileContent)
@@ -64,3 +67,20 @@ func TestGetGradleGraphFromDepTree(t *testing.T) {
6467
assert.Equal(t, len(depChild), len(dependency.Nodes))
6568
}
6669
}
70+
71+
func TestGetGradleGraphFromDepTreeWithCuration(t *testing.T) {
72+
tempDirPath, cleanUp := technologies.CreateTestWorkspace(t, filepath.Join("projects", "package-managers", "gradle", "gradle"))
73+
defer cleanUp()
74+
assert.NoError(t, os.Chmod(filepath.Join(tempDirPath, "gradlew"), 0700))
75+
76+
manager := &gradleDepTreeManager{
77+
DepTreeManager: DepTreeManager{},
78+
isCurationCmd: true,
79+
}
80+
outputFileContent, err := manager.runGradleDepTree()
81+
assert.NoError(t, err)
82+
depTree, uniqueDeps, err := getGraphFromDepTree(outputFileContent)
83+
assert.NoError(t, err)
84+
assert.NotEmpty(t, depTree)
85+
assert.NotEmpty(t, uniqueDeps)
86+
}

sca/bom/buildinfo/technologies/java/gradle.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,14 @@ var gradleDepTreeJar []byte
5757

5858
type gradleDepTreeManager struct {
5959
DepTreeManager
60+
isCurationCmd bool
6061
}
6162

6263
func buildGradleDependencyTree(params *DepTreeParams) (dependencyTree []*xrayUtils.GraphNode, uniqueDeps map[string]*xray.DepTreeNode, err error) {
63-
manager := &gradleDepTreeManager{DepTreeManager: NewDepTreeManager(params)}
64+
manager := &gradleDepTreeManager{
65+
DepTreeManager: NewDepTreeManager(params),
66+
isCurationCmd: params.IsCurationCmd,
67+
}
6468
outputFileContent, err := manager.runGradleDepTree()
6569
if err != nil {
6670
return
@@ -160,6 +164,12 @@ func (gdt *gradleDepTreeManager) execGradleDepTree(depTreeDir string) (outputFil
160164
gradleNoCacheFlag,
161165
fmt.Sprintf("-Dcom.jfrog.depsTreeOutputFile=%s", outputFilePath),
162166
"-Dcom.jfrog.includeAllBuildFiles=true"}
167+
168+
// Add curation audit mode for pass-through functionality if this is a curation command
169+
if gdt.isCurationCmd {
170+
tasks = append(tasks, "-Dcom.jfrog.curationAuditMode=true")
171+
}
172+
163173
log.Info("Running gradle deps tree command:", gradleExecPath, strings.Join(tasks, " "))
164174
if output, err := exec.Command(gradleExecPath, tasks...).CombinedOutput(); err != nil {
165175
return nil, errorutils.CheckErrorf("error running gradle-dep-tree: %s\n%s", err.Error(), string(output))

sca/bom/buildinfo/technologies/java/gradle_test.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,3 +229,31 @@ func TestConstructReleasesRemoteRepo(t *testing.T) {
229229
}()
230230
}
231231
}
232+
233+
func TestGradleCurationAuditMode(t *testing.T) {
234+
// Test that curation audit mode flag is added when IsCurationCmd is true
235+
params := &DepTreeParams{
236+
IsCurationCmd: true,
237+
}
238+
239+
manager := &gradleDepTreeManager{
240+
DepTreeManager: NewDepTreeManager(params),
241+
isCurationCmd: params.IsCurationCmd,
242+
}
243+
244+
// Verify that the manager has the curation flag set
245+
assert.True(t, manager.isCurationCmd, "isCurationCmd should be true for curation commands")
246+
247+
// Test with non-curation command
248+
paramsNonCuration := &DepTreeParams{
249+
IsCurationCmd: false,
250+
}
251+
252+
managerNonCuration := &gradleDepTreeManager{
253+
DepTreeManager: NewDepTreeManager(paramsNonCuration),
254+
isCurationCmd: paramsNonCuration.IsCurationCmd,
255+
}
256+
257+
// Verify that the manager does not have the curation flag set
258+
assert.False(t, managerNonCuration.isCurationCmd, "isCurationCmd should be false for non-curation commands")
259+
}

sca/bom/buildinfo/technologies/java/mvn.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const (
2828
mavenDepTreeJarFile = "maven-dep-tree.jar"
2929
mavenDepTreeOutputFile = "mavendeptree.out"
3030
// Changing this version also requires a change in MAVEN_DEP_TREE_VERSION within buildscripts/download_jars.sh
31-
mavenDepTreeVersion = "1.1.3"
31+
mavenDepTreeVersion = "1.1.5"
3232
settingsXmlFile = "settings.xml"
3333
)
3434

@@ -124,6 +124,10 @@ func GetMavenPluginInstallationGoals(pluginPath string) []string {
124124
return []string{"org.apache.maven.plugins:maven-install-plugin:3.1.1:install-file", "-Dfile=" + pluginPath, "-B"}
125125
}
126126

127+
func GetMavenDepTreeVersion() string {
128+
return mavenDepTreeVersion
129+
}
130+
127131
func (mdt *MavenDepTreeManager) execMavenDepTree(depTreeExecDir string) (string, error) {
128132
if mdt.cmdName == Tree {
129133
return mdt.runTreeCmd(depTreeExecDir)
Binary file not shown.

0 commit comments

Comments
 (0)