Skip to content

Commit 47a1052

Browse files
feat: ACI-3388 Add additional-paths param to save gradle output (#157)
1 parent b96a953 commit 47a1052

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

cmd/saveGradleOutputData.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,36 @@ var saveGradleOutputDataCmd = &cobra.Command{ //nolint:gochecknoglobals
2020
- Save the collected data to the Bitrise key-value cache.
2121
`,
2222
SilenceUsage: true,
23-
RunE: func(_ *cobra.Command, _ []string) error {
23+
RunE: func(cmd *cobra.Command, _ []string) error {
2424
logger := log.NewLogger()
2525
logger.EnableDebugLog(isDebugLogMode)
2626
logger.TInfof("Save Gradle output data to cache, for running diagnostics builds")
2727

28-
return saveGradleOutputDataCmdFn(logger)
28+
additionalPaths, err := cmd.Flags().GetStringSlice("additional-paths")
29+
if err != nil {
30+
return fmt.Errorf("get additional paths flag: %w", err)
31+
}
32+
33+
return saveGradleOutputDataCmdFn(logger, additionalPaths)
2934
},
3035
}
3136

3237
func init() {
38+
saveGradleOutputDataCmd.Flags().StringSlice("additional-paths",
39+
[]string{},
40+
"Additional paths to save, relative to the current working directory. These paths will be added to the default paths: **/build/ + .gradle/")
3341
rootCmd.AddCommand(saveGradleOutputDataCmd)
3442
}
3543

36-
func saveGradleOutputDataCmdFn(logger log.Logger) error {
44+
func saveGradleOutputDataCmdFn(logger log.Logger, additionalPaths []string) error {
3745
pathChecker := pathutil.NewPathChecker()
3846
pathProvider := pathutil.NewPathProvider()
3947
pathModifier := pathutil.NewPathModifier()
4048
envRepo := env.NewRepository()
4149

4250
saveGradleDiagnosticOutputStep := diagnostics.NewGradleDiagnosticOuptutSaver(logger, pathChecker, pathProvider, pathModifier, envRepo)
4351

44-
if err := saveGradleDiagnosticOutputStep.Run(isDebugLogMode); err != nil {
52+
if err := saveGradleDiagnosticOutputStep.Run(isDebugLogMode, additionalPaths); err != nil {
4553
return fmt.Errorf("save Gradle output: %w", err)
4654
}
4755

internal/diagnostics/save.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,20 @@ func NewGradleDiagnosticOuptutSaver(
4949
}
5050
}
5151

52-
func (s GradleDiagnosticOutputSaver) Run(isVerboseMode bool) error {
52+
func (s GradleDiagnosticOutputSaver) Run(isVerboseMode bool, additionalPaths []string) error {
5353
s.logger.Debugf("Cache key: %s", key)
5454
s.logger.Debugf("Cache paths:")
55-
s.logger.Debugf(strings.Join(paths, "\n"))
55+
pathsToSave := paths
56+
pathsToSave = append(pathsToSave, additionalPaths...)
57+
s.logger.Debugf(strings.Join(pathsToSave, "\n"))
5658

5759
saver := cache.NewSaver(s.envRepo, s.logger, s.pathProvider, s.pathModifier, s.pathChecker, nil)
5860

5961
if err := saver.Save(cache.SaveCacheInput{
6062
StepId: saveStepID,
6163
Verbose: isVerboseMode,
6264
Key: key,
63-
Paths: paths,
65+
Paths: pathsToSave,
6466
IsKeyUnique: true,
6567
}); err != nil {
6668
return fmt.Errorf("save cache: %w", err)

0 commit comments

Comments
 (0)