diff --git a/arduino/builder/build_options_manager.go b/arduino/builder/build_options_manager.go index 0d097bdb1e7..0ff35611934 100644 --- a/arduino/builder/build_options_manager.go +++ b/arduino/builder/build_options_manager.go @@ -20,8 +20,7 @@ import ( "path/filepath" "strings" - "github.com/arduino/arduino-cli/arduino/builder/logger" - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/arduino/cores" "github.com/arduino/arduino-cli/arduino/sketch" "github.com/arduino/go-paths-helper" @@ -29,10 +28,9 @@ import ( "github.com/pkg/errors" ) -// BuildOptionsManager fixdoc -type BuildOptionsManager struct { - currentOptions *properties.Map - currentBuildOptionsJSON []byte +// buildOptions fixdoc +type buildOptions struct { + currentOptions *properties.Map hardwareDirs paths.PathList builtInToolsDirs paths.PathList @@ -45,11 +43,10 @@ type BuildOptionsManager struct { customBuildProperties []string compilerOptimizationFlags string clean bool - builderLogger *logger.BuilderLogger } -// NewBuildOptionsManager fixdoc -func NewBuildOptionsManager( +// newBuildOptions fixdoc +func newBuildOptions( hardwareDirs, builtInToolsDirs, otherLibrariesDirs paths.PathList, builtInLibrariesDirs, buildPath *paths.Path, sketch *sketch.Sketch, @@ -58,8 +55,7 @@ func NewBuildOptionsManager( clean bool, compilerOptimizationFlags string, runtimePlatformPath, buildCorePath *paths.Path, - buildLogger *logger.BuilderLogger, -) *BuildOptionsManager { +) *buildOptions { opts := properties.NewMap() opts.Set("hardwareFolders", strings.Join(hardwareDirs.AsStrings(), ",")) @@ -85,7 +81,7 @@ func NewBuildOptionsManager( } opts.Set("additionalFiles", strings.Join(additionalFilesRelative, ",")) - return &BuildOptionsManager{ + return &buildOptions{ currentOptions: opts, hardwareDirs: hardwareDirs, builtInToolsDirs: builtInToolsDirs, @@ -98,46 +94,39 @@ func NewBuildOptionsManager( customBuildProperties: customBuildProperties, compilerOptimizationFlags: compilerOptimizationFlags, clean: clean, - builderLogger: buildLogger, } } -// WipeBuildPath fixdoc -func (m *BuildOptionsManager) WipeBuildPath() error { - buildOptionsJSON, err := json.MarshalIndent(m.currentOptions, "", " ") +func (b *Builder) createBuildOptionsJSON() error { + buildOptionsJSON, err := json.MarshalIndent(b.buildOptions.currentOptions, "", " ") if err != nil { return errors.WithStack(err) } - m.currentBuildOptionsJSON = buildOptionsJSON - - if err := m.wipeBuildPath(); err != nil { - return errors.WithStack(err) - } - return m.buildPath.Join("build.options.json").WriteFile(buildOptionsJSON) + return b.buildOptions.buildPath.Join("build.options.json").WriteFile(buildOptionsJSON) } -func (m *BuildOptionsManager) wipeBuildPath() error { - wipe := func() error { - // FIXME: this should go outside legacy and behind a `logrus` call so users can - // control when this should be printed. - // logger.Println(constants.LOG_LEVEL_INFO, constants.MSG_BUILD_OPTIONS_CHANGED + constants.MSG_REBUILD_ALL) - if err := m.buildPath.RemoveAll(); err != nil { - return errors.WithMessage(err, tr("cleaning build path")) - } - if err := m.buildPath.MkdirAll(); err != nil { - return errors.WithMessage(err, tr("cleaning build path")) - } - return nil +func (b *Builder) wipeBuildPath() error { + // FIXME: this should go outside legacy and behind a `logrus` call so users can + // control when this should be printed. + // logger.Println(constants.LOG_LEVEL_INFO, constants.MSG_BUILD_OPTIONS_CHANGED + constants.MSG_REBUILD_ALL) + if err := b.buildOptions.buildPath.RemoveAll(); err != nil { + return errors.WithMessage(err, tr("cleaning build path")) } + if err := b.buildOptions.buildPath.MkdirAll(); err != nil { + return errors.WithMessage(err, tr("cleaning build path")) + } + return nil +} - if m.clean { - return wipe() +func (b *Builder) wipeBuildPathIfBuildOptionsChanged() error { + if b.buildOptions.clean { + return b.wipeBuildPath() } // Load previous build options map var buildOptionsJSONPrevious []byte var _err error - if buildOptionsFile := m.buildPath.Join("build.options.json"); buildOptionsFile.Exist() { + if buildOptionsFile := b.buildOptions.buildPath.Join("build.options.json"); buildOptionsFile.Exist() { buildOptionsJSONPrevious, _err = buildOptionsFile.ReadFile() if _err != nil { return errors.WithStack(_err) @@ -150,12 +139,12 @@ func (m *BuildOptionsManager) wipeBuildPath() error { var prevOpts *properties.Map if err := json.Unmarshal(buildOptionsJSONPrevious, &prevOpts); err != nil || prevOpts == nil { - m.builderLogger.Info(tr("%[1]s invalid, rebuilding all", "build.options.json")) - return wipe() + b.logger.Info(tr("%[1]s invalid, rebuilding all", "build.options.json")) + return b.wipeBuildPath() } // Since we might apply a side effect we clone it - currentOptions := m.currentOptions.Clone() + currentOptions := b.buildOptions.currentOptions.Clone() // If SketchLocation path is different but filename is the same, consider it equal if filepath.Base(currentOptions.Get("sketchLocation")) == filepath.Base(prevOpts.Get("sketchLocation")) { currentOptions.Remove("sketchLocation") @@ -167,10 +156,10 @@ func (m *BuildOptionsManager) wipeBuildPath() error { // check if any of the files contained in the core folders has changed // since the json was generated - like platform.txt or similar // if so, trigger a "safety" wipe - targetCoreFolder := m.runtimePlatformPath - coreFolder := m.buildCorePath + targetCoreFolder := b.buildOptions.runtimePlatformPath + coreFolder := b.buildOptions.buildCorePath realCoreFolder := coreFolder.Parent().Parent() - jsonPath := m.buildPath.Join("build.options.json") + jsonPath := b.buildOptions.buildPath.Join("build.options.json") coreUnchanged, _ := utils.DirContentIsOlderThan(realCoreFolder, jsonPath, ".txt") if coreUnchanged && targetCoreFolder != nil && !realCoreFolder.EqualsTo(targetCoreFolder) { coreUnchanged, _ = utils.DirContentIsOlderThan(targetCoreFolder, jsonPath, ".txt") @@ -180,5 +169,5 @@ func (m *BuildOptionsManager) wipeBuildPath() error { } } - return wipe() + return b.wipeBuildPath() } diff --git a/arduino/builder/builder.go b/arduino/builder/builder.go index 64e06f82eb3..e65f744ab0c 100644 --- a/arduino/builder/builder.go +++ b/arduino/builder/builder.go @@ -18,14 +18,17 @@ package builder import ( "errors" "fmt" + "io" - "github.com/arduino/arduino-cli/arduino/builder/compilation" - "github.com/arduino/arduino-cli/arduino/builder/detector" - "github.com/arduino/arduino-cli/arduino/builder/logger" - "github.com/arduino/arduino-cli/arduino/builder/progress" + "github.com/arduino/arduino-cli/arduino/builder/internal/compilation" + "github.com/arduino/arduino-cli/arduino/builder/internal/detector" + "github.com/arduino/arduino-cli/arduino/builder/internal/logger" + "github.com/arduino/arduino-cli/arduino/builder/internal/progress" "github.com/arduino/arduino-cli/arduino/cores" + "github.com/arduino/arduino-cli/arduino/libraries" "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/arduino/sketch" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" ) @@ -77,14 +80,15 @@ type Builder struct { targetPlatform *cores.PlatformRelease actualPlatform *cores.PlatformRelease - buildArtifacts *BuildArtifacts + buildArtifacts *buildArtifacts - *detector.SketchLibrariesDetector - *BuildOptionsManager + buildOptions *buildOptions + + libsDetector *detector.SketchLibrariesDetector } -// BuildArtifacts contains the result of various build -type BuildArtifacts struct { +// buildArtifacts contains the result of various build +type buildArtifacts struct { // populated by BuildCore coreArchiveFilePath *paths.Path coreObjectsFiles paths.PathList @@ -115,8 +119,8 @@ func NewBuilder( useCachedLibrariesResolution bool, librariesManager *librariesmanager.LibrariesManager, libraryDirs paths.PathList, - logger *logger.BuilderLogger, - progressStats *progress.Struct, + stdout, stderr io.Writer, verbose bool, warningsLevel string, + progresCB rpc.TaskProgressCB, ) (*Builder, error) { buildProperties := properties.NewMap() if boardBuildProperties != nil { @@ -165,10 +169,7 @@ func NewBuilder( return nil, ErrSketchCannotBeLocatedInBuildPath } - if progressStats == nil { - progressStats = progress.New(nil) - } - + logger := logger.New(stdout, stderr, verbose, warningsLevel) libsManager, libsResolver, verboseOut, err := detector.LibrariesLoader( useCachedLibrariesResolution, librariesManager, builtInLibrariesDirs, libraryDirs, otherLibrariesDirs, @@ -196,18 +197,18 @@ func NewBuilder( sourceOverrides: sourceOverrides, onlyUpdateCompilationDatabase: onlyUpdateCompilationDatabase, compilationDatabase: compilation.NewDatabase(buildPath.Join("compile_commands.json")), - Progress: progressStats, + Progress: progress.New(progresCB), executableSectionsSize: []ExecutableSectionSize{}, - buildArtifacts: &BuildArtifacts{}, + buildArtifacts: &buildArtifacts{}, targetPlatform: targetPlatform, actualPlatform: actualPlatform, - SketchLibrariesDetector: detector.NewSketchLibrariesDetector( + libsDetector: detector.NewSketchLibrariesDetector( libsManager, libsResolver, useCachedLibrariesResolution, onlyUpdateCompilationDatabase, logger, ), - BuildOptionsManager: NewBuildOptionsManager( + buildOptions: newBuildOptions( hardwareDirs, builtInToolsDirs, otherLibrariesDirs, builtInLibrariesDirs, buildPath, sk, @@ -217,7 +218,6 @@ func NewBuilder( buildProperties.Get("compiler.optimization_flags"), buildProperties.GetPath("runtime.platform.path"), buildProperties.GetPath("build.core.path"), // TODO can we buildCorePath ? - logger, ), }, nil } @@ -237,6 +237,11 @@ func (b *Builder) ExecutableSectionsSize() ExecutablesFileSections { return b.executableSectionsSize } +// ImportedLibraries fixdoc +func (b *Builder) ImportedLibraries() libraries.List { + return b.libsDetector.ImportedLibraries() +} + // Preprocess fixdoc func (b *Builder) Preprocess() error { b.Progress.AddSubSteps(6) @@ -249,7 +254,10 @@ func (b *Builder) preprocess() error { return err } - if err := b.BuildOptionsManager.WipeBuildPath(); err != nil { + if err := b.wipeBuildPathIfBuildOptionsChanged(); err != nil { + return err + } + if err := b.createBuildOptionsJSON(); err != nil { return err } b.Progress.CompleteStep() @@ -268,7 +276,7 @@ func (b *Builder) preprocess() error { b.Progress.PushProgress() b.logIfVerbose(false, tr("Detecting libraries used...")) - err := b.SketchLibrariesDetector.FindIncludes( + err := b.libsDetector.FindIncludes( b.buildPath, b.buildProperties.GetPath("build.core.path"), b.buildProperties.GetPath("build.variant.path"), @@ -284,12 +292,12 @@ func (b *Builder) preprocess() error { b.Progress.CompleteStep() b.Progress.PushProgress() - b.warnAboutArchIncompatibleLibraries(b.SketchLibrariesDetector.ImportedLibraries()) + b.warnAboutArchIncompatibleLibraries(b.libsDetector.ImportedLibraries()) b.Progress.CompleteStep() b.Progress.PushProgress() b.logIfVerbose(false, tr("Generating function prototypes...")) - if err := b.preprocessSketch(b.SketchLibrariesDetector.IncludeFolders()); err != nil { + if err := b.preprocessSketch(b.libsDetector.IncludeFolders()); err != nil { return err } b.Progress.CompleteStep() @@ -327,18 +335,18 @@ func (b *Builder) Build() error { buildErr := b.build() - b.SketchLibrariesDetector.PrintUsedAndNotUsedLibraries(buildErr != nil) + b.libsDetector.PrintUsedAndNotUsedLibraries(buildErr != nil) b.Progress.CompleteStep() b.Progress.PushProgress() - b.printUsedLibraries(b.SketchLibrariesDetector.ImportedLibraries()) + b.printUsedLibraries(b.libsDetector.ImportedLibraries()) b.Progress.CompleteStep() b.Progress.PushProgress() if buildErr != nil { return buildErr } - if err := b.exportProjectCMake(b.SketchLibrariesDetector.ImportedLibraries(), b.SketchLibrariesDetector.IncludeFolders()); err != nil { + if err := b.exportProjectCMake(b.libsDetector.ImportedLibraries(), b.libsDetector.IncludeFolders()); err != nil { return err } b.Progress.CompleteStep() @@ -362,7 +370,7 @@ func (b *Builder) build() error { b.Progress.CompleteStep() b.Progress.PushProgress() - if err := b.BuildSketch(b.SketchLibrariesDetector.IncludeFolders()); err != nil { + if err := b.BuildSketch(b.libsDetector.IncludeFolders()); err != nil { return err } b.Progress.CompleteStep() @@ -381,13 +389,13 @@ func (b *Builder) build() error { b.Progress.CompleteStep() b.Progress.PushProgress() - if err := b.removeUnusedCompiledLibraries(b.SketchLibrariesDetector.ImportedLibraries()); err != nil { + if err := b.removeUnusedCompiledLibraries(b.libsDetector.ImportedLibraries()); err != nil { return err } b.Progress.CompleteStep() b.Progress.PushProgress() - if err := b.buildLibraries(b.SketchLibrariesDetector.IncludeFolders(), b.SketchLibrariesDetector.ImportedLibraries()); err != nil { + if err := b.buildLibraries(b.libsDetector.IncludeFolders(), b.libsDetector.ImportedLibraries()); err != nil { return err } b.Progress.CompleteStep() diff --git a/arduino/builder/core.go b/arduino/builder/core.go index 9617d22cc11..b58d3dea806 100644 --- a/arduino/builder/core.go +++ b/arduino/builder/core.go @@ -23,7 +23,7 @@ import ( "strings" "github.com/arduino/arduino-cli/arduino/builder/cpp" - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/buildcache" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/go-paths-helper" diff --git a/arduino/builder/export_cmake.go b/arduino/builder/export_cmake.go index 456cd298424..6f3bc4e3dfd 100644 --- a/arduino/builder/export_cmake.go +++ b/arduino/builder/export_cmake.go @@ -24,12 +24,11 @@ import ( "slices" "strings" - "github.com/arduino/go-paths-helper" - properties "github.com/arduino/go-properties-orderedmap" - - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/arduino/globals" "github.com/arduino/arduino-cli/arduino/libraries" + "github.com/arduino/go-paths-helper" + properties "github.com/arduino/go-properties-orderedmap" ) var lineMatcher = regexp.MustCompile(`^#line\s\d+\s"`) diff --git a/arduino/builder/compilation/database.go b/arduino/builder/internal/compilation/database.go similarity index 100% rename from arduino/builder/compilation/database.go rename to arduino/builder/internal/compilation/database.go diff --git a/arduino/builder/compilation/database_test.go b/arduino/builder/internal/compilation/database_test.go similarity index 100% rename from arduino/builder/compilation/database_test.go rename to arduino/builder/internal/compilation/database_test.go diff --git a/arduino/builder/detector/detector.go b/arduino/builder/internal/detector/detector.go similarity index 99% rename from arduino/builder/detector/detector.go rename to arduino/builder/internal/detector/detector.go index 50a35a016e8..2c5f836374b 100644 --- a/arduino/builder/detector/detector.go +++ b/arduino/builder/internal/detector/detector.go @@ -25,9 +25,9 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/arduino/builder/logger" - "github.com/arduino/arduino-cli/arduino/builder/preprocessor" - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/logger" + "github.com/arduino/arduino-cli/arduino/builder/internal/preprocessor" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/arduino/cores" "github.com/arduino/arduino-cli/arduino/globals" "github.com/arduino/arduino-cli/arduino/libraries" diff --git a/arduino/builder/detector/detector_test.go b/arduino/builder/internal/detector/detector_test.go similarity index 97% rename from arduino/builder/detector/detector_test.go rename to arduino/builder/internal/detector/detector_test.go index fc933cf5cff..2290dc02de6 100644 --- a/arduino/builder/detector/detector_test.go +++ b/arduino/builder/internal/detector/detector_test.go @@ -18,7 +18,7 @@ package detector_test import ( "testing" - "github.com/arduino/arduino-cli/arduino/builder/detector" + "github.com/arduino/arduino-cli/arduino/builder/internal/detector" "github.com/stretchr/testify/require" ) diff --git a/arduino/builder/logger/logger.go b/arduino/builder/internal/logger/logger.go similarity index 100% rename from arduino/builder/logger/logger.go rename to arduino/builder/internal/logger/logger.go diff --git a/arduino/builder/preprocessor/arduino_preprocessor.go b/arduino/builder/internal/preprocessor/arduino_preprocessor.go similarity index 98% rename from arduino/builder/preprocessor/arduino_preprocessor.go rename to arduino/builder/internal/preprocessor/arduino_preprocessor.go index a81d4bff612..630ec56400f 100644 --- a/arduino/builder/preprocessor/arduino_preprocessor.go +++ b/arduino/builder/internal/preprocessor/arduino_preprocessor.go @@ -21,7 +21,7 @@ import ( "path/filepath" "runtime" - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/arduino/sketch" "github.com/arduino/arduino-cli/executils" "github.com/arduino/go-paths-helper" diff --git a/arduino/builder/preprocessor/ctags.go b/arduino/builder/internal/preprocessor/ctags.go similarity index 98% rename from arduino/builder/preprocessor/ctags.go rename to arduino/builder/internal/preprocessor/ctags.go index 8d9fb7c9480..fb7134904a0 100644 --- a/arduino/builder/preprocessor/ctags.go +++ b/arduino/builder/internal/preprocessor/ctags.go @@ -25,7 +25,7 @@ import ( "strings" "github.com/arduino/arduino-cli/arduino/builder/cpp" - "github.com/arduino/arduino-cli/arduino/builder/preprocessor/internal/ctags" + "github.com/arduino/arduino-cli/arduino/builder/internal/preprocessor/internal/ctags" "github.com/arduino/arduino-cli/arduino/sketch" "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/i18n" diff --git a/arduino/builder/preprocessor/gcc.go b/arduino/builder/internal/preprocessor/gcc.go similarity index 100% rename from arduino/builder/preprocessor/gcc.go rename to arduino/builder/internal/preprocessor/gcc.go diff --git a/arduino/builder/preprocessor/internal/ctags/ctags_has_issues.go b/arduino/builder/internal/preprocessor/internal/ctags/ctags_has_issues.go similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/ctags_has_issues.go rename to arduino/builder/internal/preprocessor/internal/ctags/ctags_has_issues.go diff --git a/arduino/builder/preprocessor/internal/ctags/ctags_parser.go b/arduino/builder/internal/preprocessor/internal/ctags/ctags_parser.go similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/ctags_parser.go rename to arduino/builder/internal/preprocessor/internal/ctags/ctags_parser.go diff --git a/arduino/builder/preprocessor/internal/ctags/ctags_parser_test.go b/arduino/builder/internal/preprocessor/internal/ctags/ctags_parser_test.go similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/ctags_parser_test.go rename to arduino/builder/internal/preprocessor/internal/ctags/ctags_parser_test.go diff --git a/arduino/builder/preprocessor/internal/ctags/ctags_to_prototypes.go b/arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes.go similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/ctags_to_prototypes.go rename to arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes.go diff --git a/arduino/builder/preprocessor/internal/ctags/ctags_to_prototypes_test.go b/arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes_test.go similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/ctags_to_prototypes_test.go rename to arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes_test.go diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserClassMembersAreFilteredOut.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserClassMembersAreFilteredOut.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserClassMembersAreFilteredOut.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserClassMembersAreFilteredOut.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserDefaultArguments.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserDefaultArguments.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserDefaultArguments.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserDefaultArguments.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointer.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointer.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointer.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointer.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointers.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointers.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointers.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointers.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointersNoIndirect.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointersNoIndirect.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointersNoIndirect.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointersNoIndirect.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserNamespace.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserNamespace.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserNamespace.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserNamespace.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealFunctionWithDifferentSignatures.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealFunctionWithDifferentSignatures.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealFunctionWithDifferentSignatures.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealFunctionWithDifferentSignatures.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithClasses.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithClasses.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithClasses.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithClasses.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithMacros.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithMacros.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithMacros.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithMacros.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithStructs.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithStructs.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithStructs.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithStructs.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListPrototypes.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListPrototypes.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListPrototypes.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListPrototypes.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates2.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates2.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates2.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates2.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserStatic.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStatic.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserStatic.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStatic.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserStructWithFunctions.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStructWithFunctions.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsParserStructWithFunctions.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStructWithFunctions.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithClassFunction.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithClassFunction.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithClassFunction.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithClassFunction.txt diff --git a/arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithMultifile.txt b/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithMultifile.txt similarity index 100% rename from arduino/builder/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithMultifile.txt rename to arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithMultifile.txt diff --git a/arduino/builder/progress/progress.go b/arduino/builder/internal/progress/progress.go similarity index 100% rename from arduino/builder/progress/progress.go rename to arduino/builder/internal/progress/progress.go diff --git a/arduino/builder/progress/progress_test.go b/arduino/builder/internal/progress/progress_test.go similarity index 100% rename from arduino/builder/progress/progress_test.go rename to arduino/builder/internal/progress/progress_test.go diff --git a/arduino/builder/utils/utils.go b/arduino/builder/internal/utils/utils.go similarity index 98% rename from arduino/builder/utils/utils.go rename to arduino/builder/internal/utils/utils.go index f0ae458512a..58f2e08fd3e 100644 --- a/arduino/builder/utils/utils.go +++ b/arduino/builder/internal/utils/utils.go @@ -26,9 +26,9 @@ import ( "sync" "unicode" - "github.com/arduino/arduino-cli/arduino/builder/compilation" - "github.com/arduino/arduino-cli/arduino/builder/logger" - "github.com/arduino/arduino-cli/arduino/builder/progress" + "github.com/arduino/arduino-cli/arduino/builder/internal/compilation" + "github.com/arduino/arduino-cli/arduino/builder/internal/logger" + "github.com/arduino/arduino-cli/arduino/builder/internal/progress" "github.com/arduino/arduino-cli/arduino/globals" "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/i18n" diff --git a/arduino/builder/utils/utils_test.go b/arduino/builder/internal/utils/utils_test.go similarity index 100% rename from arduino/builder/utils/utils_test.go rename to arduino/builder/internal/utils/utils_test.go diff --git a/arduino/builder/libraries.go b/arduino/builder/libraries.go index cb580766e0c..2499e5b9253 100644 --- a/arduino/builder/libraries.go +++ b/arduino/builder/libraries.go @@ -21,7 +21,7 @@ import ( "time" "github.com/arduino/arduino-cli/arduino/builder/cpp" - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/arduino/libraries" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/go-paths-helper" diff --git a/arduino/builder/linker.go b/arduino/builder/linker.go index 60c09bcf6dd..f1d7ef00b36 100644 --- a/arduino/builder/linker.go +++ b/arduino/builder/linker.go @@ -18,7 +18,7 @@ package builder import ( "strings" - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/go-paths-helper" "github.com/pkg/errors" diff --git a/arduino/builder/preprocess_sketch.go b/arduino/builder/preprocess_sketch.go index c871495c335..8028d345fdf 100644 --- a/arduino/builder/preprocess_sketch.go +++ b/arduino/builder/preprocess_sketch.go @@ -16,7 +16,7 @@ package builder import ( - "github.com/arduino/arduino-cli/arduino/builder/preprocessor" + "github.com/arduino/arduino-cli/arduino/builder/internal/preprocessor" "github.com/arduino/go-paths-helper" ) diff --git a/arduino/builder/recipe.go b/arduino/builder/recipe.go index 385e6a03a87..4cb11179188 100644 --- a/arduino/builder/recipe.go +++ b/arduino/builder/recipe.go @@ -20,7 +20,7 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" properties "github.com/arduino/go-properties-orderedmap" "github.com/pkg/errors" "github.com/sirupsen/logrus" diff --git a/arduino/builder/sizer.go b/arduino/builder/sizer.go index 0924f9a62e4..1d8707df487 100644 --- a/arduino/builder/sizer.go +++ b/arduino/builder/sizer.go @@ -21,7 +21,7 @@ import ( "regexp" "strconv" - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" "github.com/pkg/errors" diff --git a/arduino/builder/sketch.go b/arduino/builder/sketch.go index f54461fb74a..044e284063d 100644 --- a/arduino/builder/sketch.go +++ b/arduino/builder/sketch.go @@ -24,7 +24,7 @@ import ( "strings" "github.com/arduino/arduino-cli/arduino/builder/cpp" - "github.com/arduino/arduino-cli/arduino/builder/utils" + "github.com/arduino/arduino-cli/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/go-paths-helper" @@ -187,7 +187,7 @@ func (b *Builder) BuildSketch(includesFolders paths.PathList) error { b.onlyUpdateCompilationDatabase, b.compilationDatabase, b.jobs, - b.builderLogger, + b.logger, b.Progress, ) if err != nil { @@ -202,7 +202,7 @@ func (b *Builder) BuildSketch(includesFolders paths.PathList) error { b.onlyUpdateCompilationDatabase, b.compilationDatabase, b.jobs, - b.builderLogger, + b.logger, b.Progress, ) if err != nil { diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 8e58f480b0e..b04e4cd4914 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -25,8 +25,6 @@ import ( "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/arduino/builder" - "github.com/arduino/arduino-cli/arduino/builder/logger" - "github.com/arduino/arduino-cli/arduino/builder/progress" "github.com/arduino/arduino-cli/arduino/cores" "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/arduino/sketch" @@ -199,8 +197,8 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream req.GetSkipLibrariesDiscovery(), libsManager, paths.NewPathList(req.Library...), - logger.New(outStream, errStream, req.GetVerbose(), req.GetWarnings()), - progress.New(progressCB), + outStream, errStream, req.GetVerbose(), req.GetWarnings(), + progressCB, ) if err != nil { if strings.Contains(err.Error(), "invalid build properties") { @@ -251,7 +249,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream defer func() { importedLibs := []*rpc.Library{} - for _, lib := range sketchBuilder.SketchLibrariesDetector.ImportedLibraries() { + for _, lib := range sketchBuilder.ImportedLibraries() { rpcLib, err := lib.ToRPCLibrary() if err != nil { msg := tr("Error getting information for library %s", lib.Name) + ": " + err.Error() + "\n"