Skip to content

Commit 09f2b7d

Browse files
Update configuration files and paths for Codacy integration
- Added cli-v2 and cli-config.yaml to .gitignore. - Downgraded ESLint version in codacy.yaml from 9.3.0 to 8.57.0. - Updated file creation paths in init.go to use localCodacyDir for ESLint, Trivy, and PMD configuration files, ensuring they are saved in the correct directory.
1 parent 6ed461d commit 09f2b7d

File tree

3 files changed

+22
-17
lines changed

3 files changed

+22
-17
lines changed

.codacy/codacy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ runtimes:
22
33
44
tools:
5-
- eslint@9.3.0
5+
- eslint@8.57.0
66
77
88

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,6 @@ go.work.sum
2424
.idea/
2525
.vscode/
2626

27+
# Codacy CLI
2728
cli-v2
29+
cli-config.yaml

cmd/init.go

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"log"
1111
"net/http"
1212
"os"
13+
"path/filepath"
1314
"time"
1415

1516
"github.com/spf13/cobra"
@@ -142,6 +143,8 @@ func buildRepositoryConfigurationFiles(token string) error {
142143
fmt.Println("Building repository configuration files ...")
143144
fmt.Println("Fetching repository configuration from codacy ...")
144145

146+
localCodacyDir := config.Config.LocalCodacyDirectory()
147+
145148
// API call to fetch settings
146149
url := CodacyApiBase + "/2.0/project/analysis/configuration"
147150

@@ -198,7 +201,7 @@ func buildRepositoryConfigurationFiles(token string) error {
198201
eslintDomainConfiguration := convertAPIToolConfigurationToDomain(*eslintApiConfiguration)
199202
eslintConfigurationString := tools.CreateEslintConfig(eslintDomainConfiguration)
200203

201-
eslintConfigFile, err := os.Create("eslint.config.mjs")
204+
eslintConfigFile, err := os.Create(filepath.Join(localCodacyDir, "eslint.config.mjs"))
202205
if err != nil {
203206
return fmt.Errorf("failed to create eslint config file: %v", err)
204207
}
@@ -210,7 +213,7 @@ func buildRepositoryConfigurationFiles(token string) error {
210213
}
211214
fmt.Println("ESLint configuration created based on Codacy settings")
212215
} else {
213-
err = createDefaultEslintConfigFile()
216+
err = createDefaultEslintConfigFile(localCodacyDir)
214217
if err != nil {
215218
return fmt.Errorf("failed to create default ESLint config: %v", err)
216219
}
@@ -220,13 +223,13 @@ func buildRepositoryConfigurationFiles(token string) error {
220223
// Trivy configuration
221224
trivyApiConfiguration := extractTrivyConfiguration(apiToolConfigurations)
222225
if trivyApiConfiguration != nil {
223-
err = createTrivyConfigFile(*trivyApiConfiguration)
226+
err = createTrivyConfigFile(*trivyApiConfiguration, localCodacyDir)
224227
if err != nil {
225228
return fmt.Errorf("failed to create Trivy config: %v", err)
226229
}
227230
fmt.Println("Trivy configuration created based on Codacy settings")
228231
} else {
229-
err = createDefaultTrivyConfigFile()
232+
err = createDefaultTrivyConfigFile(localCodacyDir)
230233
if err != nil {
231234
return fmt.Errorf("failed to create default Trivy config: %v", err)
232235
}
@@ -236,13 +239,13 @@ func buildRepositoryConfigurationFiles(token string) error {
236239
// PMD configuration
237240
pmdApiConfiguration := extractPMDConfiguration(apiToolConfigurations)
238241
if pmdApiConfiguration != nil {
239-
err = createPMDConfigFile(*pmdApiConfiguration)
242+
err = createPMDConfigFile(*pmdApiConfiguration, localCodacyDir)
240243
if err != nil {
241244
return fmt.Errorf("failed to create PMD config: %v", err)
242245
}
243246
fmt.Println("PMD configuration created based on Codacy settings")
244247
} else {
245-
err = createDefaultPMDConfigFile()
248+
err = createDefaultPMDConfigFile(localCodacyDir)
246249
if err != nil {
247250
return fmt.Errorf("failed to create default PMD config: %v", err)
248251
}
@@ -318,16 +321,16 @@ func extractPMDConfiguration(toolConfigurations []CodacyToolConfiguration) *Coda
318321
return nil
319322
}
320323

321-
func createPMDConfigFile(config CodacyToolConfiguration) error {
324+
func createPMDConfigFile(config CodacyToolConfiguration, localCodacyDir string) error {
322325
pmdDomainConfiguration := convertAPIToolConfigurationToDomain(config)
323326
pmdConfigurationString := tools.CreatePmdConfig(pmdDomainConfiguration)
324-
return os.WriteFile("pmd-ruleset.xml", []byte(pmdConfigurationString), 0644)
327+
return os.WriteFile(filepath.Join(localCodacyDir, "pmd-ruleset.xml"), []byte(pmdConfigurationString), 0644)
325328
}
326329

327-
func createDefaultPMDConfigFile() error {
330+
func createDefaultPMDConfigFile(localCodacyDir string) error {
328331
emptyConfig := tools.ToolConfiguration{}
329332
content := tools.CreatePmdConfig(emptyConfig)
330-
return os.WriteFile("pmd-ruleset.xml", []byte(content), 0644)
333+
return os.WriteFile(filepath.Join(localCodacyDir, "pmd-ruleset.xml"), []byte(content), 0644)
331334
}
332335

333336
type CodacyToolConfiguration struct {
@@ -347,15 +350,15 @@ type ParameterConfiguration struct {
347350
}
348351

349352
// createTrivyConfigFile creates a trivy.yaml configuration file based on the API configuration
350-
func createTrivyConfigFile(config CodacyToolConfiguration) error {
353+
func createTrivyConfigFile(config CodacyToolConfiguration, localCodacyDir string) error {
351354
// Convert CodacyToolConfiguration to tools.ToolConfiguration
352355
trivyDomainConfiguration := convertAPIToolConfigurationForTrivy(config)
353356

354357
// Use the shared CreateTrivyConfig function to generate the config content
355358
trivyConfigurationString := tools.CreateTrivyConfig(trivyDomainConfiguration)
356359

357360
// Write to file
358-
return os.WriteFile("trivy.yaml", []byte(trivyConfigurationString), 0644)
361+
return os.WriteFile(filepath.Join(localCodacyDir, "trivy.yaml"), []byte(trivyConfigurationString), 0644)
359362
}
360363

361364
// convertAPIToolConfigurationForTrivy converts API tool configuration to domain model for Trivy
@@ -399,21 +402,21 @@ func convertAPIToolConfigurationForTrivy(config CodacyToolConfiguration) tools.T
399402
}
400403

401404
// createDefaultTrivyConfigFile creates a default trivy.yaml configuration file
402-
func createDefaultTrivyConfigFile() error {
405+
func createDefaultTrivyConfigFile(localCodacyDir string) error {
403406
// Use empty tool configuration to get default settings
404407
emptyConfig := tools.ToolConfiguration{}
405408
content := tools.CreateTrivyConfig(emptyConfig)
406409

407410
// Write to file
408-
return os.WriteFile("trivy.yaml", []byte(content), 0644)
411+
return os.WriteFile(filepath.Join(localCodacyDir, "trivy.yaml"), []byte(content), 0644)
409412
}
410413

411414
// createDefaultEslintConfigFile creates a default eslint.config.mjs configuration file
412-
func createDefaultEslintConfigFile() error {
415+
func createDefaultEslintConfigFile(localCodacyDir string) error {
413416
// Use empty tool configuration to get default settings
414417
emptyConfig := tools.ToolConfiguration{}
415418
content := tools.CreateEslintConfig(emptyConfig)
416419

417420
// Write to file
418-
return os.WriteFile("eslint.config.mjs", []byte(content), 0644)
421+
return os.WriteFile(filepath.Join(localCodacyDir, "eslint.config.mjs"), []byte(content), 0644)
419422
}

0 commit comments

Comments
 (0)