Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 10dd714

Browse files
committed
Allow compile of sketch-vendored libraries
1 parent 6e9e305 commit 10dd714

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

‎internal/arduino/builder/builder.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ func NewBuilder(
189189
logger := logger.New(stdout, stderr, verbose, warningsLevel)
190190
libsManager, libsResolver, verboseOut, err := detector.LibrariesLoader(
191191
useCachedLibrariesResolution, librariesManager,
192-
builtInLibrariesDirs, libraryDirs, otherLibrariesDirs,
192+
sk, builtInLibrariesDirs, libraryDirs, otherLibrariesDirs,
193193
actualPlatform, targetPlatform,
194194
)
195195
if err != nil {

‎internal/arduino/builder/internal/detector/detector.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,7 @@ func (f *sourceFile) DepfilePath() *paths.Path {
590590
func LibrariesLoader(
591591
useCachedLibrariesResolution bool,
592592
librariesManager *librariesmanager.LibrariesManager,
593+
sk *sketch.Sketch,
593594
builtInLibrariesDirs *paths.Path, libraryDirs, otherLibrariesDirs paths.PathList,
594595
actualPlatform, targetPlatform *cores.PlatformRelease,
595596
) (*librariesmanager.LibrariesManager, *librariesresolver.Cpp, []byte, error) {
@@ -660,7 +661,7 @@ func LibrariesLoader(
660661
}
661662

662663
allLibs := lm.FindAllInstalled()
663-
resolver := librariesresolver.NewCppResolver(allLibs, targetPlatform, actualPlatform)
664+
resolver := librariesresolver.NewCppResolver(allLibs, sk, targetPlatform, actualPlatform)
664665
return lm, resolver, verboseOut.Bytes(), nil
665666
}
666667

‎internal/arduino/libraries/librariesresolver/cpp.go‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
"github.com/arduino/arduino-cli/internal/arduino/cores"
2424
"github.com/arduino/arduino-cli/internal/arduino/libraries"
25+
"github.com/arduino/arduino-cli/internal/arduino/sketch"
2526
"github.com/arduino/arduino-cli/internal/arduino/utils"
2627
"github.com/arduino/arduino-cli/internal/i18n"
2728
"github.com/schollz/closestmatch"
@@ -36,7 +37,7 @@ type Cpp struct {
3637
var tr = i18n.Tr
3738

3839
// NewCppResolver creates a new Cpp resolver
39-
func NewCppResolver(allLibs []*libraries.Library, targetPlatform, actualPlatform *cores.PlatformRelease) *Cpp {
40+
func NewCppResolver(allLibs []*libraries.Library, sk*sketch.Sketch, targetPlatform, actualPlatform *cores.PlatformRelease) *Cpp {
4041
resolver := &Cpp{
4142
headers: map[string]libraries.List{},
4243
}
@@ -46,10 +47,17 @@ func NewCppResolver(allLibs []*libraries.Library, targetPlatform, actualPlatform
4647
if actualPlatform != targetPlatform {
4748
resolver.ScanPlatformLibraries(allLibs, actualPlatform)
4849
}
49-
50+
resolver.ScanSketchLibraries(sk)
5051
return resolver
5152
}
5253

54+
// ScanSketchLibraries loads libraries bundled with the sketch
55+
func (resolver *Cpp) ScanSketchLibraries(sk *sketch.Sketch) {
56+
for _, lib := range sk.VendoredLibraries() {
57+
_ = resolver.ScanLibrary(lib)
58+
}
59+
}
60+
5361
// ScanIDEBuiltinLibraries reads ide-builtin librariers loaded in the LibrariesManager to find
5462
// and cache all C++ headers for later retrieval.
5563
func (resolver *Cpp) ScanIDEBuiltinLibraries(allLibs []*libraries.Library) {

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /