Skip to content

Commit 17e4d3e

Browse files
committed
Include hpp and hh files when searching for libraries
Fixes #181 Syncs up with arduino/Arduino#3485
1 parent 29e9297 commit 17e4d3e

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

src/arduino.cc/builder/builder.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import (
4343
)
4444

4545
var MAIN_FILE_VALID_EXTENSIONS = map[string]bool{".ino": true, ".pde": true}
46-
var ADDITIONAL_FILE_VALID_EXTENSIONS = map[string]bool{".h": true, ".c": true, ".hpp": true, ".cpp": true, ".s": true}
46+
var ADDITIONAL_FILE_VALID_EXTENSIONS = map[string]bool{".h": true, ".c": true, ".hpp": true, ".hh": true, ".cpp": true, ".s": true}
4747
var ADDITIONAL_FILE_VALID_EXTENSIONS_NO_HEADERS = map[string]bool{".c": true, ".cpp": true, ".s": true}
4848

4949
var LIBRARY_MANDATORY_PROPERTIES = []string{constants.LIBRARY_NAME, constants.LIBRARY_VERSION, constants.LIBRARY_AUTHOR, constants.LIBRARY_MAINTAINER}

src/arduino.cc/builder/libraries_loader.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ func (s *LibrariesLoader) Run(ctx *types.Context) error {
9191

9292
headerToLibraries := make(map[string][]*types.Library)
9393
for _, library := range libraries {
94-
headers, err := utils.ReadDirFiltered(library.SrcFolder, utils.FilterFilesWithExtension(".h"))
94+
headers, err := utils.ReadDirFiltered(library.SrcFolder, utils.FilterFilesWithExtensions(".h", ".hpp", ".hh"))
9595
if err != nil {
9696
return i18n.WrapError(err)
9797
}

src/arduino.cc/builder/utils/utils.go

+12
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,18 @@ func FilterFilesWithExtension(extension string) filterFiles {
150150
}
151151
}
152152

153+
func FilterFilesWithExtensions(extensions ...string) filterFiles {
154+
return func(files []os.FileInfo) []os.FileInfo {
155+
var filtered []os.FileInfo
156+
for _, file := range files {
157+
if !file.IsDir() && SliceContains(extensions, filepath.Ext(file.Name())) {
158+
filtered = append(filtered, file)
159+
}
160+
}
161+
return filtered
162+
}
163+
}
164+
153165
var SOURCE_CONTROL_FOLDERS = map[string]bool{"CVS": true, "RCS": true, ".git": true, ".github": true, ".svn": true, ".hg": true, ".bzr": true, ".vscode": true}
154166

155167
func IsSCCSOrHiddenFile(file os.FileInfo) bool {

0 commit comments

Comments
 (0)