本文整理汇总了Golang中arduino/cc/builder/props.PropertiesMap类的典型用法代码示例。如果您正苦于以下问题:Golang PropertiesMap类的具体用法?Golang PropertiesMap怎么用?Golang PropertiesMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PropertiesMap类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: PrepareCommandForRecipe
func PrepareCommandForRecipe(properties props.PropertiesMap, recipe string, removeUnsetProperties bool, echoCommandLine bool, echoOutput bool, logger i18n.Logger) (*exec.Cmd, error) {
pattern := properties[recipe]
if pattern == constants.EMPTY_STRING {
return nil, i18n.ErrorfWithLogger(logger, constants.MSG_PATTERN_MISSING, recipe)
}
var err error
commandLine := properties.ExpandPropsInString(pattern)
if removeUnsetProperties {
commandLine, err = props.DeleteUnexpandedPropsFromString(commandLine)
if err != nil {
return nil, i18n.WrapError(err)
}
}
command, err := utils.PrepareCommand(commandLine, logger)
if err != nil {
return nil, i18n.WrapError(err)
}
if echoCommandLine {
fmt.Println(commandLine)
}
return command, nil
}
开发者ID:me-no-dev,项目名称:arduino-builder,代码行数:26,代码来源:utils.go
示例2: compileFileWithRecipe
func compileFileWithRecipe(sourcePath string, source string, buildPath string, buildProperties props.PropertiesMap, includes []string, recipe string, verbose bool, warningsLevel string, logger i18n.Logger) (string, error) {
properties := buildProperties.Clone()
properties[constants.BUILD_PROPERTIES_COMPILER_WARNING_FLAGS] = properties[constants.BUILD_PROPERTIES_COMPILER_WARNING_FLAGS+"."+warningsLevel]
properties[constants.BUILD_PROPERTIES_INCLUDES] = strings.Join(includes, constants.SPACE)
properties[constants.BUILD_PROPERTIES_SOURCE_FILE] = source
relativeSource, err := filepath.Rel(sourcePath, source)
if err != nil {
return "", i18n.WrapError(err)
}
properties[constants.BUILD_PROPERTIES_OBJECT_FILE] = filepath.Join(buildPath, relativeSource+".o")
err = utils.EnsureFolderExists(filepath.Dir(properties[constants.BUILD_PROPERTIES_OBJECT_FILE]))
if err != nil {
return "", i18n.WrapError(err)
}
objIsUpToDate, err := ObjFileIsUpToDate(properties[constants.BUILD_PROPERTIES_SOURCE_FILE], properties[constants.BUILD_PROPERTIES_OBJECT_FILE], filepath.Join(buildPath, relativeSource+".d"))
if err != nil {
return "", i18n.WrapError(err)
}
if !objIsUpToDate {
_, err = ExecRecipe(properties, recipe, false, verbose, verbose, logger)
if err != nil {
return "", i18n.WrapError(err)
}
} else if verbose {
logger.Println(constants.LOG_LEVEL_INFO, constants.MSG_USING_PREVIOUS_COMPILED_FILE, properties[constants.BUILD_PROPERTIES_OBJECT_FILE])
}
return properties[constants.BUILD_PROPERTIES_OBJECT_FILE], nil
}
开发者ID:me-no-dev,项目名称:arduino-builder,代码行数:32,代码来源:utils.go
示例3: findVIDPIDIndex
func findVIDPIDIndex(buildProperties props.PropertiesMap, vid, pid string) (int, error) {
for key, value := range buildProperties.SubTree(constants.BUILD_PROPERTIES_VID) {
if !strings.Contains(key, ".") {
if vid == strings.ToLower(value) && pid == strings.ToLower(buildProperties[constants.BUILD_PROPERTIES_PID+"."+key]) {
return strconv.Atoi(key)
}
}
}
return -1, nil
}
开发者ID:spiderkeys,项目名称:arduino-builder,代码行数:11,代码来源:load_vid_pid_specific_properties.go
示例4: link
func link(objectFiles []string, coreDotARelPath string, coreArchiveFilePath string, buildProperties props.PropertiesMap, verbose bool, warningsLevel string, logger i18n.Logger) error {
optRelax := addRelaxTrickIfATMEGA2560(buildProperties)
objectFiles = utils.Map(objectFiles, wrapWithDoubleQuotes)
objectFileList := strings.Join(objectFiles, constants.SPACE)
properties := buildProperties.Clone()
properties[constants.BUILD_PROPERTIES_COMPILER_C_ELF_FLAGS] = properties[constants.BUILD_PROPERTIES_COMPILER_C_ELF_FLAGS] + optRelax
properties[constants.BUILD_PROPERTIES_COMPILER_WARNING_FLAGS] = properties[constants.BUILD_PROPERTIES_COMPILER_WARNING_FLAGS+"."+warningsLevel]
properties[constants.BUILD_PROPERTIES_ARCHIVE_FILE] = coreDotARelPath
properties[constants.BUILD_PROPERTIES_ARCHIVE_FILE_PATH] = coreArchiveFilePath
properties[constants.BUILD_PROPERTIES_OBJECT_FILES] = objectFileList
_, err := builder_utils.ExecRecipe(properties, constants.RECIPE_C_COMBINE_PATTERN, false, verbose, verbose, logger)
return err
}
开发者ID:me-no-dev,项目名称:arduino-builder,代码行数:16,代码来源:linker.go
示例5: ArchiveCompiledFiles
func ArchiveCompiledFiles(buildPath string, archiveFile string, objectFiles []string, buildProperties props.PropertiesMap, verbose bool, logger i18n.Logger) (string, error) {
archiveFilePath := filepath.Join(buildPath, archiveFile)
if _, err := os.Stat(archiveFilePath); err == nil {
err = os.Remove(archiveFilePath)
if err != nil {
return "", i18n.WrapError(err)
}
}
for _, objectFile := range objectFiles {
properties := buildProperties.Clone()
properties[constants.BUILD_PROPERTIES_ARCHIVE_FILE] = filepath.Base(archiveFilePath)
properties[constants.BUILD_PROPERTIES_ARCHIVE_FILE_PATH] = archiveFilePath
properties[constants.BUILD_PROPERTIES_OBJECT_FILE] = objectFile
_, err := ExecRecipe(properties, constants.RECIPE_AR_PATTERN, false, verbose, verbose, logger)
if err != nil {
return "", i18n.WrapError(err)
}
}
return archiveFilePath, nil
}
开发者ID:me-no-dev,项目名称:arduino-builder,代码行数:23,代码来源:utils.go
示例6: Run
func (s *WipeoutBuildPathIfBuildOptionsChanged) Run(ctx *types.Context) error {
if ctx.BuildOptionsJsonPrevious == "" {
return nil
}
buildOptionsJson := ctx.BuildOptionsJson
previousBuildOptionsJson := ctx.BuildOptionsJsonPrevious
logger := ctx.GetLogger()
var opts props.PropertiesMap
var prevOpts props.PropertiesMap
json.Unmarshal([]byte(buildOptionsJson), &opts)
json.Unmarshal([]byte(previousBuildOptionsJson), &prevOpts)
// If SketchLocation path is different but filename is the same, consider it equal
if filepath.Base(opts["sketchLocation"]) == filepath.Base(prevOpts["sketchLocation"]) {
delete(opts, "sketchLocation")
delete(prevOpts, "sketchLocation")
}
if opts.Equals(prevOpts) {
return nil
}
logger.Println(constants.LOG_LEVEL_INFO, constants.MSG_BUILD_OPTIONS_CHANGED)
buildPath := ctx.BuildPath
files, err := gohasissues.ReadDir(buildPath)
if err != nil {
return i18n.WrapError(err)
}
for _, file := range files {
os.RemoveAll(filepath.Join(buildPath, file.Name()))
}
return nil
}
开发者ID:me-no-dev,项目名称:arduino-builder,代码行数:36,代码来源:wipeout_build_path_if_build_options_changed.go
注:本文中的arduino/cc/builder/props.PropertiesMap类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论