当前位置: 首页>>代码示例>>Golang>>正文


Golang Settings.GetFullVersionName方法代码示例

本文整理汇总了Golang中github.com/boldfield/goxc/config.Settings.GetFullVersionName方法的典型用法代码示例。如果您正苦于以下问题:Golang Settings.GetFullVersionName方法的具体用法?Golang Settings.GetFullVersionName怎么用?Golang Settings.GetFullVersionName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/boldfield/goxc/config.Settings的用法示例。


在下文中一共展示了Settings.GetFullVersionName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: archivePlat

func archivePlat(goos, arch string, mainDirs []string, workingDirectory, outDestRoot string, settings *config.Settings, ending string, archiver archive.Archiver, includeTopLevelDir bool) error {
	resources := core.ParseIncludeResources(workingDirectory, settings.ResourcesInclude, settings.ResourcesExclude, !settings.IsQuiet())
	//log.Printf("Resources: %v", resources)
	exes := []string{}
	for _, mainDir := range mainDirs {
		var exeName string
		if len(mainDirs) == 1 {
			exeName = settings.AppName
		} else {
			exeName = filepath.Base(mainDir)
		}
		binPath, err := core.GetAbsoluteBin(goos, arch, settings.AppName, exeName, workingDirectory, settings.GetFullVersionName(), settings.OutPath, settings.ArtifactsDest)

		if err != nil {
			return err
		}
		exes = append(exes, binPath)
	}
	outDir := filepath.Join(outDestRoot, settings.GetFullVersionName())
	err := os.MkdirAll(outDir, 0777)
	if err != nil {
		return err
	}
	archivePath, err := archive.ArchiveBinariesAndResources(outDir, goos+"_"+arch,
		exes, settings.AppName, resources, *settings, archiver, ending, includeTopLevelDir)
	if err != nil {
		log.Printf("ZIP error: %s", err)
		return err
	} else {
		if !settings.IsQuiet() {
			log.Printf("Artifact(s) archived to %s", archivePath)
		}
	}
	return nil
}
开发者ID:boldfield,项目名称:goxc,代码行数:35,代码来源:archive.go

示例2: ArchiveBinariesAndResources

// goxc function to archive a binary along with supporting files (e.g. README or LICENCE).
func ArchiveBinariesAndResources(outDir, platName string, binPaths []string, appName string, resources []string, settings config.Settings, archiver Archiver, ending string, includeTopLevelDir bool) (zipFilename string, err error) {
	var zipName string
	if settings.PackageVersion != "" && settings.PackageVersion != core.PACKAGE_VERSION_DEFAULT {
		//0.1.6 using appname_version_platform. See issue 3
		zipName = appName + "_" + settings.GetFullVersionName() + "_" + platName
	} else {
		zipName = appName + "_" + platName
	}
	zipFilename = filepath.Join(outDir, zipName+"."+ending)
	var zipDir string
	if includeTopLevelDir {
		zipDir = zipName
	} else {
		zipDir = ""
	}
	toArchive := []ArchiveItem{}
	for _, binPath := range binPaths {
		destFile := filepath.Base(binPath)
		if zipDir != "" {
			destFile = filepath.Join(zipDir, destFile)
		}
		toArchive = append(toArchive, ArchiveItemFromFileSystem(binPath, destFile))
	}
	for _, resource := range resources {
		destFile := resource
		if zipDir != "" {
			destFile = filepath.Join(zipDir, destFile)
		}
		toArchive = append(toArchive, ArchiveItemFromFileSystem(resource, destFile))
	}
	err = archiver(zipFilename, toArchive)
	return
}
开发者ID:boldfield,项目名称:goxc,代码行数:34,代码来源:archive.go

示例3: InvokeGo

// invoke the go command via the os/exec package
// 0.3.1
// v0.9 changed signature
func InvokeGo(workingDirectory string, subCmd string, subCmdArgs []string, env []string, settings *config.Settings) error {
	fullVersionName := settings.GetFullVersionName()
	//var buildSettings config.BuildSettings
	buildSettings := settings.BuildSettings
	goRoot := settings.GoRoot
	if settings.IsVerbose() {
		log.Printf("build settings: %s", goRoot)
	}
	cmdPath := filepath.Join(goRoot, "bin", "go")
	args := []string{subCmd}

	//these features only apply to `go build` & `go install`
	if isBuildCommand(subCmd) {
		if buildSettings.Processors != nil {
			args = append(args, "-p", strconv.Itoa(*buildSettings.Processors))
		}
		if buildSettings.Race != nil && *buildSettings.Race {
			args = append(args, "-race")
		}
		if buildSettings.Verbose != nil && *buildSettings.Verbose {
			args = append(args, "-v")
		}
		if buildSettings.PrintCommands != nil && *buildSettings.PrintCommands {
			args = append(args, "-x")
		}
		if buildSettings.CcFlags != nil && *buildSettings.CcFlags != "" {
			args = append(args, "-ccflags", *buildSettings.CcFlags)
		}
		if buildSettings.Compiler != nil && *buildSettings.Compiler != "" {
			args = append(args, "-compiler", *buildSettings.Compiler)
		}
		if buildSettings.GccGoFlags != nil && *buildSettings.GccGoFlags != "" {
			args = append(args, "-gccgoflags", *buildSettings.GccGoFlags)
		}
		if buildSettings.GcFlags != nil && *buildSettings.GcFlags != "" {
			args = append(args, "-gcflags", *buildSettings.GcFlags)
		}
		if buildSettings.InstallSuffix != nil && *buildSettings.InstallSuffix != "" {
			args = append(args, "-installsuffix", *buildSettings.InstallSuffix)
		}
		ldflags := ""
		if buildSettings.LdFlags != nil {
			ldflags = *buildSettings.LdFlags
		}
		if buildSettings.LdFlagsXVars != nil {
			//TODO!
			ldflags = ldflags + " " + buildFlags(buildInterpolationVars(*buildSettings.LdFlagsXVars, fullVersionName), "-X")
		} else {
			log.Printf("WARNING: LdFlagsXVars is nil. Not passing package version into compiler")
		}
		if ldflags != "" {
			args = append(args, "-ldflags", ldflags)
		}
		if buildSettings.Tags != nil && *buildSettings.Tags != "" {
			args = append(args, "-tags", *buildSettings.Tags)
		}
		if len(buildSettings.ExtraArgs) > 0 {
			args = append(args, buildSettings.ExtraArgs...)
		}
	}
	if settings.IsVerbose() {
		log.Printf("Env: %v", settings.Env)
	}
	if len(settings.Env) > 0 {
		vars := struct {
			PS  string
			PLS string
			Env map[string]string
		}{
			string(os.PathSeparator),
			string(os.PathListSeparator),
			map[string]string{},
		}
		for _, val := range os.Environ() {
			k, v, err := splitEnvVar(val)
			if err != nil {
				//ignore invalid env vars from environment
			} else {
				vars.Env[k] = v
			}
		}
		for _, envTpl := range settings.Env {
			if settings.IsVerbose() {
				log.Printf("Processing env var %s", envTpl)
			}
			tpl, err := template.New("envItem").Parse(envTpl)
			if err != nil {
				return err
			}
			var dest bytes.Buffer
			err = tpl.Execute(&dest, vars)
			if err != nil {
				return err
			}
			executed := dest.String()
			if settings.IsVerbose() {
				if envTpl != executed {
//.........这里部分代码省略.........
开发者ID:boldfield,项目名称:goxc,代码行数:101,代码来源:exec.go


注:本文中的github.com/boldfield/goxc/config.Settings.GetFullVersionName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。