Skip to content

Commit 32902e5

Browse files
place in folder
1 parent 09f2b7d commit 32902e5

File tree

3 files changed

+24
-18
lines changed

3 files changed

+24
-18
lines changed

.codacy/cli-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
mode: local
1+
mode: remote

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ go.work.sum
2626

2727
# Codacy CLI
2828
cli-v2
29-
cli-config.yaml
29+
.codacy/tools-configs

cmd/init.go

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,12 @@ func buildRepositoryConfigurationFiles(token string) error {
144144
fmt.Println("Fetching repository configuration from codacy ...")
145145

146146
localCodacyDir := config.Config.LocalCodacyDirectory()
147+
toolsConfigDir := filepath.Join(localCodacyDir, "tools-configs")
148+
149+
// Create tools-configs directory if it doesn't exist
150+
if err := os.MkdirAll(toolsConfigDir, 0777); err != nil {
151+
return fmt.Errorf("failed to create tools-configs directory: %w", err)
152+
}
147153

148154
// API call to fetch settings
149155
url := CodacyApiBase + "/2.0/project/analysis/configuration"
@@ -201,7 +207,7 @@ func buildRepositoryConfigurationFiles(token string) error {
201207
eslintDomainConfiguration := convertAPIToolConfigurationToDomain(*eslintApiConfiguration)
202208
eslintConfigurationString := tools.CreateEslintConfig(eslintDomainConfiguration)
203209

204-
eslintConfigFile, err := os.Create(filepath.Join(localCodacyDir, "eslint.config.mjs"))
210+
eslintConfigFile, err := os.Create(filepath.Join(toolsConfigDir, "eslint.config.mjs"))
205211
if err != nil {
206212
return fmt.Errorf("failed to create eslint config file: %v", err)
207213
}
@@ -213,7 +219,7 @@ func buildRepositoryConfigurationFiles(token string) error {
213219
}
214220
fmt.Println("ESLint configuration created based on Codacy settings")
215221
} else {
216-
err = createDefaultEslintConfigFile(localCodacyDir)
222+
err = createDefaultEslintConfigFile(toolsConfigDir)
217223
if err != nil {
218224
return fmt.Errorf("failed to create default ESLint config: %v", err)
219225
}
@@ -223,13 +229,13 @@ func buildRepositoryConfigurationFiles(token string) error {
223229
// Trivy configuration
224230
trivyApiConfiguration := extractTrivyConfiguration(apiToolConfigurations)
225231
if trivyApiConfiguration != nil {
226-
err = createTrivyConfigFile(*trivyApiConfiguration, localCodacyDir)
232+
err = createTrivyConfigFile(*trivyApiConfiguration, toolsConfigDir)
227233
if err != nil {
228234
return fmt.Errorf("failed to create Trivy config: %v", err)
229235
}
230236
fmt.Println("Trivy configuration created based on Codacy settings")
231237
} else {
232-
err = createDefaultTrivyConfigFile(localCodacyDir)
238+
err = createDefaultTrivyConfigFile(toolsConfigDir)
233239
if err != nil {
234240
return fmt.Errorf("failed to create default Trivy config: %v", err)
235241
}
@@ -239,13 +245,13 @@ func buildRepositoryConfigurationFiles(token string) error {
239245
// PMD configuration
240246
pmdApiConfiguration := extractPMDConfiguration(apiToolConfigurations)
241247
if pmdApiConfiguration != nil {
242-
err = createPMDConfigFile(*pmdApiConfiguration, localCodacyDir)
248+
err = createPMDConfigFile(*pmdApiConfiguration, toolsConfigDir)
243249
if err != nil {
244250
return fmt.Errorf("failed to create PMD config: %v", err)
245251
}
246252
fmt.Println("PMD configuration created based on Codacy settings")
247253
} else {
248-
err = createDefaultPMDConfigFile(localCodacyDir)
254+
err = createDefaultPMDConfigFile(toolsConfigDir)
249255
if err != nil {
250256
return fmt.Errorf("failed to create default PMD config: %v", err)
251257
}
@@ -321,16 +327,16 @@ func extractPMDConfiguration(toolConfigurations []CodacyToolConfiguration) *Coda
321327
return nil
322328
}
323329

324-
func createPMDConfigFile(config CodacyToolConfiguration, localCodacyDir string) error {
330+
func createPMDConfigFile(config CodacyToolConfiguration, toolsConfigDir string) error {
325331
pmdDomainConfiguration := convertAPIToolConfigurationToDomain(config)
326332
pmdConfigurationString := tools.CreatePmdConfig(pmdDomainConfiguration)
327-
return os.WriteFile(filepath.Join(localCodacyDir, "pmd-ruleset.xml"), []byte(pmdConfigurationString), 0644)
333+
return os.WriteFile(filepath.Join(toolsConfigDir, "pmd-ruleset.xml"), []byte(pmdConfigurationString), 0644)
328334
}
329335

330-
func createDefaultPMDConfigFile(localCodacyDir string) error {
336+
func createDefaultPMDConfigFile(toolsConfigDir string) error {
331337
emptyConfig := tools.ToolConfiguration{}
332338
content := tools.CreatePmdConfig(emptyConfig)
333-
return os.WriteFile(filepath.Join(localCodacyDir, "pmd-ruleset.xml"), []byte(content), 0644)
339+
return os.WriteFile(filepath.Join(toolsConfigDir, "pmd-ruleset.xml"), []byte(content), 0644)
334340
}
335341

336342
type CodacyToolConfiguration struct {
@@ -350,15 +356,15 @@ type ParameterConfiguration struct {
350356
}
351357

352358
// createTrivyConfigFile creates a trivy.yaml configuration file based on the API configuration
353-
func createTrivyConfigFile(config CodacyToolConfiguration, localCodacyDir string) error {
359+
func createTrivyConfigFile(config CodacyToolConfiguration, toolsConfigDir string) error {
354360
// Convert CodacyToolConfiguration to tools.ToolConfiguration
355361
trivyDomainConfiguration := convertAPIToolConfigurationForTrivy(config)
356362

357363
// Use the shared CreateTrivyConfig function to generate the config content
358364
trivyConfigurationString := tools.CreateTrivyConfig(trivyDomainConfiguration)
359365

360366
// Write to file
361-
return os.WriteFile(filepath.Join(localCodacyDir, "trivy.yaml"), []byte(trivyConfigurationString), 0644)
367+
return os.WriteFile(filepath.Join(toolsConfigDir, "trivy.yaml"), []byte(trivyConfigurationString), 0644)
362368
}
363369

364370
// convertAPIToolConfigurationForTrivy converts API tool configuration to domain model for Trivy
@@ -402,21 +408,21 @@ func convertAPIToolConfigurationForTrivy(config CodacyToolConfiguration) tools.T
402408
}
403409

404410
// createDefaultTrivyConfigFile creates a default trivy.yaml configuration file
405-
func createDefaultTrivyConfigFile(localCodacyDir string) error {
411+
func createDefaultTrivyConfigFile(toolsConfigDir string) error {
406412
// Use empty tool configuration to get default settings
407413
emptyConfig := tools.ToolConfiguration{}
408414
content := tools.CreateTrivyConfig(emptyConfig)
409415

410416
// Write to file
411-
return os.WriteFile(filepath.Join(localCodacyDir, "trivy.yaml"), []byte(content), 0644)
417+
return os.WriteFile(filepath.Join(toolsConfigDir, "trivy.yaml"), []byte(content), 0644)
412418
}
413419

414420
// createDefaultEslintConfigFile creates a default eslint.config.mjs configuration file
415-
func createDefaultEslintConfigFile(localCodacyDir string) error {
421+
func createDefaultEslintConfigFile(toolsConfigDir string) error {
416422
// Use empty tool configuration to get default settings
417423
emptyConfig := tools.ToolConfiguration{}
418424
content := tools.CreateEslintConfig(emptyConfig)
419425

420426
// Write to file
421-
return os.WriteFile(filepath.Join(localCodacyDir, "eslint.config.mjs"), []byte(content), 0644)
427+
return os.WriteFile(filepath.Join(toolsConfigDir, "eslint.config.mjs"), []byte(content), 0644)
422428
}

0 commit comments

Comments
 (0)