From bacab9174189f7823f593f49ef43269bebcbbd43 Mon Sep 17 00:00:00 2001 From: Joe Chen Date: Wed, 15 May 2013 07:53:29 -0700 Subject: [PATCH 001/287] Initial commit --- .gitignore | 22 ++++++++++++++++++++++ README.md | 4 ++++ 2 files changed, 26 insertions(+) create mode 100644 .gitignore create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..00268614f --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe diff --git a/README.md b/README.md new file mode 100644 index 000000000..6f20eeade --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +gpm +=== + +gpm(Go Package Manager) is a Go package manage tool for search, install and update packages in Go. From 6bca8a35b100febaa35977b431afdc62a96d4df5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 15 May 2013 13:24:42 -0400 Subject: [PATCH 002/287] license --- LICENSE | 45 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..ab7628fba --- /dev/null +++ b/LICENSE @@ -0,0 +1,45 @@ +Copyright (c) 2013 GPMGo members. + +MIT +no-false-attribs License + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +Distributions of all or part of the Software intended to be used +by the recipients as they would use the unmodified Software, +containing modifications that substantially alter, remove, or +disable functionality of the Software, outside of the documented +configuration mechanisms provided by the Software, shall be +modified such that the Original Author's bug reporting email +addresses and urls are either replaced with the contact information +of the parties responsible for the changes, or removed entirely. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +Except where noted, this license applies to any and all software +programs and associated documentation files created by the +Original Author, when distributed with the Software. + +Packages published in the gpm registry (other than the Software and +its included dependencies) are not part of gpm itself, are the sole +property of their respective maintainers, and are not covered by +this license. + +"gpm Logo" created by "Earl of Hell" and used with permission. \ No newline at end of file diff --git a/README.md b/README.md index 6f20eeade..da4c4ae2f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ gpm === -gpm(Go Package Manager) is a Go package manage tool for search, install and update packages in Go. +gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. From 082f742ea20d181af9d1bcba4bfcc0fd6e9186a0 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 15 May 2013 13:43:08 -0400 Subject: [PATCH 003/287] logo --- README.md | 3 ++- images/gpmgo2.png | Bin 0 -> 95181 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 images/gpmgo2.png diff --git a/README.md b/README.md index da4c4ae2f..8c7e6bdd0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -gpm +gpm - Go Package Manager === +![GPMGo_Logo](images/gpmgo2.png) gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. diff --git a/images/gpmgo2.png b/images/gpmgo2.png new file mode 100644 index 0000000000000000000000000000000000000000..7aa1af5d84fdeb662183a15a899d9c54fdd4e5a2 GIT binary patch literal 95181 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

uJIl}+ zjS-*R_Q!x3lHUuTU}hp>I&i9(w_6shoONKJi5q zP&=_<@TRc;J);=#d;Qfo50%MT7{K-K+=RbxAkiEwIIut1?IR}`@`Rr_vZd=_fBsQR z@6AKM_fMs-YO+1U+42Iwn96qD=rpX*t=^jp{sTB;!9+3*R1Q2e_aor9QySjXdci zeMq+|u&{LZj;buD8&&B8C!x0X7&j~b|G;3sS3J553osn4e(&&DOHw1*Se!w$c7d0e zV%z#Pj$JnAj#TPzrudJ2`Ui_*n1pR?IAZ?b8Aj6etBAJtzVWsGcbe2CE8neu{lR~~ z(5@zcAca)Yx{7|fdY7|OYV{t$(lmr-b?E z?(4dcz~001NEI88ijVzGA=VcH!<;jGV%vAc!?zLAW#9kI2K<8-{$AHxHK13~<vC?BF0E{_+~t?B#LUll;k>PTjJkBllP+@1jN;nIYUuMnDA(`x x8M_jE$epW1e0(_{_0!U=2J|O|(k1~u2xTGmo literal 0 HcmV?d00001 From 199952ade58985a299bca623307f1275f6fde70d Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 15 May 2013 13:43:46 -0400 Subject: [PATCH 004/287] logo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8c7e6bdd0..7807dde97 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,5 @@ gpm - Go Package Manager === ![GPMGo_Logo](images/gpmgo2.png) + gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. From 6da79b28460a68e5852baceb7690dfb9b205ef36 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 15 May 2013 13:44:06 -0400 Subject: [PATCH 005/287] logo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7807dde97..b0fd19f93 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ gpm - Go Package Manager === -![GPMGo_Logo](images/gpmgo2.png) +![GPMGo_Logo](images/gpmgo2.png?raw=true) gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. From 4fbdfc2e87b107e95e605108d9e80c372a5839be Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 15 May 2013 14:16:47 -0400 Subject: [PATCH 006/287] logo --- README.md | 2 +- images/gpmgo2.png | Bin 95181 -> 0 bytes 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 images/gpmgo2.png diff --git a/README.md b/README.md index b0fd19f93..a01df5ac7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ gpm - Go Package Manager === -![GPMGo_Logo](images/gpmgo2.png?raw=true) +![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. diff --git a/images/gpmgo2.png b/images/gpmgo2.png deleted file mode 100644 index 7aa1af5d84fdeb662183a15a899d9c54fdd4e5a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95181 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

uJIl}+ zjS-*R_Q!x3lHUuTU}hp>I&i9(w_6shoONKJi5q zP&=_<@TRc;J);=#d;Qfo50%MT7{K-K+=RbxAkiEwIIut1?IR}`@`Rr_vZd=_fBsQR z@6AKM_fMs-YO+1U+42Iwn96qD=rpX*t=^jp{sTB;!9+3*R1Q2e_aor9QySjXdci zeMq+|u&{LZj;buD8&&B8C!x0X7&j~b|G;3sS3J553osn4e(&&DOHw1*Se!w$c7d0e zV%z#Pj$JnAj#TPzrudJ2`Ui_*n1pR?IAZ?b8Aj6etBAJtzVWsGcbe2CE8neu{lR~~ z(5@zcAca)Yx{7|fdY7|OYV{t$(lmr-b?E z?(4dcz~001NEI88ijVzGA=VcH!<;jGV%vAc!?zLAW#9kI2K<8-{$AHxHK13~<vC?BF0E{_+~t?B#LUll;k>PTjJkBllP+@1jN;nIYUuMnDA(`x x8M_jE$epW1e0(_{_0!U=2J|O|(k1~u2xTGmo From 40cfae40f59d3c3bb47b1bf22fbbbdb1068de056 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 15 May 2013 15:45:04 -0400 Subject: [PATCH 007/287] readme --- README_ZH.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 README_ZH.md diff --git a/README_ZH.md b/README_ZH.md new file mode 100644 index 000000000..aa6b0bc2a --- /dev/null +++ b/README_ZH.md @@ -0,0 +1,6 @@ +gpm - Go 项目管理工具 +=== + +![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) + +gpm(Go 项目管理工具) 是一款涵盖搜索、安装、更新以及分享 Go 项目的管理工具。 \ No newline at end of file From feddadaeee1824701a198ea26c776909259976c5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 16 May 2013 05:48:11 -0400 Subject: [PATCH 008/287] initialize --- LICENSE | 2 +- gpm.go | 277 +++++++++++++++++++++++++++++++++++++++++++ i18n/gpm.toml | 5 + i18n/usage_en-US.tpl | 18 +++ 4 files changed, 301 insertions(+), 1 deletion(-) create mode 100644 gpm.go create mode 100644 i18n/gpm.toml create mode 100644 i18n/usage_en-US.tpl diff --git a/LICENSE b/LICENSE index ab7628fba..87feceb7f 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2013 GPMGo members. +Copyright (c) 2013 GPMGo Members. All rights reserved. MIT +no-false-attribs License diff --git a/gpm.go b/gpm.go new file mode 100644 index 000000000..2c0a1ab3f --- /dev/null +++ b/gpm.go @@ -0,0 +1,277 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +// gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. + +package main + +import ( + "bytes" + "flag" + "fmt" + "go/build" + "io" + "log" + "os" + "path/filepath" + "runtime" + "strings" + "sync" + "text/template" + "unicode" + "unicode/utf8" + + "github.com/BurntSushi/toml" +) + +var ( + config tomlConfig +) + +type tomlConfig struct { + Title, Version string + Lang string `toml:"user_language"` +} + +// A Command is an implementation of a go command +// like go build or go fix. +type Command struct { + // Run runs the command. + // The args are the arguments after the command name. + Run func(cmd *Command, args []string) + + // UsageLine is the one-line usage message. + // The first word in the line is taken to be the command name. + UsageLine string + + // Short is the short description shown in the 'go help' output. + Short string + + // Long is the long message shown in the 'go help ' output. + Long string + + // Flag is a set of flags specific to this command. + Flag flag.FlagSet + + // CustomFlags indicates that the command will do its own + // flag parsing. + CustomFlags bool +} + +// Name returns the command's name: the first word in the usage line. +func (c *Command) Name() string { + name := c.UsageLine + i := strings.Index(name, " ") + if i >= 0 { + name = name[:i] + } + return name +} + +func (c *Command) Usage() { + fmt.Fprintf(os.Stderr, "usage: %s\n\n", c.UsageLine) + fmt.Fprintf(os.Stderr, "%s\n", strings.TrimSpace(c.Long)) + os.Exit(2) +} + +// Runnable reports whether the command can be run; otherwise +// it is a documentation pseudo-command such as importpath. +func (c *Command) Runnable() bool { + return c.Run != nil +} + +// Commands lists the available commands and help topics. +// The order here is the order in which they are printed by 'go help'. +var commands = []*Command{} + +var exitStatus = 0 +var exitMu sync.Mutex + +func setExitStatus(n int) { + exitMu.Lock() + if exitStatus < n { + exitStatus = n + } + exitMu.Unlock() +} + +func main() { + // Load configuration. + if _, err := toml.DecodeFile("i18n/gpm.toml", &config); err != nil { + fmt.Println(err) + return + } + + // Load usage template by language. + f, err := os.Open("i18n/usage_" + config.Lang + ".tpl") + if err != nil { + fmt.Println(err) + return + } + defer f.Close() + // Read usage. + fi, _ := f.Stat() + usageBytes := make([]byte, fi.Size()) + f.Read(usageBytes) + usageTemplate = string(usageBytes) + + // Initialization. + flag.Usage = usage + flag.Parse() + log.SetFlags(0) + + args := flag.Args() + if len(args) < 1 { + usage() + } + + if args[0] == "help" { + help(args[1:]) + return + } + + // Diagnose common mistake: GOPATH==GOROOT. + // This setting is equivalent to not setting GOPATH at all, + // which is not what most people want when they do it. + if gopath := os.Getenv("GOPATH"); gopath == runtime.GOROOT() { + fmt.Fprintf(os.Stderr, "warning: GOPATH set to GOROOT (%s) has no effect\n", gopath) + } else { + for _, p := range filepath.SplitList(gopath) { + // Note: using HasPrefix instead of Contains because a ~ can appear + // in the middle of directory elements, such as /tmp/git-1.8.2~rc3 + // or C:\PROGRA~1. Only ~ as a path prefix has meaning to the shell. + if strings.HasPrefix(p, "~") { + fmt.Fprintf(os.Stderr, "go: GOPATH entry cannot start with shell metacharacter '~': %q\n", p) + os.Exit(2) + } + if build.IsLocalImport(p) { + fmt.Fprintf(os.Stderr, "go: GOPATH entry is relative; must be absolute path: %q.\nRun 'go help gopath' for usage.\n", p) + os.Exit(2) + } + } + } + + for _, cmd := range commands { + if cmd.Name() == args[0] && cmd.Run != nil { + cmd.Flag.Usage = func() { cmd.Usage() } + if cmd.CustomFlags { + args = args[1:] + } else { + cmd.Flag.Parse(args[1:]) + args = cmd.Flag.Args() + } + cmd.Run(cmd, args) + exit() + return + } + } + + fmt.Fprintf(os.Stderr, "go: unknown subcommand %q\nRun 'go help' for usage.\n", args[0]) + setExitStatus(2) + exit() +} + +var usageTemplate string +var helpTemplate = `{{if .Runnable}}usage: go {{.UsageLine}} + +{{end}}{{.Long | trim}} +` + +var documentationTemplate = `// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// DO NOT EDIT THIS FILE. GENERATED BY mkdoc.sh. +// Edit the documentation in other files and rerun mkdoc.sh to generate this one. + +/* +{{range .}}{{if .Short}}{{.Short | capitalize}} + +{{end}}{{if .Runnable}}Usage: + + go {{.UsageLine}} + +{{end}}{{.Long | trim}} + + +{{end}}*/ +package main + +// NOTE: cmdDoc is in fmt.go. +` + +// tmpl executes the given template text on data, writing the result to w. +func tmpl(w io.Writer, text string, data interface{}) { + t := template.New("top") + t.Funcs(template.FuncMap{"trim": strings.TrimSpace, "capitalize": capitalize}) + template.Must(t.Parse(text)) + if err := t.Execute(w, data); err != nil { + panic(err) + } +} + +func capitalize(s string) string { + if s == "" { + return s + } + r, n := utf8.DecodeRuneInString(s) + return string(unicode.ToTitle(r)) + s[n:] +} + +func printUsage(w io.Writer) { + tmpl(w, usageTemplate, commands) +} + +func usage() { + printUsage(os.Stderr) + os.Exit(2) +} + +// help implements the 'help' command. +func help(args []string) { + if len(args) == 0 { + printUsage(os.Stdout) + // not exit 2: succeeded at 'gpm help'. + return + } + if len(args) != 1 { + fmt.Fprintf(os.Stderr, "usage: gpm help command\n\nToo many arguments given.\n") + os.Exit(2) // failed at 'gpm help' + } + + arg := args[0] + + // 'go help documentation' generates doc.go. + if arg == "documentation" { + buf := new(bytes.Buffer) + printUsage(buf) + usage := &Command{Long: buf.String()} + tmpl(os.Stdout, documentationTemplate, append([]*Command{usage}, commands...)) + return + } + + for _, cmd := range commands { + if cmd.Name() == arg { + tmpl(os.Stdout, helpTemplate, cmd) + // not exit 2: succeeded at 'go help cmd'. + return + } + } + + fmt.Fprintf(os.Stderr, "Unknown help topic %#q. Run 'gpm help'.\n", arg) + os.Exit(2) // failed at 'go help cmd' +} + +var atexitFuncs []func() + +func atexit(f func()) { + atexitFuncs = append(atexitFuncs, f) +} + +func exit() { + for _, f := range atexitFuncs { + f() + } + os.Exit(exitStatus) +} diff --git a/i18n/gpm.toml b/i18n/gpm.toml new file mode 100644 index 000000000..d4e9ea066 --- /dev/null +++ b/i18n/gpm.toml @@ -0,0 +1,5 @@ +# This is a configuration file for gpm with toml format. + +title = "gpm(Go Package Manager)" +version = "v0.0.0 Build 0516" +user_language = "en-US" \ No newline at end of file diff --git a/i18n/usage_en-US.tpl b/i18n/usage_en-US.tpl new file mode 100644 index 000000000..a1bb4a1c9 --- /dev/null +++ b/i18n/usage_en-US.tpl @@ -0,0 +1,18 @@ +gpm is a Go package manage tool for search, install, update and share packages. + +Usage: + + gpm command [arguments] + +The commands are: +{{range .}}{{if .Runnable}} + {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} + +Use "gpm help [command]" for more information about a command. + +Additional help topics: +{{range .}}{{if not .Runnable}} + {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} + +Use "gpm help [topic]" for more information about that topic. + From 3a3add415c270057942ef09bbb295e135e2c0bf1 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 16 May 2013 05:51:35 -0400 Subject: [PATCH 009/287] initialize --- gpm.go | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/gpm.go b/gpm.go index 2c0a1ab3f..88fb0b826 100644 --- a/gpm.go +++ b/gpm.go @@ -178,29 +178,6 @@ var helpTemplate = `{{if .Runnable}}usage: go {{.UsageLine}} {{end}}{{.Long | trim}} ` -var documentationTemplate = `// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// DO NOT EDIT THIS FILE. GENERATED BY mkdoc.sh. -// Edit the documentation in other files and rerun mkdoc.sh to generate this one. - -/* -{{range .}}{{if .Short}}{{.Short | capitalize}} - -{{end}}{{if .Runnable}}Usage: - - go {{.UsageLine}} - -{{end}}{{.Long | trim}} - - -{{end}}*/ -package main - -// NOTE: cmdDoc is in fmt.go. -` - // tmpl executes the given template text on data, writing the result to w. func tmpl(w io.Writer, text string, data interface{}) { t := template.New("top") @@ -242,15 +219,6 @@ func help(args []string) { arg := args[0] - // 'go help documentation' generates doc.go. - if arg == "documentation" { - buf := new(bytes.Buffer) - printUsage(buf) - usage := &Command{Long: buf.String()} - tmpl(os.Stdout, documentationTemplate, append([]*Command{usage}, commands...)) - return - } - for _, cmd := range commands { if cmd.Name() == arg { tmpl(os.Stdout, helpTemplate, cmd) From f176d2008da5b29f82d0b6a78ae0a94d5d9e8bcf Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 16 May 2013 05:54:21 -0400 Subject: [PATCH 010/287] initialize --- gpm.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gpm.go b/gpm.go index 88fb0b826..066795dda 100644 --- a/gpm.go +++ b/gpm.go @@ -142,11 +142,11 @@ func main() { // in the middle of directory elements, such as /tmp/git-1.8.2~rc3 // or C:\PROGRA~1. Only ~ as a path prefix has meaning to the shell. if strings.HasPrefix(p, "~") { - fmt.Fprintf(os.Stderr, "go: GOPATH entry cannot start with shell metacharacter '~': %q\n", p) + fmt.Fprintf(os.Stderr, "gpm: GOPATH entry cannot start with shell metacharacter '~': %q\n", p) os.Exit(2) } if build.IsLocalImport(p) { - fmt.Fprintf(os.Stderr, "go: GOPATH entry is relative; must be absolute path: %q.\nRun 'go help gopath' for usage.\n", p) + fmt.Fprintf(os.Stderr, "gpm: GOPATH entry is relative; must be absolute path: %q.\nRun 'gpm help gopath' for usage.\n", p) os.Exit(2) } } @@ -167,13 +167,13 @@ func main() { } } - fmt.Fprintf(os.Stderr, "go: unknown subcommand %q\nRun 'go help' for usage.\n", args[0]) + fmt.Fprintf(os.Stderr, "gpm: unknown subcommand %q\nRun 'gpm help' for usage.\n", args[0]) setExitStatus(2) exit() } var usageTemplate string -var helpTemplate = `{{if .Runnable}}usage: go {{.UsageLine}} +var helpTemplate = `{{if .Runnable}}usage: gpm {{.UsageLine}} {{end}}{{.Long | trim}} ` From c0af3a86ce2d0cd25a1207d96e96ec5babe1a408 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 17 May 2013 07:45:57 -0400 Subject: [PATCH 011/287] add command: build --- build.go | 161 +++++++++++++++++++++++++++++++++++++++++++++++++ gpm.go | 25 ++++---- i18n/gpm.toml | 2 +- utils/utils.go | 15 +++++ 4 files changed, 190 insertions(+), 13 deletions(-) create mode 100644 build.go create mode 100644 utils/utils.go diff --git a/build.go b/build.go new file mode 100644 index 000000000..acd692511 --- /dev/null +++ b/build.go @@ -0,0 +1,161 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package main + +import ( + "fmt" + "io" + "os" + "os/exec" + "path" + "runtime" + "strings" + + "github.com/GPMGo/gpm/utils" +) + +var cmdBuild = &Command{ + UsageLine: "build [-o output] [build flags] [packages]", + Short: "compile and install packages and dependencies", + Long: ` +Build compiles the packages named by the import paths, +along with their dependencies, but it does not install the results. + +If the arguments are a list of .go files, build treats them as a list +of source files specifying a single package. + +When the command line specifies a single main package, +build writes the resulting executable to output. +Otherwise build compiles the packages but discards the results, +serving only as a check that the packages can be built. + +The -o flag specifies the output file name. If not specified, the +output file name depends on the arguments and derives from the name +of the package, such as p.a for package p, unless p is 'main'. If +the package is main and file names are provided, the file name +derives from the first file name mentioned, such as f1 for 'go build +f1.go f2.go'; with no files provided ('go build'), the output file7 +name is the base name of the containing directory. + +The build flags are shared by the build, install, run, and test commands: + + -a + force rebuilding of packages that are already up-to-date. + -n + print the commands but do not run them. + -p n + the number of builds that can be run in parallel. + The default is the number of CPUs available. + -race + enable data race detection. + Supported only on linux/amd64, darwin/amd64 and windows/amd64. + -v + print the names of packages as they are compiled. + -work + print the name of the temporary work directory and + do not delete it when exiting. + -x + print the commands. + + -ccflags 'arg list' + arguments to pass on each 5c, 6c, or 8c compiler invocation. + -compiler name + name of compiler to use, as in runtime.Compiler (gccgo or gc). + -gccgoflags 'arg list' + arguments to pass on each gccgo compiler/linker invocation. + -gcflags 'arg list' + arguments to pass on each 5g, 6g, or 8g compiler invocation. + -installsuffix suffix + a suffix to use in the name of the package installation directory, + in order to keep output separate from default builds. + If using the -race flag, the install suffix is automatically set to race + or, if set explicitly, has _race appended to it. + -ldflags 'flag list' + arguments to pass on each 5l, 6l, or 8l linker invocation. + -tags 'tag list' + a list of build tags to consider satisfied during the build. + See the documentation for the go/build package for + more information about build tags. + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. + +For more about specifying packages, see 'go help packages'. +For more about where packages and binaries are installed, +see 'go help gopath'. + +See also: go install, go get, go clean. + `, +} + +func init() { + // break init cycle + cmdBuild.Run = runBuild + //cmdInstall.Run = runInstall + + addBuildFlags(cmdBuild) + //addBuildFlags(cmdInstall) +} + +// Flags set by multiple commands. +var buildV bool // -v flag. + +// addBuildFlags adds the flags common to the build and install commands. +func addBuildFlags(cmd *Command) { + // NOTE: If you add flags here, also add them to testflag.go. + cmd.Flag.BoolVar(&buildV, "v", false, "") +} + +func runBuild(cmd *Command, args []string) { + var cmdArgs []string + cmdArgs = append(cmdArgs, "install") + cmdArgs = append(cmdArgs, args...) + + wd, _ := os.Getwd() + wd = strings.Replace(wd, "\\", "/", -1) + proName := path.Base(wd) + if runtime.GOOS == "windows" { + proName += ".exe" + } + + cmdExec := exec.Command("go", cmdArgs...) + stdout, err := cmdExec.StdoutPipe() + if err != nil { + fmt.Println(err) + } + stderr, err := cmdExec.StderrPipe() + if err != nil { + fmt.Println(err) + } + err = cmdExec.Start() + if err != nil { + fmt.Println(err) + } + go io.Copy(os.Stdout, stdout) + go io.Copy(os.Stderr, stderr) + cmdExec.Wait() + + // Find executable in GOPATH and copy to current directory. + gopath := strings.Replace(os.Getenv("GOPATH"), ";", ":", -1) + gopath = strings.Replace(gopath, "\\", "/", -1) + paths := strings.Split(gopath, ":") + for _, v := range paths { + if utils.IsExist(v + "/bin/" + proName) { + err = os.Remove(wd + "/" + proName) + if err != nil { + fmt.Println("Fail to remove file in current directory :", err) + return + } + err = os.Rename(v+"/bin/"+proName, wd+"/"+proName) + if err == nil { + fmt.Println("Moved file from $GOPATH to current directory.") + return + } else { + fmt.Println("Fail to move file from $GOPATH to current directory :", err) + } + break + } + } +} diff --git a/gpm.go b/gpm.go index 066795dda..ea1db2921 100644 --- a/gpm.go +++ b/gpm.go @@ -7,13 +7,13 @@ package main import ( - "bytes" "flag" "fmt" "go/build" "io" "log" "os" + "os/exec" "path/filepath" "runtime" "strings" @@ -26,7 +26,8 @@ import ( ) var ( - config tomlConfig + config tomlConfig + appPath string // Application path. ) type tomlConfig struct { @@ -83,7 +84,9 @@ func (c *Command) Runnable() bool { // Commands lists the available commands and help topics. // The order here is the order in which they are printed by 'go help'. -var commands = []*Command{} +var commands = []*Command{ + cmdBuild, +} var exitStatus = 0 var exitMu sync.Mutex @@ -97,14 +100,18 @@ func setExitStatus(n int) { } func main() { + // Get application path. + appPath, _ := exec.LookPath("gpm") + appPath = strings.Replace(filepath.Dir(appPath), "\\", "/", -1) + "/" + // Load configuration. - if _, err := toml.DecodeFile("i18n/gpm.toml", &config); err != nil { + if _, err := toml.DecodeFile(appPath+"i18n/gpm.toml", &config); err != nil { fmt.Println(err) return } // Load usage template by language. - f, err := os.Open("i18n/usage_" + config.Lang + ".tpl") + f, err := os.Open(appPath + "i18n/usage_" + config.Lang + ".tpl") if err != nil { fmt.Println(err) return @@ -155,13 +162,7 @@ func main() { for _, cmd := range commands { if cmd.Name() == args[0] && cmd.Run != nil { cmd.Flag.Usage = func() { cmd.Usage() } - if cmd.CustomFlags { - args = args[1:] - } else { - cmd.Flag.Parse(args[1:]) - args = cmd.Flag.Args() - } - cmd.Run(cmd, args) + cmd.Run(cmd, args[1:]) exit() return } diff --git a/i18n/gpm.toml b/i18n/gpm.toml index d4e9ea066..bd0cee6f2 100644 --- a/i18n/gpm.toml +++ b/i18n/gpm.toml @@ -1,5 +1,5 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.0.0 Build 0516" +version = "v0.0.1 Build 0517" user_language = "en-US" \ No newline at end of file diff --git a/utils/utils.go b/utils/utils.go new file mode 100644 index 000000000..560cc2516 --- /dev/null +++ b/utils/utils.go @@ -0,0 +1,15 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package utils + +import ( + "os" +) + +// IsExist returns if a file or directory exists +func IsExist(path string) bool { + _, err := os.Stat(path) + return err == nil || os.IsExist(err) +} From ec0adf5c95e12ea91793d080d89740ad7cf1c19d Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 18 May 2013 15:23:39 -0400 Subject: [PATCH 012/287] clean code: build.go --- .gitignore | 1 + build.go | 87 +------------------------------------- gpm.go | 55 +++++++++++++++++------- i18n/usage_build_en-US.txt | 61 ++++++++++++++++++++++++++ 4 files changed, 104 insertions(+), 100 deletions(-) create mode 100644 i18n/usage_build_en-US.txt diff --git a/.gitignore b/.gitignore index 00268614f..44be10b2e 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ _cgo_export.* _testmain.go *.exe +gpm \ No newline at end of file diff --git a/build.go b/build.go index acd692511..c9aa3e249 100644 --- a/build.go +++ b/build.go @@ -17,95 +17,12 @@ import ( ) var cmdBuild = &Command{ - UsageLine: "build [-o output] [build flags] [packages]", - Short: "compile and install packages and dependencies", - Long: ` -Build compiles the packages named by the import paths, -along with their dependencies, but it does not install the results. - -If the arguments are a list of .go files, build treats them as a list -of source files specifying a single package. - -When the command line specifies a single main package, -build writes the resulting executable to output. -Otherwise build compiles the packages but discards the results, -serving only as a check that the packages can be built. - -The -o flag specifies the output file name. If not specified, the -output file name depends on the arguments and derives from the name -of the package, such as p.a for package p, unless p is 'main'. If -the package is main and file names are provided, the file name -derives from the first file name mentioned, such as f1 for 'go build -f1.go f2.go'; with no files provided ('go build'), the output file7 -name is the base name of the containing directory. - -The build flags are shared by the build, install, run, and test commands: - - -a - force rebuilding of packages that are already up-to-date. - -n - print the commands but do not run them. - -p n - the number of builds that can be run in parallel. - The default is the number of CPUs available. - -race - enable data race detection. - Supported only on linux/amd64, darwin/amd64 and windows/amd64. - -v - print the names of packages as they are compiled. - -work - print the name of the temporary work directory and - do not delete it when exiting. - -x - print the commands. - - -ccflags 'arg list' - arguments to pass on each 5c, 6c, or 8c compiler invocation. - -compiler name - name of compiler to use, as in runtime.Compiler (gccgo or gc). - -gccgoflags 'arg list' - arguments to pass on each gccgo compiler/linker invocation. - -gcflags 'arg list' - arguments to pass on each 5g, 6g, or 8g compiler invocation. - -installsuffix suffix - a suffix to use in the name of the package installation directory, - in order to keep output separate from default builds. - If using the -race flag, the install suffix is automatically set to race - or, if set explicitly, has _race appended to it. - -ldflags 'flag list' - arguments to pass on each 5l, 6l, or 8l linker invocation. - -tags 'tag list' - a list of build tags to consider satisfied during the build. - See the documentation for the go/build package for - more information about build tags. - -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. - -For more about specifying packages, see 'go help packages'. -For more about where packages and binaries are installed, -see 'go help gopath'. - -See also: go install, go get, go clean. - `, + UsageLine: "build [build flags] [packages]", } func init() { - // break init cycle cmdBuild.Run = runBuild - //cmdInstall.Run = runInstall - - addBuildFlags(cmdBuild) - //addBuildFlags(cmdInstall) -} - -// Flags set by multiple commands. -var buildV bool // -v flag. - -// addBuildFlags adds the flags common to the build and install commands. -func addBuildFlags(cmd *Command) { - // NOTE: If you add flags here, also add them to testflag.go. - cmd.Flag.BoolVar(&buildV, "v", false, "") + cmdBuild.Flags = []string{"-v"} } func runBuild(cmd *Command, args []string) { diff --git a/gpm.go b/gpm.go index ea1db2921..a9f855513 100644 --- a/gpm.go +++ b/gpm.go @@ -53,11 +53,7 @@ type Command struct { Long string // Flag is a set of flags specific to this command. - Flag flag.FlagSet - - // CustomFlags indicates that the command will do its own - // flag parsing. - CustomFlags bool + Flags []string } // Name returns the command's name: the first word in the usage line. @@ -99,6 +95,44 @@ func setExitStatus(n int) { exitMu.Unlock() } +func loadUsage(lang string) bool { + // Load main usage. + f, err := os.Open(appPath + "i18n/usage_" + lang + ".tpl") + if err != nil { + fmt.Println(err) + return false + } + defer f.Close() + // Read usage. + fi, _ := f.Stat() + usageBytes := make([]byte, fi.Size()) + f.Read(usageBytes) + usageTemplate = string(usageBytes) + + // Load command usage. + for _, cmd := range commands { + f, err := os.Open(appPath + "i18n/usage_" + cmd.Name() + "_" + lang + ".txt") + if err != nil { + fmt.Println(err) + return false + } + defer f.Close() + // Read usage. + fi, _ := f.Stat() + usageBytes := make([]byte, fi.Size()) + f.Read(usageBytes) + usages := strings.Split(string(usageBytes), "|||") + if len(usages) < 2 { + fmt.Println("Unacceptable usage file: ", cmd.Name()) + return false + } + cmd.Short = usages[0] + cmd.Long = usages[1] + } + + return true +} + func main() { // Get application path. appPath, _ := exec.LookPath("gpm") @@ -111,17 +145,9 @@ func main() { } // Load usage template by language. - f, err := os.Open(appPath + "i18n/usage_" + config.Lang + ".tpl") - if err != nil { - fmt.Println(err) + if !loadUsage(config.Lang) { return } - defer f.Close() - // Read usage. - fi, _ := f.Stat() - usageBytes := make([]byte, fi.Size()) - f.Read(usageBytes) - usageTemplate = string(usageBytes) // Initialization. flag.Usage = usage @@ -161,7 +187,6 @@ func main() { for _, cmd := range commands { if cmd.Name() == args[0] && cmd.Run != nil { - cmd.Flag.Usage = func() { cmd.Usage() } cmd.Run(cmd, args[1:]) exit() return diff --git a/i18n/usage_build_en-US.txt b/i18n/usage_build_en-US.txt new file mode 100644 index 000000000..5e9e1f287 --- /dev/null +++ b/i18n/usage_build_en-US.txt @@ -0,0 +1,61 @@ +compile and install packages and dependencies||| +Build compiles and installs the packages named by the import paths, +along with their dependencies. + +If the arguments are a list of .go files, build treats them as a list +of source files specifying a single package. + +When the command line specifies a single main package, +build writes the resulting executable to output. +Otherwise build compiles the packages but discards the results, +serving only as a check that the packages can be built. + +If the package is main, the output file +name is the base name of the containing directory. + +The build flags are shared by the build and test commands: + + -a + force rebuilding of packages that are already up-to-date. + -n + print the commands but do not run them. + -p n + the number of builds that can be run in parallel. + The default is the number of CPUs available. + -race + enable data race detection. + Supported only on linux/amd64, darwin/amd64 and windows/amd64. + -v + print the names of packages as they are compiled. + -work + print the name of the temporary work directory and + do not delete it when exiting. + -x + print the commands. + + -ccflags 'arg list' + arguments to pass on each 5c, 6c, or 8c compiler invocation. + -compiler name + name of compiler to use, as in runtime.Compiler (gccgo or gc). + -gccgoflags 'arg list' + arguments to pass on each gccgo compiler/linker invocation. + -gcflags 'arg list' + arguments to pass on each 5g, 6g, or 8g compiler invocation. + -installsuffix suffix + a suffix to use in the name of the package installation directory, + in order to keep output separate from default builds. + If using the -race flag, the install suffix is automatically set to race + or, if set explicitly, has _race appended to it. + -ldflags 'flag list' + arguments to pass on each 5l, 6l, or 8l linker invocation. + -tags 'tag list' + a list of build tags to consider satisfied during the build. + See the documentation for the go/build package for + more information about build tags. + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. + +For more about specifying packages, see 'go help packages'. + +See also: gpm install. From 352a57e88d595b19b071258291f9e8a7ee5ce584 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 18 May 2013 21:09:44 -0400 Subject: [PATCH 013/287] what the fuck is wrong??? install. --- build.go | 33 +- {i18n => conf}/gpm.toml | 0 doc/error.go | 37 ++ doc/github.go | 138 +++++++ doc/http.go | 143 +++++++ doc/struct.go | 35 ++ doc/vcs.go | 178 +++++++++ doc/walker.go | 149 +++++++ gpm.go | 39 +- i18n/{usage_en-US.tpl => en-US/usage.tpl} | 0 .../usage_build.txt} | 0 i18n/en-US/usage_install.txt | 23 ++ install.go | 169 ++++++++ models/models.go | 184 +++++++++ utils/utils.go | 368 ++++++++++++++++++ utils/utils_test.go | 24 ++ 16 files changed, 1485 insertions(+), 35 deletions(-) rename {i18n => conf}/gpm.toml (100%) create mode 100644 doc/error.go create mode 100644 doc/github.go create mode 100644 doc/http.go create mode 100644 doc/struct.go create mode 100644 doc/vcs.go create mode 100644 doc/walker.go rename i18n/{usage_en-US.tpl => en-US/usage.tpl} (100%) rename i18n/{usage_build_en-US.txt => en-US/usage_build.txt} (100%) create mode 100644 i18n/en-US/usage_install.txt create mode 100644 install.go create mode 100644 models/models.go create mode 100644 utils/utils_test.go diff --git a/build.go b/build.go index c9aa3e249..afd196f41 100644 --- a/build.go +++ b/build.go @@ -6,9 +6,7 @@ package main import ( "fmt" - "io" "os" - "os/exec" "path" "runtime" "strings" @@ -22,7 +20,6 @@ var cmdBuild = &Command{ func init() { cmdBuild.Run = runBuild - cmdBuild.Flags = []string{"-v"} } func runBuild(cmd *Command, args []string) { @@ -37,40 +34,24 @@ func runBuild(cmd *Command, args []string) { proName += ".exe" } - cmdExec := exec.Command("go", cmdArgs...) - stdout, err := cmdExec.StdoutPipe() - if err != nil { - fmt.Println(err) - } - stderr, err := cmdExec.StderrPipe() - if err != nil { - fmt.Println(err) - } - err = cmdExec.Start() - if err != nil { - fmt.Println(err) - } - go io.Copy(os.Stdout, stdout) - go io.Copy(os.Stderr, stderr) - cmdExec.Wait() + executeGoCommand(cmdArgs) // Find executable in GOPATH and copy to current directory. - gopath := strings.Replace(os.Getenv("GOPATH"), ";", ":", -1) - gopath = strings.Replace(gopath, "\\", "/", -1) - paths := strings.Split(gopath, ":") + paths := utils.GetGOPATH() + for _, v := range paths { if utils.IsExist(v + "/bin/" + proName) { - err = os.Remove(wd + "/" + proName) + err := os.Remove(wd + "/" + proName) if err != nil { - fmt.Println("Fail to remove file in current directory :", err) + fmt.Printf("Fail to remove file in current directory: %s.\n", err) return } err = os.Rename(v+"/bin/"+proName, wd+"/"+proName) if err == nil { - fmt.Println("Moved file from $GOPATH to current directory.") + fmt.Printf("Moved file from $GOPATH(%s) to current directory(%s).\n", v, wd) return } else { - fmt.Println("Fail to move file from $GOPATH to current directory :", err) + fmt.Printf("Fail to move file from $GOPATH(%s) to current directory: %s.\n", v, err) } break } diff --git a/i18n/gpm.toml b/conf/gpm.toml similarity index 100% rename from i18n/gpm.toml rename to conf/gpm.toml diff --git a/doc/error.go b/doc/error.go new file mode 100644 index 000000000..379d30a45 --- /dev/null +++ b/doc/error.go @@ -0,0 +1,37 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package doc + +import ( + "errors" +) + +var ( + errNotModified = errors.New("package not modified") + ErrNoMatch = errors.New("no match") + errUpdateTimeout = errors.New("update timeout") +) + +type NotFoundError struct { + Message string +} + +func (e NotFoundError) Error() string { + return e.Message +} + +func isNotFound(err error) bool { + _, ok := err.(NotFoundError) + return ok +} + +type RemoteError struct { + Host string + err error +} + +func (e *RemoteError) Error() string { + return e.err.Error() +} diff --git a/doc/github.go b/doc/github.go new file mode 100644 index 000000000..b911a8e1b --- /dev/null +++ b/doc/github.go @@ -0,0 +1,138 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package doc + +import ( + "archive/zip" + "bytes" + "fmt" + "io" + "net/http" + "os" + "path" + "regexp" + "strings" + + "github.com/GPMGo/gpm/models" + "github.com/GPMGo/gpm/utils" +) + +var ( + githubRawHeader = http.Header{"Accept": {"application/vnd.github-blob.raw"}} + GithubPattern = regexp.MustCompile(`^github\.com/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P

/[a-z0-9A-Z_.\-/]*)?$`) + githubCred string +) + +func SetGithubCredentials(id, secret string) { + githubCred = "client_id=" + id + "&client_secret=" + secret +} + +func GetGithubDoc(client *http.Client, match map[string]string, commit string) (*models.PkgInfo, error) { + SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") + match["cred"] = githubCred + + var refs []*struct { + Object struct { + Type string + Sha string + Url string + } + Ref string + Url string + } + + // Check if has specific commit. + if len(commit) == 0 { + // Get up-to-date version. + err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) + if err != nil { + return nil, err + } + + tags := make(map[string]string) + for _, ref := range refs { + switch { + case strings.HasPrefix(ref.Ref, "refs/heads/"): + tags[ref.Ref[len("refs/heads/"):]] = ref.Object.Sha + case strings.HasPrefix(ref.Ref, "refs/tags/"): + tags[ref.Ref[len("refs/tags/"):]] = ref.Object.Sha + } + } + + // Check revision tag. + match["tag"], commit, err = bestTag(tags, "master") + if err != nil { + return nil, err + } + } + + match["sha"] = commit + // Download zip. + p, err := httpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) + if err != nil { + return nil, err + } + + r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) + if err != nil { + return nil, err + } + //defer r.Close() + + shaName := expand("{repo}-{sha}", match) + paths := utils.GetGOPATH() + importPath := "github.com/" + expand("{owner}/{repo}", match) + installPath := paths[0] + "/src/" + importPath + // Create destination directory + os.Mkdir(installPath, os.ModePerm) + + files := make([]*source, 0, len(r.File)) + for _, f := range r.File { + srcName := f.FileInfo().Name()[strings.Index(f.FileInfo().Name(), "/")+1:] + fmt.Printf("Unzipping %s...", srcName) + fn := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) + + // Get files from archive + rc, err := f.Open() + if err != nil { + return nil, err + } + + // Create diretory before create file + os.MkdirAll(path.Dir(fn), os.ModePerm) + // Write data to file + fw, _ := os.Create(fn) + if err != nil { + return nil, err + } + + _, err = io.Copy(fw, rc) + if err != nil { + return nil, err + } + + localF, _ := os.Open(fn) + fbytes := make([]byte, f.FileInfo().Size()) + n, _ := localF.Read(fbytes) + fmt.Println(n) + + // Check if Go source file. + if n > 0 && strings.HasSuffix(fn, ".go") { + files = append(files, &source{ + name: srcName, + data: fbytes, + }) + } + } + + w := &walker{ + pinfo: &models.PkgInfo{ + Path: importPath, + Commit: commit, + }, + } + + return w.build(files) +} diff --git a/doc/http.go b/doc/http.go new file mode 100644 index 000000000..5b9494e34 --- /dev/null +++ b/doc/http.go @@ -0,0 +1,143 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package doc + +import ( + "encoding/json" + "flag" + "fmt" + "io" + "io/ioutil" + "net" + "net/http" + "time" +) + +var userAgent = "go application" + +var ( + dialTimeout = flag.Duration("dial_timeout", 5*time.Second, "Timeout for dialing an HTTP connection.") + readTimeout = flag.Duration("read_timeout", 10*time.Second, "Timeoout for reading an HTTP response.") + writeTimeout = flag.Duration("write_timeout", 5*time.Second, "Timeout writing an HTTP request.") +) + +type timeoutConn struct { + net.Conn +} + +func (c *timeoutConn) Read(p []byte) (int, error) { + return c.Conn.Read(p) +} + +func (c *timeoutConn) Write(p []byte) (int, error) { + // Reset timeouts when writing a request. + c.Conn.SetWriteDeadline(time.Now().Add(*readTimeout)) + c.Conn.SetWriteDeadline(time.Now().Add(*writeTimeout)) + return c.Conn.Write(p) +} +func timeoutDial(network, addr string) (net.Conn, error) { + c, err := net.DialTimeout(network, addr, *dialTimeout) + if err != nil { + return nil, err + } + return &timeoutConn{Conn: c}, nil +} + +var ( + httpTransport = &http.Transport{Dial: timeoutDial} + HttpClient = &http.Client{Transport: httpTransport} +) + +// httpGet gets the specified resource. ErrNotFound is returned if the server +// responds with status 404. +func httpGetBytes(client *http.Client, url string, header http.Header) ([]byte, error) { + rc, err := httpGet(client, url, header) + if err != nil { + return nil, err + } + p, err := ioutil.ReadAll(rc) + rc.Close() + return p, err +} + +// httpGet gets the specified resource. ErrNotFound is returned if the +// server responds with status 404. +func httpGet(client *http.Client, url string, header http.Header) (io.ReadCloser, error) { + req, err := http.NewRequest("GET", url, nil) + if err != nil { + return nil, err + } + req.Header.Set("User-Agent", userAgent) + for k, vs := range header { + req.Header[k] = vs + } + resp, err := client.Do(req) + if err != nil { + return nil, &RemoteError{req.URL.Host, err} + } + if resp.StatusCode == 200 { + return resp.Body, nil + } + resp.Body.Close() + if resp.StatusCode == 404 { // 403 can be rate limit error. || resp.StatusCode == 403 { + err = NotFoundError{"Resource not found: " + url} + } else { + err = &RemoteError{req.URL.Host, fmt.Errorf("get %s -> %d", url, resp.StatusCode)} + } + return nil, err +} + +// fetchFiles fetches the source files specified by the rawURL field in parallel. +func fetchFiles(client *http.Client, files []*source, header http.Header) error { + ch := make(chan error, len(files)) + for i := range files { + go func(i int) { + req, err := http.NewRequest("GET", files[i].rawURL, nil) + if err != nil { + ch <- err + return + } + req.Header.Set("User-Agent", userAgent) + for k, vs := range header { + req.Header[k] = vs + } + resp, err := client.Do(req) + if err != nil { + ch <- &RemoteError{req.URL.Host, err} + return + } + defer resp.Body.Close() + if resp.StatusCode != 200 { + ch <- &RemoteError{req.URL.Host, fmt.Errorf("get %s -> %d", req.URL, resp.StatusCode)} + return + } + files[i].data, err = ioutil.ReadAll(resp.Body) + if err != nil { + ch <- &RemoteError{req.URL.Host, err} + return + } + ch <- nil + }(i) + } + for _ = range files { + if err := <-ch; err != nil { + return err + } + } + return nil +} + +func httpGetJSON(client *http.Client, url string, v interface{}) error { + rc, err := httpGet(client, url, nil) + if err != nil { + return err + } + defer rc.Close() + err = json.NewDecoder(rc).Decode(v) + if _, ok := err.(*json.SyntaxError); ok { + err = NotFoundError{"JSON syntax error at " + url} + } + return err +} diff --git a/doc/struct.go b/doc/struct.go new file mode 100644 index 000000000..85ce42714 --- /dev/null +++ b/doc/struct.go @@ -0,0 +1,35 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package doc + +import ( + "go/token" + "os" + "time" + + "github.com/GPMGo/gpm/models" +) + +// source is source code file. +type source struct { + name string + browseURL string + rawURL string + data []byte +} + +func (s *source) Name() string { return s.name } +func (s *source) Size() int64 { return int64(len(s.data)) } +func (s *source) Mode() os.FileMode { return 0 } +func (s *source) ModTime() time.Time { return time.Time{} } +func (s *source) IsDir() bool { return false } +func (s *source) Sys() interface{} { return nil } + +// walker holds the state used when building the documentation. +type walker struct { + pinfo *models.PkgInfo + srcs map[string]*source // Source files. + fset *token.FileSet +} diff --git a/doc/vcs.go b/doc/vcs.go new file mode 100644 index 000000000..3d6541f40 --- /dev/null +++ b/doc/vcs.go @@ -0,0 +1,178 @@ +// Copyright 2012 Gary Burd +// +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package doc + +import ( + "bytes" + "io/ioutil" + "log" + "os" + "os/exec" + "path" + "regexp" + "strconv" + "strings" +) + +// TODO: specify with command line flag +const repoRoot = "/tmp/gddo" + +var urlTemplates = []struct { + re *regexp.Regexp + template string + lineFmt string +}{ + { + regexp.MustCompile(`^git\.gitorious\.org/(?P[^/]+/[^/]+)$`), + "https://gitorious.org/{repo}/blobs/{tag}/{dir}{0}", + "#line%d", + }, + { + regexp.MustCompile(`^camlistore\.org/r/p/(?P[^/]+)$`), + "http://camlistore.org/code/?p={repo}.git;hb={tag};f={dir}{0}", + "#l%d", + }, +} + +// lookupURLTemplate finds an expand() template, match map and line number +// format for well known repositories. +func lookupURLTemplate(repo, dir, tag string) (string, map[string]string, string) { + if strings.HasPrefix(dir, "/") { + dir = dir[1:] + "/" + } + for _, t := range urlTemplates { + if m := t.re.FindStringSubmatch(repo); m != nil { + match := map[string]string{ + "dir": dir, + "tag": tag, + } + for i, name := range t.re.SubexpNames() { + if name != "" { + match[name] = m[i] + } + } + return t.template, match, t.lineFmt + } + } + return "", nil, "" +} + +type vcsCmd struct { + schemes []string + download func([]string, string, string) (string, string, error) +} + +var vcsCmds = map[string]*vcsCmd{ + "git": &vcsCmd{ + schemes: []string{"http", "https", "git"}, + download: downloadGit, + }, +} + +var lsremoteRe = regexp.MustCompile(`(?m)^([0-9a-f]{40})\s+refs/(?:tags|heads)/(.+)$`) + +func downloadGit(schemes []string, repo, savedEtag string) (string, string, error) { + var p []byte + var scheme string + for i := range schemes { + cmd := exec.Command("git", "ls-remote", "--heads", "--tags", schemes[i]+"://"+repo+".git") + log.Println(strings.Join(cmd.Args, " ")) + var err error + p, err = cmd.Output() + if err == nil { + scheme = schemes[i] + break + } + } + + if scheme == "" { + return "", "", NotFoundError{"VCS not found"} + } + + tags := make(map[string]string) + for _, m := range lsremoteRe.FindAllSubmatch(p, -1) { + tags[string(m[2])] = string(m[1]) + } + + tag, commit, err := bestTag(tags, "master") + if err != nil { + return "", "", err + } + + etag := scheme + "-" + commit + + if etag == savedEtag { + return "", "", errNotModified + } + + dir := path.Join(repoRoot, repo+".git") + p, err = ioutil.ReadFile(path.Join(dir, ".git/HEAD")) + switch { + case err != nil: + if err := os.MkdirAll(dir, 0777); err != nil { + return "", "", err + } + cmd := exec.Command("git", "clone", scheme+"://"+repo, dir) + log.Println(strings.Join(cmd.Args, " ")) + if err := cmd.Run(); err != nil { + return "", "", err + } + case string(bytes.TrimRight(p, "\n")) == commit: + return tag, etag, nil + default: + cmd := exec.Command("git", "fetch") + log.Println(strings.Join(cmd.Args, " ")) + cmd.Dir = dir + if err := cmd.Run(); err != nil { + return "", "", err + } + } + + cmd := exec.Command("git", "checkout", "--detach", "--force", commit) + cmd.Dir = dir + if err := cmd.Run(); err != nil { + return "", "", err + } + + return tag, etag, nil +} + +var defaultTags = map[string]string{"git": "master", "hg": "default"} + +func bestTag(tags map[string]string, defaultTag string) (string, string, error) { + if commit, ok := tags["go1"]; ok { + return "go1", commit, nil + } + if commit, ok := tags[defaultTag]; ok { + return defaultTag, commit, nil + } + return "", "", NotFoundError{"Tag or branch not found."} +} + +// expand replaces {k} in template with match[k] or subs[atoi(k)] if k is not in match. +func expand(template string, match map[string]string, subs ...string) string { + var p []byte + var i int + for { + i = strings.Index(template, "{") + if i < 0 { + break + } + p = append(p, template[:i]...) + template = template[i+1:] + i = strings.Index(template, "}") + if s, ok := match[template[:i]]; ok { + p = append(p, s...) + } else { + j, _ := strconv.Atoi(template[:i]) + p = append(p, subs[j]...) + } + template = template[i+1:] + } + p = append(p, template...) + return string(p) +} diff --git a/doc/walker.go b/doc/walker.go new file mode 100644 index 000000000..aebb8e317 --- /dev/null +++ b/doc/walker.go @@ -0,0 +1,149 @@ +// Copyright 2011 Gary Burd +// Copyright 2013 Unknown +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "bytes" + "errors" + "fmt" + "go/ast" + "go/build" + "go/parser" + "go/token" + "io" + "io/ioutil" + "os" + "path" + "regexp" + "runtime" + "strings" + "time" + + "github.com/GPMGo/gpm/models" +) + +type sliceWriter struct{ p *[]byte } + +func (w sliceWriter) Write(p []byte) (int, error) { + *w.p = append(*w.p, p...) + return len(p), nil +} + +func (w *walker) readDir(dir string) ([]os.FileInfo, error) { + if dir != w.pinfo.Path { + panic("unexpected") + } + fis := make([]os.FileInfo, 0, len(w.srcs)) + for _, src := range w.srcs { + fis = append(fis, src) + } + return fis, nil +} + +func (w *walker) openFile(path string) (io.ReadCloser, error) { + if strings.HasPrefix(path, w.pinfo.Path+"/") { + if src, ok := w.srcs[path[len(w.pinfo.Path)+1:]]; ok { + return ioutil.NopCloser(bytes.NewReader(src.data)), nil + } + } + panic("unexpected") +} + +func simpleImporter(imports map[string]*ast.Object, path string) (*ast.Object, error) { + pkg := imports[path] + if pkg == nil { + // Guess the package name without importing it. Start with the last + // element of the path. + name := path[strings.LastIndex(path, "/")+1:] + + // Trim commonly used prefixes and suffixes containing illegal name + // runes. + name = strings.TrimSuffix(name, ".go") + name = strings.TrimSuffix(name, "-go") + name = strings.TrimPrefix(name, "go.") + name = strings.TrimPrefix(name, "go-") + name = strings.TrimPrefix(name, "biogo.") + + // It's also common for the last element of the path to contain an + // extra "go" prefix, but not always. TODO: examine unresolved ids to + // detect when trimming the "go" prefix is appropriate. + + pkg = ast.NewObj(ast.Pkg, name) + pkg.Data = ast.NewScope(nil) + imports[path] = pkg + } + return pkg, nil +} + +var buildPicPattern = regexp.MustCompile(`\[+!+\[+([a-zA-Z ]*)+\]+\(+[a-zA-z]+://[^\s]*`) + +// build generates data from source files. +func (w *walker) build(srcs []*source) (*models.PkgInfo, error) { + // Set created time. + w.pinfo.Created = time.Now().UTC() + + // Add source files to walker, I skipped references here. + w.srcs = make(map[string]*source) + for _, src := range srcs { + w.srcs[src.name] = src + } + + w.fset = token.NewFileSet() + + // Find the package and associated files. + ctxt := build.Context{ + GOOS: runtime.GOOS, + GOARCH: runtime.GOARCH, + CgoEnabled: true, + JoinPath: path.Join, + IsAbsPath: path.IsAbs, + SplitPathList: func(list string) []string { return strings.Split(list, ":") }, + IsDir: func(path string) bool { panic("unexpected") }, + HasSubdir: func(root, dir string) (rel string, ok bool) { panic("unexpected") }, + ReadDir: func(dir string) (fi []os.FileInfo, err error) { return w.readDir(dir) }, + OpenFile: func(path string) (r io.ReadCloser, err error) { return w.openFile(path) }, + Compiler: "gc", + } + + bpkg, err := ctxt.ImportDir(w.pinfo.Path, 0) + // Continue if there are no Go source files; we still want the directory info. + _, nogo := err.(*build.NoGoError) + if err != nil { + if nogo { + err = nil + } else { + fmt.Println(w.pinfo) + return w.pinfo, errors.New("doc.walker.build(): " + err.Error()) + } + } + + // Parse the Go files + + files := make(map[string]*ast.File) + for _, name := range append(bpkg.GoFiles, bpkg.CgoFiles...) { + file, err := parser.ParseFile(w.fset, name, w.srcs[name].data, parser.ParseComments) + if err != nil { + //beego.Error("doc.walker.build():", err) + continue + } + files[name] = file + } + + w.pinfo.Imports = bpkg.Imports + fmt.Println(w.pinfo) + // beego.Info("doc.walker.build(", pdoc.ImportPath, "), Goroutine #", runtime.NumGoroutine()) + return w.pinfo, err +} diff --git a/gpm.go b/gpm.go index a9f855513..0c276a900 100644 --- a/gpm.go +++ b/gpm.go @@ -53,7 +53,7 @@ type Command struct { Long string // Flag is a set of flags specific to this command. - Flags []string + Flags map[string]bool } // Name returns the command's name: the first word in the usage line. @@ -79,9 +79,10 @@ func (c *Command) Runnable() bool { } // Commands lists the available commands and help topics. -// The order here is the order in which they are printed by 'go help'. +// The order here is the order in which they are printed by 'gpm help'. var commands = []*Command{ cmdBuild, + cmdInstall, } var exitStatus = 0 @@ -95,11 +96,11 @@ func setExitStatus(n int) { exitMu.Unlock() } -func loadUsage(lang string) bool { +func loadUsage(lang, appPath string) bool { // Load main usage. - f, err := os.Open(appPath + "i18n/usage_" + lang + ".tpl") + f, err := os.Open(appPath + "i18n/" + lang + "/usage.tpl") if err != nil { - fmt.Println(err) + fmt.Println("Load usage:", err) return false } defer f.Close() @@ -111,9 +112,9 @@ func loadUsage(lang string) bool { // Load command usage. for _, cmd := range commands { - f, err := os.Open(appPath + "i18n/usage_" + cmd.Name() + "_" + lang + ".txt") + f, err := os.Open(appPath + "i18n/" + lang + "/usage_" + cmd.Name() + ".txt") if err != nil { - fmt.Println(err) + fmt.Println("Load usage:", err) return false } defer f.Close() @@ -139,13 +140,13 @@ func main() { appPath = strings.Replace(filepath.Dir(appPath), "\\", "/", -1) + "/" // Load configuration. - if _, err := toml.DecodeFile(appPath+"i18n/gpm.toml", &config); err != nil { + if _, err := toml.DecodeFile(appPath+"conf/gpm.toml", &config); err != nil { fmt.Println(err) return } // Load usage template by language. - if !loadUsage(config.Lang) { + if !loadUsage(config.Lang, appPath) { return } @@ -269,3 +270,23 @@ func exit() { } os.Exit(exitStatus) } + +// executeGoCommand executes go commands. +func executeGoCommand(args []string) { + cmdExec := exec.Command("go", args...) + stdout, err := cmdExec.StdoutPipe() + if err != nil { + fmt.Println(err) + } + stderr, err := cmdExec.StderrPipe() + if err != nil { + fmt.Println(err) + } + err = cmdExec.Start() + if err != nil { + fmt.Println(err) + } + go io.Copy(os.Stdout, stdout) + go io.Copy(os.Stderr, stderr) + cmdExec.Wait() +} diff --git a/i18n/usage_en-US.tpl b/i18n/en-US/usage.tpl similarity index 100% rename from i18n/usage_en-US.tpl rename to i18n/en-US/usage.tpl diff --git a/i18n/usage_build_en-US.txt b/i18n/en-US/usage_build.txt similarity index 100% rename from i18n/usage_build_en-US.txt rename to i18n/en-US/usage_build.txt diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt new file mode 100644 index 000000000..d3a80ebac --- /dev/null +++ b/i18n/en-US/usage_install.txt @@ -0,0 +1,23 @@ +download and install packages and dependencies||| +Install downloads and installs the packages named by the import paths, +along with their dependencies. + +This command works even you haven't installed any version control tool +such as git, hg, etc. + +The install flags are: + + -p + pure download packages without version control. + -d + download without installing packages. + -u + force to update pakcages. + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. + +For more about specifying packages, see 'go help packages'. +For more about hash, see 'gpm help hash'. + +See also: gpm build. diff --git a/install.go b/install.go new file mode 100644 index 000000000..6a5060a8a --- /dev/null +++ b/install.go @@ -0,0 +1,169 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package main + +import ( + "fmt" + "net/http" + "os/exec" + "regexp" + "strings" + + "github.com/GPMGo/gpm/doc" + "github.com/GPMGo/gpm/models" + "github.com/GPMGo/gpm/utils" +) + +var ( + isHasGit, isHasHg bool +) + +var cmdInstall = &Command{ + UsageLine: "install [install flags] ", +} + +func init() { + cmdInstall.Run = runInstall + cmdInstall.Flags = map[string]bool{ + "-p": false, + "-d": false, + "-u": false, + } +} + +func runInstall(cmd *Command, args []string) { + // Check if has flags. + num := 0 + for i, f := range args { + if strings.Index(f, "-") > -1 { + // Deal with flags. + if _, ok := cmdInstall.Flags[f]; ok { + cmdInstall.Flags[f] = true + printPrompt(f) + } else { + fmt.Printf("Unknown flag: %s.\n", f) + return + } + num = i + 1 + } + } + // Cut out flag. + args = args[num:] + + // Check length of arguments. + if len(args) < 1 { + fmt.Printf("Please list at least one package.\n") + return + } + + // Check version control tools. + _, err := exec.LookPath("git") + if err == nil { + isHasGit = true + } + _, err = exec.LookPath("hg") + if err == nil { + isHasHg = true + } + + // Install package(s). + for _, p := range args { + // Check if it is a hash string. + // TODO + + // Check if it is vaild remote path. + if !utils.IsValidRemotePath(p) { + fmt.Printf("Invalid remote path: %s.\n", p) + } else { + downloadPackage(p, "") + } + } +} + +func printPrompt(flag string) { + switch flag { + case "-p": + fmt.Println("You enabled pure download.") + case "-d": + fmt.Println("You enabled download without installing.") + } +} + +// downloadPackage download package either use version control tools or not. +func downloadPackage(path, commit string) { + // Check if use version control tools. + switch { + case !cmdInstall.Flags["-p"] && + ((path[0] == 'g' && isHasGit) || (path[0] == 'c' && isHasHg)): // github.com, code.google.com + args := checkGoGetFlags() + args = append(args, path) + fmt.Printf("Installing package: %s.\n", path) + executeGoCommand(args) + default: // Pure download. + if !cmdInstall.Flags["-p"] { + fmt.Printf("No version control tool available, pure download enabled!\n") + } + + fmt.Printf("Downloading package: %s.\n", path) + _, err := pureDownload(path, commit) + if err != nil { + fmt.Printf("Fail to download package(%s) with error: %s.\n", path, err) + } else { + fmt.Printf("Installing package: %s.\n", path) + } + } +} + +func checkGoGetFlags() (args []string) { + args = append(args, "get") + switch { + case cmdInstall.Flags["-d"]: + args = append(args, "-d") + fallthrough + case cmdInstall.Flags["-u"]: + args = append(args, "-u") + } + + return args +} + +// service represents a source code control service. +type service struct { + pattern *regexp.Regexp + prefix string + get func(*http.Client, map[string]string, string) (*models.PkgInfo, error) +} + +// services is the list of source code control services handled by gopkgdoc. +var services = []*service{ + {doc.GithubPattern, "github.com/", doc.GetGithubDoc}, + //{googlePattern, "code.google.com/", getGoogleDoc}, + //{bitbucketPattern, "bitbucket.org/", getBitbucketDoc}, + //{launchpadPattern, "launchpad.net/", getLaunchpadDoc}, +} + +// pureDownload downloads package without control control. +func pureDownload(path, commit string) (pinfo *models.PkgInfo, err error) { + for _, s := range services { + if s.get == nil || !strings.HasPrefix(path, s.prefix) { + continue + } + m := s.pattern.FindStringSubmatch(path) + if m == nil { + if s.prefix != "" { + return nil, doc.NotFoundError{"Import path prefix matches known service, but regexp does not."} + } + continue + } + match := map[string]string{"importPath": path} + for i, n := range s.pattern.SubexpNames() { + if n != "" { + match[n] = m[i] + } + } + return s.get(doc.HttpClient, match, commit) + } + return nil, doc.ErrNoMatch +} diff --git a/models/models.go b/models/models.go new file mode 100644 index 000000000..ec709833c --- /dev/null +++ b/models/models.go @@ -0,0 +1,184 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +// Package models implemented database access funtions. + +package models + +import ( + "database/sql" + "errors" + //"os" + "strconv" + "strings" + "time" + + "github.com/coocood/qbs" + _ "github.com/mattn/go-sqlite3" +) + +const ( + DB_NAME = "./data/gowalker.db" + _SQLITE3_DRIVER = "sqlite3" +) + +// PkgInfo is package information. +type PkgInfo struct { + Id int64 + Path string `qbs:"index"` // Import path of package. + Imports []string + Note string + Created time.Time `qbs:"index"` // Time when information last updated. + Commit string // Revision tag and project tags. +} + +func connDb() *qbs.Qbs { + // 'sql.Open' only returns error when unknown driver, so it's not necessary to check in other places. + db, err := sql.Open(_SQLITE3_DRIVER, DB_NAME) + if err != nil { + //beego.Error("models.connDb():", err) + } + q := qbs.New(db, qbs.NewSqlite3()) + return q +} + +func setMg() (*qbs.Migration, error) { + db, err := sql.Open(_SQLITE3_DRIVER, DB_NAME) + mg := qbs.NewMigration(db, DB_NAME, qbs.NewSqlite3()) + return mg, err +} + +/*func init() { + // Initialize database. + os.Mkdir("./data", os.ModePerm) + + // Connect to database. + q := connDb() + defer q.Db.Close() + + mg, err := setMg() + if err != nil { + beego.Error("models.init():", err) + } + defer mg.Db.Close() + + // Create data tables. + mg.CreateTableIfNotExists(new(PkgInfo)) + + beego.Trace("Initialized database ->", DB_NAME) +}*/ + +// GetProInfo returns package information from database. +func GetPkgInfo(path string) (*PkgInfo, error) { + // Check path length to reduce connect times. + if len(path) == 0 { + return nil, errors.New("models.GetPkgInfo(): Empty path as not found.") + } + + // Connect to database. + q := connDb() + defer q.Db.Close() + + pinfo := new(PkgInfo) + err := q.WhereEqual("path", path).Find(pinfo) + + return pinfo, err +} + +// GetGroupPkgInfo returns group of package infomration in order to reduce database connect times. +func GetGroupPkgInfo(paths []string) ([]*PkgInfo, error) { + // Connect to database. + q := connDb() + defer q.Db.Close() + + pinfos := make([]*PkgInfo, 0, len(paths)) + for _, v := range paths { + if len(v) > 0 { + pinfo := new(PkgInfo) + err := q.WhereEqual("path", v).Find(pinfo) + if err == nil { + pinfos = append(pinfos, pinfo) + } else { + pinfos = append(pinfos, &PkgInfo{Path: v}) + } + } + } + return pinfos, nil +} + +// GetPkgInfoById returns package information from database by pid. +func GetPkgInfoById(pid int) (*PkgInfo, error) { + // Connect to database. + q := connDb() + defer q.Db.Close() + + pinfo := new(PkgInfo) + err := q.WhereEqual("id", pid).Find(pinfo) + + return pinfo, err +} + +// GetGroupPkgInfoById returns group of package infomration by pid in order to reduce database connect times. +// The formatted pid looks like '$|', so we need to cut '$' here. +func GetGroupPkgInfoById(pids []string) ([]*PkgInfo, error) { + // Connect to database. + q := connDb() + defer q.Db.Close() + + pinfos := make([]*PkgInfo, 0, len(pids)) + for _, v := range pids { + if len(v) > 1 { + pid, err := strconv.Atoi(v[1:]) + if err == nil { + pinfo := new(PkgInfo) + err = q.WhereEqual("id", pid).Find(pinfo) + if err == nil { + pinfos = append(pinfos, pinfo) + } + } + } + } + return pinfos, nil +} + +// DeleteProject deletes everything about the path in database, and update import information. +func DeleteProject(path string) error { + // Check path length to reduce connect times. (except launchpad.net) + if path[0] != 'l' && len(strings.Split(path, "/")) <= 2 { + return errors.New("models.DeleteProject(): Short path as not needed.") + } + + // Connect to database. + q := connDb() + defer q.Db.Close() + + var i1 int64 + // Delete package information. + info := new(PkgInfo) + err := q.WhereEqual("path", path).Find(info) + if err == nil { + i1, err = q.Delete(info) + if err != nil { + //beego.Error("models.DeleteProject(): Information:", err) + } + } + + if i1 > 0 { + //beego.Info("models.DeleteProject(", path, i1, ")") + } + + return nil +} + +// SearchDoc returns packages information that contain keyword +func SearchDoc(key string) ([]*PkgInfo, error) { + // Connect to database. + q := connDb() + defer q.Db.Close() + + var pkgInfos []*PkgInfo + condition := qbs.NewCondition("path like ?", "%"+key+"%") + err := q.Condition(condition).OrderBy("path").FindAll(&pkgInfos) + return pkgInfos, err +} diff --git a/utils/utils.go b/utils/utils.go index 560cc2516..be7056e9e 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -6,6 +6,10 @@ package utils import ( "os" + "path" + "regexp" + "runtime" + "strings" ) // IsExist returns if a file or directory exists @@ -13,3 +17,367 @@ func IsExist(path string) bool { _, err := os.Stat(path) return err == nil || os.IsExist(err) } + +var validTLD = map[string]bool{ + // curl http://data.iana.org/TLD/tlds-alpha-by-domain.txt | sed -e '/#/ d' -e 's/.*/"&": true,/' | tr [:upper:] [:lower:] + ".ac": true, + ".ad": true, + ".ae": true, + ".aero": true, + ".af": true, + ".ag": true, + ".ai": true, + ".al": true, + ".am": true, + ".an": true, + ".ao": true, + ".aq": true, + ".ar": true, + ".arpa": true, + ".as": true, + ".asia": true, + ".at": true, + ".au": true, + ".aw": true, + ".ax": true, + ".az": true, + ".ba": true, + ".bb": true, + ".bd": true, + ".be": true, + ".bf": true, + ".bg": true, + ".bh": true, + ".bi": true, + ".biz": true, + ".bj": true, + ".bm": true, + ".bn": true, + ".bo": true, + ".br": true, + ".bs": true, + ".bt": true, + ".bv": true, + ".bw": true, + ".by": true, + ".bz": true, + ".ca": true, + ".cat": true, + ".cc": true, + ".cd": true, + ".cf": true, + ".cg": true, + ".ch": true, + ".ci": true, + ".ck": true, + ".cl": true, + ".cm": true, + ".cn": true, + ".co": true, + ".com": true, + ".coop": true, + ".cr": true, + ".cu": true, + ".cv": true, + ".cw": true, + ".cx": true, + ".cy": true, + ".cz": true, + ".de": true, + ".dj": true, + ".dk": true, + ".dm": true, + ".do": true, + ".dz": true, + ".ec": true, + ".edu": true, + ".ee": true, + ".eg": true, + ".er": true, + ".es": true, + ".et": true, + ".eu": true, + ".fi": true, + ".fj": true, + ".fk": true, + ".fm": true, + ".fo": true, + ".fr": true, + ".ga": true, + ".gb": true, + ".gd": true, + ".ge": true, + ".gf": true, + ".gg": true, + ".gh": true, + ".gi": true, + ".gl": true, + ".gm": true, + ".gn": true, + ".gov": true, + ".gp": true, + ".gq": true, + ".gr": true, + ".gs": true, + ".gt": true, + ".gu": true, + ".gw": true, + ".gy": true, + ".hk": true, + ".hm": true, + ".hn": true, + ".hr": true, + ".ht": true, + ".hu": true, + ".id": true, + ".ie": true, + ".il": true, + ".im": true, + ".in": true, + ".info": true, + ".int": true, + ".io": true, + ".iq": true, + ".ir": true, + ".is": true, + ".it": true, + ".je": true, + ".jm": true, + ".jo": true, + ".jobs": true, + ".jp": true, + ".ke": true, + ".kg": true, + ".kh": true, + ".ki": true, + ".km": true, + ".kn": true, + ".kp": true, + ".kr": true, + ".kw": true, + ".ky": true, + ".kz": true, + ".la": true, + ".lb": true, + ".lc": true, + ".li": true, + ".lk": true, + ".lr": true, + ".ls": true, + ".lt": true, + ".lu": true, + ".lv": true, + ".ly": true, + ".ma": true, + ".mc": true, + ".md": true, + ".me": true, + ".mg": true, + ".mh": true, + ".mil": true, + ".mk": true, + ".ml": true, + ".mm": true, + ".mn": true, + ".mo": true, + ".mobi": true, + ".mp": true, + ".mq": true, + ".mr": true, + ".ms": true, + ".mt": true, + ".mu": true, + ".museum": true, + ".mv": true, + ".mw": true, + ".mx": true, + ".my": true, + ".mz": true, + ".na": true, + ".name": true, + ".nc": true, + ".ne": true, + ".net": true, + ".nf": true, + ".ng": true, + ".ni": true, + ".nl": true, + ".no": true, + ".np": true, + ".nr": true, + ".nu": true, + ".nz": true, + ".om": true, + ".org": true, + ".pa": true, + ".pe": true, + ".pf": true, + ".pg": true, + ".ph": true, + ".pk": true, + ".pl": true, + ".pm": true, + ".pn": true, + ".post": true, + ".pr": true, + ".pro": true, + ".ps": true, + ".pt": true, + ".pw": true, + ".py": true, + ".qa": true, + ".re": true, + ".ro": true, + ".rs": true, + ".ru": true, + ".rw": true, + ".sa": true, + ".sb": true, + ".sc": true, + ".sd": true, + ".se": true, + ".sg": true, + ".sh": true, + ".si": true, + ".sj": true, + ".sk": true, + ".sl": true, + ".sm": true, + ".sn": true, + ".so": true, + ".sr": true, + ".st": true, + ".su": true, + ".sv": true, + ".sx": true, + ".sy": true, + ".sz": true, + ".tc": true, + ".td": true, + ".tel": true, + ".tf": true, + ".tg": true, + ".th": true, + ".tj": true, + ".tk": true, + ".tl": true, + ".tm": true, + ".tn": true, + ".to": true, + ".tp": true, + ".tr": true, + ".travel": true, + ".tt": true, + ".tv": true, + ".tw": true, + ".tz": true, + ".ua": true, + ".ug": true, + ".uk": true, + ".us": true, + ".uy": true, + ".uz": true, + ".va": true, + ".vc": true, + ".ve": true, + ".vg": true, + ".vi": true, + ".vn": true, + ".vu": true, + ".wf": true, + ".ws": true, + ".xn--0zwm56d": true, + ".xn--11b5bs3a9aj6g": true, + ".xn--3e0b707e": true, + ".xn--45brj9c": true, + ".xn--80akhbyknj4f": true, + ".xn--80ao21a": true, + ".xn--90a3ac": true, + ".xn--9t4b11yi5a": true, + ".xn--clchc0ea0b2g2a9gcd": true, + ".xn--deba0ad": true, + ".xn--fiqs8s": true, + ".xn--fiqz9s": true, + ".xn--fpcrj9c3d": true, + ".xn--fzc2c9e2c": true, + ".xn--g6w251d": true, + ".xn--gecrj9c": true, + ".xn--h2brj9c": true, + ".xn--hgbk6aj7f53bba": true, + ".xn--hlcj6aya9esc7a": true, + ".xn--j6w193g": true, + ".xn--jxalpdlp": true, + ".xn--kgbechtv": true, + ".xn--kprw13d": true, + ".xn--kpry57d": true, + ".xn--lgbbat1ad8j": true, + ".xn--mgb9awbf": true, + ".xn--mgbaam7a8h": true, + ".xn--mgbayh7gpa": true, + ".xn--mgbbh1a71e": true, + ".xn--mgbc0a9azcg": true, + ".xn--mgberp4a5d4ar": true, + ".xn--mgbx4cd0ab": true, + ".xn--o3cw4h": true, + ".xn--ogbpf8fl": true, + ".xn--p1ai": true, + ".xn--pgbs0dh": true, + ".xn--s9brj9c": true, + ".xn--wgbh1c": true, + ".xn--wgbl6a": true, + ".xn--xkc2al3hye2a": true, + ".xn--xkc2dl3a5ee0h": true, + ".xn--yfro4i67o": true, + ".xn--ygbi2ammx": true, + ".xn--zckzah": true, + ".xxx": true, + ".ye": true, + ".yt": true, + ".za": true, + ".zm": true, + ".zw": true, +} + +var ( + validHost = regexp.MustCompile(`^[-a-z0-9]+(?:\.[-a-z0-9]+)+$`) + validPathElement = regexp.MustCompile(`^[-A-Za-z0-9~+][-A-Za-z0-9_.]*$`) +) + +// IsValidRemotePath returns true if importPath is structurally valid for "go get". +func IsValidRemotePath(importPath string) bool { + + parts := strings.Split(importPath, "/") + + if len(parts) <= 1 { + // Import path must contain at least one "/". + return false + } + + if !validTLD[path.Ext(parts[0])] { + return false + } + + if !validHost.MatchString(parts[0]) { + return false + } + for _, part := range parts[1:] { + if !validPathElement.MatchString(part) || part == "testdata" { + return false + } + } + + return true +} + +// GetGOPATHs return all GOPATH in system. +func GetGOPATH() []string { + gopath := os.Getenv("GOPATH") + var paths []string + if runtime.GOOS == "windows" { + gopath = strings.Replace(gopath, "\\", "/", -1) + paths = strings.Split(gopath, ";") + } else { + paths = strings.Split(gopath, ":") + } + return paths +} diff --git a/utils/utils_test.go b/utils/utils_test.go new file mode 100644 index 000000000..d2719c4c9 --- /dev/null +++ b/utils/utils_test.go @@ -0,0 +1,24 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package utils + +import ( + "testing" +) + +var RemotePaths = []string{ + "github.com/coocood/qbs", + "code.google.com/p/draw2d", + "launchpad.net/goamz", + "bitbucket.org/gotamer/conv", +} + +func TestIsValidRemotePath(t *testing.T) { + for _, p := range RemotePaths { + if !IsValidRemotePath(p) { + t.Errorf("Invalid remote path: %s", p) + } + } +} From a5674f90c7a8aad046b82740e6ae839976d68a67 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 08:14:04 -0400 Subject: [PATCH 014/287] broken --- doc/github.go | 43 ++++++++++++++++++++++++------------------- doc/struct.go | 24 +++++++++++++++++++----- doc/walker.go | 4 ++-- install.go | 12 ++++++++---- models/models.go | 1 + 5 files changed, 54 insertions(+), 30 deletions(-) diff --git a/doc/github.go b/doc/github.go index b911a8e1b..f25916cb9 100644 --- a/doc/github.go +++ b/doc/github.go @@ -15,7 +15,6 @@ import ( "regexp" "strings" - "github.com/GPMGo/gpm/models" "github.com/GPMGo/gpm/utils" ) @@ -29,7 +28,7 @@ func SetGithubCredentials(id, secret string) { githubCred = "client_id=" + id + "&client_secret=" + secret } -func GetGithubDoc(client *http.Client, match map[string]string, commit string) (*models.PkgInfo, error) { +func GetGithubDoc(client *http.Client, match map[string]string, commit string) (*Package, error) { SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred @@ -88,11 +87,17 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string) ( // Create destination directory os.Mkdir(installPath, os.ModePerm) - files := make([]*source, 0, len(r.File)) + dirs := make([]string, 0, 5) for _, f := range r.File { - srcName := f.FileInfo().Name()[strings.Index(f.FileInfo().Name(), "/")+1:] - fmt.Printf("Unzipping %s...", srcName) - fn := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) + absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) + fmt.Printf("Unzipping %s...", absPath) + + // Check if it is directory or not. + if strings.HasSuffix(absPath, "/") { + // Directory. + dirs = append(dirs, absPath) + continue + } // Get files from archive rc, err := f.Open() @@ -101,38 +106,38 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string) ( } // Create diretory before create file - os.MkdirAll(path.Dir(fn), os.ModePerm) + os.MkdirAll(path.Dir(absPath), os.ModePerm) // Write data to file - fw, _ := os.Create(fn) + fw, _ := os.Create(absPath) if err != nil { return nil, err } - _, err = io.Copy(fw, rc) + n, err := io.Copy(fw, rc) if err != nil { return nil, err } + fmt.Println(n) - localF, _ := os.Open(fn) + /*localF, _ := os.Open(absPath) fbytes := make([]byte, f.FileInfo().Size()) n, _ := localF.Read(fbytes) - fmt.Println(n) // Check if Go source file. - if n > 0 && strings.HasSuffix(fn, ".go") { + if n > 0 && strings.HasSuffix(absPath, ".go") { files = append(files, &source{ name: srcName, data: fbytes, }) - } + }*/ } - w := &walker{ - pinfo: &models.PkgInfo{ - Path: importPath, - Commit: commit, - }, + pkg := &Package{ + ImportPath: importPath, + AbsPath: installPath, + Commit: commit, + Dirs: dirs, } - return w.build(files) + return pkg, nil } diff --git a/doc/struct.go b/doc/struct.go index 85ce42714..b04be3093 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -8,10 +8,24 @@ import ( "go/token" "os" "time" - - "github.com/GPMGo/gpm/models" ) +// Package represents a package. +type Package struct { + // Package import path. + ImportPath string + AbsPath string + + // Revision tag and project tags. + Commit string + + // Imports. + Imports []string + + // Directories. + Dirs []string +} + // source is source code file. type source struct { name string @@ -29,7 +43,7 @@ func (s *source) Sys() interface{} { return nil } // walker holds the state used when building the documentation. type walker struct { - pinfo *models.PkgInfo - srcs map[string]*source // Source files. - fset *token.FileSet + pkg *Package + srcs map[string]*source // Source files. + fset *token.FileSet } diff --git a/doc/walker.go b/doc/walker.go index aebb8e317..b52327cd5 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -91,7 +91,7 @@ func simpleImporter(imports map[string]*ast.Object, path string) (*ast.Object, e var buildPicPattern = regexp.MustCompile(`\[+!+\[+([a-zA-Z ]*)+\]+\(+[a-zA-z]+://[^\s]*`) // build generates data from source files. -func (w *walker) build(srcs []*source) (*models.PkgInfo, error) { +/*func (w *walker) build(srcs []*source) (*models.PkgInfo, error) { // Set created time. w.pinfo.Created = time.Now().UTC() @@ -125,7 +125,6 @@ func (w *walker) build(srcs []*source) (*models.PkgInfo, error) { if nogo { err = nil } else { - fmt.Println(w.pinfo) return w.pinfo, errors.New("doc.walker.build(): " + err.Error()) } } @@ -147,3 +146,4 @@ func (w *walker) build(srcs []*source) (*models.PkgInfo, error) { // beego.Info("doc.walker.build(", pdoc.ImportPath, "), Goroutine #", runtime.NumGoroutine()) return w.pinfo, err } +*/ diff --git a/install.go b/install.go index 6a5060a8a..07e23fa9a 100644 --- a/install.go +++ b/install.go @@ -12,12 +12,12 @@ import ( "strings" "github.com/GPMGo/gpm/doc" - "github.com/GPMGo/gpm/models" "github.com/GPMGo/gpm/utils" ) var ( isHasGit, isHasHg bool + downloadCache map[string]bool // Saves packages that have downloaded. ) var cmdInstall = &Command{ @@ -25,6 +25,7 @@ var cmdInstall = &Command{ } func init() { + downloadCache = make(map[string]bool) cmdInstall.Run = runInstall cmdInstall.Flags = map[string]bool{ "-p": false, @@ -107,10 +108,13 @@ func downloadPackage(path, commit string) { } fmt.Printf("Downloading package: %s.\n", path) - _, err := pureDownload(path, commit) + pkg, err := pureDownload(path, commit) if err != nil { fmt.Printf("Fail to download package(%s) with error: %s.\n", path, err) } else { + fmt.Println(pkg) + fmt.Printf("Checking imports(%s).\n", path) + fmt.Printf("Installing package: %s.\n", path) } } @@ -133,7 +137,7 @@ func checkGoGetFlags() (args []string) { type service struct { pattern *regexp.Regexp prefix string - get func(*http.Client, map[string]string, string) (*models.PkgInfo, error) + get func(*http.Client, map[string]string, string) (*doc.Package, error) } // services is the list of source code control services handled by gopkgdoc. @@ -145,7 +149,7 @@ var services = []*service{ } // pureDownload downloads package without control control. -func pureDownload(path, commit string) (pinfo *models.PkgInfo, err error) { +func pureDownload(path, commit string) (pinfo *doc.Package, err error) { for _, s := range services { if s.get == nil || !strings.HasPrefix(path, s.prefix) { continue diff --git a/models/models.go b/models/models.go index ec709833c..579351a8d 100644 --- a/models/models.go +++ b/models/models.go @@ -27,6 +27,7 @@ const ( type PkgInfo struct { Id int64 Path string `qbs:"index"` // Import path of package. + AbsPath string Imports []string Note string Created time.Time `qbs:"index"` // Time when information last updated. From 5aee31f472fb0298136cdb0d0b9bf899f47366fa Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 10:42:02 -0400 Subject: [PATCH 015/287] clean code: gpm.go --- gpm.go | 91 ++++++++++++++++++++++++++++------------------------------ 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/gpm.go b/gpm.go index 0c276a900..a9d86e4b9 100644 --- a/gpm.go +++ b/gpm.go @@ -7,11 +7,8 @@ package main import ( - "flag" "fmt" - "go/build" "io" - "log" "os" "os/exec" "path/filepath" @@ -26,8 +23,9 @@ import ( ) var ( - config tomlConfig - appPath string // Application path. + config tomlConfig + appPath string // Application path. + isWindows bool // Indicates if current system is windows. ) type tomlConfig struct { @@ -85,26 +83,34 @@ var commands = []*Command{ cmdInstall, } -var exitStatus = 0 -var exitMu sync.Mutex +// getAppPath returns application execute path for current process. +func getAppPath() bool { + // Look up executable in PATH variable. + appPath, _ = exec.LookPath("gpm") + if len(appPath) == 0 { + fmt.Printf("getAppPath(): Unable to indicate current execute path.") + return false + } -func setExitStatus(n int) { - exitMu.Lock() - if exitStatus < n { - exitStatus = n + if runtime.GOOS == "windows" { + isWindows = true + // Replace all '\' to '/'. + appPath = strings.Replace(filepath.Dir(appPath), "\\", "/", -1) + "/" } - exitMu.Unlock() + return true } +// loadUsage loads usage according to user language. func loadUsage(lang, appPath string) bool { // Load main usage. f, err := os.Open(appPath + "i18n/" + lang + "/usage.tpl") if err != nil { - fmt.Println("Load usage:", err) + fmt.Printf("loadUsage(): Fail to load main usage: %s.\n", err) return false } defer f.Close() - // Read usage. + + // Read command usages. fi, _ := f.Stat() usageBytes := make([]byte, fi.Size()) f.Read(usageBytes) @@ -114,7 +120,7 @@ func loadUsage(lang, appPath string) bool { for _, cmd := range commands { f, err := os.Open(appPath + "i18n/" + lang + "/usage_" + cmd.Name() + ".txt") if err != nil { - fmt.Println("Load usage:", err) + fmt.Printf("loadUsage(): Fail to load usage(%s): %s.\n", cmd.Name(), err) return false } defer f.Close() @@ -124,7 +130,7 @@ func loadUsage(lang, appPath string) bool { f.Read(usageBytes) usages := strings.Split(string(usageBytes), "|||") if len(usages) < 2 { - fmt.Println("Unacceptable usage file: ", cmd.Name()) + fmt.Printf("loadUsage(): nacceptable usage file: %s.\n", cmd.Name()) return false } cmd.Short = usages[0] @@ -135,9 +141,10 @@ func loadUsage(lang, appPath string) bool { } func main() { - // Get application path. - appPath, _ := exec.LookPath("gpm") - appPath = strings.Replace(filepath.Dir(appPath), "\\", "/", -1) + "/" + // Get application execute path. + if !getAppPath() { + return + } // Load configuration. if _, err := toml.DecodeFile(appPath+"conf/gpm.toml", &config); err != nil { @@ -145,47 +152,25 @@ func main() { return } - // Load usage template by language. + // Load usages by language. if !loadUsage(config.Lang, appPath) { return } - // Initialization. - flag.Usage = usage - flag.Parse() - log.SetFlags(0) - - args := flag.Args() + // Check length of arguments. + args := os.Args[1:] if len(args) < 1 { usage() + return } + // Show help documentation. if args[0] == "help" { help(args[1:]) return } - // Diagnose common mistake: GOPATH==GOROOT. - // This setting is equivalent to not setting GOPATH at all, - // which is not what most people want when they do it. - if gopath := os.Getenv("GOPATH"); gopath == runtime.GOROOT() { - fmt.Fprintf(os.Stderr, "warning: GOPATH set to GOROOT (%s) has no effect\n", gopath) - } else { - for _, p := range filepath.SplitList(gopath) { - // Note: using HasPrefix instead of Contains because a ~ can appear - // in the middle of directory elements, such as /tmp/git-1.8.2~rc3 - // or C:\PROGRA~1. Only ~ as a path prefix has meaning to the shell. - if strings.HasPrefix(p, "~") { - fmt.Fprintf(os.Stderr, "gpm: GOPATH entry cannot start with shell metacharacter '~': %q\n", p) - os.Exit(2) - } - if build.IsLocalImport(p) { - fmt.Fprintf(os.Stderr, "gpm: GOPATH entry is relative; must be absolute path: %q.\nRun 'gpm help gopath' for usage.\n", p) - os.Exit(2) - } - } - } - + // Check commands and run. for _, cmd := range commands { if cmd.Name() == args[0] && cmd.Run != nil { cmd.Run(cmd, args[1:]) @@ -194,11 +179,23 @@ func main() { } } + // Uknown commands. fmt.Fprintf(os.Stderr, "gpm: unknown subcommand %q\nRun 'gpm help' for usage.\n", args[0]) setExitStatus(2) exit() } +var exitStatus = 0 +var exitMu sync.Mutex + +func setExitStatus(n int) { + exitMu.Lock() + if exitStatus < n { + exitStatus = n + } + exitMu.Unlock() +} + var usageTemplate string var helpTemplate = `{{if .Runnable}}usage: gpm {{.UsageLine}} From bf5c32e91ea2463369a79bcb17d2ca2c0bc2ba78 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 13:28:05 -0400 Subject: [PATCH 016/287] clean code: install.go --- README.md | 2 +- README_ZH.md | 2 +- conf/gpm.toml | 2 +- doc/github.go | 32 +++---- doc/walker.go | 149 ------------------------------- gpm.go | 6 +- i18n/en-US/usage_install.txt | 3 +- install.go | 164 ++++++++++++++++++++++++----------- utils/utils.go | 2 +- 9 files changed, 135 insertions(+), 227 deletions(-) delete mode 100644 doc/walker.go diff --git a/README.md b/README.md index a01df5ac7..5501fbeba 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,4 @@ gpm - Go Package Manager ![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) -gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. +gpm(Go Package Manager) is a Go package manage tool for search, install, update, save and share your packages in Go. diff --git a/README_ZH.md b/README_ZH.md index aa6b0bc2a..5fc2d8f16 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -3,4 +3,4 @@ gpm - Go 项目管理工具 ![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) -gpm(Go 项目管理工具) 是一款涵盖搜索、安装、更新以及分享 Go 项目的管理工具。 \ No newline at end of file +gpm(Go 项目管理工具) 是一款涵盖搜索、安装、更新、保存以及分享 Go 项目的管理工具。 \ No newline at end of file diff --git a/conf/gpm.toml b/conf/gpm.toml index bd0cee6f2..7757b2316 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,5 +1,5 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.0.1 Build 0517" +version = "v0.0.2 Build 0519" user_language = "en-US" \ No newline at end of file diff --git a/doc/github.go b/doc/github.go index f25916cb9..a0e063ec2 100644 --- a/doc/github.go +++ b/doc/github.go @@ -5,17 +5,17 @@ package doc import ( - "archive/zip" + /*"archive/zip" "bytes" "fmt" - "io" + "io"*/ "net/http" - "os" - "path" + /*"os" + "path"*/ "regexp" - "strings" + //"strings" - "github.com/GPMGo/gpm/utils" + //"github.com/GPMGo/gpm/utils" ) var ( @@ -28,8 +28,8 @@ func SetGithubCredentials(id, secret string) { githubCred = "client_id=" + id + "&client_secret=" + secret } -func GetGithubDoc(client *http.Client, match map[string]string, commit string) (*Package, error) { - SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") +func GetGithubDoc(client *http.Client, match map[string]string, commit string) (*Package, []string, error) { + /*SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred var refs []*struct { @@ -130,14 +130,14 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string) ( data: fbytes, }) }*/ - } + /* } - pkg := &Package{ - ImportPath: importPath, - AbsPath: installPath, - Commit: commit, - Dirs: dirs, - } + pkg := &Package{ + ImportPath: importPath, + AbsPath: installPath, + Commit: commit, + Dirs: dirs, + }*/ - return pkg, nil + return nil, nil, nil } diff --git a/doc/walker.go b/doc/walker.go deleted file mode 100644 index b52327cd5..000000000 --- a/doc/walker.go +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright 2011 Gary Burd -// Copyright 2013 Unknown -// -// Licensed under the Apache License, Version 2.0 (the "License"): you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations -// under the License. - -package doc - -import ( - "bytes" - "errors" - "fmt" - "go/ast" - "go/build" - "go/parser" - "go/token" - "io" - "io/ioutil" - "os" - "path" - "regexp" - "runtime" - "strings" - "time" - - "github.com/GPMGo/gpm/models" -) - -type sliceWriter struct{ p *[]byte } - -func (w sliceWriter) Write(p []byte) (int, error) { - *w.p = append(*w.p, p...) - return len(p), nil -} - -func (w *walker) readDir(dir string) ([]os.FileInfo, error) { - if dir != w.pinfo.Path { - panic("unexpected") - } - fis := make([]os.FileInfo, 0, len(w.srcs)) - for _, src := range w.srcs { - fis = append(fis, src) - } - return fis, nil -} - -func (w *walker) openFile(path string) (io.ReadCloser, error) { - if strings.HasPrefix(path, w.pinfo.Path+"/") { - if src, ok := w.srcs[path[len(w.pinfo.Path)+1:]]; ok { - return ioutil.NopCloser(bytes.NewReader(src.data)), nil - } - } - panic("unexpected") -} - -func simpleImporter(imports map[string]*ast.Object, path string) (*ast.Object, error) { - pkg := imports[path] - if pkg == nil { - // Guess the package name without importing it. Start with the last - // element of the path. - name := path[strings.LastIndex(path, "/")+1:] - - // Trim commonly used prefixes and suffixes containing illegal name - // runes. - name = strings.TrimSuffix(name, ".go") - name = strings.TrimSuffix(name, "-go") - name = strings.TrimPrefix(name, "go.") - name = strings.TrimPrefix(name, "go-") - name = strings.TrimPrefix(name, "biogo.") - - // It's also common for the last element of the path to contain an - // extra "go" prefix, but not always. TODO: examine unresolved ids to - // detect when trimming the "go" prefix is appropriate. - - pkg = ast.NewObj(ast.Pkg, name) - pkg.Data = ast.NewScope(nil) - imports[path] = pkg - } - return pkg, nil -} - -var buildPicPattern = regexp.MustCompile(`\[+!+\[+([a-zA-Z ]*)+\]+\(+[a-zA-z]+://[^\s]*`) - -// build generates data from source files. -/*func (w *walker) build(srcs []*source) (*models.PkgInfo, error) { - // Set created time. - w.pinfo.Created = time.Now().UTC() - - // Add source files to walker, I skipped references here. - w.srcs = make(map[string]*source) - for _, src := range srcs { - w.srcs[src.name] = src - } - - w.fset = token.NewFileSet() - - // Find the package and associated files. - ctxt := build.Context{ - GOOS: runtime.GOOS, - GOARCH: runtime.GOARCH, - CgoEnabled: true, - JoinPath: path.Join, - IsAbsPath: path.IsAbs, - SplitPathList: func(list string) []string { return strings.Split(list, ":") }, - IsDir: func(path string) bool { panic("unexpected") }, - HasSubdir: func(root, dir string) (rel string, ok bool) { panic("unexpected") }, - ReadDir: func(dir string) (fi []os.FileInfo, err error) { return w.readDir(dir) }, - OpenFile: func(path string) (r io.ReadCloser, err error) { return w.openFile(path) }, - Compiler: "gc", - } - - bpkg, err := ctxt.ImportDir(w.pinfo.Path, 0) - // Continue if there are no Go source files; we still want the directory info. - _, nogo := err.(*build.NoGoError) - if err != nil { - if nogo { - err = nil - } else { - return w.pinfo, errors.New("doc.walker.build(): " + err.Error()) - } - } - - // Parse the Go files - - files := make(map[string]*ast.File) - for _, name := range append(bpkg.GoFiles, bpkg.CgoFiles...) { - file, err := parser.ParseFile(w.fset, name, w.srcs[name].data, parser.ParseComments) - if err != nil { - //beego.Error("doc.walker.build():", err) - continue - } - files[name] = file - } - - w.pinfo.Imports = bpkg.Imports - fmt.Println(w.pinfo) - // beego.Info("doc.walker.build(", pdoc.ImportPath, "), Goroutine #", runtime.NumGoroutine()) - return w.pinfo, err -} -*/ diff --git a/gpm.go b/gpm.go index a9d86e4b9..d2d3cce9b 100644 --- a/gpm.go +++ b/gpm.go @@ -23,9 +23,8 @@ import ( ) var ( - config tomlConfig - appPath string // Application path. - isWindows bool // Indicates if current system is windows. + config tomlConfig + appPath string // Application path. ) type tomlConfig struct { @@ -93,7 +92,6 @@ func getAppPath() bool { } if runtime.GOOS == "windows" { - isWindows = true // Replace all '\' to '/'. appPath = strings.Replace(filepath.Dir(appPath), "\\", "/", -1) + "/" } diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index d3a80ebac..78bf628e7 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -18,6 +18,7 @@ The list flags accept a space-separated list of strings. To embed spaces in an element in the list, surround it with either single or double quotes. For more about specifying packages, see 'go help packages'. -For more about hash, see 'gpm help hash'. +For more about bundle, see 'gpm help bundle'. +For more about snapshot, see 'gpm help snapshot'. See also: gpm build. diff --git a/install.go b/install.go index 07e23fa9a..a6e60bdf3 100644 --- a/install.go +++ b/install.go @@ -21,7 +21,7 @@ var ( ) var cmdInstall = &Command{ - UsageLine: "install [install flags] ", + UsageLine: "install [install flags] ", } func init() { @@ -34,88 +34,145 @@ func init() { } } -func runInstall(cmd *Command, args []string) { - // Check if has flags. - num := 0 +// printPrompt prints prompt information to users to +// let them know what's going on. +func printPrompt(flag string) { + switch flag { + case "-p": + fmt.Printf("You enabled pure download.\n") + case "-d": + fmt.Printf("You enabled download without installing.\n") + } +} + +// checkFlags checks if the flag exists with correct format. +func checkFlags(args []string) int { + num := 0 // Number of valid flags, use to cut out. for i, f := range args { - if strings.Index(f, "-") > -1 { - // Deal with flags. - if _, ok := cmdInstall.Flags[f]; ok { - cmdInstall.Flags[f] = true - printPrompt(f) - } else { - fmt.Printf("Unknown flag: %s.\n", f) - return - } - num = i + 1 + // Check flag prefix '-'. + if !strings.HasPrefix(f, "-") { + // Not a flag, finish check process. + break } + + // Check if it a valid flag. + /* Here we use ok pattern to check it because + this way can avoid same flag appears multiple times.*/ + if _, ok := cmdInstall.Flags[f]; ok { + cmdInstall.Flags[f] = true + printPrompt(f) + } else { + fmt.Printf("Unknown flag: %s.\n", f) + return -1 + } + num = i + 1 + } + + return num +} + +// checkVCSTool checks if users have installed version control tools. +func checkVCSTool() { + // git. + if _, err := exec.LookPath("git"); err == nil { + isHasGit = true + } + // hg. + if _, err := exec.LookPath("hg"); err == nil { + isHasHg = true + } + // svn. +} + +func runInstall(cmd *Command, args []string) { + // Check flags. + num := checkFlags(args) + if num == -1 { + return } - // Cut out flag. args = args[num:] // Check length of arguments. if len(args) < 1 { - fmt.Printf("Please list at least one package.\n") + fmt.Printf("Please list at least one package/bundle/snapshot.\n") return } // Check version control tools. - _, err := exec.LookPath("git") - if err == nil { - isHasGit = true - } - _, err = exec.LookPath("hg") - if err == nil { - isHasHg = true - } + checkVCSTool() - // Install package(s). - for _, p := range args { - // Check if it is a hash string. - // TODO + // Download packages. + commits := make([]string, len(args)) + downloadPackages(args, commits) - // Check if it is vaild remote path. - if !utils.IsValidRemotePath(p) { - fmt.Printf("Invalid remote path: %s.\n", p) - } else { - downloadPackage(p, "") - } - } + // Install packages all together. + fmt.Println("Well done.") } -func printPrompt(flag string) { - switch flag { - case "-p": - fmt.Println("You enabled pure download.") - case "-d": - fmt.Println("You enabled download without installing.") +// downloadPackages downloads packages with certain commit, +// if the commit is empty string, then it downloads all dependencies, +// otherwise, it only downloada package with specific commit only. +func downloadPackages(pkgs, commits []string) { + // Check all packages, they may be bundles, snapshots or raw packages path. + for i, p := range pkgs { + // Check if it is a bundle or snapshot. + switch { + case p[0] == 'B': + // TODO: api.GetBundleInfo() + case p[0] == 'S': + // TODO: api.GetSnapshotInfo() + case utils.IsValidRemotePath(p) && !downloadCache[p]: + // Download package. + pkg, imports := downloadPackage(p, commits[i]) + if imports != nil { + // Need to download dependencies. + tags := make([]string, len(imports)) + downloadPackages(imports, tags) + continue + } + + // Only save package information with specific commit. + if pkg != nil { + // Save record in local database. + fmt.Printf("Saved information: %s:%s.\n", pkg.ImportPath, pkg.Commit) + } + default: + // Invalid import path. + fmt.Printf("Skipped invalid import path: %s.\n", p) + } } } // downloadPackage download package either use version control tools or not. -func downloadPackage(path, commit string) { +func downloadPackage(path, commit string) (pkg *doc.Package, imports []string) { // Check if use version control tools. switch { case !cmdInstall.Flags["-p"] && ((path[0] == 'g' && isHasGit) || (path[0] == 'c' && isHasHg)): // github.com, code.google.com + fmt.Printf("Installing package(%s) through 'go get'.\n", path) args := checkGoGetFlags() args = append(args, path) - fmt.Printf("Installing package: %s.\n", path) executeGoCommand(args) + return nil, nil default: // Pure download. if !cmdInstall.Flags["-p"] { - fmt.Printf("No version control tool available, pure download enabled!\n") + cmdInstall.Flags["-p"] = true + fmt.Printf("No version control tool is available, pure download enabled!\n") } fmt.Printf("Downloading package: %s.\n", path) - pkg, err := pureDownload(path, commit) + // Mark as donwloaded. + downloadCache[path] = true + + var err error + pkg, imports, err = pureDownload(path, commit) if err != nil { fmt.Printf("Fail to download package(%s) with error: %s.\n", path, err) + return nil, nil } else { fmt.Println(pkg) - fmt.Printf("Checking imports(%s).\n", path) - - fmt.Printf("Installing package: %s.\n", path) + fmt.Printf("Downloaded package: %s.\n", path) + return pkg, imports } } } @@ -137,7 +194,7 @@ func checkGoGetFlags() (args []string) { type service struct { pattern *regexp.Regexp prefix string - get func(*http.Client, map[string]string, string) (*doc.Package, error) + get func(*http.Client, map[string]string, string) (*doc.Package, []string, error) } // services is the list of source code control services handled by gopkgdoc. @@ -148,8 +205,8 @@ var services = []*service{ //{launchpadPattern, "launchpad.net/", getLaunchpadDoc}, } -// pureDownload downloads package without control control. -func pureDownload(path, commit string) (pinfo *doc.Package, err error) { +// pureDownload downloads package without version control. +func pureDownload(path, commit string) (pinfo *doc.Package, imports []string, err error) { for _, s := range services { if s.get == nil || !strings.HasPrefix(path, s.prefix) { continue @@ -157,7 +214,8 @@ func pureDownload(path, commit string) (pinfo *doc.Package, err error) { m := s.pattern.FindStringSubmatch(path) if m == nil { if s.prefix != "" { - return nil, doc.NotFoundError{"Import path prefix matches known service, but regexp does not."} + return nil, nil, + doc.NotFoundError{"Import path prefix matches known service, but regexp does not."} } continue } @@ -169,5 +227,5 @@ func pureDownload(path, commit string) (pinfo *doc.Package, err error) { } return s.get(doc.HttpClient, match, commit) } - return nil, doc.ErrNoMatch + return nil, nil, doc.ErrNoMatch } diff --git a/utils/utils.go b/utils/utils.go index be7056e9e..4f3471343 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -369,7 +369,7 @@ func IsValidRemotePath(importPath string) bool { return true } -// GetGOPATHs return all GOPATH in system. +// GetGOPATH return all GOPATH in system. func GetGOPATH() []string { gopath := os.Getenv("GOPATH") var paths []string From 63a27f647d747a9e653a8d14ed1ca6b8100ab6fa Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 13:46:01 -0400 Subject: [PATCH 017/287] clean code: install.go --- doc/github.go | 172 +++++++++++++++++++++++++------------------------- install.go | 6 +- 2 files changed, 92 insertions(+), 86 deletions(-) diff --git a/doc/github.go b/doc/github.go index a0e063ec2..899638738 100644 --- a/doc/github.go +++ b/doc/github.go @@ -28,108 +28,110 @@ func SetGithubCredentials(id, secret string) { githubCred = "client_id=" + id + "&client_secret=" + secret } +// GetGithubDoc downloads tarball from github.com. func GetGithubDoc(client *http.Client, match map[string]string, commit string) (*Package, []string, error) { - /*SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") + SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred - var refs []*struct { - Object struct { - Type string - Sha string - Url string - } - Ref string - Url string - } - - // Check if has specific commit. - if len(commit) == 0 { - // Get up-to-date version. - err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) - if err != nil { - return nil, err + /* + var refs []*struct { + Object struct { + Type string + Sha string + Url string + } + Ref string + Url string } - tags := make(map[string]string) - for _, ref := range refs { - switch { - case strings.HasPrefix(ref.Ref, "refs/heads/"): - tags[ref.Ref[len("refs/heads/"):]] = ref.Object.Sha - case strings.HasPrefix(ref.Ref, "refs/tags/"): - tags[ref.Ref[len("refs/tags/"):]] = ref.Object.Sha + // Check if has specific commit. + if len(commit) == 0 { + // Get up-to-date version. + err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) + if err != nil { + return nil, err } - } - // Check revision tag. - match["tag"], commit, err = bestTag(tags, "master") - if err != nil { - return nil, err - } - } - - match["sha"] = commit - // Download zip. - p, err := httpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) - if err != nil { - return nil, err - } - - r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) - if err != nil { - return nil, err - } - //defer r.Close() - - shaName := expand("{repo}-{sha}", match) - paths := utils.GetGOPATH() - importPath := "github.com/" + expand("{owner}/{repo}", match) - installPath := paths[0] + "/src/" + importPath - // Create destination directory - os.Mkdir(installPath, os.ModePerm) - - dirs := make([]string, 0, 5) - for _, f := range r.File { - absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) - fmt.Printf("Unzipping %s...", absPath) - - // Check if it is directory or not. - if strings.HasSuffix(absPath, "/") { - // Directory. - dirs = append(dirs, absPath) - continue - } + tags := make(map[string]string) + for _, ref := range refs { + switch { + case strings.HasPrefix(ref.Ref, "refs/heads/"): + tags[ref.Ref[len("refs/heads/"):]] = ref.Object.Sha + case strings.HasPrefix(ref.Ref, "refs/tags/"): + tags[ref.Ref[len("refs/tags/"):]] = ref.Object.Sha + } + } - // Get files from archive - rc, err := f.Open() - if err != nil { - return nil, err + // Check revision tag. + match["tag"], commit, err = bestTag(tags, "master") + if err != nil { + return nil, err + } } - // Create diretory before create file - os.MkdirAll(path.Dir(absPath), os.ModePerm) - // Write data to file - fw, _ := os.Create(absPath) + match["sha"] = commit + // Download zip. + p, err := httpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) if err != nil { return nil, err } - n, err := io.Copy(fw, rc) + r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) if err != nil { return nil, err } - fmt.Println(n) - - /*localF, _ := os.Open(absPath) - fbytes := make([]byte, f.FileInfo().Size()) - n, _ := localF.Read(fbytes) - - // Check if Go source file. - if n > 0 && strings.HasSuffix(absPath, ".go") { - files = append(files, &source{ - name: srcName, - data: fbytes, - }) - }*/ + //defer r.Close() + + shaName := expand("{repo}-{sha}", match) + paths := utils.GetGOPATH() + importPath := "github.com/" + expand("{owner}/{repo}", match) + installPath := paths[0] + "/src/" + importPath + // Create destination directory + os.Mkdir(installPath, os.ModePerm) + + dirs := make([]string, 0, 5) + for _, f := range r.File { + absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) + fmt.Printf("Unzipping %s...", absPath) + + // Check if it is directory or not. + if strings.HasSuffix(absPath, "/") { + // Directory. + dirs = append(dirs, absPath) + continue + } + + // Get files from archive + rc, err := f.Open() + if err != nil { + return nil, err + } + + // Create diretory before create file + os.MkdirAll(path.Dir(absPath), os.ModePerm) + // Write data to file + fw, _ := os.Create(absPath) + if err != nil { + return nil, err + } + + n, err := io.Copy(fw, rc) + if err != nil { + return nil, err + } + fmt.Println(n) + + /*localF, _ := os.Open(absPath) + fbytes := make([]byte, f.FileInfo().Size()) + n, _ := localF.Read(fbytes) + + // Check if Go source file. + if n > 0 && strings.HasSuffix(absPath, ".go") { + files = append(files, &source{ + name: srcName, + data: fbytes, + }) + }*/ /* } pkg := &Package{ diff --git a/install.go b/install.go index a6e60bdf3..e1cfeaa0f 100644 --- a/install.go +++ b/install.go @@ -105,7 +105,11 @@ func runInstall(cmd *Command, args []string) { commits := make([]string, len(args)) downloadPackages(args, commits) - // Install packages all together. + if !cmdInstall.Flags["d"] { + // Install packages all together. + fmt.Printf("Installing package: %s.\n") + } + fmt.Println("Well done.") } From 864b1d79b1a1155257dd9b9c5aaa4a61cd19c9d7 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 14:32:03 -0400 Subject: [PATCH 018/287] clean code: github.go --- doc/github.go | 209 +++++++++++++++++++++++++++----------------------- 1 file changed, 111 insertions(+), 98 deletions(-) diff --git a/doc/github.go b/doc/github.go index 899638738..7eaa5fd38 100644 --- a/doc/github.go +++ b/doc/github.go @@ -5,17 +5,16 @@ package doc import ( - /*"archive/zip" + "archive/zip" "bytes" - "fmt" - "io"*/ + "io" "net/http" - /*"os" - "path"*/ + "os" + "path" "regexp" - //"strings" + "strings" - //"github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gpm/utils" ) var ( @@ -33,113 +32,127 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string) ( SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred - /* - var refs []*struct { - Object struct { - Type string - Sha string - Url string - } - Ref string - Url string + // JSON struct for github.com. + var refs []*struct { + Ref string + Url string + Object struct { + Sha string + Type string + Url string } + } - // Check if has specific commit. - if len(commit) == 0 { - // Get up-to-date version. - err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) - if err != nil { - return nil, err - } + // bundle and snapshot will have commit 'B' and 'S', + // but does not need to download dependencies. + isCheckImport := len(commit) == 0 - tags := make(map[string]string) - for _, ref := range refs { - switch { - case strings.HasPrefix(ref.Ref, "refs/heads/"): - tags[ref.Ref[len("refs/heads/"):]] = ref.Object.Sha - case strings.HasPrefix(ref.Ref, "refs/tags/"): - tags[ref.Ref[len("refs/tags/"):]] = ref.Object.Sha - } - } + // Check if download with specific revision. + if isCheckImport || len(commit) == 1 { + // Get up-to-date version. + err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) + if err != nil { + return nil, nil, err + } - // Check revision tag. - match["tag"], commit, err = bestTag(tags, "master") - if err != nil { - return nil, err + tags := make(map[string]string) + for _, ref := range refs { + switch { + case strings.HasPrefix(ref.Ref, "refs/heads/"): + tags[ref.Ref[len("refs/heads/"):]] = ref.Object.Sha + case strings.HasPrefix(ref.Ref, "refs/tags/"): + tags[ref.Ref[len("refs/tags/"):]] = ref.Object.Sha } } - match["sha"] = commit - // Download zip. - p, err := httpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) + // Check revision tag. + match["tag"], commit, err = bestTag(tags, "master") if err != nil { - return nil, err + return nil, nil, err + } + } + + // We use .zip here. + // zip : https://github.com/{owner}/{repo}/archive/{sha}.zip + // tarball : https://github.com/{owner}/{repo}/tarball/{sha} + + match["sha"] = commit + // Downlaod archive. + p, err := httpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) + if err != nil { + return nil, nil, err + } + + r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) + if err != nil { + return nil, nil, err + } + + shaName := expand("{repo}-{sha}", match) + paths := utils.GetGOPATH() + importPath := "github.com/" + expand("{owner}/{repo}", match) + installPath := paths[0] + "/src/" + importPath + + // Remove old files. + os.RemoveAll(installPath) + // Create destination directory. + os.Mkdir(installPath, os.ModePerm) + + dirs := make([]string, 0, 5) + for _, f := range r.File { + absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) + + // Check if it is directory or not. + if strings.HasSuffix(absPath, "/") { + // Directory. + dirs = append(dirs, absPath) + continue } - r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) + // Get files from archive. + rc, err := f.Open() if err != nil { - return nil, err + return nil, nil, err } - //defer r.Close() - - shaName := expand("{repo}-{sha}", match) - paths := utils.GetGOPATH() - importPath := "github.com/" + expand("{owner}/{repo}", match) - installPath := paths[0] + "/src/" + importPath - // Create destination directory - os.Mkdir(installPath, os.ModePerm) - - dirs := make([]string, 0, 5) - for _, f := range r.File { - absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) - fmt.Printf("Unzipping %s...", absPath) - - // Check if it is directory or not. - if strings.HasSuffix(absPath, "/") { - // Directory. - dirs = append(dirs, absPath) - continue - } - // Get files from archive - rc, err := f.Open() - if err != nil { - return nil, err - } + // Create diretory before create file + os.MkdirAll(path.Dir(absPath), os.ModePerm) + // Write data to file + fw, _ := os.Create(absPath) + if err != nil { + return nil, nil, err + } - // Create diretory before create file - os.MkdirAll(path.Dir(absPath), os.ModePerm) - // Write data to file - fw, _ := os.Create(absPath) - if err != nil { - return nil, err - } + _, err = io.Copy(fw, rc) + if err != nil { + return nil, nil, err + } - n, err := io.Copy(fw, rc) - if err != nil { - return nil, err - } - fmt.Println(n) - - /*localF, _ := os.Open(absPath) - fbytes := make([]byte, f.FileInfo().Size()) - n, _ := localF.Read(fbytes) - - // Check if Go source file. - if n > 0 && strings.HasSuffix(absPath, ".go") { - files = append(files, &source{ - name: srcName, - data: fbytes, - }) - }*/ - /* } - - pkg := &Package{ - ImportPath: importPath, - AbsPath: installPath, - Commit: commit, - Dirs: dirs, + /*localF, _ := os.Open(absPath) + fbytes := make([]byte, f.FileInfo().Size()) + n, _ := localF.Read(fbytes) + + // Check if Go source file. + if n > 0 && strings.HasSuffix(absPath, ".go") { + files = append(files, &source{ + name: srcName, + data: fbytes, + }) }*/ + } + + // Check if need to check imports. + if isCheckImport { + + } else { + + } + /*pkg := &Package{ + ImportPath: importPath, + AbsPath: installPath, + Commit: commit, + Dirs: dirs, + }*/ return nil, nil, nil } From 8924ef944a3a9f0e24cf7d2e7158d6b6accc360f Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 15:11:27 -0400 Subject: [PATCH 019/287] clean code: walker.go --- doc/github.go | 71 +++++++++++++++++------- doc/struct.go | 16 +++--- doc/walker.go | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++ install.go | 2 +- 4 files changed, 206 insertions(+), 30 deletions(-) create mode 100644 doc/walker.go diff --git a/doc/github.go b/doc/github.go index 7eaa5fd38..0c2f41493 100644 --- a/doc/github.go +++ b/doc/github.go @@ -127,32 +127,65 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string) ( if err != nil { return nil, nil, err } + } - /*localF, _ := os.Open(absPath) - fbytes := make([]byte, f.FileInfo().Size()) - n, _ := localF.Read(fbytes) - - // Check if Go source file. - if n > 0 && strings.HasSuffix(absPath, ".go") { - files = append(files, &source{ - name: srcName, - data: fbytes, - }) - }*/ + pkg := &Package{ + ImportPath: importPath, + AbsPath: installPath, + Commit: commit, } + var imports []string + // Check if need to check imports. if isCheckImport { + for _, d := range dirs { + dir, err := os.Open(d) + if err != nil { + return nil, nil, err + } + defer dir.Close() + + // Get file info slice. + fis, err := dir.Readdir(0) + if err != nil { + return nil, nil, err + } - } else { + files := make([]*source, 0, 10) + for _, fi := range fis { + // Only handle files. + if strings.HasSuffix(fi.Name(), ".go") { + f, err := os.Open(d + "/" + fi.Name()) + if err != nil { + return nil, nil, err + } + defer f.Close() + + fbytes := make([]byte, fi.Size()) + _, err = f.Read(fbytes) + if err != nil { + return nil, nil, err + } + + files = append(files, &source{ + name: importPath + "/" + fi.Name(), + data: fbytes, + }) + } + } + // Check if has Go source files. + if len(files) > 0 { + w := &walker{ImportPath: importPath} + importPkgs, err := w.build(files) + if err != nil { + return nil, nil, err + } + imports = append(imports, importPkgs...) + } + } } - /*pkg := &Package{ - ImportPath: importPath, - AbsPath: installPath, - Commit: commit, - Dirs: dirs, - }*/ - return nil, nil, nil + return pkg, imports, err } diff --git a/doc/struct.go b/doc/struct.go index b04be3093..d92bf03a6 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -21,17 +21,13 @@ type Package struct { // Imports. Imports []string - - // Directories. - Dirs []string } // source is source code file. type source struct { - name string - browseURL string - rawURL string - data []byte + rawURL string + name string + data []byte } func (s *source) Name() string { return s.name } @@ -43,7 +39,7 @@ func (s *source) Sys() interface{} { return nil } // walker holds the state used when building the documentation. type walker struct { - pkg *Package - srcs map[string]*source // Source files. - fset *token.FileSet + ImportPath string + srcs map[string]*source // Source files. + fset *token.FileSet } diff --git a/doc/walker.go b/doc/walker.go new file mode 100644 index 000000000..b5cce47e7 --- /dev/null +++ b/doc/walker.go @@ -0,0 +1,147 @@ +// Copyright 2011 Gary Burd +// Copyright 2013 Unknown +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "bytes" + "errors" + "go/ast" + "go/build" + "go/parser" + "go/token" + "io" + "io/ioutil" + "os" + "path" + "runtime" + "strings" + /* + "fmt" + "regexp" + "time"*/ + + //"github.com/GPMGo/gpm/models" + //"github.com/GPMGo/gpm/utils" +) + +type sliceWriter struct{ p *[]byte } + +func (w sliceWriter) Write(p []byte) (int, error) { + *w.p = append(*w.p, p...) + return len(p), nil +} + +func (w *walker) readDir(dir string) ([]os.FileInfo, error) { + if dir != w.ImportPath { + panic("unexpected") + } + fis := make([]os.FileInfo, 0, len(w.srcs)) + for _, src := range w.srcs { + fis = append(fis, src) + } + return fis, nil +} + +func (w *walker) openFile(path string) (io.ReadCloser, error) { + if strings.HasPrefix(path, w.ImportPath+"/") { + if src, ok := w.srcs[path[len(w.ImportPath)+1:]]; ok { + return ioutil.NopCloser(bytes.NewReader(src.data)), nil + } + } + panic("unexpected") +} + +func simpleImporter(imports map[string]*ast.Object, path string) (*ast.Object, error) { + pkg := imports[path] + if pkg == nil { + // Guess the package name without importing it. Start with the last + // element of the path. + name := path[strings.LastIndex(path, "/")+1:] + + // Trim commonly used prefixes and suffixes containing illegal name + // runes. + name = strings.TrimSuffix(name, ".go") + name = strings.TrimSuffix(name, "-go") + name = strings.TrimPrefix(name, "go.") + name = strings.TrimPrefix(name, "go-") + name = strings.TrimPrefix(name, "biogo.") + + // It's also common for the last element of the path to contain an + // extra "go" prefix, but not always. TODO: examine unresolved ids to + // detect when trimming the "go" prefix is appropriate. + + pkg = ast.NewObj(ast.Pkg, name) + pkg.Data = ast.NewScope(nil) + imports[path] = pkg + } + return pkg, nil +} + +// build gets imports from source files. +func (w *walker) build(srcs []*source) ([]string, error) { + // Add source files to walker, I skipped references here. + w.srcs = make(map[string]*source) + for _, src := range srcs { + w.srcs[src.name] = src + } + + w.fset = token.NewFileSet() + + // Find the package and associated files. + ctxt := build.Context{ + GOOS: runtime.GOOS, + GOARCH: runtime.GOARCH, + CgoEnabled: true, + JoinPath: path.Join, + IsAbsPath: path.IsAbs, + SplitPathList: func(list string) []string { return strings.Split(list, ":") }, + IsDir: func(path string) bool { panic("unexpected") }, + HasSubdir: func(root, dir string) (rel string, ok bool) { panic("unexpected") }, + ReadDir: func(dir string) (fi []os.FileInfo, err error) { return w.readDir(dir) }, + OpenFile: func(path string) (r io.ReadCloser, err error) { return w.openFile(path) }, + Compiler: "gc", + } + + bpkg, err := ctxt.ImportDir(w.ImportPath, 0) + // Continue if there are no Go source files; we still want the directory info. + _, nogo := err.(*build.NoGoError) + if err != nil { + if nogo { + err = nil + } else { + return nil, errors.New("doc.walker.build(): " + err.Error()) + } + } + + // Parse the Go files + + files := make(map[string]*ast.File) + for _, name := range append(bpkg.GoFiles, bpkg.CgoFiles...) { + file, err := parser.ParseFile(w.fset, name, w.srcs[name].data, parser.ParseComments) + if err != nil { + //beego.Error("doc.walker.build():", err) + continue + } + files[name] = file + } + + var imports []string + /* for _, v := range bpkg.Imports { + // Skip strandard library. + + }*/ + return imports, err +} diff --git a/install.go b/install.go index e1cfeaa0f..1d0424cda 100644 --- a/install.go +++ b/install.go @@ -128,7 +128,7 @@ func downloadPackages(pkgs, commits []string) { case utils.IsValidRemotePath(p) && !downloadCache[p]: // Download package. pkg, imports := downloadPackage(p, commits[i]) - if imports != nil { + if len(imports) > 0 { // Need to download dependencies. tags := make([]string, len(imports)) downloadPackages(imports, tags) From 1ca61a150d87a317dd1fcabefaa016f4292fa429 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 15:15:03 -0400 Subject: [PATCH 020/287] clean code: walker.go --- doc/walker.go | 15 ++--- utils/utils.go | 149 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+), 9 deletions(-) diff --git a/doc/walker.go b/doc/walker.go index b5cce47e7..31ee21b77 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -28,13 +28,8 @@ import ( "path" "runtime" "strings" - /* - "fmt" - "regexp" - "time"*/ - //"github.com/GPMGo/gpm/models" - //"github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gpm/utils" ) type sliceWriter struct{ p *[]byte } @@ -139,9 +134,11 @@ func (w *walker) build(srcs []*source) ([]string, error) { } var imports []string - /* for _, v := range bpkg.Imports { + for _, v := range bpkg.Imports { // Skip strandard library. - - }*/ + if !utils.IsGoRepoPath(v) { + imports = append(imports, v) + } + } return imports, err } diff --git a/utils/utils.go b/utils/utils.go index 4f3471343..a51c4e612 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -381,3 +381,152 @@ func GetGOPATH() []string { } return paths } + +var standardPath = map[string]bool{ + "builtin": true, + + // go list -f '"{{.ImportPath}}": true,' std | grep -v 'cmd/|exp/' + "cmd/api": true, + "cmd/cgo": true, + "cmd/fix": true, + "cmd/go": true, + "cmd/godoc": true, + "cmd/gofmt": true, + "cmd/vet": true, + "cmd/yacc": true, + "archive/tar": true, + "archive/zip": true, + "bufio": true, + "bytes": true, + "compress/bzip2": true, + "compress/flate": true, + "compress/gzip": true, + "compress/lzw": true, + "compress/zlib": true, + "container/heap": true, + "container/list": true, + "container/ring": true, + "crypto": true, + "crypto/aes": true, + "crypto/cipher": true, + "crypto/des": true, + "crypto/dsa": true, + "crypto/ecdsa": true, + "crypto/elliptic": true, + "crypto/hmac": true, + "crypto/md5": true, + "crypto/rand": true, + "crypto/rc4": true, + "crypto/rsa": true, + "crypto/sha1": true, + "crypto/sha256": true, + "crypto/sha512": true, + "crypto/subtle": true, + "crypto/tls": true, + "crypto/x509": true, + "crypto/x509/pkix": true, + "database/sql": true, + "database/sql/driver": true, + "debug/dwarf": true, + "debug/elf": true, + "debug/gosym": true, + "debug/macho": true, + "debug/pe": true, + "encoding/ascii85": true, + "encoding/asn1": true, + "encoding/base32": true, + "encoding/base64": true, + "encoding/binary": true, + "encoding/csv": true, + "encoding/gob": true, + "encoding/hex": true, + "encoding/json": true, + "encoding/pem": true, + "encoding/xml": true, + "errors": true, + "expvar": true, + "flag": true, + "fmt": true, + "go/ast": true, + "go/build": true, + "go/doc": true, + "go/format": true, + "go/parser": true, + "go/printer": true, + "go/scanner": true, + "go/token": true, + "hash": true, + "hash/adler32": true, + "hash/crc32": true, + "hash/crc64": true, + "hash/fnv": true, + "html": true, + "html/template": true, + "image": true, + "image/color": true, + "image/draw": true, + "image/gif": true, + "image/jpeg": true, + "image/png": true, + "index/suffixarray": true, + "io": true, + "io/ioutil": true, + "log": true, + "log/syslog": true, + "math": true, + "math/big": true, + "math/cmplx": true, + "math/rand": true, + "mime": true, + "mime/multipart": true, + "net": true, + "net/http": true, + "net/http/cgi": true, + "net/http/cookiejar": true, + "net/http/fcgi": true, + "net/http/httptest": true, + "net/http/httputil": true, + "net/http/pprof": true, + "net/mail": true, + "net/rpc": true, + "net/rpc/jsonrpc": true, + "net/smtp": true, + "net/textproto": true, + "net/url": true, + "os": true, + "os/exec": true, + "os/signal": true, + "os/user": true, + "path": true, + "path/filepath": true, + "reflect": true, + "regexp": true, + "regexp/syntax": true, + "runtime": true, + "runtime/cgo": true, + "runtime/debug": true, + "runtime/pprof": true, + "sort": true, + "strconv": true, + "strings": true, + "sync": true, + "sync/atomic": true, + "syscall": true, + "testing": true, + "testing/iotest": true, + "testing/quick": true, + "text/scanner": true, + "text/tabwriter": true, + "text/template": true, + "text/template/parse": true, + "time": true, + "unicode": true, + "unicode/utf16": true, + "unicode/utf8": true, + "unsafe": true, +} + +// IsGoRepoPath returns true if package is from standard library +func IsGoRepoPath(importPath string) bool { + return standardPath[importPath] +} From 90cd6f655d7053e23448836d12e68f02c6fe50e1 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 16:05:46 -0400 Subject: [PATCH 021/287] finish command: install, support github.com only --- conf/gpm.toml | 2 +- doc/github.go | 10 +++++++--- doc/walker.go | 3 ++- install.go | 42 +++++++++++++++++++++++------------------- 4 files changed, 33 insertions(+), 24 deletions(-) diff --git a/conf/gpm.toml b/conf/gpm.toml index 7757b2316..144841e0a 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,5 +1,5 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.0.2 Build 0519" +version = "v0.0.3 Build 0519" user_language = "en-US" \ No newline at end of file diff --git a/doc/github.go b/doc/github.go index 0c2f41493..392439a20 100644 --- a/doc/github.go +++ b/doc/github.go @@ -98,6 +98,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string) ( // Create destination directory. os.Mkdir(installPath, os.ModePerm) + //dirMap := make(map[string][]*source) dirs := make([]string, 0, 5) for _, f := range r.File { absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) @@ -124,6 +125,8 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string) ( } _, err = io.Copy(fw, rc) + rc.Close() + fw.Close() if err != nil { return nil, nil, err } @@ -156,20 +159,21 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string) ( for _, fi := range fis { // Only handle files. if strings.HasSuffix(fi.Name(), ".go") { - f, err := os.Open(d + "/" + fi.Name()) + f, err := os.Open(d + fi.Name()) if err != nil { return nil, nil, err } - defer f.Close() fbytes := make([]byte, fi.Size()) _, err = f.Read(fbytes) + f.Close() + //fmt.Println(d+fi.Name(), fi.Size(), n) if err != nil { return nil, nil, err } files = append(files, &source{ - name: importPath + "/" + fi.Name(), + name: fi.Name(), data: fbytes, }) } diff --git a/doc/walker.go b/doc/walker.go index 31ee21b77..b9f3a247a 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -136,9 +136,10 @@ func (w *walker) build(srcs []*source) ([]string, error) { var imports []string for _, v := range bpkg.Imports { // Skip strandard library. - if !utils.IsGoRepoPath(v) { + if !utils.IsGoRepoPath(v) && v != w.ImportPath { imports = append(imports, v) } } + return imports, err } diff --git a/install.go b/install.go index 1d0424cda..d3e4d1d1c 100644 --- a/install.go +++ b/install.go @@ -105,7 +105,7 @@ func runInstall(cmd *Command, args []string) { commits := make([]string, len(args)) downloadPackages(args, commits) - if !cmdInstall.Flags["d"] { + if !cmdInstall.Flags["d"] && cmdInstall.Flags["-p"] { // Install packages all together. fmt.Printf("Installing package: %s.\n") } @@ -125,20 +125,24 @@ func downloadPackages(pkgs, commits []string) { // TODO: api.GetBundleInfo() case p[0] == 'S': // TODO: api.GetSnapshotInfo() - case utils.IsValidRemotePath(p) && !downloadCache[p]: - // Download package. - pkg, imports := downloadPackage(p, commits[i]) - if len(imports) > 0 { - // Need to download dependencies. - tags := make([]string, len(imports)) - downloadPackages(imports, tags) - continue - } - - // Only save package information with specific commit. - if pkg != nil { - // Save record in local database. - fmt.Printf("Saved information: %s:%s.\n", pkg.ImportPath, pkg.Commit) + case utils.IsValidRemotePath(p): + if !downloadCache[p] { + // Download package. + pkg, imports := downloadPackage(p, commits[i]) + if len(imports) > 0 { + // Need to download dependencies. + tags := make([]string, len(imports)) + downloadPackages(imports, tags) + continue + } + + // Only save package information with specific commit. + if pkg != nil { + // Save record in local database. + //fmt.Printf("Saved information: %s:%s.\n", pkg.ImportPath, pkg.Commit) + } + } else { + fmt.Printf("Skipped downloaded package: %s.\n", p) } default: // Invalid import path. @@ -173,11 +177,11 @@ func downloadPackage(path, commit string) (pkg *doc.Package, imports []string) { if err != nil { fmt.Printf("Fail to download package(%s) with error: %s.\n", path, err) return nil, nil - } else { - fmt.Println(pkg) - fmt.Printf("Downloaded package: %s.\n", path) - return pkg, imports } + + //fmt.Println(pkg) + //fmt.Printf("Downloaded package: %s.\n", path) + return pkg, imports } } From 6d6437f1bf4cc546adbef1a8e3ffdd7bc63a1f2d Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 16:31:58 -0400 Subject: [PATCH 022/287] readme.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5501fbeba..bae873ef1 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,8 @@ gpm - Go Package Manager ![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) -gpm(Go Package Manager) is a Go package manage tool for search, install, update, save and share your packages in Go. +gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. + +## Todo + +- Command `install` add support for code.google.com, launchpad.net, bitbucket.org. \ No newline at end of file From bc40cfb334502d89dd7b09f4b23d8dadda0ad640 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 19:54:06 -0400 Subject: [PATCH 023/287] update --- build.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/build.go b/build.go index afd196f41..61cd986d5 100644 --- a/build.go +++ b/build.go @@ -41,12 +41,14 @@ func runBuild(cmd *Command, args []string) { for _, v := range paths { if utils.IsExist(v + "/bin/" + proName) { - err := os.Remove(wd + "/" + proName) - if err != nil { - fmt.Printf("Fail to remove file in current directory: %s.\n", err) - return + if utils.IsExist(wd + "/" + proName) { + err := os.Remove(wd + "/" + proName) + if err != nil { + fmt.Printf("Fail to remove file in current directory: %s.\n", err) + return + } } - err = os.Rename(v+"/bin/"+proName, wd+"/"+proName) + err := os.Rename(v+"/bin/"+proName, wd+"/"+proName) if err == nil { fmt.Printf("Moved file from $GOPATH(%s) to current directory(%s).\n", v, wd) return From 5b6e56f0a1f01abf2603af2e6b02fcaa95f0b5b5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 19 May 2013 22:21:55 -0400 Subject: [PATCH 024/287] little fix --- doc/http.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/http.go b/doc/http.go index 5b9494e34..58e574735 100644 --- a/doc/http.go +++ b/doc/http.go @@ -18,7 +18,7 @@ import ( var userAgent = "go application" var ( - dialTimeout = flag.Duration("dial_timeout", 5*time.Second, "Timeout for dialing an HTTP connection.") + dialTimeout = flag.Duration("dial_timeout", 30*time.Second, "Timeout for dialing an HTTP connection.") readTimeout = flag.Duration("read_timeout", 10*time.Second, "Timeoout for reading an HTTP response.") writeTimeout = flag.Duration("write_timeout", 5*time.Second, "Timeout writing an HTTP request.") ) @@ -77,6 +77,7 @@ func httpGet(client *http.Client, url string, header http.Header) (io.ReadCloser if err != nil { return nil, &RemoteError{req.URL.Host, err} } + if resp.StatusCode == 200 { return resp.Body, nil } From c4ed4e68c724f77366e28aae8797cf5ca53850ed Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 20 May 2013 16:56:49 -0400 Subject: [PATCH 025/287] add todo --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bae873ef1..017128b07 100644 --- a/README.md +++ b/README.md @@ -7,4 +7,8 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update ## Todo -- Command `install` add support for code.google.com, launchpad.net, bitbucket.org. \ No newline at end of file +- Command `install` add support for downloading code from code.google.com, launchpad.net, bitbucket.org; hopefully, support user sources for downloading tarballs. +- After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. +- Develop user source API server template application to support user sources in bundles. +- Add bundle and snapshot parser code for downloading by bundle or snapshot id. +- Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. \ No newline at end of file From bda36c33fdf4e2023b51a779994bb286458004e1 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 20 May 2013 17:03:29 -0400 Subject: [PATCH 026/287] add todo --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 017128b07..860a64563 100644 --- a/README.md +++ b/README.md @@ -11,4 +11,5 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. - Develop user source API server template application to support user sources in bundles. - Add bundle and snapshot parser code for downloading by bundle or snapshot id. -- Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. \ No newline at end of file +- Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. +- Add option for whether download dependencies packages in example code or not. \ No newline at end of file From 6a2032653313bec40e4b55ad366277120d210872 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 20 May 2013 17:05:26 -0400 Subject: [PATCH 027/287] add todo --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 860a64563..d7f624ebc 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ gpm - Go Package Manager === -![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) +![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo.png?raw=true) gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. @@ -12,4 +12,5 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Develop user source API server template application to support user sources in bundles. - Add bundle and snapshot parser code for downloading by bundle or snapshot id. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. -- Add option for whether download dependencies packages in example code or not. \ No newline at end of file +- Add option for whether download dependencies packages in example code or not. +- Add gpm working principle design. \ No newline at end of file From cb5853dbea05d6dfe2c919bdc157fa5c3254c06d Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 20 May 2013 17:41:13 -0400 Subject: [PATCH 028/287] add flag -e for command install --- README.md | 1 + conf/gpm.toml | 2 ++ doc/github.go | 7 ++++++- gpm.go | 26 +++++++++++++++++++++----- i18n/en-US/usage_install.txt | 2 ++ install.go | 24 +++++++++++++----------- 6 files changed, 45 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index d7f624ebc..c4068b4b5 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update ## Todo - Command `install` add support for downloading code from code.google.com, launchpad.net, bitbucket.org; hopefully, support user sources for downloading tarballs. +- Command `install` installs all packages after downloaded. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. - Develop user source API server template application to support user sources in bundles. - Add bundle and snapshot parser code for downloading by bundle or snapshot id. diff --git a/conf/gpm.toml b/conf/gpm.toml index 144841e0a..5ccb9e962 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -2,4 +2,6 @@ title = "gpm(Go Package Manager)" version = "v0.0.3 Build 0519" +username = "" +password = "" user_language = "en-US" \ No newline at end of file diff --git a/doc/github.go b/doc/github.go index 392439a20..e14854e2c 100644 --- a/doc/github.go +++ b/doc/github.go @@ -28,7 +28,7 @@ func SetGithubCredentials(id, secret string) { } // GetGithubDoc downloads tarball from github.com. -func GetGithubDoc(client *http.Client, match map[string]string, commit string) (*Package, []string, error) { +func GetGithubDoc(client *http.Client, match map[string]string, commit string, isDownloadEx bool) (*Package, []string, error) { SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred @@ -143,6 +143,11 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string) ( // Check if need to check imports. if isCheckImport { for _, d := range dirs { + // Check if current directory is example. + if !isDownloadEx && strings.Contains(d, "example") { + continue + } + dir, err := os.Open(d) if err != nil { return nil, nil, err diff --git a/gpm.go b/gpm.go index d2d3cce9b..0020e9ad7 100644 --- a/gpm.go +++ b/gpm.go @@ -28,8 +28,9 @@ var ( ) type tomlConfig struct { - Title, Version string - Lang string `toml:"user_language"` + Title, Version string + Username, Password string + Lang string `toml:"user_language"` } // A Command is an implementation of a go command @@ -138,20 +139,35 @@ func loadUsage(lang, appPath string) bool { return true } -func main() { +// We don't use init() to initialize +// bacause we need to get execute path in runtime. +func initialize() bool { // Get application execute path. if !getAppPath() { - return + return false } // Load configuration. if _, err := toml.DecodeFile(appPath+"conf/gpm.toml", &config); err != nil { fmt.Println(err) - return + return false } // Load usages by language. if !loadUsage(config.Lang, appPath) { + return false + } + + // Create bundle and snapshot directories. + os.MkdirAll(appPath+"bundles", os.ModePerm) + os.MkdirAll(appPath+"snapshots", os.ModePerm) + + return true +} + +func main() { + // Initialization. + if !initialize() { return } diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index 78bf628e7..c11c54e11 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -13,6 +13,8 @@ The install flags are: download without installing packages. -u force to update pakcages. + -e + download dependencies for examples. The list flags accept a space-separated list of strings. To embed spaces in an element in the list, surround it with either single or double quotes. diff --git a/install.go b/install.go index d3e4d1d1c..afff74734 100644 --- a/install.go +++ b/install.go @@ -30,7 +30,8 @@ func init() { cmdInstall.Flags = map[string]bool{ "-p": false, "-d": false, - "-u": false, + "-u": false, // Flag for 'go get'. + "-e": false, } } @@ -42,6 +43,8 @@ func printPrompt(flag string) { fmt.Printf("You enabled pure download.\n") case "-d": fmt.Printf("You enabled download without installing.\n") + case "-e": + fmt.Printf("You enabled download dependencies in exmaple.\n") } } @@ -103,7 +106,7 @@ func runInstall(cmd *Command, args []string) { // Download packages. commits := make([]string, len(args)) - downloadPackages(args, commits) + downloadPackages(args, commits, cmdInstall.Flags["-e"]) if !cmdInstall.Flags["d"] && cmdInstall.Flags["-p"] { // Install packages all together. @@ -116,7 +119,7 @@ func runInstall(cmd *Command, args []string) { // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. -func downloadPackages(pkgs, commits []string) { +func downloadPackages(pkgs, commits []string, isDownloadEx bool) { // Check all packages, they may be bundles, snapshots or raw packages path. for i, p := range pkgs { // Check if it is a bundle or snapshot. @@ -128,11 +131,11 @@ func downloadPackages(pkgs, commits []string) { case utils.IsValidRemotePath(p): if !downloadCache[p] { // Download package. - pkg, imports := downloadPackage(p, commits[i]) + pkg, imports := downloadPackage(p, commits[i], isDownloadEx) if len(imports) > 0 { // Need to download dependencies. tags := make([]string, len(imports)) - downloadPackages(imports, tags) + downloadPackages(imports, tags, isDownloadEx) continue } @@ -152,7 +155,7 @@ func downloadPackages(pkgs, commits []string) { } // downloadPackage download package either use version control tools or not. -func downloadPackage(path, commit string) (pkg *doc.Package, imports []string) { +func downloadPackage(path, commit string, isDownloadEx bool) (pkg *doc.Package, imports []string) { // Check if use version control tools. switch { case !cmdInstall.Flags["-p"] && @@ -173,14 +176,13 @@ func downloadPackage(path, commit string) (pkg *doc.Package, imports []string) { downloadCache[path] = true var err error - pkg, imports, err = pureDownload(path, commit) + pkg, imports, err = pureDownload(path, commit, isDownloadEx) if err != nil { fmt.Printf("Fail to download package(%s) with error: %s.\n", path, err) return nil, nil } //fmt.Println(pkg) - //fmt.Printf("Downloaded package: %s.\n", path) return pkg, imports } } @@ -202,7 +204,7 @@ func checkGoGetFlags() (args []string) { type service struct { pattern *regexp.Regexp prefix string - get func(*http.Client, map[string]string, string) (*doc.Package, []string, error) + get func(*http.Client, map[string]string, string, bool) (*doc.Package, []string, error) } // services is the list of source code control services handled by gopkgdoc. @@ -214,7 +216,7 @@ var services = []*service{ } // pureDownload downloads package without version control. -func pureDownload(path, commit string) (pinfo *doc.Package, imports []string, err error) { +func pureDownload(path, commit string, isDownloadEx bool) (pinfo *doc.Package, imports []string, err error) { for _, s := range services { if s.get == nil || !strings.HasPrefix(path, s.prefix) { continue @@ -233,7 +235,7 @@ func pureDownload(path, commit string) (pinfo *doc.Package, imports []string, er match[n] = m[i] } } - return s.get(doc.HttpClient, match, commit) + return s.get(doc.HttpClient, match, commit, isDownloadEx) } return nil, nil, doc.ErrNoMatch } From b31b0dfa696a53c6a5047dae7479174653e71536 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 20 May 2013 17:55:28 -0400 Subject: [PATCH 029/287] little fix --- doc/github.go | 10 ++++------ gpm.go | 4 ++-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/doc/github.go b/doc/github.go index e14854e2c..f4da49095 100644 --- a/doc/github.go +++ b/doc/github.go @@ -106,7 +106,10 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string, i // Check if it is directory or not. if strings.HasSuffix(absPath, "/") { // Directory. - dirs = append(dirs, absPath) + // Check if current directory is example. + if !(!isDownloadEx && strings.Contains(absPath, "example")) { + dirs = append(dirs, absPath) + } continue } @@ -143,11 +146,6 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string, i // Check if need to check imports. if isCheckImport { for _, d := range dirs { - // Check if current directory is example. - if !isDownloadEx && strings.Contains(d, "example") { - continue - } - dir, err := os.Open(d) if err != nil { return nil, nil, err diff --git a/gpm.go b/gpm.go index 0020e9ad7..1d21a97d1 100644 --- a/gpm.go +++ b/gpm.go @@ -159,8 +159,8 @@ func initialize() bool { } // Create bundle and snapshot directories. - os.MkdirAll(appPath+"bundles", os.ModePerm) - os.MkdirAll(appPath+"snapshots", os.ModePerm) + os.MkdirAll(appPath+"repo/bundles/", os.ModePerm) + os.MkdirAll(appPath+"repo/snapshots/", os.ModePerm) return true } From 7681d9bf884c65a9f19b00238dc1b46df12521fc Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 20 May 2013 20:25:27 -0400 Subject: [PATCH 030/287] command install add support for code.google.com --- README.md | 6 +- doc/github.go | 12 +-- doc/google.go | 272 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/walker.go | 2 +- install.go | 20 ++-- 5 files changed, 293 insertions(+), 19 deletions(-) create mode 100644 doc/google.go diff --git a/README.md b/README.md index c4068b4b5..85763bab8 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,13 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update ## Todo -- Command `install` add support for downloading code from code.google.com, launchpad.net, bitbucket.org; hopefully, support user sources for downloading tarballs. +- Command `install` add support for downloading code from launchpad.net, bitbucket.org; hopefully, support user sources for downloading tarballs. - Command `install` installs all packages after downloaded. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. - Develop user source API server template application to support user sources in bundles. - Add bundle and snapshot parser code for downloading by bundle or snapshot id. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. - Add option for whether download dependencies packages in example code or not. -- Add gpm working principle design. \ No newline at end of file +- Add gpm working principle design. +- Download package from code.google.com only support hg as version control system, probably support git and svn. +- All errors should have specific title for exactly where were created. \ No newline at end of file diff --git a/doc/github.go b/doc/github.go index f4da49095..514baa6e7 100644 --- a/doc/github.go +++ b/doc/github.go @@ -28,7 +28,7 @@ func SetGithubCredentials(id, secret string) { } // GetGithubDoc downloads tarball from github.com. -func GetGithubDoc(client *http.Client, match map[string]string, commit string, isDownloadEx bool) (*Package, []string, error) { +func GetGithubDoc(client *http.Client, match map[string]string, commit string, cmdFlags map[string]bool) (*Package, []string, error) { SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred @@ -94,11 +94,10 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string, i installPath := paths[0] + "/src/" + importPath // Remove old files. - os.RemoveAll(installPath) + os.RemoveAll(installPath + "/") // Create destination directory. - os.Mkdir(installPath, os.ModePerm) + os.MkdirAll(installPath+"/", os.ModePerm) - //dirMap := make(map[string][]*source) dirs := make([]string, 0, 5) for _, f := range r.File { absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) @@ -107,7 +106,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string, i if strings.HasSuffix(absPath, "/") { // Directory. // Check if current directory is example. - if !(!isDownloadEx && strings.Contains(absPath, "example")) { + if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { dirs = append(dirs, absPath) } continue @@ -119,8 +118,9 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string, i return nil, nil, err } - // Create diretory before create file + // Create diretory before create file. os.MkdirAll(path.Dir(absPath), os.ModePerm) + // Write data to file fw, _ := os.Create(absPath) if err != nil { diff --git a/doc/google.go b/doc/google.go new file mode 100644 index 000000000..b98bba873 --- /dev/null +++ b/doc/google.go @@ -0,0 +1,272 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package doc + +import ( + "errors" + "net/http" + "os" + "path" + "regexp" + "strings" + + "github.com/GPMGo/gpm/utils" +) + +var ( + googleRepoRe = regexp.MustCompile(`id="checkoutcmd">(hg|git|svn)`) + googleRevisionRe = regexp.MustCompile(`

(?:[^ ]+ - )?Revision *([^:]+):`) + googleEtagRe = regexp.MustCompile(`^(hg|git|svn)-`) + googleFileRe = regexp.MustCompile(`
  • [a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) +) + +func setupGoogleMatch(match map[string]string) { + if s := match["subrepo"]; s != "" { + match["dot"] = "." + match["query"] = "?repo=" + s + } else { + match["dot"] = "" + match["query"] = "" + } +} + +func getGoogleVCS(client *http.Client, match map[string]string) error { + // Scrape the HTML project page to find the VCS. + p, err := httpGetBytes(client, expand("http://code.google.com/p/{repo}/source/checkout", match), nil) + if err != nil { + return err + } + m := googleRepoRe.FindSubmatch(p) + if m == nil { + return NotFoundError{"Could not VCS on Google Code project page."} + } + + match["vcs"] = string(m[1]) + return nil +} + +// GetGoogleDoc downloads raw files from code.google.com. +func GetGoogleDoc(client *http.Client, match map[string]string, commit string, cmdFlags map[string]bool) (*Package, []string, error) { + setupGoogleMatch(match) + if m := googleEtagRe.FindStringSubmatch(commit); m != nil { + match["vcs"] = m[1] + } else if err := getGoogleVCS(client, match); err != nil { + return nil, nil, err + } + + // bundle and snapshot will have commit 'B' and 'S', + // but does not need to download dependencies. + isCheckImport := len(commit) == 0 + + rootPath := expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) + + // Scrape the repo browser to find the project revision and individual Go files. + p, err := httpGetBytes(client, rootPath+"?r="+commit, nil) + if err != nil { + return nil, nil, err + } + + // Check revision tag. + if m := googleRevisionRe.FindSubmatch(p); m == nil { + return nil, nil, + errors.New("doc.GetGoogleDoc(): Could not find revision for " + match["importPath"]) + } + + paths := utils.GetGOPATH() + importPath := "code.google.com/p/" + expand("{repo}{dir}", match) + installPath := paths[0] + "/src/" + importPath + + // Remove old files. + os.RemoveAll(installPath + "/") + // Create destination directory. + os.MkdirAll(installPath+"/", os.ModePerm) + + // Get source files in root path. + files := make([]*source, 0, 5) + for _, m := range googleFileRe.FindAllSubmatch(p, -1) { + fname := string(m[1]) + files = append(files, &source{ + name: fname, + rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + commit, + }) + } + + // Fetch files from VCS. + if err := fetchFiles(client, files, nil); err != nil { + return nil, nil, err + } + + // Save files. + for _, f := range files { + absPath := installPath + "/" + + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath), os.ModePerm) + + // Write data to file + fw, err := os.Create(absPath + f.name) + if err != nil { + return nil, nil, err + } + + _, err = fw.Write(f.data) + fw.Close() + if err != nil { + return nil, nil, err + } + } + + dirs := make([]string, 0, 3) + // Get subdirectories. + for _, m := range googleDirRe.FindAllSubmatch(p, -1) { + dirName := strings.Split(string(m[1]), "?")[0] + if strings.HasSuffix(dirName, "/") { + dirs = append(dirs, dirName) + } + } + + err = downloadFiles(client, match, rootPath, installPath+"/", commit, dirs) + if err != nil { + return nil, nil, err + } + + pkg := &Package{ + ImportPath: importPath, + AbsPath: installPath, + Commit: commit, + } + var imports []string + + // Check if need to check imports. + if isCheckImport { + rootdir, err := os.Open(installPath + "/") + if err != nil { + return nil, nil, err + } + defer rootdir.Close() + + dirs, err := rootdir.Readdir(0) + if err != nil { + return nil, nil, err + } + + for _, d := range dirs { + if d.IsDir() { + absPath := installPath + "/" + d.Name() + "/" + dir, err := os.Open(absPath) + if err != nil { + return nil, nil, err + } + defer dir.Close() + + // Get file info slice. + fis, err := dir.Readdir(0) + if err != nil { + return nil, nil, err + } + + files := make([]*source, 0, 10) + for _, fi := range fis { + // Only handle files. + if strings.HasSuffix(fi.Name(), ".go") { + f, err := os.Open(absPath + fi.Name()) + if err != nil { + return nil, nil, err + } + + fbytes := make([]byte, fi.Size()) + _, err = f.Read(fbytes) + f.Close() + //fmt.Println(d+fi.Name(), fi.Size(), n) + if err != nil { + return nil, nil, err + } + + files = append(files, &source{ + name: fi.Name(), + data: fbytes, + }) + } + } + + // Check if has Go source files. + if len(files) > 0 { + w := &walker{ImportPath: importPath} + importPkgs, err := w.build(files) + if err != nil { + return nil, nil, err + } + imports = append(imports, importPkgs...) + } + } + } + } + + return pkg, imports, err +} + +func downloadFiles(client *http.Client, match map[string]string, rootPath, installPath, commit string, dirs []string) error { + for _, d := range dirs { + p, err := httpGetBytes(client, rootPath+d+"?r="+commit, nil) + if err != nil { + return err + } + + // Create destination directory. + os.MkdirAll(installPath+d, os.ModePerm) + + // Get source files in current path. + files := make([]*source, 0, 5) + for _, m := range googleFileRe.FindAllSubmatch(p, -1) { + fname := string(m[1]) + files = append(files, &source{ + name: fname, + rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) + d + fname + "?r=" + commit, + }) + } + + // Fetch files from VCS. + if err := fetchFiles(client, files, nil); err != nil { + return err + } + + // Save files. + for _, f := range files { + absPath := installPath + d + + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath), os.ModePerm) + + // Write data to file + fw, err := os.Create(absPath + f.name) + if err != nil { + return err + } + + _, err = fw.Write(f.data) + fw.Close() + if err != nil { + return err + } + } + + subdirs := make([]string, 0, 3) + // Get subdirectories. + for _, m := range googleDirRe.FindAllSubmatch(p, -1) { + dirName := strings.Split(string(m[1]), "?")[0] + if strings.HasSuffix(dirName, "/") { + subdirs = append(subdirs, d+dirName) + } + } + + err = downloadFiles(client, match, rootPath, installPath, commit, subdirs) + if err != nil { + return err + } + } + return nil +} diff --git a/doc/walker.go b/doc/walker.go index b9f3a247a..b56152e7f 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -136,7 +136,7 @@ func (w *walker) build(srcs []*source) ([]string, error) { var imports []string for _, v := range bpkg.Imports { // Skip strandard library. - if !utils.IsGoRepoPath(v) && v != w.ImportPath { + if !utils.IsGoRepoPath(v) && !strings.HasPrefix(v, w.ImportPath) { imports = append(imports, v) } } diff --git a/install.go b/install.go index afff74734..110d252a1 100644 --- a/install.go +++ b/install.go @@ -106,7 +106,7 @@ func runInstall(cmd *Command, args []string) { // Download packages. commits := make([]string, len(args)) - downloadPackages(args, commits, cmdInstall.Flags["-e"]) + downloadPackages(args, commits) if !cmdInstall.Flags["d"] && cmdInstall.Flags["-p"] { // Install packages all together. @@ -119,7 +119,7 @@ func runInstall(cmd *Command, args []string) { // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. -func downloadPackages(pkgs, commits []string, isDownloadEx bool) { +func downloadPackages(pkgs, commits []string) { // Check all packages, they may be bundles, snapshots or raw packages path. for i, p := range pkgs { // Check if it is a bundle or snapshot. @@ -131,11 +131,11 @@ func downloadPackages(pkgs, commits []string, isDownloadEx bool) { case utils.IsValidRemotePath(p): if !downloadCache[p] { // Download package. - pkg, imports := downloadPackage(p, commits[i], isDownloadEx) + pkg, imports := downloadPackage(p, commits[i]) if len(imports) > 0 { // Need to download dependencies. tags := make([]string, len(imports)) - downloadPackages(imports, tags, isDownloadEx) + downloadPackages(imports, tags) continue } @@ -155,7 +155,7 @@ func downloadPackages(pkgs, commits []string, isDownloadEx bool) { } // downloadPackage download package either use version control tools or not. -func downloadPackage(path, commit string, isDownloadEx bool) (pkg *doc.Package, imports []string) { +func downloadPackage(path, commit string) (pkg *doc.Package, imports []string) { // Check if use version control tools. switch { case !cmdInstall.Flags["-p"] && @@ -176,7 +176,7 @@ func downloadPackage(path, commit string, isDownloadEx bool) (pkg *doc.Package, downloadCache[path] = true var err error - pkg, imports, err = pureDownload(path, commit, isDownloadEx) + pkg, imports, err = pureDownload(path, commit) if err != nil { fmt.Printf("Fail to download package(%s) with error: %s.\n", path, err) return nil, nil @@ -204,19 +204,19 @@ func checkGoGetFlags() (args []string) { type service struct { pattern *regexp.Regexp prefix string - get func(*http.Client, map[string]string, string, bool) (*doc.Package, []string, error) + get func(*http.Client, map[string]string, string, map[string]bool) (*doc.Package, []string, error) } // services is the list of source code control services handled by gopkgdoc. var services = []*service{ {doc.GithubPattern, "github.com/", doc.GetGithubDoc}, - //{googlePattern, "code.google.com/", getGoogleDoc}, + {doc.GooglePattern, "code.google.com/", doc.GetGoogleDoc}, //{bitbucketPattern, "bitbucket.org/", getBitbucketDoc}, //{launchpadPattern, "launchpad.net/", getLaunchpadDoc}, } // pureDownload downloads package without version control. -func pureDownload(path, commit string, isDownloadEx bool) (pinfo *doc.Package, imports []string, err error) { +func pureDownload(path, commit string) (pinfo *doc.Package, imports []string, err error) { for _, s := range services { if s.get == nil || !strings.HasPrefix(path, s.prefix) { continue @@ -235,7 +235,7 @@ func pureDownload(path, commit string, isDownloadEx bool) (pinfo *doc.Package, i match[n] = m[i] } } - return s.get(doc.HttpClient, match, commit, isDownloadEx) + return s.get(doc.HttpClient, match, commit, cmdInstall.Flags) } return nil, nil, doc.ErrNoMatch } From 2dae517245eb1c5613767fa46a61ec23f7830e03 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 20 May 2013 20:28:17 -0400 Subject: [PATCH 031/287] update --- README.md | 3 ++- conf/gpm.toml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 85763bab8..184dfbfe6 100644 --- a/README.md +++ b/README.md @@ -16,4 +16,5 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add option for whether download dependencies packages in example code or not. - Add gpm working principle design. - Download package from code.google.com only support hg as version control system, probably support git and svn. -- All errors should have specific title for exactly where were created. \ No newline at end of file +- All errors should have specific title for exactly where were created. +- i18n support for all strings. \ No newline at end of file diff --git a/conf/gpm.toml b/conf/gpm.toml index 5ccb9e962..9e0df3343 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.0.3 Build 0519" +version = "v0.0.4 Build 0520" username = "" password = "" user_language = "en-US" \ No newline at end of file From b050ac3b85b53d4ae86dd5f80b1004cf8ad78dd8 Mon Sep 17 00:00:00 2001 From: Joe Chen Date: Mon, 20 May 2013 21:43:45 -0300 Subject: [PATCH 032/287] update --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 184dfbfe6..880ec890b 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,7 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Develop user source API server template application to support user sources in bundles. - Add bundle and snapshot parser code for downloading by bundle or snapshot id. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. -- Add option for whether download dependencies packages in example code or not. - Add gpm working principle design. - Download package from code.google.com only support hg as version control system, probably support git and svn. - All errors should have specific title for exactly where were created. -- i18n support for all strings. \ No newline at end of file +- i18n support for all strings. From d424e5bd4d71bb2720c3546c2bc19f68f71b497c Mon Sep 17 00:00:00 2001 From: Joe Chen Date: Mon, 20 May 2013 22:34:48 -0300 Subject: [PATCH 033/287] Update install.go --- install.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.go b/install.go index 110d252a1..a547f6b74 100644 --- a/install.go +++ b/install.go @@ -44,7 +44,7 @@ func printPrompt(flag string) { case "-d": fmt.Printf("You enabled download without installing.\n") case "-e": - fmt.Printf("You enabled download dependencies in exmaple.\n") + fmt.Printf("You enabled download dependencies in example.\n") } } From 187781a3ff17828393a04233a381bcc886d7e6e2 Mon Sep 17 00:00:00 2001 From: Joe Chen Date: Mon, 20 May 2013 22:55:46 -0300 Subject: [PATCH 034/287] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 880ec890b..b9b2886cf 100644 --- a/README.md +++ b/README.md @@ -16,4 +16,5 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add gpm working principle design. - Download package from code.google.com only support hg as version control system, probably support git and svn. - All errors should have specific title for exactly where were created. -- i18n support for all strings. +- Add i18n support for all strings. +- Add feature for downloading through version control tools, and use checkout to switch to specific revision; this feature only be enabled when users use bundle or snapshot id. From 32c32f8d5ecb56e02c3c4dbf29fbaeacfaa449c0 Mon Sep 17 00:00:00 2001 From: Joe Chen Date: Mon, 20 May 2013 23:03:42 -0400 Subject: [PATCH 035/287] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b9b2886cf..12ac2d735 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,5 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Download package from code.google.com only support hg as version control system, probably support git and svn. - All errors should have specific title for exactly where were created. - Add i18n support for all strings. -- Add feature for downloading through version control tools, and use checkout to switch to specific revision; this feature only be enabled when users use bundle or snapshot id. +- Add feature for downloading through version control tools, and use `checkout` to switch to specific revision; this feature only be enabled when users use bundle or snapshot id. +- When choose which `GOPATH` to install, match with current path first, if it doesn't match any `GOPATH`, then install to the first path in the `GOPATH` variable. From c945b890c32b3f75f0d15d726d6ac771a4c2e5f9 Mon Sep 17 00:00:00 2001 From: Joe Chen Date: Tue, 21 May 2013 08:27:03 -0300 Subject: [PATCH 036/287] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 12ac2d735..ef986cd8f 100644 --- a/README.md +++ b/README.md @@ -19,3 +19,4 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add i18n support for all strings. - Add feature for downloading through version control tools, and use `checkout` to switch to specific revision; this feature only be enabled when users use bundle or snapshot id. - When choose which `GOPATH` to install, match with current path first, if it doesn't match any `GOPATH`, then install to the first path in the `GOPATH` variable. +- Add support that download by tag for packages in github.com. From 4eeb0b1c2e8e89fdb6f1fbeb34a7c7c6ba15fb26 Mon Sep 17 00:00:00 2001 From: Joe Chen Date: Tue, 21 May 2013 08:37:00 -0300 Subject: [PATCH 037/287] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ef986cd8f..3c8902347 100644 --- a/README.md +++ b/README.md @@ -19,4 +19,5 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add i18n support for all strings. - Add feature for downloading through version control tools, and use `checkout` to switch to specific revision; this feature only be enabled when users use bundle or snapshot id. - When choose which `GOPATH` to install, match with current path first, if it doesn't match any `GOPATH`, then install to the first path in the `GOPATH` variable. -- Add support that download by tag for packages in github.com. +- Add support for downloading by tag for packages in github.com. +- Get author commit time and save in node. From 4260b94931d6c2d2514889d70e46df631002f800 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 09:24:46 -0400 Subject: [PATCH 038/287] nothing --- README.md | 1 + repo/bundles/test_bundle.json | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 repo/bundles/test_bundle.json diff --git a/README.md b/README.md index 3c8902347..ba9580b79 100644 --- a/README.md +++ b/README.md @@ -21,3 +21,4 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - When choose which `GOPATH` to install, match with current path first, if it doesn't match any `GOPATH`, then install to the first path in the `GOPATH` variable. - Add support for downloading by tag for packages in github.com. - Get author commit time and save in node. +- Save node information after downloaded, and check for next time, reduce download times. \ No newline at end of file diff --git a/repo/bundles/test_bundle.json b/repo/bundles/test_bundle.json new file mode 100644 index 000000000..5fe989ee8 --- /dev/null +++ b/repo/bundles/test_bundle.json @@ -0,0 +1,17 @@ +{ + "id": "", + "bundle_name": "", + "comment": "" + [ + { + "import_path": "", + "commit": "", + "date": "" + }, + { + "import_path": "", + "commit": "", + "date": "" + } + ] +} \ No newline at end of file From b4f3cd0e2aae38cf271c03f364124abf8421d2c0 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 09:40:56 -0400 Subject: [PATCH 039/287] nothing --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ba9580b79..27b2dcdfe 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update ## Todo -- Command `install` add support for downloading code from launchpad.net, bitbucket.org; hopefully, support user sources for downloading tarballs. +- Command `install` add support for downloading code from launchpad.net, bitbucket.org; probably, git.oschina.net, gitcafe.com, *.codeplex.com; hopefully, support user sources for downloading tarballs. - Command `install` installs all packages after downloaded. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. - Develop user source API server template application to support user sources in bundles. From 423141e0d6e3c06c1f85aa364ad4df26ab0f38c8 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 12:03:30 -0400 Subject: [PATCH 040/287] nothing --- conf/sources.txt | 0 doc/bitbucket.go | 114 +++++++++++++++++++++++++++++++++++ i18n/en-US/usage_install.txt | 2 + install.go | 5 ++ 4 files changed, 121 insertions(+) create mode 100644 conf/sources.txt create mode 100644 doc/bitbucket.go diff --git a/conf/sources.txt b/conf/sources.txt new file mode 100644 index 000000000..e69de29bb diff --git a/doc/bitbucket.go b/doc/bitbucket.go new file mode 100644 index 000000000..b91fc718f --- /dev/null +++ b/doc/bitbucket.go @@ -0,0 +1,114 @@ +// Copyright 2011 Gary Burd +// Copyright 2013 Unknown +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "net/http" + "path" + "regexp" + + "github.com/Unknwon/gowalker/utils" +) + +var ( + bitbucketPattern = regexp.MustCompile(`^bitbucket\.org/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) + bitbucketEtagRe = regexp.MustCompile(`^(hg|git)-`) +) + +func getBitbucketDoc(client *http.Client, match map[string]string, savedEtag string) (*Package, error) { + + if m := bitbucketEtagRe.FindStringSubmatch(savedEtag); m != nil { + match["vcs"] = m[1] + } else { + var repo struct { + Scm string + } + if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}", match), &repo); err != nil { + return nil, err + } + match["vcs"] = repo.Scm + } + + tags := make(map[string]string) + for _, nodeType := range []string{"branches", "tags"} { + var nodes map[string]struct { + Node string + } + if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { + return nil, err + } + for t, n := range nodes { + tags[t] = n.Node + } + } + + var err error + match["tag"], match["commit"], err = bestTag(tags, defaultTags[match["vcs"]]) + if err != nil { + return nil, err + } + + // Check revision tag. + etag := expand("{vcs}-{commit}", match) + if etag == savedEtag { + return nil, errNotModified + } + + var node struct { + Files []struct { + Path string + } + Directories []string + } + + if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/src/{tag}{dir}/", match), &node); err != nil { + return nil, err + } + + // Get source file data. + files := make([]*source, 0, 5) + for _, f := range node.Files { + _, name := path.Split(f.Path) + if utils.IsDocFile(name) { + files = append(files, &source{ + name: name, + browseURL: expand("https://bitbucket.org/{owner}/{repo}/src/{tag}/{0}", match, f.Path), + rawURL: expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/raw/{tag}/{0}", match, f.Path), + }) + } + } + + if len(files) == 0 && len(node.Directories) == 0 { + return nil, NotFoundError{"Directory tree does not contain Go files and subdirs."} + } + + // Fetch file from VCS. + if err := fetchFiles(client, files, nil); err != nil { + return nil, err + } + + // Start generating data. + w := &walker{ + lineFmt: "#cl-%d", + pdoc: &Package{ + ImportPath: match["importPath"], + ProjectName: match["repo"], + Etag: etag, + Dirs: node.Directories, + }, + } + return w.build(files) +} diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index c11c54e11..808836243 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -15,6 +15,8 @@ The install flags are: force to update pakcages. -e download dependencies for examples. + -s + download from sources. The list flags accept a space-separated list of strings. To embed spaces in an element in the list, surround it with either single or double quotes. diff --git a/install.go b/install.go index a547f6b74..fe15078c7 100644 --- a/install.go +++ b/install.go @@ -32,6 +32,7 @@ func init() { "-d": false, "-u": false, // Flag for 'go get'. "-e": false, + "-s": false, } } @@ -45,6 +46,10 @@ func printPrompt(flag string) { fmt.Printf("You enabled download without installing.\n") case "-e": fmt.Printf("You enabled download dependencies in example.\n") + case "-e": + fmt.Printf("You enabled download dependencies in example.\n") + case "-s": + fmt.Printf("You enabled download from sources.\n") } } From ffa58da48c9dc521dd92e169ac7ad890543ce909 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 14:29:58 -0400 Subject: [PATCH 041/287] command install add support for bitbucket.org --- README.md | 3 +- doc/bitbucket.go | 194 +++++++++++++++++++++++++++++++++-------------- doc/github.go | 52 +------------ doc/google.go | 51 +------------ doc/vcs.go | 51 +++++++++++++ install.go | 12 +-- utils/utils.go | 13 +++- 7 files changed, 217 insertions(+), 159 deletions(-) diff --git a/README.md b/README.md index 27b2dcdfe..14de26766 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,6 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - All errors should have specific title for exactly where were created. - Add i18n support for all strings. - Add feature for downloading through version control tools, and use `checkout` to switch to specific revision; this feature only be enabled when users use bundle or snapshot id. -- When choose which `GOPATH` to install, match with current path first, if it doesn't match any `GOPATH`, then install to the first path in the `GOPATH` variable. -- Add support for downloading by tag for packages in github.com. +- Add support for downloading by tag for packages in github.com, bitbucket.org. - Get author commit time and save in node. - Save node information after downloaded, and check for next time, reduce download times. \ No newline at end of file diff --git a/doc/bitbucket.go b/doc/bitbucket.go index b91fc718f..d74664660 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -16,99 +16,181 @@ package doc import ( + "archive/tar" + "bytes" + "compress/gzip" + "io" "net/http" + "os" "path" "regexp" - - "github.com/Unknwon/gowalker/utils" + "strings" ) var ( - bitbucketPattern = regexp.MustCompile(`^bitbucket\.org/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) + BitbucketPattern = regexp.MustCompile(`^bitbucket\.org/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) bitbucketEtagRe = regexp.MustCompile(`^(hg|git)-`) ) -func getBitbucketDoc(client *http.Client, match map[string]string, savedEtag string) (*Package, error) { - - if m := bitbucketEtagRe.FindStringSubmatch(savedEtag); m != nil { +// GetBitbucketDoc downloads tarball from bitbucket.org. +func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Package, []string, error) { + // Check version control. + if m := bitbucketEtagRe.FindStringSubmatch(commit); m != nil { match["vcs"] = m[1] } else { var repo struct { Scm string } if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}", match), &repo); err != nil { - return nil, err + return nil, nil, err } match["vcs"] = repo.Scm } - tags := make(map[string]string) - for _, nodeType := range []string{"branches", "tags"} { - var nodes map[string]struct { - Node string - } - if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { - return nil, err + // bundle and snapshot will have commit 'B' and 'S', + // but does not need to download dependencies. + isCheckImport := len(commit) == 0 + + // Check if download with specific revision. + if isCheckImport || len(commit) == 1 { + tags := make(map[string]string) + for _, nodeType := range []string{"branches", "tags"} { + var nodes map[string]struct { + Node string + } + if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { + return nil, nil, err + } + for t, n := range nodes { + tags[t] = n.Node + } } - for t, n := range nodes { - tags[t] = n.Node + + // Check revision tag. + var err error + match["tag"], match["commit"], err = bestTag(tags, defaultTags[match["vcs"]]) + if err != nil { + return nil, nil, err } + } else { + match["commit"] = commit } - var err error - match["tag"], match["commit"], err = bestTag(tags, defaultTags[match["vcs"]]) + // We use .tar.gz here. + // zip : https://bitbucket.org/{owner}/{repo}/get/{commit}.zip + // tarball : https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz + + // Downlaod archive. + p, err := httpGetBytes(client, expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) if err != nil { - return nil, err + return nil, nil, err } - // Check revision tag. - etag := expand("{vcs}-{commit}", match) - if etag == savedEtag { - return nil, errNotModified - } + importPath := "bitbucket.org/" + expand("{owner}/{repo}", match) + installPath := installGOPATH + "/src/" + importPath - var node struct { - Files []struct { - Path string - } - Directories []string - } + // Remove old files. + os.RemoveAll(installPath + "/") + // Create destination directory. + os.MkdirAll(installPath+"/", os.ModePerm) - if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/src/{tag}{dir}/", match), &node); err != nil { - return nil, err + gzr, err := gzip.NewReader(bytes.NewReader(p)) + if err != nil { + return nil, nil, err } + defer gzr.Close() + tr := tar.NewReader(gzr) + + var autoPath string // Auto path is the root path that generated by bitbucket.org. // Get source file data. - files := make([]*source, 0, 5) - for _, f := range node.Files { - _, name := path.Split(f.Path) - if utils.IsDocFile(name) { - files = append(files, &source{ - name: name, - browseURL: expand("https://bitbucket.org/{owner}/{repo}/src/{tag}/{0}", match, f.Path), - rawURL: expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/raw/{tag}/{0}", match, f.Path), - }) + dirs := make([]string, 0, 5) + for { + h, err := tr.Next() + if err == io.EOF { + break + } else if err != nil { + return nil, nil, err + } + + fn := h.FileInfo().Name() + + // In case that we find directory, usually we should not. + if !strings.HasSuffix(fn, "/") { + // Check root path. + if len(autoPath) == 0 { + autoPath = fn[:strings.Index(fn, "/")] + } + absPath := strings.Replace(fn, autoPath, installPath, 1) + + // Create diretory before create file. + dir := path.Dir(absPath) + if !checkDir(dir, dirs) { + dirs = append(dirs, dir) + os.MkdirAll(dir+"/", os.ModePerm) + } + + // Get data from archive. + fbytes := make([]byte, h.Size) + if _, err := io.ReadFull(tr, fbytes); err != nil { + return nil, nil, err + } + + // Write data to file + fw, err := os.Create(absPath) + if err != nil { + return nil, nil, err + } + + _, err = fw.Write(fbytes) + fw.Close() + if err != nil { + return nil, nil, err + } } } - if len(files) == 0 && len(node.Directories) == 0 { - return nil, NotFoundError{"Directory tree does not contain Go files and subdirs."} + pkg := &Package{ + ImportPath: importPath, + AbsPath: installPath, + Commit: commit, } - // Fetch file from VCS. - if err := fetchFiles(client, files, nil); err != nil { - return nil, err + var imports []string + + // Check if need to check imports. + if isCheckImport { + rootdir, err := os.Open(installPath + "/") + if err != nil { + return nil, nil, err + } + defer rootdir.Close() + + dirs, err := rootdir.Readdir(0) + if err != nil { + return nil, nil, err + } + + for _, d := range dirs { + if d.IsDir() { + absPath := installPath + "/" + d.Name() + "/" + imports, err = checkImports(absPath, importPath) + if err != nil { + return nil, nil, err + } + } + } } - // Start generating data. - w := &walker{ - lineFmt: "#cl-%d", - pdoc: &Package{ - ImportPath: match["importPath"], - ProjectName: match["repo"], - Etag: etag, - Dirs: node.Directories, - }, + return pkg, imports, err +} + +// checkDir checks if current directory has been saved. +func checkDir(dir string, dirs []string) bool { + for _, d := range dirs { + if dir == d { + return true + } } - return w.build(files) + return false } diff --git a/doc/github.go b/doc/github.go index 514baa6e7..66da664a3 100644 --- a/doc/github.go +++ b/doc/github.go @@ -13,8 +13,6 @@ import ( "path" "regexp" "strings" - - "github.com/GPMGo/gpm/utils" ) var ( @@ -28,7 +26,7 @@ func SetGithubCredentials(id, secret string) { } // GetGithubDoc downloads tarball from github.com. -func GetGithubDoc(client *http.Client, match map[string]string, commit string, cmdFlags map[string]bool) (*Package, []string, error) { +func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Package, []string, error) { SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred @@ -89,9 +87,8 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string, c } shaName := expand("{repo}-{sha}", match) - paths := utils.GetGOPATH() importPath := "github.com/" + expand("{owner}/{repo}", match) - installPath := paths[0] + "/src/" + importPath + installPath := installGOPATH + "/src/" + importPath // Remove old files. os.RemoveAll(installPath + "/") @@ -112,7 +109,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string, c continue } - // Get files from archive. + // Get file from archive. rc, err := f.Open() if err != nil { return nil, nil, err @@ -146,51 +143,10 @@ func GetGithubDoc(client *http.Client, match map[string]string, commit string, c // Check if need to check imports. if isCheckImport { for _, d := range dirs { - dir, err := os.Open(d) - if err != nil { - return nil, nil, err - } - defer dir.Close() - - // Get file info slice. - fis, err := dir.Readdir(0) + imports, err = checkImports(d, importPath) if err != nil { return nil, nil, err } - - files := make([]*source, 0, 10) - for _, fi := range fis { - // Only handle files. - if strings.HasSuffix(fi.Name(), ".go") { - f, err := os.Open(d + fi.Name()) - if err != nil { - return nil, nil, err - } - - fbytes := make([]byte, fi.Size()) - _, err = f.Read(fbytes) - f.Close() - //fmt.Println(d+fi.Name(), fi.Size(), n) - if err != nil { - return nil, nil, err - } - - files = append(files, &source{ - name: fi.Name(), - data: fbytes, - }) - } - } - - // Check if has Go source files. - if len(files) > 0 { - w := &walker{ImportPath: importPath} - importPkgs, err := w.build(files) - if err != nil { - return nil, nil, err - } - imports = append(imports, importPkgs...) - } } } diff --git a/doc/google.go b/doc/google.go index b98bba873..825124953 100644 --- a/doc/google.go +++ b/doc/google.go @@ -11,8 +11,6 @@ import ( "path" "regexp" "strings" - - "github.com/GPMGo/gpm/utils" ) var ( @@ -50,8 +48,9 @@ func getGoogleVCS(client *http.Client, match map[string]string) error { } // GetGoogleDoc downloads raw files from code.google.com. -func GetGoogleDoc(client *http.Client, match map[string]string, commit string, cmdFlags map[string]bool) (*Package, []string, error) { +func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Package, []string, error) { setupGoogleMatch(match) + // Check version control. if m := googleEtagRe.FindStringSubmatch(commit); m != nil { match["vcs"] = m[1] } else if err := getGoogleVCS(client, match); err != nil { @@ -76,9 +75,8 @@ func GetGoogleDoc(client *http.Client, match map[string]string, commit string, c errors.New("doc.GetGoogleDoc(): Could not find revision for " + match["importPath"]) } - paths := utils.GetGOPATH() importPath := "code.google.com/p/" + expand("{repo}{dir}", match) - installPath := paths[0] + "/src/" + importPath + installPath := installGOPATH + "/src/" + importPath // Remove old files. os.RemoveAll(installPath + "/") @@ -157,51 +155,10 @@ func GetGoogleDoc(client *http.Client, match map[string]string, commit string, c for _, d := range dirs { if d.IsDir() { absPath := installPath + "/" + d.Name() + "/" - dir, err := os.Open(absPath) - if err != nil { - return nil, nil, err - } - defer dir.Close() - - // Get file info slice. - fis, err := dir.Readdir(0) + imports, err = checkImports(absPath, importPath) if err != nil { return nil, nil, err } - - files := make([]*source, 0, 10) - for _, fi := range fis { - // Only handle files. - if strings.HasSuffix(fi.Name(), ".go") { - f, err := os.Open(absPath + fi.Name()) - if err != nil { - return nil, nil, err - } - - fbytes := make([]byte, fi.Size()) - _, err = f.Read(fbytes) - f.Close() - //fmt.Println(d+fi.Name(), fi.Size(), n) - if err != nil { - return nil, nil, err - } - - files = append(files, &source{ - name: fi.Name(), - data: fbytes, - }) - } - } - - // Check if has Go source files. - if len(files) > 0 { - w := &walker{ImportPath: importPath} - importPkgs, err := w.build(files) - if err != nil { - return nil, nil, err - } - imports = append(imports, importPkgs...) - } } } } diff --git a/doc/vcs.go b/doc/vcs.go index 3d6541f40..bee39e9ce 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -176,3 +176,54 @@ func expand(template string, match map[string]string, subs ...string) string { p = append(p, template...) return string(p) } + +// checkImports checks package denpendencies. +func checkImports(absPath, importPath string) (imports []string, err error) { + dir, err := os.Open(absPath) + if err != nil { + return nil, err + } + defer dir.Close() + + // Get file info slice. + fis, err := dir.Readdir(0) + if err != nil { + return nil, err + } + + files := make([]*source, 0, 10) + for _, fi := range fis { + // Only handle files. + if strings.HasSuffix(fi.Name(), ".go") { + f, err := os.Open(absPath + fi.Name()) + if err != nil { + return nil, err + } + + fbytes := make([]byte, fi.Size()) + _, err = f.Read(fbytes) + f.Close() + //fmt.Println(d+fi.Name(), fi.Size(), n) + if err != nil { + return nil, err + } + + files = append(files, &source{ + name: fi.Name(), + data: fbytes, + }) + } + } + + // Check if has Go source files. + if len(files) > 0 { + w := &walker{ImportPath: importPath} + importPkgs, err := w.build(files) + if err != nil { + return nil, err + } + imports = append(imports, importPkgs...) + } + + return imports, nil +} diff --git a/install.go b/install.go index fe15078c7..c623455b7 100644 --- a/install.go +++ b/install.go @@ -18,6 +18,7 @@ import ( var ( isHasGit, isHasHg bool downloadCache map[string]bool // Saves packages that have downloaded. + installGOPATH string // The GOPATH that packages are downloaded to. ) var cmdInstall = &Command{ @@ -46,8 +47,6 @@ func printPrompt(flag string) { fmt.Printf("You enabled download without installing.\n") case "-e": fmt.Printf("You enabled download dependencies in example.\n") - case "-e": - fmt.Printf("You enabled download dependencies in example.\n") case "-s": fmt.Printf("You enabled download from sources.\n") } @@ -109,6 +108,9 @@ func runInstall(cmd *Command, args []string) { // Check version control tools. checkVCSTool() + installGOPATH = utils.GetBestMatchGOPATH(appPath) + fmt.Printf("Packages will be downloaded to GOPATH(%s).\n", installGOPATH) + // Download packages. commits := make([]string, len(args)) downloadPackages(args, commits) @@ -209,14 +211,14 @@ func checkGoGetFlags() (args []string) { type service struct { pattern *regexp.Regexp prefix string - get func(*http.Client, map[string]string, string, map[string]bool) (*doc.Package, []string, error) + get func(*http.Client, map[string]string, string, string, map[string]bool) (*doc.Package, []string, error) } // services is the list of source code control services handled by gopkgdoc. var services = []*service{ {doc.GithubPattern, "github.com/", doc.GetGithubDoc}, {doc.GooglePattern, "code.google.com/", doc.GetGoogleDoc}, - //{bitbucketPattern, "bitbucket.org/", getBitbucketDoc}, + {doc.BitbucketPattern, "bitbucket.org/", doc.GetBitbucketDoc}, //{launchpadPattern, "launchpad.net/", getLaunchpadDoc}, } @@ -240,7 +242,7 @@ func pureDownload(path, commit string) (pinfo *doc.Package, imports []string, er match[n] = m[i] } } - return s.get(doc.HttpClient, match, commit, cmdInstall.Flags) + return s.get(doc.HttpClient, match, installGOPATH, commit, cmdInstall.Flags) } return nil, nil, doc.ErrNoMatch } diff --git a/utils/utils.go b/utils/utils.go index a51c4e612..34f24dcc2 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -369,7 +369,7 @@ func IsValidRemotePath(importPath string) bool { return true } -// GetGOPATH return all GOPATH in system. +// GetGOPATH returns all paths in GOPATH variable. func GetGOPATH() []string { gopath := os.Getenv("GOPATH") var paths []string @@ -382,6 +382,17 @@ func GetGOPATH() []string { return paths } +// GetGOPATH returns best matched GOPATH. +func GetBestMatchGOPATH(appPath string) string { + paths := GetGOPATH() + for _, p := range paths { + if strings.HasPrefix(p, appPath) { + return p + } + } + return paths[0] +} + var standardPath = map[string]bool{ "builtin": true, From 6d86b39de8b8ec6c90effb10b3617cfe74f16519 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 15:30:18 -0400 Subject: [PATCH 042/287] command install add support for launchpad.net --- README.md | 3 +- doc/bitbucket.go | 98 +++++++++++++------------------- doc/github.go | 11 ++-- doc/google.go | 9 ++- doc/launchpad.go | 141 +++++++++++++++++++++++++++++++++++++++++++++++ install.go | 2 +- 6 files changed, 190 insertions(+), 74 deletions(-) create mode 100644 doc/launchpad.go diff --git a/README.md b/README.md index 14de26766..a83c421e5 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update ## Todo -- Command `install` add support for downloading code from launchpad.net, bitbucket.org; probably, git.oschina.net, gitcafe.com, *.codeplex.com; hopefully, support user sources for downloading tarballs. +- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; +- Add support for downloading tarballs from user sources. - Command `install` installs all packages after downloaded. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. - Develop user source API server template application to support user sources in bundles. diff --git a/doc/bitbucket.go b/doc/bitbucket.go index d74664660..5b9c833f5 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -1,17 +1,6 @@ -// Copyright 2011 Gary Burd -// Copyright 2013 Unknown -// -// Licensed under the Apache License, Version 2.0 (the "License"): you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations -// under the License. +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. package doc @@ -86,8 +75,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH return nil, nil, err } - importPath := "bitbucket.org/" + expand("{owner}/{repo}", match) - installPath := installGOPATH + "/src/" + importPath + installPath := installGOPATH + "/src/" + match["importPath"] // Remove old files. os.RemoveAll(installPath + "/") @@ -116,42 +104,44 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH fn := h.FileInfo().Name() // In case that we find directory, usually we should not. - if !strings.HasSuffix(fn, "/") { - // Check root path. - if len(autoPath) == 0 { - autoPath = fn[:strings.Index(fn, "/")] - } - absPath := strings.Replace(fn, autoPath, installPath, 1) + if strings.HasSuffix(fn, "/") { + continue + } - // Create diretory before create file. - dir := path.Dir(absPath) - if !checkDir(dir, dirs) { - dirs = append(dirs, dir) - os.MkdirAll(dir+"/", os.ModePerm) - } + // Check root path. + if len(autoPath) == 0 { + autoPath = fn[:strings.Index(fn, "/")] + } + absPath := strings.Replace(fn, autoPath, installPath, 1) - // Get data from archive. - fbytes := make([]byte, h.Size) - if _, err := io.ReadFull(tr, fbytes); err != nil { - return nil, nil, err - } + // Create diretory before create file. + dir := path.Dir(absPath) + if !checkDir(dir, dirs) && !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + dirs = append(dirs, dir) + os.MkdirAll(dir+"/", os.ModePerm) + } - // Write data to file - fw, err := os.Create(absPath) - if err != nil { - return nil, nil, err - } + // Get data from archive. + fbytes := make([]byte, h.Size) + if _, err := io.ReadFull(tr, fbytes); err != nil { + return nil, nil, err + } - _, err = fw.Write(fbytes) - fw.Close() - if err != nil { - return nil, nil, err - } + // Write data to file + fw, err := os.Create(absPath) + if err != nil { + return nil, nil, err + } + + _, err = fw.Write(fbytes) + fw.Close() + if err != nil { + return nil, nil, err } } pkg := &Package{ - ImportPath: importPath, + ImportPath: match["importPath"], AbsPath: installPath, Commit: commit, } @@ -160,24 +150,10 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH // Check if need to check imports. if isCheckImport { - rootdir, err := os.Open(installPath + "/") - if err != nil { - return nil, nil, err - } - defer rootdir.Close() - - dirs, err := rootdir.Readdir(0) - if err != nil { - return nil, nil, err - } - for _, d := range dirs { - if d.IsDir() { - absPath := installPath + "/" + d.Name() + "/" - imports, err = checkImports(absPath, importPath) - if err != nil { - return nil, nil, err - } + imports, err = checkImports(d+"/", match["importPath"]) + if err != nil { + return nil, nil, err } } } diff --git a/doc/github.go b/doc/github.go index 66da664a3..900980422 100644 --- a/doc/github.go +++ b/doc/github.go @@ -87,8 +87,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c } shaName := expand("{repo}-{sha}", match) - importPath := "github.com/" + expand("{owner}/{repo}", match) - installPath := installGOPATH + "/src/" + importPath + installPath := installGOPATH + "/src/" + match["importPath"] // Remove old files. os.RemoveAll(installPath + "/") @@ -99,7 +98,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c for _, f := range r.File { absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) - // Check if it is directory or not. + // Check if it is a directory. if strings.HasSuffix(absPath, "/") { // Directory. // Check if current directory is example. @@ -116,7 +115,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c } // Create diretory before create file. - os.MkdirAll(path.Dir(absPath), os.ModePerm) + os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) // Write data to file fw, _ := os.Create(absPath) @@ -133,7 +132,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c } pkg := &Package{ - ImportPath: importPath, + ImportPath: match["importPath"], AbsPath: installPath, Commit: commit, } @@ -143,7 +142,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c // Check if need to check imports. if isCheckImport { for _, d := range dirs { - imports, err = checkImports(d, importPath) + imports, err = checkImports(d, match["importPath"]) if err != nil { return nil, nil, err } diff --git a/doc/google.go b/doc/google.go index 825124953..bfac52d13 100644 --- a/doc/google.go +++ b/doc/google.go @@ -75,8 +75,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c errors.New("doc.GetGoogleDoc(): Could not find revision for " + match["importPath"]) } - importPath := "code.google.com/p/" + expand("{repo}{dir}", match) - installPath := installGOPATH + "/src/" + importPath + installPath := installGOPATH + "/src/" + match["importPath"] // Remove old files. os.RemoveAll(installPath + "/") @@ -133,7 +132,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c } pkg := &Package{ - ImportPath: importPath, + ImportPath: match["importPath"], AbsPath: installPath, Commit: commit, } @@ -153,9 +152,9 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c } for _, d := range dirs { - if d.IsDir() { + if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { absPath := installPath + "/" + d.Name() + "/" - imports, err = checkImports(absPath, importPath) + imports, err = checkImports(absPath, match["importPath"]) if err != nil { return nil, nil, err } diff --git a/doc/launchpad.go b/doc/launchpad.go new file mode 100644 index 000000000..965ce54bd --- /dev/null +++ b/doc/launchpad.go @@ -0,0 +1,141 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package doc + +import ( + "archive/tar" + "bytes" + "compress/gzip" + "io" + "net/http" + "os" + "path" + "regexp" + "strings" +) + +var LaunchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) + +// GetLaunchpadDoc downloads tarball from launchpad.net. +func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Package, []string, error) { + + if match["project"] != "" && match["series"] != "" { + rc, err := httpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) + switch { + case err == nil: + rc.Close() + // The structure of the import path is launchpad.net/{root}/{dir}. + case isNotFound(err): + // The structure of the import path is is launchpad.net/{project}/{dir}. + match["repo"] = match["project"] + match["dir"] = expand("{series}{dir}", match) + default: + return nil, nil, err + } + } + + // bundle and snapshot will have commit 'B' and 'S', + // but does not need to download dependencies. + isCheckImport := len(commit) == 0 + + var downloadPath string + // Check if download with specific revision. + if isCheckImport || len(commit) == 1 { + downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball", match) + } else { + downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+commit, match) + } + + // Scrape the repo browser to find the project revision and individual Go files. + p, err := httpGetBytes(client, downloadPath, nil) + if err != nil { + return nil, nil, err + } + + installPath := installGOPATH + "/src/" + match["importPath"] + + // Remove old files. + os.RemoveAll(installPath + "/") + // Create destination directory. + os.MkdirAll(installPath+"/", os.ModePerm) + + gzr, err := gzip.NewReader(bytes.NewReader(p)) + if err != nil { + return nil, nil, err + } + defer gzr.Close() + + tr := tar.NewReader(gzr) + + var autoPath string // Auto path is the root path that generated by bitbucket.org. + // Get source file data. + dirs := make([]string, 0, 5) + for { + h, err := tr.Next() + if err == io.EOF { + break + } else if err != nil { + return nil, nil, err + } + + fn := h.FileInfo().Name() + // Check root path. + if len(autoPath) == 0 { + autoPath = fn[:strings.Index(fn, match["repo"])+len(match["repo"])] + } + absPath := strings.Replace(fn, autoPath, installPath, 1) + + // Check if it is a directory. + if h.FileInfo().IsDir() { + // Directory. + // Check if current directory is example. + if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + dirs = append(dirs, absPath) + } + continue + } + + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) + + // Get data from archive. + fbytes := make([]byte, h.Size) + if _, err := io.ReadFull(tr, fbytes); err != nil { + return nil, nil, err + } + + // Write data to file + fw, err := os.Create(absPath) + if err != nil { + return nil, nil, err + } + + _, err = fw.Write(fbytes) + fw.Close() + if err != nil { + return nil, nil, err + } + } + + pkg := &Package{ + ImportPath: match["importPath"], + AbsPath: installPath, + Commit: commit, + } + + var imports []string + + // Check if need to check imports. + if isCheckImport { + for _, d := range dirs { + imports, err = checkImports(d+"/", match["importPath"]) + if err != nil { + return nil, nil, err + } + } + } + + return pkg, imports, err +} diff --git a/install.go b/install.go index c623455b7..33f0be988 100644 --- a/install.go +++ b/install.go @@ -219,7 +219,7 @@ var services = []*service{ {doc.GithubPattern, "github.com/", doc.GetGithubDoc}, {doc.GooglePattern, "code.google.com/", doc.GetGoogleDoc}, {doc.BitbucketPattern, "bitbucket.org/", doc.GetBitbucketDoc}, - //{launchpadPattern, "launchpad.net/", getLaunchpadDoc}, + {doc.LaunchpadPattern, "launchpad.net/", doc.GetLaunchpadDoc}, } // pureDownload downloads package without version control. From bcbbd3117eee395007f44055afbf48c9fc863003 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 16:35:54 -0400 Subject: [PATCH 043/287] command install add feature: auto-install all packages after downloaded --- README.md | 4 ++-- conf/gpm.toml | 2 +- doc/bitbucket.go | 6 ++++-- doc/github.go | 8 ++++++-- doc/google.go | 6 ++++-- doc/launchpad.go | 6 ++++-- doc/vcs.go | 7 +++---- doc/walker.go | 17 ++++------------- install.go | 13 ++++++++++--- 9 files changed, 38 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index a83c421e5..edc8e0183 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,6 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; - Add support for downloading tarballs from user sources. -- Command `install` installs all packages after downloaded. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. - Develop user source API server template application to support user sources in bundles. - Add bundle and snapshot parser code for downloading by bundle or snapshot id. @@ -21,4 +20,5 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add feature for downloading through version control tools, and use `checkout` to switch to specific revision; this feature only be enabled when users use bundle or snapshot id. - Add support for downloading by tag for packages in github.com, bitbucket.org. - Get author commit time and save in node. -- Save node information after downloaded, and check for next time, reduce download times. \ No newline at end of file +- Save node information after downloaded, and check for next time, reduce download times. +- Collect download and installation results and report to users in the end. \ No newline at end of file diff --git a/conf/gpm.toml b/conf/gpm.toml index 9e0df3343..6e182fc1b 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.0.4 Build 0520" +version = "v0.0.5 Build 0521" username = "" password = "" user_language = "en-US" \ No newline at end of file diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 5b9c833f5..ed26adcf2 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -75,7 +75,8 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH return nil, nil, err } - installPath := installGOPATH + "/src/" + match["importPath"] + projectPath := expand("bitbucket.org/{owner}/{repo}", match) + installPath := installGOPATH + "/src/" + projectPath // Remove old files. os.RemoveAll(installPath + "/") @@ -151,10 +152,11 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH // Check if need to check imports. if isCheckImport { for _, d := range dirs { - imports, err = checkImports(d+"/", match["importPath"]) + importPkgs, err := checkImports(d+"/", match["importPath"]) if err != nil { return nil, nil, err } + imports = append(imports, importPkgs...) } } diff --git a/doc/github.go b/doc/github.go index 900980422..a163222b0 100644 --- a/doc/github.go +++ b/doc/github.go @@ -87,7 +87,8 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c } shaName := expand("{repo}-{sha}", match) - installPath := installGOPATH + "/src/" + match["importPath"] + projectPath := expand("github.com/{owner}/{repo}", match) + installPath := installGOPATH + "/src/" + projectPath // Remove old files. os.RemoveAll(installPath + "/") @@ -95,6 +96,8 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c os.MkdirAll(installPath+"/", os.ModePerm) dirs := make([]string, 0, 5) + // Need to add root path because we cannot get from tarball. + dirs = append(dirs, installPath+"/") for _, f := range r.File { absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) @@ -142,10 +145,11 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c // Check if need to check imports. if isCheckImport { for _, d := range dirs { - imports, err = checkImports(d, match["importPath"]) + importPkgs, err := checkImports(d, match["importPath"]) if err != nil { return nil, nil, err } + imports = append(imports, importPkgs...) } } diff --git a/doc/google.go b/doc/google.go index bfac52d13..303192d08 100644 --- a/doc/google.go +++ b/doc/google.go @@ -75,7 +75,8 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c errors.New("doc.GetGoogleDoc(): Could not find revision for " + match["importPath"]) } - installPath := installGOPATH + "/src/" + match["importPath"] + projectPath := expand("code.google.com/p/{repo}{dot}{subrepo}{dir}", match) + installPath := installGOPATH + "/src/" + projectPath // Remove old files. os.RemoveAll(installPath + "/") @@ -154,10 +155,11 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c for _, d := range dirs { if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { absPath := installPath + "/" + d.Name() + "/" - imports, err = checkImports(absPath, match["importPath"]) + importPkgs, err := checkImports(absPath, match["importPath"]) if err != nil { return nil, nil, err } + imports = append(imports, importPkgs...) } } } diff --git a/doc/launchpad.go b/doc/launchpad.go index 965ce54bd..e49fa728f 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -54,7 +54,8 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH return nil, nil, err } - installPath := installGOPATH + "/src/" + match["importPath"] + projectPath := expand("launchpad.net/{repo}", match) + installPath := installGOPATH + "/src/" + projectPath // Remove old files. os.RemoveAll(installPath + "/") @@ -130,10 +131,11 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH // Check if need to check imports. if isCheckImport { for _, d := range dirs { - imports, err = checkImports(d+"/", match["importPath"]) + importPkgs, err := checkImports(d+"/", match["importPath"]) if err != nil { return nil, nil, err } + imports = append(imports, importPkgs...) } } diff --git a/doc/vcs.go b/doc/vcs.go index bee39e9ce..452322935 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -178,7 +178,7 @@ func expand(template string, match map[string]string, subs ...string) string { } // checkImports checks package denpendencies. -func checkImports(absPath, importPath string) (imports []string, err error) { +func checkImports(absPath, importPath string) (importPkgs []string, err error) { dir, err := os.Open(absPath) if err != nil { return nil, err @@ -218,12 +218,11 @@ func checkImports(absPath, importPath string) (imports []string, err error) { // Check if has Go source files. if len(files) > 0 { w := &walker{ImportPath: importPath} - importPkgs, err := w.build(files) + importPkgs, err = w.build(files) if err != nil { return nil, err } - imports = append(imports, importPkgs...) } - return imports, nil + return importPkgs, err } diff --git a/doc/walker.go b/doc/walker.go index b56152e7f..be98f7bad 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -1,17 +1,8 @@ -// Copyright 2011 Gary Burd -// Copyright 2013 Unknown +// Copyright 2012 Gary Burd // -// Licensed under the Apache License, Version 2.0 (the "License"): you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations -// under the License. +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. package doc diff --git a/install.go b/install.go index 33f0be988..565608ccc 100644 --- a/install.go +++ b/install.go @@ -115,9 +115,17 @@ func runInstall(cmd *Command, args []string) { commits := make([]string, len(args)) downloadPackages(args, commits) - if !cmdInstall.Flags["d"] && cmdInstall.Flags["-p"] { + if !cmdInstall.Flags["-d"] && cmdInstall.Flags["-p"] { // Install packages all together. - fmt.Printf("Installing package: %s.\n") + var cmdArgs []string + cmdArgs = append(cmdArgs, "install") + cmdArgs = append(cmdArgs, "") + + for k := range downloadCache { + fmt.Printf("Installing package: %s.\n", k) + cmdArgs[1] = k + executeGoCommand(cmdArgs) + } } fmt.Println("Well done.") @@ -189,7 +197,6 @@ func downloadPackage(path, commit string) (pkg *doc.Package, imports []string) { return nil, nil } - //fmt.Println(pkg) return pkg, imports } } From acdaaa28d15d28869657de48efc62f0cb2d65f2a Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 16:36:15 -0400 Subject: [PATCH 044/287] command install add feature: auto-install all packages after downloaded --- conf/gpm.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/gpm.toml b/conf/gpm.toml index 6e182fc1b..8a3f7687f 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.0.5 Build 0521" +version = "v0.0.6 Build 0521" username = "" password = "" user_language = "en-US" \ No newline at end of file From 89a02cb1b9ee2b070967d881e4a3815e0d0c0de0 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 16:52:54 -0400 Subject: [PATCH 045/287] update readme --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index edc8e0183..8ed982628 100644 --- a/README.md +++ b/README.md @@ -5,20 +5,25 @@ gpm - Go Package Manager gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. +#Main commands + +- `build` compiles and installs packages and dependencies: basically, it calls `go install` and moves executable to current path from `GOPATH` if any, the executable name is the folder name which is default by `go install`. +- `install` downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot id). For now, this command supports `code.google.com`, `github.com`, `launchpad.net`, `bitbucket.org`. + ## Todo -- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; +- Save node information after downloaded, and check for next time, reduce download times. +- All errors should have specific title for exactly where were created. +- Add i18n support for all strings. +- Add gpm working principle design. - Add support for downloading tarballs from user sources. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. - Develop user source API server template application to support user sources in bundles. - Add bundle and snapshot parser code for downloading by bundle or snapshot id. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. -- Add gpm working principle design. - Download package from code.google.com only support hg as version control system, probably support git and svn. -- All errors should have specific title for exactly where were created. -- Add i18n support for all strings. - Add feature for downloading through version control tools, and use `checkout` to switch to specific revision; this feature only be enabled when users use bundle or snapshot id. -- Add support for downloading by tag for packages in github.com, bitbucket.org. +- Add support for downloading by tag for packages in github.com, bitbucket.org, git.oschina.net, gitcafe.com. - Get author commit time and save in node. -- Save node information after downloaded, and check for next time, reduce download times. -- Collect download and installation results and report to users in the end. \ No newline at end of file +- Collect download and installation results and report to users in the end. +- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; \ No newline at end of file From 19256b2fd2589ce0bdc7f8a98df05a3204ac0399 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 16:53:43 -0400 Subject: [PATCH 046/287] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ed982628..9ae9bc79a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ gpm - Go Package Manager gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. -#Main commands +## Main commands - `build` compiles and installs packages and dependencies: basically, it calls `go install` and moves executable to current path from `GOPATH` if any, the executable name is the folder name which is default by `go install`. - `install` downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot id). For now, this command supports `code.google.com`, `github.com`, `launchpad.net`, `bitbucket.org`. From f5bf78352c83763c741b6482b228f320274967ad Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 17:40:22 -0400 Subject: [PATCH 047/287] update readme --- repo/bundles/test_bundle.json | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 repo/bundles/test_bundle.json diff --git a/repo/bundles/test_bundle.json b/repo/bundles/test_bundle.json deleted file mode 100644 index 5fe989ee8..000000000 --- a/repo/bundles/test_bundle.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "id": "", - "bundle_name": "", - "comment": "" - [ - { - "import_path": "", - "commit": "", - "date": "" - }, - { - "import_path": "", - "commit": "", - "date": "" - } - ] -} \ No newline at end of file From d493493ea09e132da770c7f58795754b0966b3ab Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 17:40:50 -0400 Subject: [PATCH 048/287] update readme --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 44be10b2e..d184396f0 100644 --- a/.gitignore +++ b/.gitignore @@ -20,4 +20,5 @@ _cgo_export.* _testmain.go *.exe -gpm \ No newline at end of file +gpm +repo/ \ No newline at end of file From c3093cb6a89f5ba34d979c028eede3e986d73c93 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 19:07:25 -0400 Subject: [PATCH 049/287] v0.1.0 build 0521 --- .gitignore | 2 ++ README.md | 1 - conf/gpm.toml | 2 +- doc/bitbucket.go | 9 ++++----- doc/github.go | 9 ++++----- doc/google.go | 9 ++++----- doc/launchpad.go | 9 ++++----- doc/struct.go | 16 +++++----------- gpm.go | 38 ++++++++++++++++++++++++++++++++++---- install.go | 44 +++++++++++++++++++++++++++++++++++--------- 10 files changed, 93 insertions(+), 46 deletions(-) diff --git a/.gitignore b/.gitignore index d184396f0..9997532ad 100644 --- a/.gitignore +++ b/.gitignore @@ -20,5 +20,7 @@ _cgo_export.* _testmain.go *.exe + gpm +data/ repo/ \ No newline at end of file diff --git a/README.md b/README.md index 9ae9bc79a..42aa62c83 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,6 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update ## Todo -- Save node information after downloaded, and check for next time, reduce download times. - All errors should have specific title for exactly where were created. - Add i18n support for all strings. - Add gpm working principle design. diff --git a/conf/gpm.toml b/conf/gpm.toml index 8a3f7687f..6cf9be447 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.0.6 Build 0521" +version = "v0.1.0 Build 0521" username = "" password = "" user_language = "en-US" \ No newline at end of file diff --git a/doc/bitbucket.go b/doc/bitbucket.go index ed26adcf2..a206844a0 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -22,7 +22,7 @@ var ( ) // GetBitbucketDoc downloads tarball from bitbucket.org. -func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Package, []string, error) { +func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Node, []string, error) { // Check version control. if m := bitbucketEtagRe.FindStringSubmatch(commit); m != nil { match["vcs"] = m[1] @@ -141,9 +141,8 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH } } - pkg := &Package{ - ImportPath: match["importPath"], - AbsPath: installPath, + node := &Node{ + ImportPath: projectPath, Commit: commit, } @@ -160,7 +159,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH } } - return pkg, imports, err + return node, imports, err } // checkDir checks if current directory has been saved. diff --git a/doc/github.go b/doc/github.go index a163222b0..04ba6e489 100644 --- a/doc/github.go +++ b/doc/github.go @@ -26,7 +26,7 @@ func SetGithubCredentials(id, secret string) { } // GetGithubDoc downloads tarball from github.com. -func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Package, []string, error) { +func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Node, []string, error) { SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred @@ -134,9 +134,8 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c } } - pkg := &Package{ - ImportPath: match["importPath"], - AbsPath: installPath, + node := &Node{ + ImportPath: projectPath, Commit: commit, } @@ -153,5 +152,5 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c } } - return pkg, imports, err + return node, imports, err } diff --git a/doc/google.go b/doc/google.go index 303192d08..3cc0c1b3b 100644 --- a/doc/google.go +++ b/doc/google.go @@ -48,7 +48,7 @@ func getGoogleVCS(client *http.Client, match map[string]string) error { } // GetGoogleDoc downloads raw files from code.google.com. -func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Package, []string, error) { +func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Node, []string, error) { setupGoogleMatch(match) // Check version control. if m := googleEtagRe.FindStringSubmatch(commit); m != nil { @@ -132,9 +132,8 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c return nil, nil, err } - pkg := &Package{ - ImportPath: match["importPath"], - AbsPath: installPath, + node := &Node{ + ImportPath: projectPath, Commit: commit, } var imports []string @@ -164,7 +163,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c } } - return pkg, imports, err + return node, imports, err } func downloadFiles(client *http.Client, match map[string]string, rootPath, installPath, commit string, dirs []string) error { diff --git a/doc/launchpad.go b/doc/launchpad.go index e49fa728f..207d36c88 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -19,7 +19,7 @@ import ( var LaunchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) // GetLaunchpadDoc downloads tarball from launchpad.net. -func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Package, []string, error) { +func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Node, []string, error) { if match["project"] != "" && match["series"] != "" { rc, err := httpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) @@ -120,9 +120,8 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH } } - pkg := &Package{ - ImportPath: match["importPath"], - AbsPath: installPath, + node := &Node{ + ImportPath: projectPath, Commit: commit, } @@ -139,5 +138,5 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH } } - return pkg, imports, err + return node, imports, err } diff --git a/doc/struct.go b/doc/struct.go index d92bf03a6..5df542dbf 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -10,17 +10,11 @@ import ( "time" ) -// Package represents a package. -type Package struct { - // Package import path. - ImportPath string - AbsPath string - - // Revision tag and project tags. - Commit string - - // Imports. - Imports []string +// Node represents a node structure. +type Node struct { + ImportPath string `json:"import_path"` + Commit string + Date string } // source is source code file. diff --git a/gpm.go b/gpm.go index 1d21a97d1..d96bf368e 100644 --- a/gpm.go +++ b/gpm.go @@ -7,6 +7,7 @@ package main import ( + "encoding/json" "fmt" "io" "os" @@ -20,11 +21,14 @@ import ( "unicode/utf8" "github.com/BurntSushi/toml" + "github.com/GPMGo/gpm/doc" + "github.com/GPMGo/gpm/utils" ) var ( - config tomlConfig - appPath string // Application path. + config tomlConfig + appPath string // Application path. + localNodes []*doc.Node ) type tomlConfig struct { @@ -100,7 +104,7 @@ func getAppPath() bool { } // loadUsage loads usage according to user language. -func loadUsage(lang, appPath string) bool { +func loadUsage(lang string) bool { // Load main usage. f, err := os.Open(appPath + "i18n/" + lang + "/usage.tpl") if err != nil { @@ -139,6 +143,27 @@ func loadUsage(lang, appPath string) bool { return true } +// loadLocalNodes loads nodes information from local file system. +func loadLocalNodes() bool { + if !utils.IsExist(appPath + "data/nodes.json") { + os.MkdirAll(appPath+"data/", os.ModePerm) + } else { + fr, err := os.Open(appPath + "data/nodes.json") + if err != nil { + fmt.Println(err) + return false + } + defer fr.Close() + + err = json.NewDecoder(fr).Decode(&localNodes) + if err != nil && err != io.EOF { + fmt.Println(err) + return false + } + } + return true +} + // We don't use init() to initialize // bacause we need to get execute path in runtime. func initialize() bool { @@ -154,7 +179,7 @@ func initialize() bool { } // Load usages by language. - if !loadUsage(config.Lang, appPath) { + if !loadUsage(config.Lang) { return false } @@ -162,6 +187,11 @@ func initialize() bool { os.MkdirAll(appPath+"repo/bundles/", os.ModePerm) os.MkdirAll(appPath+"repo/snapshots/", os.ModePerm) + // Initialize local nodes. + if !loadLocalNodes() { + return false + } + return true } diff --git a/install.go b/install.go index 565608ccc..59540efd7 100644 --- a/install.go +++ b/install.go @@ -5,8 +5,10 @@ package main import ( + "encoding/json" "fmt" "net/http" + "os" "os/exec" "regexp" "strings" @@ -126,6 +128,16 @@ func runInstall(cmd *Command, args []string) { cmdArgs[1] = k executeGoCommand(cmdArgs) } + + // Save local nodes to file. + fw, err := os.Create(appPath + "data/nodes.json") + if err != nil { + fmt.Println(err) + return + } + defer fw.Close() + fbytes, _ := json.MarshalIndent(&localNodes, "", "\t") + fw.Write(fbytes) } fmt.Println("Well done.") @@ -146,17 +158,17 @@ func downloadPackages(pkgs, commits []string) { case utils.IsValidRemotePath(p): if !downloadCache[p] { // Download package. - pkg, imports := downloadPackage(p, commits[i]) + node, imports := downloadPackage(p, commits[i]) if len(imports) > 0 { // Need to download dependencies. tags := make([]string, len(imports)) downloadPackages(imports, tags) - continue } // Only save package information with specific commit. - if pkg != nil { - // Save record in local database. + if node != nil { + // Save record in local nodes. + saveNode(node) //fmt.Printf("Saved information: %s:%s.\n", pkg.ImportPath, pkg.Commit) } } else { @@ -169,8 +181,22 @@ func downloadPackages(pkgs, commits []string) { } } +// saveNode saves node into local nodes. +func saveNode(n *doc.Node) { + // Check if this node exists. + for _, v := range localNodes { + if n.ImportPath == v.ImportPath { + v = n + return + } + } + + // Add new node. + localNodes = append(localNodes, n) +} + // downloadPackage download package either use version control tools or not. -func downloadPackage(path, commit string) (pkg *doc.Package, imports []string) { +func downloadPackage(path, commit string) (node *doc.Node, imports []string) { // Check if use version control tools. switch { case !cmdInstall.Flags["-p"] && @@ -191,13 +217,13 @@ func downloadPackage(path, commit string) (pkg *doc.Package, imports []string) { downloadCache[path] = true var err error - pkg, imports, err = pureDownload(path, commit) + node, imports, err = pureDownload(path, commit) if err != nil { fmt.Printf("Fail to download package(%s) with error: %s.\n", path, err) return nil, nil } - return pkg, imports + return node, imports } } @@ -218,7 +244,7 @@ func checkGoGetFlags() (args []string) { type service struct { pattern *regexp.Regexp prefix string - get func(*http.Client, map[string]string, string, string, map[string]bool) (*doc.Package, []string, error) + get func(*http.Client, map[string]string, string, string, map[string]bool) (*doc.Node, []string, error) } // services is the list of source code control services handled by gopkgdoc. @@ -230,7 +256,7 @@ var services = []*service{ } // pureDownload downloads package without version control. -func pureDownload(path, commit string) (pinfo *doc.Package, imports []string, err error) { +func pureDownload(path, commit string) (*doc.Node, []string, error) { for _, s := range services { if s.get == nil || !strings.HasPrefix(path, s.prefix) { continue From 715ae7faebbf810b7c08e728feacafb9185fc80d Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 20:51:05 -0400 Subject: [PATCH 050/287] add local bundle support --- README.md | 6 +++++- conf/gpm.toml | 2 +- doc/struct.go | 11 ++++++++++- gpm.go | 54 ++++++++++++++++++++++++++++++++++++++++++++++----- install.go | 40 +++++++++++++++++++++++++++++++++++++- 5 files changed, 104 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 42aa62c83..6b0c40a79 100644 --- a/README.md +++ b/README.md @@ -25,4 +25,8 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add support for downloading by tag for packages in github.com, bitbucket.org, git.oschina.net, gitcafe.com. - Get author commit time and save in node. - Collect download and installation results and report to users in the end. -- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; \ No newline at end of file +- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; +- Command `check` is for checking and downloading all missing dependencies. +- Command `daemon` is for auto-compile web applications when debug it locally. +- Command `update` is for checking updates. +- Command `remove` is for removing packages. \ No newline at end of file diff --git a/conf/gpm.toml b/conf/gpm.toml index 6cf9be447..2f893c1d8 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.0 Build 0521" +version = "v0.1.1 Build 0521" username = "" password = "" user_language = "en-US" \ No newline at end of file diff --git a/doc/struct.go b/doc/struct.go index 5df542dbf..55c5beead 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -10,13 +10,22 @@ import ( "time" ) -// Node represents a node structure. +// Node represents a node. type Node struct { ImportPath string `json:"import_path"` Commit string Date string } +// Bundle represents a bundle. +type Bundle struct { + Id int64 + UserId int64 `json:"user_id"` + Name string `json:"bundle_name"` + Comment string + Nodes []*Node +} + // source is source code file. type source struct { rawURL string diff --git a/gpm.go b/gpm.go index d96bf368e..45135258e 100644 --- a/gpm.go +++ b/gpm.go @@ -26,9 +26,10 @@ import ( ) var ( - config tomlConfig - appPath string // Application path. - localNodes []*doc.Node + config tomlConfig + appPath string // Application path. + localNodes []*doc.Node + localBundles []*doc.Bundle ) type tomlConfig struct { @@ -164,6 +165,49 @@ func loadLocalNodes() bool { return true } +// loadLocalBundles loads bundles from local file system. +func loadLocalBundles() bool { + // Find all bundles. + dir, err := os.Open(appPath + "repo/bundles/") + if err != nil { + fmt.Println(err) + return false + } + defer dir.Close() + + fis, err := dir.Readdir(0) + if err != nil { + fmt.Println(err) + return false + } + + for _, fi := range fis { + // In case this folder contains unexpected directories. + if !fi.IsDir() { + fr, err := os.Open(appPath + "repo/bundles/" + fi.Name()) + if err != nil { + fmt.Println(err) + return false + } + + bundle := new(doc.Bundle) + err = json.NewDecoder(fr).Decode(bundle) + fr.Close() + if err != nil && err != io.EOF { + fmt.Println(err) + return false + } + + // Make sure bundle name is not empty. + if len(bundle.Name) == 0 { + bundle.Name = fi.Name()[:strings.Index(fi.Name(), ".")] + } + localBundles = append(localBundles, bundle) + } + } + return true +} + // We don't use init() to initialize // bacause we need to get execute path in runtime. func initialize() bool { @@ -187,8 +231,8 @@ func initialize() bool { os.MkdirAll(appPath+"repo/bundles/", os.ModePerm) os.MkdirAll(appPath+"repo/snapshots/", os.ModePerm) - // Initialize local nodes. - if !loadLocalNodes() { + // Initialize local data. + if !loadLocalNodes() || !loadLocalBundles() { return false } diff --git a/install.go b/install.go index 59540efd7..e48f1919e 100644 --- a/install.go +++ b/install.go @@ -143,6 +143,25 @@ func runInstall(cmd *Command, args []string) { fmt.Println("Well done.") } +// checkLocalBundles checks if the bundle is in local file system. +func checkLocalBundles(bundle string) (pkgs, commits []string) { + for _, b := range localBundles { + if bundle == b.Name { + for _, n := range b.Nodes { + pkgs = append(pkgs, n.ImportPath) + // Make sure it will not download all dependencies automatically. + if len(n.Commit) == 0 { + commits = append(commits, "B") + } else { + commits = append(commits, n.Commit) + } + } + return pkgs, commits + } + } + return nil, nil +} + // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. @@ -152,7 +171,26 @@ func downloadPackages(pkgs, commits []string) { // Check if it is a bundle or snapshot. switch { case p[0] == 'B': - // TODO: api.GetBundleInfo() + // Check local bundles. + bpkgs, bcommits := checkLocalBundles(p[1:]) + if len(bpkgs) > 0 { + // Check with users if continue. + fmt.Printf("Bundle(%s) contains following nodes:\n", p[1:]) + for i := range bpkgs { + fmt.Printf("import path: %s, commit: %s.\n", bpkgs[i], bcommits[i]) + } + fmt.Print("Continue download?(Y/n).") + var option string + fmt.Fscan(os.Stdin, &option) + if strings.ToLower(option) != "y" { + os.Exit(0) + } + downloadPackages(bpkgs, bcommits) + } else { + // Check from server. + // TODO: api.GetBundleInfo() + fmt.Println("Unable to check with server right now.") + } case p[0] == 'S': // TODO: api.GetSnapshotInfo() case utils.IsValidRemotePath(p): From 889a183d22b8a2b1be65a6b3a33636aa60082813 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 21 May 2013 21:59:00 -0400 Subject: [PATCH 051/287] readme --- README.md | 2 +- doc/struct.go | 11 ++++++----- install.go | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6b0c40a79..220b22b7a 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - All errors should have specific title for exactly where were created. - Add i18n support for all strings. +- Command `build` add current path to GOPATH temporary. - Add gpm working principle design. - Add support for downloading tarballs from user sources. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. @@ -21,7 +22,6 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add bundle and snapshot parser code for downloading by bundle or snapshot id. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. - Download package from code.google.com only support hg as version control system, probably support git and svn. -- Add feature for downloading through version control tools, and use `checkout` to switch to specific revision; this feature only be enabled when users use bundle or snapshot id. - Add support for downloading by tag for packages in github.com, bitbucket.org, git.oschina.net, gitcafe.com. - Get author commit time and save in node. - Collect download and installation results and report to users in the end. diff --git a/doc/struct.go b/doc/struct.go index 55c5beead..e7dbe1f5f 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -19,11 +19,12 @@ type Node struct { // Bundle represents a bundle. type Bundle struct { - Id int64 - UserId int64 `json:"user_id"` - Name string `json:"bundle_name"` - Comment string - Nodes []*Node + Id int64 + UserId int64 `json:"user_id"` + Name string `json:"bundle_name"` + Timestamp int64 + Comment string + Nodes []*Node } // source is source code file. diff --git a/install.go b/install.go index e48f1919e..89207ae2a 100644 --- a/install.go +++ b/install.go @@ -179,7 +179,7 @@ func downloadPackages(pkgs, commits []string) { for i := range bpkgs { fmt.Printf("import path: %s, commit: %s.\n", bpkgs[i], bcommits[i]) } - fmt.Print("Continue download?(Y/n).") + fmt.Print("Continue to download?(Y/n).") var option string fmt.Fscan(os.Stdin, &option) if strings.ToLower(option) != "y" { From 2c429375fb480558c194c8c68dc09e4d0828bac0 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 09:42:25 -0400 Subject: [PATCH 052/287] command install add support for use tag, branch or commit for packages in github.com --- README.md | 8 ++-- doc/bitbucket.go | 30 +++++++------ doc/github.go | 49 +++++++++++++-------- doc/google.go | 33 +++++++------- doc/launchpad.go | 27 ++++++------ doc/struct.go | 6 +-- gpm.go | 3 +- install.go | 110 +++++++++++++++++++++++++++-------------------- 8 files changed, 152 insertions(+), 114 deletions(-) diff --git a/README.md b/README.md index 220b22b7a..c7e0e4866 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ gpm - Go Package Manager === -![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo.png?raw=true) +![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. @@ -22,11 +22,13 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add bundle and snapshot parser code for downloading by bundle or snapshot id. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. - Download package from code.google.com only support hg as version control system, probably support git and svn. -- Add support for downloading by tag for packages in github.com, bitbucket.org, git.oschina.net, gitcafe.com. +- Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. - Get author commit time and save in node. - Collect download and installation results and report to users in the end. - Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; - Command `check` is for checking and downloading all missing dependencies. - Command `daemon` is for auto-compile web applications when debug it locally. - Command `update` is for checking updates. -- Command `remove` is for removing packages. \ No newline at end of file +- Command `remove` is for removing packages. +- Command `search` is for searching packages. +- Add feature "struct generator". \ No newline at end of file diff --git a/doc/bitbucket.go b/doc/bitbucket.go index a206844a0..df3d97787 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -22,7 +22,8 @@ var ( ) // GetBitbucketDoc downloads tarball from bitbucket.org. -func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Node, []string, error) { +func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { + commit := node.Value // Check version control. if m := bitbucketEtagRe.FindStringSubmatch(commit); m != nil { match["vcs"] = m[1] @@ -31,7 +32,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH Scm string } if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}", match), &repo); err != nil { - return nil, nil, err + return nil, err } match["vcs"] = repo.Scm } @@ -48,7 +49,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH Node string } if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { - return nil, nil, err + return nil, err } for t, n := range nodes { tags[t] = n.Node @@ -59,7 +60,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH var err error match["tag"], match["commit"], err = bestTag(tags, defaultTags[match["vcs"]]) if err != nil { - return nil, nil, err + return nil, err } } else { match["commit"] = commit @@ -72,7 +73,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH // Downlaod archive. p, err := httpGetBytes(client, expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) if err != nil { - return nil, nil, err + return nil, err } projectPath := expand("bitbucket.org/{owner}/{repo}", match) @@ -85,7 +86,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH gzr, err := gzip.NewReader(bytes.NewReader(p)) if err != nil { - return nil, nil, err + return nil, err } defer gzr.Close() @@ -99,7 +100,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH if err == io.EOF { break } else if err != nil { - return nil, nil, err + return nil, err } fn := h.FileInfo().Name() @@ -125,26 +126,27 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH // Get data from archive. fbytes := make([]byte, h.Size) if _, err := io.ReadFull(tr, fbytes); err != nil { - return nil, nil, err + return nil, err } // Write data to file fw, err := os.Create(absPath) if err != nil { - return nil, nil, err + return nil, err } _, err = fw.Write(fbytes) fw.Close() if err != nil { - return nil, nil, err + return nil, err } } - node := &Node{ + node.Value = commit + /* node := &Node{ ImportPath: projectPath, Commit: commit, - } + }*/ var imports []string @@ -153,13 +155,13 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH for _, d := range dirs { importPkgs, err := checkImports(d+"/", match["importPath"]) if err != nil { - return nil, nil, err + return nil, err } imports = append(imports, importPkgs...) } } - return node, imports, err + return imports, err } // checkDir checks if current directory has been saved. diff --git a/doc/github.go b/doc/github.go index 04ba6e489..bb8fe5c51 100644 --- a/doc/github.go +++ b/doc/github.go @@ -7,6 +7,7 @@ package doc import ( "archive/zip" "bytes" + "errors" "io" "net/http" "os" @@ -26,7 +27,7 @@ func SetGithubCredentials(id, secret string) { } // GetGithubDoc downloads tarball from github.com. -func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Node, []string, error) { +func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred @@ -43,14 +44,14 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c // bundle and snapshot will have commit 'B' and 'S', // but does not need to download dependencies. - isCheckImport := len(commit) == 0 + isCheckImport := len(node.Value) == 0 - // Check if download with specific revision. - if isCheckImport || len(commit) == 1 { + switch { + case isCheckImport || len(node.Value) == 1: // Get up-to-date version. err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) if err != nil { - return nil, nil, err + return nil, err } tags := make(map[string]string) @@ -64,9 +65,19 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c } // Check revision tag. - match["tag"], commit, err = bestTag(tags, "master") + match["tag"], match["sha"], err = bestTag(tags, "master") if err != nil { - return nil, nil, err + return nil, err + } + + node.Type = "commit" + case !isCheckImport: // Bundle or snapshot. + // Check downlaod type. + switch node.Type { + case "tag", "commit", "branch": + match["sha"] = node.Value + default: + return nil, errors.New("Unknown node type: " + node.Type) } } @@ -74,19 +85,22 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c // zip : https://github.com/{owner}/{repo}/archive/{sha}.zip // tarball : https://github.com/{owner}/{repo}/tarball/{sha} - match["sha"] = commit // Downlaod archive. p, err := httpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) if err != nil { - return nil, nil, err + return nil, err } r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) if err != nil { - return nil, nil, err + return nil, err } shaName := expand("{repo}-{sha}", match) + if node.Type == "tag" { + shaName = strings.Replace(shaName, "-v", "-", 1) + } + projectPath := expand("github.com/{owner}/{repo}", match) installPath := installGOPATH + "/src/" + projectPath @@ -114,7 +128,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c // Get file from archive. rc, err := f.Open() if err != nil { - return nil, nil, err + return nil, err } // Create diretory before create file. @@ -123,20 +137,19 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c // Write data to file fw, _ := os.Create(absPath) if err != nil { - return nil, nil, err + return nil, err } _, err = io.Copy(fw, rc) rc.Close() fw.Close() if err != nil { - return nil, nil, err + return nil, err } } - node := &Node{ - ImportPath: projectPath, - Commit: commit, + if node.Type == "commit" { + node.Value = match["sha"] } var imports []string @@ -146,11 +159,11 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH, c for _, d := range dirs { importPkgs, err := checkImports(d, match["importPath"]) if err != nil { - return nil, nil, err + return nil, err } imports = append(imports, importPkgs...) } } - return node, imports, err + return imports, err } diff --git a/doc/google.go b/doc/google.go index 3cc0c1b3b..947c4c073 100644 --- a/doc/google.go +++ b/doc/google.go @@ -48,13 +48,14 @@ func getGoogleVCS(client *http.Client, match map[string]string) error { } // GetGoogleDoc downloads raw files from code.google.com. -func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Node, []string, error) { +func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { setupGoogleMatch(match) + commit := node.Value // Check version control. if m := googleEtagRe.FindStringSubmatch(commit); m != nil { match["vcs"] = m[1] } else if err := getGoogleVCS(client, match); err != nil { - return nil, nil, err + return nil, err } // bundle and snapshot will have commit 'B' and 'S', @@ -66,12 +67,12 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c // Scrape the repo browser to find the project revision and individual Go files. p, err := httpGetBytes(client, rootPath+"?r="+commit, nil) if err != nil { - return nil, nil, err + return nil, err } // Check revision tag. if m := googleRevisionRe.FindSubmatch(p); m == nil { - return nil, nil, + return nil, errors.New("doc.GetGoogleDoc(): Could not find revision for " + match["importPath"]) } @@ -86,7 +87,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c // Get source files in root path. files := make([]*source, 0, 5) for _, m := range googleFileRe.FindAllSubmatch(p, -1) { - fname := string(m[1]) + fname := strings.Split(string(m[1]), "?")[0] files = append(files, &source{ name: fname, rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + commit, @@ -95,7 +96,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c // Fetch files from VCS. if err := fetchFiles(client, files, nil); err != nil { - return nil, nil, err + return nil, err } // Save files. @@ -108,13 +109,13 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c // Write data to file fw, err := os.Create(absPath + f.name) if err != nil { - return nil, nil, err + return nil, err } _, err = fw.Write(f.data) fw.Close() if err != nil { - return nil, nil, err + return nil, err } } @@ -129,26 +130,28 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c err = downloadFiles(client, match, rootPath, installPath+"/", commit, dirs) if err != nil { - return nil, nil, err + return nil, err } - node := &Node{ + node.Value = commit + /* node := &Node{ ImportPath: projectPath, Commit: commit, - } + }*/ + var imports []string // Check if need to check imports. if isCheckImport { rootdir, err := os.Open(installPath + "/") if err != nil { - return nil, nil, err + return nil, err } defer rootdir.Close() dirs, err := rootdir.Readdir(0) if err != nil { - return nil, nil, err + return nil, err } for _, d := range dirs { @@ -156,14 +159,14 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH, c absPath := installPath + "/" + d.Name() + "/" importPkgs, err := checkImports(absPath, match["importPath"]) if err != nil { - return nil, nil, err + return nil, err } imports = append(imports, importPkgs...) } } } - return node, imports, err + return imports, err } func downloadFiles(client *http.Client, match map[string]string, rootPath, installPath, commit string, dirs []string) error { diff --git a/doc/launchpad.go b/doc/launchpad.go index 207d36c88..677a837f5 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -19,7 +19,7 @@ import ( var LaunchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) // GetLaunchpadDoc downloads tarball from launchpad.net. -func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH, commit string, cmdFlags map[string]bool) (*Node, []string, error) { +func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { if match["project"] != "" && match["series"] != "" { rc, err := httpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) @@ -32,10 +32,10 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH match["repo"] = match["project"] match["dir"] = expand("{series}{dir}", match) default: - return nil, nil, err + return nil, err } } - + commit := node.Value // bundle and snapshot will have commit 'B' and 'S', // but does not need to download dependencies. isCheckImport := len(commit) == 0 @@ -51,7 +51,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH // Scrape the repo browser to find the project revision and individual Go files. p, err := httpGetBytes(client, downloadPath, nil) if err != nil { - return nil, nil, err + return nil, err } projectPath := expand("launchpad.net/{repo}", match) @@ -64,7 +64,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH gzr, err := gzip.NewReader(bytes.NewReader(p)) if err != nil { - return nil, nil, err + return nil, err } defer gzr.Close() @@ -78,7 +78,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH if err == io.EOF { break } else if err != nil { - return nil, nil, err + return nil, err } fn := h.FileInfo().Name() @@ -104,26 +104,27 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH // Get data from archive. fbytes := make([]byte, h.Size) if _, err := io.ReadFull(tr, fbytes); err != nil { - return nil, nil, err + return nil, err } // Write data to file fw, err := os.Create(absPath) if err != nil { - return nil, nil, err + return nil, err } _, err = fw.Write(fbytes) fw.Close() if err != nil { - return nil, nil, err + return nil, err } } - node := &Node{ + node.Value = commit + /* node := &Node{ ImportPath: projectPath, Commit: commit, - } + }*/ var imports []string @@ -132,11 +133,11 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH for _, d := range dirs { importPkgs, err := checkImports(d+"/", match["importPath"]) if err != nil { - return nil, nil, err + return nil, err } imports = append(imports, importPkgs...) } } - return node, imports, err + return imports, err } diff --git a/doc/struct.go b/doc/struct.go index e7dbe1f5f..cc348e1b6 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -12,9 +12,9 @@ import ( // Node represents a node. type Node struct { - ImportPath string `json:"import_path"` - Commit string - Date string + ImportPath string `json:"import_path"` + Type, Value string + Deps []*Node `json:"-"` // Dependencies. } // Bundle represents a bundle. diff --git a/gpm.go b/gpm.go index 45135258e..530f3a574 100644 --- a/gpm.go +++ b/gpm.go @@ -183,7 +183,7 @@ func loadLocalBundles() bool { for _, fi := range fis { // In case this folder contains unexpected directories. - if !fi.IsDir() { + if !fi.IsDir() && strings.HasSuffix(fi.Name(), ".json") { fr, err := os.Open(appPath + "repo/bundles/" + fi.Name()) if err != nil { fmt.Println(err) @@ -202,6 +202,7 @@ func loadLocalBundles() bool { if len(bundle.Name) == 0 { bundle.Name = fi.Name()[:strings.Index(fi.Name(), ".")] } + localBundles = append(localBundles, bundle) } } diff --git a/install.go b/install.go index 89207ae2a..548feafa1 100644 --- a/install.go +++ b/install.go @@ -113,9 +113,14 @@ func runInstall(cmd *Command, args []string) { installGOPATH = utils.GetBestMatchGOPATH(appPath) fmt.Printf("Packages will be downloaded to GOPATH(%s).\n", installGOPATH) + // Generate temporary nodes. + nodes := make([]*doc.Node, len(args)) + for i := range nodes { + nodes[i] = new(doc.Node) + nodes[i].ImportPath = args[i] + } // Download packages. - commits := make([]string, len(args)) - downloadPackages(args, commits) + downloadPackages(nodes) if !cmdInstall.Flags["-d"] && cmdInstall.Flags["-p"] { // Install packages all together. @@ -144,40 +149,48 @@ func runInstall(cmd *Command, args []string) { } // checkLocalBundles checks if the bundle is in local file system. -func checkLocalBundles(bundle string) (pkgs, commits []string) { +func checkLocalBundles(bundle string) (nodes []*doc.Node) { for _, b := range localBundles { if bundle == b.Name { for _, n := range b.Nodes { - pkgs = append(pkgs, n.ImportPath) // Make sure it will not download all dependencies automatically. - if len(n.Commit) == 0 { - commits = append(commits, "B") - } else { - commits = append(commits, n.Commit) + if len(n.Value) == 0 { + n.Value = "B" + } + nodes = append(nodes, n) + + // Check dependencies. + for _, d := range n.Deps { + // Make sure it will not download all dependencies automatically. + if len(d.Value) == 0 { + d.Value = "B" + } + nodes = append(nodes, d) } } - return pkgs, commits + return nodes } } - return nil, nil + return nil } // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. -func downloadPackages(pkgs, commits []string) { +func downloadPackages(nodes []*doc.Node) { // Check all packages, they may be bundles, snapshots or raw packages path. - for i, p := range pkgs { + for _, n := range nodes { // Check if it is a bundle or snapshot. switch { - case p[0] == 'B': + case n.ImportPath[0] == 'B': // Check local bundles. - bpkgs, bcommits := checkLocalBundles(p[1:]) - if len(bpkgs) > 0 { + bnodes := checkLocalBundles(n.ImportPath[1:]) + if len(nodes) > 0 { // Check with users if continue. - fmt.Printf("Bundle(%s) contains following nodes:\n", p[1:]) - for i := range bpkgs { - fmt.Printf("import path: %s, commit: %s.\n", bpkgs[i], bcommits[i]) + fmt.Printf("Bundle(%s) contains following nodes:\n", + n.ImportPath[1:]) + for _, bn := range bnodes { + fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) } fmt.Print("Continue to download?(Y/n).") var option string @@ -185,36 +198,40 @@ func downloadPackages(pkgs, commits []string) { if strings.ToLower(option) != "y" { os.Exit(0) } - downloadPackages(bpkgs, bcommits) + downloadPackages(bnodes) } else { // Check from server. // TODO: api.GetBundleInfo() fmt.Println("Unable to check with server right now.") } - case p[0] == 'S': + case n.ImportPath[0] == 'S': // TODO: api.GetSnapshotInfo() - case utils.IsValidRemotePath(p): - if !downloadCache[p] { + case utils.IsValidRemotePath(n.ImportPath): + if !downloadCache[n.ImportPath] { // Download package. - node, imports := downloadPackage(p, commits[i]) + node, imports := downloadPackage(n) if len(imports) > 0 { // Need to download dependencies. - tags := make([]string, len(imports)) - downloadPackages(imports, tags) + // Generate temporary nodes. + nodes := make([]*doc.Node, len(imports)) + for i := range nodes { + nodes[i] = new(doc.Node) + nodes[i].ImportPath = imports[i] + } + downloadPackages(nodes) } // Only save package information with specific commit. if node != nil { // Save record in local nodes. saveNode(node) - //fmt.Printf("Saved information: %s:%s.\n", pkg.ImportPath, pkg.Commit) } } else { - fmt.Printf("Skipped downloaded package: %s.\n", p) + fmt.Printf("Skipped downloaded package: %s.\n", n.ImportPath) } default: // Invalid import path. - fmt.Printf("Skipped invalid import path: %s.\n", p) + fmt.Printf("Skipped invalid import path: %s.\n", n.ImportPath) } } } @@ -222,9 +239,9 @@ func downloadPackages(pkgs, commits []string) { // saveNode saves node into local nodes. func saveNode(n *doc.Node) { // Check if this node exists. - for _, v := range localNodes { + for i, v := range localNodes { if n.ImportPath == v.ImportPath { - v = n + localNodes[i] = n return } } @@ -234,14 +251,14 @@ func saveNode(n *doc.Node) { } // downloadPackage download package either use version control tools or not. -func downloadPackage(path, commit string) (node *doc.Node, imports []string) { +func downloadPackage(node *doc.Node) (*doc.Node, []string) { // Check if use version control tools. switch { case !cmdInstall.Flags["-p"] && - ((path[0] == 'g' && isHasGit) || (path[0] == 'c' && isHasHg)): // github.com, code.google.com - fmt.Printf("Installing package(%s) through 'go get'.\n", path) + ((node.ImportPath[0] == 'g' && isHasGit) || (node.ImportPath[0] == 'c' && isHasHg)): // github.com, code.google.com + fmt.Printf("Installing package(%s) through 'go get'.\n", node.ImportPath) args := checkGoGetFlags() - args = append(args, path) + args = append(args, node.ImportPath) executeGoCommand(args) return nil, nil default: // Pure download. @@ -250,14 +267,13 @@ func downloadPackage(path, commit string) (node *doc.Node, imports []string) { fmt.Printf("No version control tool is available, pure download enabled!\n") } - fmt.Printf("Downloading package: %s.\n", path) + fmt.Printf("Downloading package: %s.\n", node.ImportPath) // Mark as donwloaded. - downloadCache[path] = true + downloadCache[node.ImportPath] = true - var err error - node, imports, err = pureDownload(path, commit) + imports, err := pureDownload(node) if err != nil { - fmt.Printf("Fail to download package(%s) with error: %s.\n", path, err) + fmt.Printf("Fail to download package(%s) with error: %s.\n", node.ImportPath, err) return nil, nil } @@ -282,7 +298,7 @@ func checkGoGetFlags() (args []string) { type service struct { pattern *regexp.Regexp prefix string - get func(*http.Client, map[string]string, string, string, map[string]bool) (*doc.Node, []string, error) + get func(*http.Client, map[string]string, string, *doc.Node, map[string]bool) ([]string, error) } // services is the list of source code control services handled by gopkgdoc. @@ -294,26 +310,26 @@ var services = []*service{ } // pureDownload downloads package without version control. -func pureDownload(path, commit string) (*doc.Node, []string, error) { +func pureDownload(node *doc.Node) ([]string, error) { for _, s := range services { - if s.get == nil || !strings.HasPrefix(path, s.prefix) { + if s.get == nil || !strings.HasPrefix(node.ImportPath, s.prefix) { continue } - m := s.pattern.FindStringSubmatch(path) + m := s.pattern.FindStringSubmatch(node.ImportPath) if m == nil { if s.prefix != "" { - return nil, nil, + return nil, doc.NotFoundError{"Import path prefix matches known service, but regexp does not."} } continue } - match := map[string]string{"importPath": path} + match := map[string]string{"importPath": node.ImportPath} for i, n := range s.pattern.SubexpNames() { if n != "" { match[n] = m[i] } } - return s.get(doc.HttpClient, match, installGOPATH, commit, cmdInstall.Flags) + return s.get(doc.HttpClient, match, installGOPATH, node, cmdInstall.Flags) } - return nil, nil, doc.ErrNoMatch + return nil, doc.ErrNoMatch } From 8736abfcde8fbc611033973d9d103f3a1d9a954f Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 09:46:12 -0400 Subject: [PATCH 053/287] v0.1.2 Build 0522 --- conf/gpm.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/gpm.toml b/conf/gpm.toml index 2f893c1d8..4d26e9454 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.1 Build 0521" +version = "v0.1.2 Build 0522" username = "" password = "" user_language = "en-US" \ No newline at end of file From 113a4420e6e1e1c7a73efd3951bef775109c52de Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 10:13:36 -0400 Subject: [PATCH 054/287] command install add support for use tag, branch or commit for packages in github.com --- doc/struct.go | 2 +- install.go | 30 ++++++++++++++---------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/doc/struct.go b/doc/struct.go index cc348e1b6..47e911c7e 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -14,7 +14,7 @@ import ( type Node struct { ImportPath string `json:"import_path"` Type, Value string - Deps []*Node `json:"-"` // Dependencies. + Deps []*Node // Dependencies. } // Bundle represents a bundle. diff --git a/install.go b/install.go index 548feafa1..e08fc3730 100644 --- a/install.go +++ b/install.go @@ -148,26 +148,24 @@ func runInstall(cmd *Command, args []string) { fmt.Println("Well done.") } +// chekcDeps checks dependencies of nodes. +func chekcDeps(nodes []*doc.Node) (depnodes []*doc.Node) { + for _, n := range nodes { + // Make sure it will not download all dependencies automatically. + if len(n.Value) == 0 { + n.Value = "B" + } + depnodes = append(depnodes, n) + depnodes = append(depnodes, chekcDeps(n.Deps)...) + } + return depnodes +} + // checkLocalBundles checks if the bundle is in local file system. func checkLocalBundles(bundle string) (nodes []*doc.Node) { for _, b := range localBundles { if bundle == b.Name { - for _, n := range b.Nodes { - // Make sure it will not download all dependencies automatically. - if len(n.Value) == 0 { - n.Value = "B" - } - nodes = append(nodes, n) - - // Check dependencies. - for _, d := range n.Deps { - // Make sure it will not download all dependencies automatically. - if len(d.Value) == 0 { - d.Value = "B" - } - nodes = append(nodes, d) - } - } + nodes = append(nodes, chekcDeps(b.Nodes)...) return nodes } } From 4ee4552d171620060fc489a1ae3d9af57046a6b0 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 12:34:34 -0400 Subject: [PATCH 055/287] strings add i18n support --- README.md | 2 - build.go | 8 +- conf/gpm.toml | 2 +- doc/error.go | 1 - gpm.go | 68 ++++++++++++---- i18n/en-US/prompt.txt | 28 +++++++ install.go | 48 ++++++----- models/models.go | 185 ------------------------------------------ 8 files changed, 112 insertions(+), 230 deletions(-) create mode 100644 i18n/en-US/prompt.txt delete mode 100644 models/models.go diff --git a/README.md b/README.md index c7e0e4866..2f7596064 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,6 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update ## Todo -- All errors should have specific title for exactly where were created. -- Add i18n support for all strings. - Command `build` add current path to GOPATH temporary. - Add gpm working principle design. - Add support for downloading tarballs from user sources. diff --git a/build.go b/build.go index 61cd986d5..cde20a05d 100644 --- a/build.go +++ b/build.go @@ -44,17 +44,17 @@ func runBuild(cmd *Command, args []string) { if utils.IsExist(wd + "/" + proName) { err := os.Remove(wd + "/" + proName) if err != nil { - fmt.Printf("Fail to remove file in current directory: %s.\n", err) + fmt.Printf(fmt.Sprintf("ERROR: %s\n", promptMsg["RemoveFile"]), err) return } } err := os.Rename(v+"/bin/"+proName, wd+"/"+proName) if err == nil { - fmt.Printf("Moved file from $GOPATH(%s) to current directory(%s).\n", v, wd) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["MovedFile"]), v, wd) return - } else { - fmt.Printf("Fail to move file from $GOPATH(%s) to current directory: %s.\n", v, err) } + + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["MoveFile"]), v, wd) break } } diff --git a/conf/gpm.toml b/conf/gpm.toml index 4d26e9454..0fc4dcfa5 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.2 Build 0522" +version = "v0.1.3 Build 0522" username = "" password = "" user_language = "en-US" \ No newline at end of file diff --git a/doc/error.go b/doc/error.go index 379d30a45..dc12c93f1 100644 --- a/doc/error.go +++ b/doc/error.go @@ -10,7 +10,6 @@ import ( var ( errNotModified = errors.New("package not modified") - ErrNoMatch = errors.New("no match") errUpdateTimeout = errors.New("update timeout") ) diff --git a/gpm.go b/gpm.go index 530f3a574..7d1ba03be 100644 --- a/gpm.go +++ b/gpm.go @@ -26,12 +26,18 @@ import ( ) var ( - config tomlConfig - appPath string // Application path. + config tomlConfig + appPath string // Application path. +) + +var ( localNodes []*doc.Node localBundles []*doc.Bundle ) +// Use for i18n, key is prompt code, value is corresponding message. +var promptMsg map[string]string + type tomlConfig struct { Title, Version string Username, Password string @@ -93,7 +99,7 @@ func getAppPath() bool { // Look up executable in PATH variable. appPath, _ = exec.LookPath("gpm") if len(appPath) == 0 { - fmt.Printf("getAppPath(): Unable to indicate current execute path.") + fmt.Printf("ERROR: getAppPath -> Unable to indicate current execute path.\n") return false } @@ -104,17 +110,47 @@ func getAppPath() bool { return true } +// loadPromptMsg loads prompt messages according to user language. +func loadPromptMsg(lang string) bool { + promptMsg = make(map[string]string) + + // Load prompt messages. + f, err := os.Open(appPath + "i18n/" + lang + "/prompt.txt") + if err != nil { + fmt.Printf("ERROR: loadUsage -> Fail to load prompt messages[ %s ]\n", err) + return false + } + defer f.Close() + + // Read prompt messages. + fi, _ := f.Stat() + promptBytes := make([]byte, fi.Size()) + f.Read(promptBytes) + promptStrs := strings.Split(string(promptBytes), "\n") + for _, p := range promptStrs { + i := strings.Index(p, "=") + if i > -1 { + promptMsg[p[:i]] = p[i+1:] + } + } + return true +} + // loadUsage loads usage according to user language. func loadUsage(lang string) bool { + if !loadPromptMsg(lang) { + return false + } + // Load main usage. f, err := os.Open(appPath + "i18n/" + lang + "/usage.tpl") if err != nil { - fmt.Printf("loadUsage(): Fail to load main usage: %s.\n", err) + fmt.Printf(fmt.Sprintf("ERROR: loadUsage -> %s\n", promptMsg["LoadCommandUsage"]), "main", err) return false } defer f.Close() - // Read command usages. + // Read main usages. fi, _ := f.Stat() usageBytes := make([]byte, fi.Size()) f.Read(usageBytes) @@ -124,17 +160,19 @@ func loadUsage(lang string) bool { for _, cmd := range commands { f, err := os.Open(appPath + "i18n/" + lang + "/usage_" + cmd.Name() + ".txt") if err != nil { - fmt.Printf("loadUsage(): Fail to load usage(%s): %s.\n", cmd.Name(), err) + fmt.Printf(fmt.Sprintf("ERROR: loadUsage -> %s\n", promptMsg["LoadCommandUsage"]), cmd.Name(), err) return false } defer f.Close() + // Read usage. fi, _ := f.Stat() usageBytes := make([]byte, fi.Size()) f.Read(usageBytes) usages := strings.Split(string(usageBytes), "|||") if len(usages) < 2 { - fmt.Printf("loadUsage(): nacceptable usage file: %s.\n", cmd.Name()) + fmt.Printf( + fmt.Sprintf("ERROR: loadUsage -> %s\n", promptMsg["ReadCoammndUsage"]), cmd.Name()) return false } cmd.Short = usages[0] @@ -151,14 +189,14 @@ func loadLocalNodes() bool { } else { fr, err := os.Open(appPath + "data/nodes.json") if err != nil { - fmt.Println(err) + fmt.Printf(fmt.Sprintf("ERROR: loadLocalNodes -> %s\n", promptMsg["LoadLocalData"]), err) return false } defer fr.Close() err = json.NewDecoder(fr).Decode(&localNodes) if err != nil && err != io.EOF { - fmt.Println(err) + fmt.Printf(fmt.Sprintf("ERROR: loadLocalNodes -> %s\n", promptMsg["ParseJSON"]), err) return false } } @@ -170,14 +208,14 @@ func loadLocalBundles() bool { // Find all bundles. dir, err := os.Open(appPath + "repo/bundles/") if err != nil { - fmt.Println(err) + fmt.Printf(fmt.Sprintf("ERROR: loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err) return false } defer dir.Close() fis, err := dir.Readdir(0) if err != nil { - fmt.Println(err) + fmt.Printf(fmt.Sprintf("ERROR: loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err) return false } @@ -186,7 +224,7 @@ func loadLocalBundles() bool { if !fi.IsDir() && strings.HasSuffix(fi.Name(), ".json") { fr, err := os.Open(appPath + "repo/bundles/" + fi.Name()) if err != nil { - fmt.Println(err) + fmt.Printf(fmt.Sprintf("ERROR: loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err) return false } @@ -194,7 +232,7 @@ func loadLocalBundles() bool { err = json.NewDecoder(fr).Decode(bundle) fr.Close() if err != nil && err != io.EOF { - fmt.Println(err) + fmt.Printf(fmt.Sprintf("ERROR: loadLocalBundles -> %s\n", promptMsg["ParseJSON"]), err) return false } @@ -219,7 +257,7 @@ func initialize() bool { // Load configuration. if _, err := toml.DecodeFile(appPath+"conf/gpm.toml", &config); err != nil { - fmt.Println(err) + fmt.Printf("initialize -> Fail to load configuration[ %s ]\n", err) return false } @@ -269,7 +307,7 @@ func main() { } // Uknown commands. - fmt.Fprintf(os.Stderr, "gpm: unknown subcommand %q\nRun 'gpm help' for usage.\n", args[0]) + fmt.Fprintf(os.Stderr, fmt.Sprintf("%s\n", promptMsg["UnknownCommand"]), args[0]) setExitStatus(2) exit() } diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt new file mode 100644 index 000000000..bc9d00b55 --- /dev/null +++ b/i18n/en-US/prompt.txt @@ -0,0 +1,28 @@ +LoadCommandUsage=Fail to load command(%s) usage[ %s ] +ReadCoammndUsage=Unacceptable command(%s) usage file. +LoadLocalData=Fail to load local data[ %s ] +ParseJSON=Fail to parse JSON[ %s ] +OpenFile=Fail to open file[ %s ] +RemoveFile=Fail to remove file[ %s ] +UnknownCommand=gpm: Unknown command %q. Run 'gpm help' for usage. +MoveFile=Fail to move file from $GOPATH(%s) to current directory(%s). +UnknownFlag=Unknown flag: %s. +DownloadError=Fail to download package(%s)[ %s ] +NotFoundError=Import path prefix matches known service, but regexp does not. +ErrNoMatch=Unsupported VCS platform. + +MovedFile=Moved file from $GOPATH(%s) to current directory(%s). +PureDownload=You enabled pure download. +DownloadOnly=You enabled download without installing. +DownloadExDeps=You enabled download dependencies in example. +DownloadFromSrcs=You enabled download from sources. +NoPackage=Please list at least one package/bundle/snapshot. +DownloadPath=Packages will be downloaded to GOPATH(%s). +InstallStatus=Installing package: %s. +BundleInfo=Bundle(%s) contains following nodes: +ContinueDownload=Continue to download?(Y/n). +SkipDownloaded=Skipped downloaded package: %s. +SkipInvalidPath=Skipped invalid import path: %s. +InstallByGoGet=Installing package(%s) through 'go get'. +NoVCSTool=No version control tool is available, pure download enabled! +DownloadStatus=Downloading package: %s. \ No newline at end of file diff --git a/install.go b/install.go index e08fc3730..32335cee0 100644 --- a/install.go +++ b/install.go @@ -6,6 +6,7 @@ package main import ( "encoding/json" + "errors" "fmt" "net/http" "os" @@ -44,13 +45,13 @@ func init() { func printPrompt(flag string) { switch flag { case "-p": - fmt.Printf("You enabled pure download.\n") + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PureDownload"])) case "-d": - fmt.Printf("You enabled download without installing.\n") + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadOnly"])) case "-e": - fmt.Printf("You enabled download dependencies in example.\n") + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadExDeps"])) case "-s": - fmt.Printf("You enabled download from sources.\n") + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadFromSrcs"])) } } @@ -71,7 +72,7 @@ func checkFlags(args []string) int { cmdInstall.Flags[f] = true printPrompt(f) } else { - fmt.Printf("Unknown flag: %s.\n", f) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["UnknownFlag"]), f) return -1 } num = i + 1 @@ -103,7 +104,7 @@ func runInstall(cmd *Command, args []string) { // Check length of arguments. if len(args) < 1 { - fmt.Printf("Please list at least one package/bundle/snapshot.\n") + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoPackage"])) return } @@ -111,7 +112,7 @@ func runInstall(cmd *Command, args []string) { checkVCSTool() installGOPATH = utils.GetBestMatchGOPATH(appPath) - fmt.Printf("Packages will be downloaded to GOPATH(%s).\n", installGOPATH) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadPath"]), installGOPATH) // Generate temporary nodes. nodes := make([]*doc.Node, len(args)) @@ -129,7 +130,7 @@ func runInstall(cmd *Command, args []string) { cmdArgs = append(cmdArgs, "") for k := range downloadCache { - fmt.Printf("Installing package: %s.\n", k) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallStatus"]), k) cmdArgs[1] = k executeGoCommand(cmdArgs) } @@ -137,11 +138,15 @@ func runInstall(cmd *Command, args []string) { // Save local nodes to file. fw, err := os.Create(appPath + "data/nodes.json") if err != nil { - fmt.Println(err) + fmt.Printf(fmt.Sprintf("ERROR: runInstall -> %s\n", promptMsg["OpenFile"]), err) return } defer fw.Close() - fbytes, _ := json.MarshalIndent(&localNodes, "", "\t") + fbytes, err := json.MarshalIndent(&localNodes, "", "\t") + if err != nil { + fmt.Printf(fmt.Sprintf("ERROR: runInstall -> %s\n", promptMsg["ParseJSON"]), err) + return + } fw.Write(fbytes) } @@ -183,14 +188,13 @@ func downloadPackages(nodes []*doc.Node) { case n.ImportPath[0] == 'B': // Check local bundles. bnodes := checkLocalBundles(n.ImportPath[1:]) - if len(nodes) > 0 { + if len(bnodes) > 0 { // Check with users if continue. - fmt.Printf("Bundle(%s) contains following nodes:\n", - n.ImportPath[1:]) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[1:]) for _, bn := range bnodes { fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) } - fmt.Print("Continue to download?(Y/n).") + fmt.Printf(fmt.Sprintf("%s", promptMsg["ContinueDownload"])) var option string fmt.Fscan(os.Stdin, &option) if strings.ToLower(option) != "y" { @@ -225,11 +229,11 @@ func downloadPackages(nodes []*doc.Node) { saveNode(node) } } else { - fmt.Printf("Skipped downloaded package: %s.\n", n.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["SkipDownloaded"]), n.ImportPath) } default: // Invalid import path. - fmt.Printf("Skipped invalid import path: %s.\n", n.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["SkipInvalidPath"]), n.ImportPath) } } } @@ -254,7 +258,7 @@ func downloadPackage(node *doc.Node) (*doc.Node, []string) { switch { case !cmdInstall.Flags["-p"] && ((node.ImportPath[0] == 'g' && isHasGit) || (node.ImportPath[0] == 'c' && isHasHg)): // github.com, code.google.com - fmt.Printf("Installing package(%s) through 'go get'.\n", node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallByGoGet"]), node.ImportPath) args := checkGoGetFlags() args = append(args, node.ImportPath) executeGoCommand(args) @@ -262,16 +266,16 @@ func downloadPackage(node *doc.Node) (*doc.Node, []string) { default: // Pure download. if !cmdInstall.Flags["-p"] { cmdInstall.Flags["-p"] = true - fmt.Printf("No version control tool is available, pure download enabled!\n") + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoVCSTool"])) } - fmt.Printf("Downloading package: %s.\n", node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallByGoGet"]), node.ImportPath) // Mark as donwloaded. downloadCache[node.ImportPath] = true imports, err := pureDownload(node) if err != nil { - fmt.Printf("Fail to download package(%s) with error: %s.\n", node.ImportPath, err) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadError"]), node.ImportPath, err) return nil, nil } @@ -317,7 +321,7 @@ func pureDownload(node *doc.Node) ([]string, error) { if m == nil { if s.prefix != "" { return nil, - doc.NotFoundError{"Import path prefix matches known service, but regexp does not."} + doc.NotFoundError{fmt.Sprintf("%s\n", promptMsg["NotFoundError"])} } continue } @@ -329,5 +333,5 @@ func pureDownload(node *doc.Node) ([]string, error) { } return s.get(doc.HttpClient, match, installGOPATH, node, cmdInstall.Flags) } - return nil, doc.ErrNoMatch + return nil, errors.New(fmt.Sprintf("%s\n", promptMsg["NotFoundError"])) } diff --git a/models/models.go b/models/models.go deleted file mode 100644 index 579351a8d..000000000 --- a/models/models.go +++ /dev/null @@ -1,185 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -// Package models implemented database access funtions. - -package models - -import ( - "database/sql" - "errors" - //"os" - "strconv" - "strings" - "time" - - "github.com/coocood/qbs" - _ "github.com/mattn/go-sqlite3" -) - -const ( - DB_NAME = "./data/gowalker.db" - _SQLITE3_DRIVER = "sqlite3" -) - -// PkgInfo is package information. -type PkgInfo struct { - Id int64 - Path string `qbs:"index"` // Import path of package. - AbsPath string - Imports []string - Note string - Created time.Time `qbs:"index"` // Time when information last updated. - Commit string // Revision tag and project tags. -} - -func connDb() *qbs.Qbs { - // 'sql.Open' only returns error when unknown driver, so it's not necessary to check in other places. - db, err := sql.Open(_SQLITE3_DRIVER, DB_NAME) - if err != nil { - //beego.Error("models.connDb():", err) - } - q := qbs.New(db, qbs.NewSqlite3()) - return q -} - -func setMg() (*qbs.Migration, error) { - db, err := sql.Open(_SQLITE3_DRIVER, DB_NAME) - mg := qbs.NewMigration(db, DB_NAME, qbs.NewSqlite3()) - return mg, err -} - -/*func init() { - // Initialize database. - os.Mkdir("./data", os.ModePerm) - - // Connect to database. - q := connDb() - defer q.Db.Close() - - mg, err := setMg() - if err != nil { - beego.Error("models.init():", err) - } - defer mg.Db.Close() - - // Create data tables. - mg.CreateTableIfNotExists(new(PkgInfo)) - - beego.Trace("Initialized database ->", DB_NAME) -}*/ - -// GetProInfo returns package information from database. -func GetPkgInfo(path string) (*PkgInfo, error) { - // Check path length to reduce connect times. - if len(path) == 0 { - return nil, errors.New("models.GetPkgInfo(): Empty path as not found.") - } - - // Connect to database. - q := connDb() - defer q.Db.Close() - - pinfo := new(PkgInfo) - err := q.WhereEqual("path", path).Find(pinfo) - - return pinfo, err -} - -// GetGroupPkgInfo returns group of package infomration in order to reduce database connect times. -func GetGroupPkgInfo(paths []string) ([]*PkgInfo, error) { - // Connect to database. - q := connDb() - defer q.Db.Close() - - pinfos := make([]*PkgInfo, 0, len(paths)) - for _, v := range paths { - if len(v) > 0 { - pinfo := new(PkgInfo) - err := q.WhereEqual("path", v).Find(pinfo) - if err == nil { - pinfos = append(pinfos, pinfo) - } else { - pinfos = append(pinfos, &PkgInfo{Path: v}) - } - } - } - return pinfos, nil -} - -// GetPkgInfoById returns package information from database by pid. -func GetPkgInfoById(pid int) (*PkgInfo, error) { - // Connect to database. - q := connDb() - defer q.Db.Close() - - pinfo := new(PkgInfo) - err := q.WhereEqual("id", pid).Find(pinfo) - - return pinfo, err -} - -// GetGroupPkgInfoById returns group of package infomration by pid in order to reduce database connect times. -// The formatted pid looks like '$|', so we need to cut '$' here. -func GetGroupPkgInfoById(pids []string) ([]*PkgInfo, error) { - // Connect to database. - q := connDb() - defer q.Db.Close() - - pinfos := make([]*PkgInfo, 0, len(pids)) - for _, v := range pids { - if len(v) > 1 { - pid, err := strconv.Atoi(v[1:]) - if err == nil { - pinfo := new(PkgInfo) - err = q.WhereEqual("id", pid).Find(pinfo) - if err == nil { - pinfos = append(pinfos, pinfo) - } - } - } - } - return pinfos, nil -} - -// DeleteProject deletes everything about the path in database, and update import information. -func DeleteProject(path string) error { - // Check path length to reduce connect times. (except launchpad.net) - if path[0] != 'l' && len(strings.Split(path, "/")) <= 2 { - return errors.New("models.DeleteProject(): Short path as not needed.") - } - - // Connect to database. - q := connDb() - defer q.Db.Close() - - var i1 int64 - // Delete package information. - info := new(PkgInfo) - err := q.WhereEqual("path", path).Find(info) - if err == nil { - i1, err = q.Delete(info) - if err != nil { - //beego.Error("models.DeleteProject(): Information:", err) - } - } - - if i1 > 0 { - //beego.Info("models.DeleteProject(", path, i1, ")") - } - - return nil -} - -// SearchDoc returns packages information that contain keyword -func SearchDoc(key string) ([]*PkgInfo, error) { - // Connect to database. - q := connDb() - defer q.Db.Close() - - var pkgInfos []*PkgInfo - condition := qbs.NewCondition("path like ?", "%"+key+"%") - err := q.Condition(condition).OrderBy("path").FindAll(&pkgInfos) - return pkgInfos, err -} From 28826256b153fa47cc69ec3db9098da664a834b9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 12:40:20 -0400 Subject: [PATCH 056/287] strings add i18n support --- install.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.go b/install.go index 32335cee0..86c6f1206 100644 --- a/install.go +++ b/install.go @@ -269,7 +269,7 @@ func downloadPackage(node *doc.Node) (*doc.Node, []string) { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoVCSTool"])) } - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallByGoGet"]), node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadStatus"]), node.ImportPath) // Mark as donwloaded. downloadCache[node.ImportPath] = true From 0c54abd2ea40e4870a462cd27dfb59ff900911ac Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 12:51:43 -0400 Subject: [PATCH 057/287] strings add i18n support --- conf/gpm.toml | 3 +- i18n/zh-CN/prompt.txt | 28 +++++++++++++++++ i18n/zh-CN/usage.tpl | 18 +++++++++++ i18n/zh-CN/usage_build.txt | 61 ++++++++++++++++++++++++++++++++++++ i18n/zh-CN/usage_install.txt | 28 +++++++++++++++++ 5 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 i18n/zh-CN/prompt.txt create mode 100644 i18n/zh-CN/usage.tpl create mode 100644 i18n/zh-CN/usage_build.txt create mode 100644 i18n/zh-CN/usage_install.txt diff --git a/conf/gpm.toml b/conf/gpm.toml index 0fc4dcfa5..d9468e0c5 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -4,4 +4,5 @@ title = "gpm(Go Package Manager)" version = "v0.1.3 Build 0522" username = "" password = "" -user_language = "en-US" \ No newline at end of file +#user_language = "en-US" +user_language = "zh-CN" \ No newline at end of file diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt new file mode 100644 index 000000000..0b1f95e74 --- /dev/null +++ b/i18n/zh-CN/prompt.txt @@ -0,0 +1,28 @@ +LoadCommandUsage=加载命令 (%s) 说明失败 [ %s ] +ReadCoammndUsage=不可用的 (%s) 说明文件. +LoadLocalData=无法加载本地数据 [ %s ] +ParseJSON=JSON 解析失败 [ %s ] +OpenFile=文件打开失败 [ %s ] +RemoveFile=移除文件失败 [ %s ] +UnknownCommand=gpm: 未知命令 %q. 运行 'gpm help' 获取帮助. +MoveFile=从 $GOPATH(%s) 拷贝文件到当前目录 (%s) 失败. +UnknownFlag=未知参数: %s. +DownloadError=下载包 (%s) 失败 [ %s ] +NotFoundError=合法的源代码托管平台,但正则匹配失败. +ErrNoMatch=不被支持的源代码托管平台. + +MovedFile=成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). +PureDownload=已激活纯净下载模式. +DownloadOnly=已激活无安装模式. +DownloadExDeps=已激活下载示例代码依赖. +DownloadFromSrcs=已激活从用户源下载. +NoPackage=请列出至少一个包、集合或快照. +DownloadPath=所有包将会被下载至 GOPATH(%s). +InstallStatus=正在安装包: %s. +BundleInfo=集合 (%s) 包含以下结点: +ContinueDownload=是否继续下载?(Y/n). +SkipDownloaded=忽略已下载包: %s. +SkipInvalidPath=忽略无效的导入路径: %s. +InstallByGoGet=正在通过 'go get' 安装包 (%s). +NoVCSTool=未找到合适的版本控制工具,已激活纯净下载模式! +DownloadStatus=正在下载包: %s. \ No newline at end of file diff --git a/i18n/zh-CN/usage.tpl b/i18n/zh-CN/usage.tpl new file mode 100644 index 000000000..a1bb4a1c9 --- /dev/null +++ b/i18n/zh-CN/usage.tpl @@ -0,0 +1,18 @@ +gpm is a Go package manage tool for search, install, update and share packages. + +Usage: + + gpm command [arguments] + +The commands are: +{{range .}}{{if .Runnable}} + {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} + +Use "gpm help [command]" for more information about a command. + +Additional help topics: +{{range .}}{{if not .Runnable}} + {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} + +Use "gpm help [topic]" for more information about that topic. + diff --git a/i18n/zh-CN/usage_build.txt b/i18n/zh-CN/usage_build.txt new file mode 100644 index 000000000..5e9e1f287 --- /dev/null +++ b/i18n/zh-CN/usage_build.txt @@ -0,0 +1,61 @@ +compile and install packages and dependencies||| +Build compiles and installs the packages named by the import paths, +along with their dependencies. + +If the arguments are a list of .go files, build treats them as a list +of source files specifying a single package. + +When the command line specifies a single main package, +build writes the resulting executable to output. +Otherwise build compiles the packages but discards the results, +serving only as a check that the packages can be built. + +If the package is main, the output file +name is the base name of the containing directory. + +The build flags are shared by the build and test commands: + + -a + force rebuilding of packages that are already up-to-date. + -n + print the commands but do not run them. + -p n + the number of builds that can be run in parallel. + The default is the number of CPUs available. + -race + enable data race detection. + Supported only on linux/amd64, darwin/amd64 and windows/amd64. + -v + print the names of packages as they are compiled. + -work + print the name of the temporary work directory and + do not delete it when exiting. + -x + print the commands. + + -ccflags 'arg list' + arguments to pass on each 5c, 6c, or 8c compiler invocation. + -compiler name + name of compiler to use, as in runtime.Compiler (gccgo or gc). + -gccgoflags 'arg list' + arguments to pass on each gccgo compiler/linker invocation. + -gcflags 'arg list' + arguments to pass on each 5g, 6g, or 8g compiler invocation. + -installsuffix suffix + a suffix to use in the name of the package installation directory, + in order to keep output separate from default builds. + If using the -race flag, the install suffix is automatically set to race + or, if set explicitly, has _race appended to it. + -ldflags 'flag list' + arguments to pass on each 5l, 6l, or 8l linker invocation. + -tags 'tag list' + a list of build tags to consider satisfied during the build. + See the documentation for the go/build package for + more information about build tags. + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. + +For more about specifying packages, see 'go help packages'. + +See also: gpm install. diff --git a/i18n/zh-CN/usage_install.txt b/i18n/zh-CN/usage_install.txt new file mode 100644 index 000000000..808836243 --- /dev/null +++ b/i18n/zh-CN/usage_install.txt @@ -0,0 +1,28 @@ +download and install packages and dependencies||| +Install downloads and installs the packages named by the import paths, +along with their dependencies. + +This command works even you haven't installed any version control tool +such as git, hg, etc. + +The install flags are: + + -p + pure download packages without version control. + -d + download without installing packages. + -u + force to update pakcages. + -e + download dependencies for examples. + -s + download from sources. + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. + +For more about specifying packages, see 'go help packages'. +For more about bundle, see 'gpm help bundle'. +For more about snapshot, see 'gpm help snapshot'. + +See also: gpm build. From 001b224d186f8b3eeeb9846a37596bae981f57a9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 12:53:52 -0400 Subject: [PATCH 058/287] strings add i18n support --- README.md | 3 ++- conf/gpm.toml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2f7596064..0149c4918 100644 --- a/README.md +++ b/README.md @@ -29,4 +29,5 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Command `update` is for checking updates. - Command `remove` is for removing packages. - Command `search` is for searching packages. -- Add feature "struct generator". \ No newline at end of file +- Add feature "struct generator". +- i18n support for Chinese. \ No newline at end of file diff --git a/conf/gpm.toml b/conf/gpm.toml index d9468e0c5..6455717c9 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -4,5 +4,5 @@ title = "gpm(Go Package Manager)" version = "v0.1.3 Build 0522" username = "" password = "" -#user_language = "en-US" -user_language = "zh-CN" \ No newline at end of file +user_language = "en-US" +#user_language = "zh-CN" \ No newline at end of file From 427697c6f306561e931d1186c8c487064ba4323e Mon Sep 17 00:00:00 2001 From: Joe Chen Date: Wed, 22 May 2013 13:57:28 -0300 Subject: [PATCH 059/287] update --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 0149c4918..ca0a17e32 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,6 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. - Download package from code.google.com only support hg as version control system, probably support git and svn. - Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. -- Get author commit time and save in node. - Collect download and installation results and report to users in the end. - Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; - Command `check` is for checking and downloading all missing dependencies. @@ -30,4 +29,4 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Command `remove` is for removing packages. - Command `search` is for searching packages. - Add feature "struct generator". -- i18n support for Chinese. \ No newline at end of file +- i18n support for Chinese. From 44b1e326b1278e0d9b316ff9a205e687d1c911f0 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 18:31:21 -0400 Subject: [PATCH 060/287] v0.1.4 Build 0522 --- .gitignore | 3 +- README.md | 4 +-- conf/gpm.toml | 2 +- doc/bitbucket.go | 16 +++------- doc/github.go | 1 + doc/google.go | 21 ++++++------- doc/launchpad.go | 15 +++------ install.go | 3 ++ repo/bundles/test_bundle.json | 58 +++++++++++++++++++++++++++++++++++ 9 files changed, 85 insertions(+), 38 deletions(-) create mode 100644 repo/bundles/test_bundle.json diff --git a/.gitignore b/.gitignore index 9997532ad..f7b0bca42 100644 --- a/.gitignore +++ b/.gitignore @@ -22,5 +22,4 @@ _testmain.go *.exe gpm -data/ -repo/ \ No newline at end of file +data/ \ No newline at end of file diff --git a/README.md b/README.md index ca0a17e32..18f91c638 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update ## Todo -- Command `build` add current path to GOPATH temporary. +- Command `remove` is for removing packages. - Add gpm working principle design. - Add support for downloading tarballs from user sources. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. @@ -26,7 +26,7 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Command `check` is for checking and downloading all missing dependencies. - Command `daemon` is for auto-compile web applications when debug it locally. - Command `update` is for checking updates. -- Command `remove` is for removing packages. - Command `search` is for searching packages. - Add feature "struct generator". - i18n support for Chinese. +- Add built-in application version in order to backup data when users update. diff --git a/conf/gpm.toml b/conf/gpm.toml index 6455717c9..e8253dfa0 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.3 Build 0522" +version = "v0.1.4 Build 0522" username = "" password = "" user_language = "en-US" diff --git a/doc/bitbucket.go b/doc/bitbucket.go index df3d97787..6aea175c2 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -23,9 +23,8 @@ var ( // GetBitbucketDoc downloads tarball from bitbucket.org. func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { - commit := node.Value // Check version control. - if m := bitbucketEtagRe.FindStringSubmatch(commit); m != nil { + if m := bitbucketEtagRe.FindStringSubmatch(node.Value); m != nil { match["vcs"] = m[1] } else { var repo struct { @@ -39,10 +38,10 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH // bundle and snapshot will have commit 'B' and 'S', // but does not need to download dependencies. - isCheckImport := len(commit) == 0 + isCheckImport := len(node.Value) == 0 // Check if download with specific revision. - if isCheckImport || len(commit) == 1 { + if isCheckImport || len(node.Value) == 1 { tags := make(map[string]string) for _, nodeType := range []string{"branches", "tags"} { var nodes map[string]struct { @@ -63,7 +62,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH return nil, err } } else { - match["commit"] = commit + match["commit"] = node.Value } // We use .tar.gz here. @@ -78,6 +77,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH projectPath := expand("bitbucket.org/{owner}/{repo}", match) installPath := installGOPATH + "/src/" + projectPath + node.ImportPath = projectPath // Remove old files. os.RemoveAll(installPath + "/") @@ -142,12 +142,6 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH } } - node.Value = commit - /* node := &Node{ - ImportPath: projectPath, - Commit: commit, - }*/ - var imports []string // Check if need to check imports. diff --git a/doc/github.go b/doc/github.go index bb8fe5c51..63d3adf92 100644 --- a/doc/github.go +++ b/doc/github.go @@ -103,6 +103,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st projectPath := expand("github.com/{owner}/{repo}", match) installPath := installGOPATH + "/src/" + projectPath + node.ImportPath = projectPath // Remove old files. os.RemoveAll(installPath + "/") diff --git a/doc/google.go b/doc/google.go index 947c4c073..aa60895fe 100644 --- a/doc/google.go +++ b/doc/google.go @@ -50,9 +50,8 @@ func getGoogleVCS(client *http.Client, match map[string]string) error { // GetGoogleDoc downloads raw files from code.google.com. func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { setupGoogleMatch(match) - commit := node.Value // Check version control. - if m := googleEtagRe.FindStringSubmatch(commit); m != nil { + if m := googleEtagRe.FindStringSubmatch(node.Value); m != nil { match["vcs"] = m[1] } else if err := getGoogleVCS(client, match); err != nil { return nil, err @@ -60,12 +59,15 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st // bundle and snapshot will have commit 'B' and 'S', // but does not need to download dependencies. - isCheckImport := len(commit) == 0 + isCheckImport := len(node.Value) == 0 + if len(node.Value) == 1 { + node.Value = "" + } rootPath := expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) // Scrape the repo browser to find the project revision and individual Go files. - p, err := httpGetBytes(client, rootPath+"?r="+commit, nil) + p, err := httpGetBytes(client, rootPath+"?r="+node.Value, nil) if err != nil { return nil, err } @@ -78,6 +80,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st projectPath := expand("code.google.com/p/{repo}{dot}{subrepo}{dir}", match) installPath := installGOPATH + "/src/" + projectPath + node.ImportPath = projectPath // Remove old files. os.RemoveAll(installPath + "/") @@ -90,7 +93,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st fname := strings.Split(string(m[1]), "?")[0] files = append(files, &source{ name: fname, - rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + commit, + rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + node.Value, }) } @@ -128,17 +131,11 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st } } - err = downloadFiles(client, match, rootPath, installPath+"/", commit, dirs) + err = downloadFiles(client, match, rootPath, installPath+"/", node.Value, dirs) if err != nil { return nil, err } - node.Value = commit - /* node := &Node{ - ImportPath: projectPath, - Commit: commit, - }*/ - var imports []string // Check if need to check imports. diff --git a/doc/launchpad.go b/doc/launchpad.go index 677a837f5..ecca7da9e 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -35,17 +35,17 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH return nil, err } } - commit := node.Value + // bundle and snapshot will have commit 'B' and 'S', // but does not need to download dependencies. - isCheckImport := len(commit) == 0 + isCheckImport := len(node.Value) == 0 var downloadPath string // Check if download with specific revision. - if isCheckImport || len(commit) == 1 { + if isCheckImport || len(node.Value) == 1 { downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball", match) } else { - downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+commit, match) + downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+node.Value, match) } // Scrape the repo browser to find the project revision and individual Go files. @@ -56,6 +56,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH projectPath := expand("launchpad.net/{repo}", match) installPath := installGOPATH + "/src/" + projectPath + node.ImportPath = projectPath // Remove old files. os.RemoveAll(installPath + "/") @@ -120,12 +121,6 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH } } - node.Value = commit - /* node := &Node{ - ImportPath: projectPath, - Commit: commit, - }*/ - var imports []string // Check if need to check imports. diff --git a/install.go b/install.go index 86c6f1206..a5fe86cbc 100644 --- a/install.go +++ b/install.go @@ -240,6 +240,9 @@ func downloadPackages(nodes []*doc.Node) { // saveNode saves node into local nodes. func saveNode(n *doc.Node) { + // Node dependencies list. + n.Deps = nil + // Check if this node exists. for i, v := range localNodes { if n.ImportPath == v.ImportPath { diff --git a/repo/bundles/test_bundle.json b/repo/bundles/test_bundle.json new file mode 100644 index 000000000..8eee69831 --- /dev/null +++ b/repo/bundles/test_bundle.json @@ -0,0 +1,58 @@ +{ + "id": 0, + "user_id": 0, + "bundle_name": "bundle_test", + "comment": "just a test", + "timestamp": 0, + "nodes": [ + { + "import_path": "github.com/astaxie/beego", + "type": "tag", + "value": "v0.6.0", + "deps":[ + { + "import_path": "github.com/russross/blackfriday", + "type": "commit", + "value": "", + "deps": null + }, + { + "import_path": "code.google.com/p/vitess/go/memcache", + "type": "commit", + "value": "", + "deps": null + }, + { + "import_path": "github.com/garyburd/redigo/redis", + "type": "commit", + "value": "aa31b4b202d4ea44ca45b3c93d71575c02ba35dc", + "deps": null + }, + { + "import_path": "github.com/go-sql-driver/mysql", + "type": "tag", + "value": "v1.0", + "deps": null + } + ] + }, + { + "import_path": "github.com/coocood/qbs", + "type": "branch", + "value": "master", + "deps": null + }, + { + "import_path": "bitbucket.org/zombiezen/gopdf/pdf", + "type": "commit", + "value": "", + "deps": null + }, + { + "import_path": "launchpad.net/goamz/aws", + "type": "commit", + "value": "", + "deps": null + } + ] +} \ No newline at end of file From 4a767870360d791c81a9c9e9f1ea0adc48f16fa1 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 19:01:01 -0400 Subject: [PATCH 061/287] license and readme --- README.md | 11 +++++++++++ docs/Quick_Start.md | 0 docs/Quick_Start_ZH.md | 0 i18n/en-US/prompt.txt | 2 +- 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 docs/Quick_Start.md create mode 100644 docs/Quick_Start_ZH.md diff --git a/README.md b/README.md index 18f91c638..c589b3dab 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,13 @@ gpm - Go Package Manager gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. +This application still in experiment, any change could happen, but it doesn't affect download and install packages. + +## Main features + +- Download packages from popular project hosting with/without version control tools. +- More specific examples, see [Quick Start](Quick_Start.md). + ## Main commands - `build` compiles and installs packages and dependencies: basically, it calls `go install` and moves executable to current path from `GOPATH` if any, the executable name is the folder name which is default by `go install`. @@ -30,3 +37,7 @@ gpm(Go Package Manager) is a Go package manage tool for search, install, update - Add feature "struct generator". - i18n support for Chinese. - Add built-in application version in order to backup data when users update. + +## License + +[MIT-STYLE](LICENSE), source files that contain code that is from [gopkgdoc](https://github.com/garyburd/gopkgdoc) is honored in specific. diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/Quick_Start_ZH.md b/docs/Quick_Start_ZH.md new file mode 100644 index 000000000..e69de29bb diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index bc9d00b55..f4fb250b0 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -9,7 +9,7 @@ MoveFile=Fail to move file from $GOPATH(%s) to current directory(%s). UnknownFlag=Unknown flag: %s. DownloadError=Fail to download package(%s)[ %s ] NotFoundError=Import path prefix matches known service, but regexp does not. -ErrNoMatch=Unsupported VCS platform. +ErrNoMatch=Unsupported project hosting. MovedFile=Moved file from $GOPATH(%s) to current directory(%s). PureDownload=You enabled pure download. From ebe9bc822a7f8af103a1d7b21a61e7eacb905afa Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 19:04:14 -0400 Subject: [PATCH 062/287] license and readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c589b3dab..ad7b8eda7 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ This application still in experiment, any change could happen, but it doesn't af - Add feature "struct generator". - i18n support for Chinese. - Add built-in application version in order to backup data when users update. +- Command `install` add flag `-n` which only downloads source files(including LICENSE and README). ## License From 1d3efcf50a4055f867525cf2f124dbb968e960bd Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 19:05:07 -0400 Subject: [PATCH 063/287] license and readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ad7b8eda7..48622be02 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ This application still in experiment, any change could happen, but it doesn't af ## Main features - Download packages from popular project hosting with/without version control tools. -- More specific examples, see [Quick Start](Quick_Start.md). +- More specific examples, see [Quick Start](docs/Quick_Start.md). ## Main commands From 0630d82db1eb6d9ccdf4dcdfd4fcdd13d7a70dd5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 19:22:19 -0400 Subject: [PATCH 064/287] license and readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 48622be02..8ba15bec0 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ This application still in experiment, any change could happen, but it doesn't af ## Todo +- Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. - Command `remove` is for removing packages. - Add gpm working principle design. - Add support for downloading tarballs from user sources. @@ -27,7 +28,6 @@ This application still in experiment, any change could happen, but it doesn't af - Add bundle and snapshot parser code for downloading by bundle or snapshot id. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. - Download package from code.google.com only support hg as version control system, probably support git and svn. -- Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. - Collect download and installation results and report to users in the end. - Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; - Command `check` is for checking and downloading all missing dependencies. @@ -38,6 +38,8 @@ This application still in experiment, any change could happen, but it doesn't af - i18n support for Chinese. - Add built-in application version in order to backup data when users update. - Command `install` add flag `-n` which only downloads source files(including LICENSE and README). +- Command `install` and `remove` and `update` backup data(up to 100 records) before executing. +- Command `rollback` is for rolling back to certain operation. ## License From 01b1f4e75f8cec6056f9340b62b9e0bd418be19c Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 19:39:55 -0400 Subject: [PATCH 065/287] license and readme --- README.md | 2 +- README_ZH.md | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8ba15bec0..b08e7b85d 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ gpm - Go Package Manager ![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) -gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. +gpm(Go Package Manager) is a Go package manage tool for search, install, update, share and backup packages in Go. This application still in experiment, any change could happen, but it doesn't affect download and install packages. diff --git a/README_ZH.md b/README_ZH.md index 5fc2d8f16..641e65776 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -1,6 +1,22 @@ -gpm - Go 项目管理工具 +gpm - Go 包管理工具 === ![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) -gpm(Go 项目管理工具) 是一款涵盖搜索、安装、更新、保存以及分享 Go 项目的管理工具。 \ No newline at end of file +gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以及备份功能 Go 包的管理工具。 + +该应用目前扔处于实验阶段,任何改变都可能发生,但这不会影响到您下载和安装 Go 包。 + +## 主要功能 + +- 无需安装各类复杂的版本控制工具就可以从源代码托管平台下载并安装 Go 包。 +- 更多示例,参见 [快速入门](docs/Quick_Start_ZH.md) + +## 主要命令 + +- `build` 编译并安装 Go 包以及其依赖包:该命令从底层调用 `go install` 命令,如果为 main 包,则会将可执行文件从 `GOPATH` 中移至当前目录,可执行文件的名称是由 `go install` 默认指定的当前文件夹名称。 +- `install` 下载并安装 Go 包以及其依赖包:您无需安装像 git、hg 或 svn 这类版本控制工具就可以下载您指定的包。该命令也会自动下载相关的依赖包(当您使用集合或快照下载时,不会自动下载依赖包)。目前,该命令支持托管在 `code.google.com`、`github.com`、`launchpad.net` 和 `bitbucket.org` 上的开源项目。 + +## 授权许可 + +[MIT-STYLE](LICENSE) \ No newline at end of file From fbfa260fbe5525bc8a47ce58baa57dc54545d3eb Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 19:46:38 -0400 Subject: [PATCH 066/287] license and readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b08e7b85d..b061f3773 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ This application still in experiment, any change could happen, but it doesn't af - Add feature "struct generator". - i18n support for Chinese. - Add built-in application version in order to backup data when users update. -- Command `install` add flag `-n` which only downloads source files(including LICENSE and README). +- Command `install` add flag `-pc` which only downloads source files(including LICENSE and README). - Command `install` and `remove` and `update` backup data(up to 100 records) before executing. - Command `rollback` is for rolling back to certain operation. From 4cdbc1d1ce22a1a18bd51b9f507c34981cb81ce0 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 20:27:10 -0400 Subject: [PATCH 067/287] license and readme --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index b061f3773..760025461 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,10 @@ This application still in experiment, any change could happen, but it doesn't af - `build` compiles and installs packages and dependencies: basically, it calls `go install` and moves executable to current path from `GOPATH` if any, the executable name is the folder name which is default by `go install`. - `install` downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot id). For now, this command supports `code.google.com`, `github.com`, `launchpad.net`, `bitbucket.org`. +## Known issues + +- When you use commands like `gpm install -p bitbucket.org/zombiezen/gopdf` where is project root path but the directory doesn't contain any source files, you will get error in the installation step, you have to use `gpm install -p bitbucket.org/zombiezen/gopdf/pdf` in order to go through all steps correctly. + ## Todo - Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. From f532170d82c1c3112f237d3bcc4a33358437fcd9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 20:48:13 -0400 Subject: [PATCH 068/287] license and readme --- .travis.yml | 13 +++++++++++++ README.md | 1 + 2 files changed, 14 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..770626b9a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,13 @@ +language: go + +notificaitons: + email: + recipients: gpmgo.com@gmail.com + on_success: change + on_failure: always + +install: +- go get github.com/BurntSushi/toml + +script: + - go build -v diff --git a/README.md b/README.md index 760025461..a4bc63d89 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ This application still in experiment, any change could happen, but it doesn't af - Command `install` add flag `-pc` which only downloads source files(including LICENSE and README). - Command `install` and `remove` and `update` backup data(up to 100 records) before executing. - Command `rollback` is for rolling back to certain operation. +- Add configure option for auto-enable feature, like always using `-p` for downloading. ## License From 1fab250ef359f3767a011d8b3feedd9e47bb279e Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 20:52:34 -0400 Subject: [PATCH 069/287] license and readme --- .travis.yml | 2 +- README.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 770626b9a..254edb187 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ notificaitons: on_success: change on_failure: always -install: +before_script: - go get github.com/BurntSushi/toml script: diff --git a/README.md b/README.md index a4bc63d89..4f61747da 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ gpm - Go Package Manager gpm(Go Package Manager) is a Go package manage tool for search, install, update, share and backup packages in Go. +[![Build Status](https://travis-ci.org/GPMGo/gpm.png)](https://travis-ci.org/GPMGo/gpm) + This application still in experiment, any change could happen, but it doesn't affect download and install packages. ## Main features From 424c10b24a6f0a413daeca41e61692098d3c47bf Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 21:23:16 -0400 Subject: [PATCH 070/287] license and readme --- README.md | 4 +++- gpm_test.go | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 gpm_test.go diff --git a/README.md b/README.md index 4f61747da..f9b47695e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,9 @@ gpm - Go Package Manager gpm(Go Package Manager) is a Go package manage tool for search, install, update, share and backup packages in Go. -[![Build Status](https://travis-ci.org/GPMGo/gpm.png)](https://travis-ci.org/GPMGo/gpm) +[![Build Status](https://travis-ci.org/GPMGo/gpm.png)](https://travis-ci.org/GPMGo/gpm) [![Build Status](https://drone.io/github.com/GPMGo/gpm/status.png)](https://drone.io/github.com/GPMGo/gpm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gpm/badge.png)](https://coveralls.io/r/GPMGo/gpm) + +(Travis CI hasn't support Go 1.1 yet) This application still in experiment, any change could happen, but it doesn't affect download and install packages. diff --git a/gpm_test.go b/gpm_test.go new file mode 100644 index 000000000..50ccde81a --- /dev/null +++ b/gpm_test.go @@ -0,0 +1,13 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package main + +import ( + "fmt" +) + +func testGPM() { + fmt.Println("gpm v0.1.4 Build 0522") +} From 5b1686ab1af1c69c786a4ed0fb2de1faddc1a4eb Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 21:26:16 -0400 Subject: [PATCH 071/287] license and readme --- gpm_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gpm_test.go b/gpm_test.go index 50ccde81a..f37a19c22 100644 --- a/gpm_test.go +++ b/gpm_test.go @@ -6,8 +6,9 @@ package main import ( "fmt" + "testing" ) -func testGPM() { +func TestGPM(t *testing.T) { fmt.Println("gpm v0.1.4 Build 0522") } From 245ec29a567bbf1b86f1ee6d35961b68b227e72b Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 21:38:56 -0400 Subject: [PATCH 072/287] license and readme --- README_ZH.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README_ZH.md b/README_ZH.md index 641e65776..19185cbf7 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -5,6 +5,10 @@ gpm - Go 包管理工具 gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以及备份功能 Go 包的管理工具。 +[![Build Status](https://travis-ci.org/GPMGo/gpm.png)](https://travis-ci.org/GPMGo/gpm) [![Build Status](https://drone.io/github.com/GPMGo/gpm/status.png)](https://drone.io/github.com/GPMGo/gpm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gpm/badge.png)](https://coveralls.io/r/GPMGo/gpm) + +(Travis CI 暂未支持 Go 1.1) + 该应用目前扔处于实验阶段,任何改变都可能发生,但这不会影响到您下载和安装 Go 包。 ## 主要功能 From bf41e75e3880f21563dea0ba7a6a1a52035aeb38 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 22:33:58 -0400 Subject: [PATCH 073/287] add command remove --- README.md | 7 ++- README_ZH.md | 4 ++ gpm.go | 1 + i18n/en-US/prompt.txt | 4 +- i18n/en-US/usage_install.txt | 2 +- i18n/en-US/usage_remove.txt | 15 +++++ i18n/zh-CN/prompt.txt | 1 + i18n/zh-CN/usage_remove.txt | 15 +++++ install.go | 2 +- remove.go | 119 +++++++++++++++++++++++++++++++++++ 10 files changed, 165 insertions(+), 5 deletions(-) create mode 100644 i18n/en-US/usage_remove.txt create mode 100644 i18n/zh-CN/usage_remove.txt create mode 100644 remove.go diff --git a/README.md b/README.md index f9b47695e..2d2586196 100644 --- a/README.md +++ b/README.md @@ -27,13 +27,13 @@ This application still in experiment, any change could happen, but it doesn't af ## Todo -- Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. - Command `remove` is for removing packages. +- Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. - Add gpm working principle design. - Add support for downloading tarballs from user sources. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. - Develop user source API server template application to support user sources in bundles. -- Add bundle and snapshot parser code for downloading by bundle or snapshot id. +- Command `install` and `remove` Add bundle and snapshot parser code for downloading or removing by bundle or snapshot id. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. - Download package from code.google.com only support hg as version control system, probably support git and svn. - Collect download and installation results and report to users in the end. @@ -42,6 +42,9 @@ This application still in experiment, any change could happen, but it doesn't af - Command `daemon` is for auto-compile web applications when debug it locally. - Command `update` is for checking updates. - Command `search` is for searching packages. +- Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. +- Command `remove` also need to remove files in `GPPATH/bin` and `GOPATH/pkg`. +- Command `remove` add flag `-d` for removing dependencies at the same time. - Add feature "struct generator". - i18n support for Chinese. - Add built-in application version in order to backup data when users update. diff --git a/README_ZH.md b/README_ZH.md index 19185cbf7..3b6ec3b48 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -21,6 +21,10 @@ gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以 - `build` 编译并安装 Go 包以及其依赖包:该命令从底层调用 `go install` 命令,如果为 main 包,则会将可执行文件从 `GOPATH` 中移至当前目录,可执行文件的名称是由 `go install` 默认指定的当前文件夹名称。 - `install` 下载并安装 Go 包以及其依赖包:您无需安装像 git、hg 或 svn 这类版本控制工具就可以下载您指定的包。该命令也会自动下载相关的依赖包(当您使用集合或快照下载时,不会自动下载依赖包)。目前,该命令支持托管在 `code.google.com`、`github.com`、`launchpad.net` 和 `bitbucket.org` 上的开源项目。 +## 已知问题 + +- 当您使用命令例如 `gpm install -p bitbucket.org/zombiezen/gopdf` 时,你会在安装步骤时得到错误,虽然这是项目的根目录,但是并没有包含任何 Go 源代码,因此您必须使用 `gpm install -p bitbucket.org/zombiezen/gopdf/pdf` 才能正确完成安装。 + ## 授权许可 [MIT-STYLE](LICENSE) \ No newline at end of file diff --git a/gpm.go b/gpm.go index 7d1ba03be..d3dd3e0bf 100644 --- a/gpm.go +++ b/gpm.go @@ -92,6 +92,7 @@ func (c *Command) Runnable() bool { var commands = []*Command{ cmdBuild, cmdInstall, + cmdRemove, } // getAppPath returns application execute path for current process. diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index f4fb250b0..9583c253a 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -10,6 +10,7 @@ UnknownFlag=Unknown flag: %s. DownloadError=Fail to download package(%s)[ %s ] NotFoundError=Import path prefix matches known service, but regexp does not. ErrNoMatch=Unsupported project hosting. +PackageNotFound=Cannot find package: %s. MovedFile=Moved file from $GOPATH(%s) to current directory(%s). PureDownload=You enabled pure download. @@ -25,4 +26,5 @@ SkipDownloaded=Skipped downloaded package: %s. SkipInvalidPath=Skipped invalid import path: %s. InstallByGoGet=Installing package(%s) through 'go get'. NoVCSTool=No version control tool is available, pure download enabled! -DownloadStatus=Downloading package: %s. \ No newline at end of file +DownloadStatus=Downloading package: %s. +RemovePackage=Removing package: %s. \ No newline at end of file diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index 808836243..4ecca6a0a 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -25,4 +25,4 @@ For more about specifying packages, see 'go help packages'. For more about bundle, see 'gpm help bundle'. For more about snapshot, see 'gpm help snapshot'. -See also: gpm build. +See also: gpm remove. diff --git a/i18n/en-US/usage_remove.txt b/i18n/en-US/usage_remove.txt new file mode 100644 index 000000000..deb597fb7 --- /dev/null +++ b/i18n/en-US/usage_remove.txt @@ -0,0 +1,15 @@ +remove packages and dependencies||| +Remove removes the packages named by the import paths, +along with their dependencies. + +The remove flags are: + + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. + +For more about specifying packages, see 'go help packages'. +For more about bundle, see 'gpm help bundle'. +For more about snapshot, see 'gpm help snapshot'. + +See also: gpm install. diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index 0b1f95e74..b1487579a 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -10,6 +10,7 @@ UnknownFlag=未知参数: %s. DownloadError=下载包 (%s) 失败 [ %s ] NotFoundError=合法的源代码托管平台,但正则匹配失败. ErrNoMatch=不被支持的源代码托管平台. +PackageNotFound=无法找到包: %s. MovedFile=成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). PureDownload=已激活纯净下载模式. diff --git a/i18n/zh-CN/usage_remove.txt b/i18n/zh-CN/usage_remove.txt new file mode 100644 index 000000000..5815c6962 --- /dev/null +++ b/i18n/zh-CN/usage_remove.txt @@ -0,0 +1,15 @@ +remove packages and dependencies||| +Remove removes the packages named by the import paths, +along with their dependencies. + +The remove flags are: + + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. + +For more about specifying packages, see 'go help packages'. +For more about bundle, see 'gpm help bundle'. +For more about snapshot, see 'gpm help snapshot'. + +See also: gpm install. \ No newline at end of file diff --git a/install.go b/install.go index a5fe86cbc..0c17eae58 100644 --- a/install.go +++ b/install.go @@ -20,7 +20,7 @@ import ( var ( isHasGit, isHasHg bool - downloadCache map[string]bool // Saves packages that have downloaded. + downloadCache map[string]bool // Saves packages that have been downloaded. installGOPATH string // The GOPATH that packages are downloaded to. ) diff --git a/remove.go b/remove.go new file mode 100644 index 000000000..02b225e03 --- /dev/null +++ b/remove.go @@ -0,0 +1,119 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package main + +import ( + "encoding/json" + "fmt" + "os" + + "github.com/GPMGo/gpm/doc" + "github.com/GPMGo/gpm/utils" +) + +var ( + removeCache map[string]bool // Saves packages that have been removed. +) + +var cmdRemove = &Command{ + UsageLine: "remove [remove flags] ", +} + +func init() { + removeCache = make(map[string]bool) + cmdRemove.Run = runRemove +} + +func runRemove(cmd *Command, args []string) { + // Check length of arguments. + if len(args) < 1 { + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoPackage"])) + return + } + + // Generate temporary nodes. + nodes := make([]*doc.Node, len(args)) + for i := range nodes { + nodes[i] = new(doc.Node) + nodes[i].ImportPath = args[i] + } + + // Removes packages. + removePackages(nodes) + + // Save local nodes to file. + fw, err := os.Create(appPath + "data/nodes.json") + if err != nil { + fmt.Printf(fmt.Sprintf("ERROR: runRemove -> %s\n", promptMsg["OpenFile"]), err) + return + } + defer fw.Close() + fbytes, err := json.MarshalIndent(&localNodes, "", "\t") + if err != nil { + fmt.Printf(fmt.Sprintf("ERROR: runRemove -> %s\n", promptMsg["ParseJSON"]), err) + return + } + fw.Write(fbytes) + + fmt.Println("Well done.") +} + +// removePackages removes packages from local file system. +func removePackages(nodes []*doc.Node) { + // Check all packages, they may be bundles, snapshots or raw packages path. + for _, n := range nodes { + // Check if it is a bundle or snapshot. + switch { + case n.ImportPath[0] == 'B': + case n.ImportPath[0] == 'S': + case utils.IsValidRemotePath(n.ImportPath): + if !removeCache[n.ImportPath] { + // Remove package. + node, imports := removePackage(n) + if len(imports) > 0 { + fmt.Println("Check denpendencies for removing package has not been supported.") + } + + // Remove record in local nodes. + if node != nil { + removeNode(node) + } + } + default: + // Invalid import path. + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["SkipInvalidPath"]), n.ImportPath) + } + } +} + +// removeNode removes node from local nodes. +func removeNode(n *doc.Node) { + // Check if this node exists. + for i, v := range localNodes { + if n.ImportPath == v.ImportPath { + localNodes = append(localNodes[:i], localNodes[i+1:]...) + return + } + } +} + +// removePackage removes package from local file system. +func removePackage(node *doc.Node) (*doc.Node, []string) { + // Find package in GOPATH. + paths := utils.GetGOPATH() + for _, p := range paths { + absPath := p + "/src/" + node.ImportPath + "/" + if utils.IsExist(absPath) { + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["RemovePackage"]), node.ImportPath) + // Remove files. + os.RemoveAll(absPath) + return node, nil + } + } + + // Cannot find package. + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PackageNotFound"]), node.ImportPath) + return nil, nil +} From d788710f9415acaa607bf69317e1c94cb4d5687b Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 22 May 2013 23:29:28 -0400 Subject: [PATCH 074/287] fix bug in command remove --- README.md | 3 ++- README_ZH.md | 2 ++ build.go | 2 +- conf/gpm.toml | 2 +- gpm.go | 6 +++--- gpm_test.go | 20 +++++++++++++++++++- i18n/zh-CN/prompt.txt | 3 ++- install.go | 6 +++--- remove.go | 2 +- utils/utils.go | 29 ++++++++++++++++++++++++++++- utils/utils_test.go | 27 +++++++++++++++++++++++++-- 11 files changed, 87 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 2d2586196..8340c8154 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,14 @@ This application still in experiment, any change could happen, but it doesn't af ## Main features - Download packages from popular project hosting with/without version control tools. +- Remove packages from local file system. - More specific examples, see [Quick Start](docs/Quick_Start.md). ## Main commands - `build` compiles and installs packages and dependencies: basically, it calls `go install` and moves executable to current path from `GOPATH` if any, the executable name is the folder name which is default by `go install`. - `install` downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot id). For now, this command supports `code.google.com`, `github.com`, `launchpad.net`, `bitbucket.org`. +- `remove` removes packages and dependencies: it removes all packages including all dependencies(except when you use bundle or snapshot id). ## Known issues @@ -27,7 +29,6 @@ This application still in experiment, any change could happen, but it doesn't af ## Todo -- Command `remove` is for removing packages. - Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. - Add gpm working principle design. - Add support for downloading tarballs from user sources. diff --git a/README_ZH.md b/README_ZH.md index 3b6ec3b48..222025856 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -14,12 +14,14 @@ gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以 ## 主要功能 - 无需安装各类复杂的版本控制工具就可以从源代码托管平台下载并安装 Go 包。 +- 从本地文件系统中删除 Go 包。 - 更多示例,参见 [快速入门](docs/Quick_Start_ZH.md) ## 主要命令 - `build` 编译并安装 Go 包以及其依赖包:该命令从底层调用 `go install` 命令,如果为 main 包,则会将可执行文件从 `GOPATH` 中移至当前目录,可执行文件的名称是由 `go install` 默认指定的当前文件夹名称。 - `install` 下载并安装 Go 包以及其依赖包:您无需安装像 git、hg 或 svn 这类版本控制工具就可以下载您指定的包。该命令也会自动下载相关的依赖包(当您使用集合或快照下载时,不会自动下载依赖包)。目前,该命令支持托管在 `code.google.com`、`github.com`、`launchpad.net` 和 `bitbucket.org` 上的开源项目。 +- `remove` 删除 Go 包及其依赖包:该命令可删除 Go 包及其依赖包(当您使用集合或快照删除时,无法自动删除依赖包)。 ## 已知问题 diff --git a/build.go b/build.go index cde20a05d..070c2f7e1 100644 --- a/build.go +++ b/build.go @@ -34,7 +34,7 @@ func runBuild(cmd *Command, args []string) { proName += ".exe" } - executeGoCommand(cmdArgs) + executeCommand("go", cmdArgs) // Find executable in GOPATH and copy to current directory. paths := utils.GetGOPATH() diff --git a/conf/gpm.toml b/conf/gpm.toml index e8253dfa0..5ed7762b2 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.4 Build 0522" +version = "v0.1.5 Build 0522" username = "" password = "" user_language = "en-US" diff --git a/gpm.go b/gpm.go index d3dd3e0bf..a9ca37165 100644 --- a/gpm.go +++ b/gpm.go @@ -396,9 +396,9 @@ func exit() { os.Exit(exitStatus) } -// executeGoCommand executes go commands. -func executeGoCommand(args []string) { - cmdExec := exec.Command("go", args...) +// executeCommand executes commands in command line. +func executeCommand(cmd string, args []string) { + cmdExec := exec.Command(cmd, args...) stdout, err := cmdExec.StdoutPipe() if err != nil { fmt.Println(err) diff --git a/gpm_test.go b/gpm_test.go index f37a19c22..5e4ad7b89 100644 --- a/gpm_test.go +++ b/gpm_test.go @@ -10,5 +10,23 @@ import ( ) func TestGPM(t *testing.T) { - fmt.Println("gpm v0.1.4 Build 0522") + fmt.Println("gpm v0.1.5 Build 0522") + + // Build application. + var args []string + args = append(args, "build") + executeCommand("go", args) + + fmt.Println("Start testing command Install...") + args = make([]string, 0) + args = append(args, "install") + args = append(args, "-p") + args = append(args, "bitbucket.org/zombiezen/gopdf/pdf") + executeCommand("gpm", args) + + fmt.Println("Start testing command Remove...") + args = make([]string, 0) + args = append(args, "remove") + args = append(args, "bitbucket.org/zombiezen/gopdf/pdf") + executeCommand("gpm", args) } diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index b1487579a..ab9509246 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -26,4 +26,5 @@ SkipDownloaded=忽略已下载包: %s. SkipInvalidPath=忽略无效的导入路径: %s. InstallByGoGet=正在通过 'go get' 安装包 (%s). NoVCSTool=未找到合适的版本控制工具,已激活纯净下载模式! -DownloadStatus=正在下载包: %s. \ No newline at end of file +DownloadStatus=正在下载包: %s. +RemovePackage=正在删除包: %s. \ No newline at end of file diff --git a/install.go b/install.go index 0c17eae58..18d7987fc 100644 --- a/install.go +++ b/install.go @@ -132,7 +132,7 @@ func runInstall(cmd *Command, args []string) { for k := range downloadCache { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallStatus"]), k) cmdArgs[1] = k - executeGoCommand(cmdArgs) + executeCommand("go", cmdArgs) } // Save local nodes to file. @@ -255,7 +255,7 @@ func saveNode(n *doc.Node) { localNodes = append(localNodes, n) } -// downloadPackage download package either use version control tools or not. +// downloadPackage downloads package either use version control tools or not. func downloadPackage(node *doc.Node) (*doc.Node, []string) { // Check if use version control tools. switch { @@ -264,7 +264,7 @@ func downloadPackage(node *doc.Node) (*doc.Node, []string) { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallByGoGet"]), node.ImportPath) args := checkGoGetFlags() args = append(args, node.ImportPath) - executeGoCommand(args) + executeCommand("go", args) return nil, nil default: // Pure download. if !cmdInstall.Flags["-p"] { diff --git a/remove.go b/remove.go index 02b225e03..87a14a7ec 100644 --- a/remove.go +++ b/remove.go @@ -104,7 +104,7 @@ func removePackage(node *doc.Node) (*doc.Node, []string) { // Find package in GOPATH. paths := utils.GetGOPATH() for _, p := range paths { - absPath := p + "/src/" + node.ImportPath + "/" + absPath := p + "/src/" + utils.GetProjectPath(node.ImportPath) + "/" if utils.IsExist(absPath) { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["RemovePackage"]), node.ImportPath) // Remove files. diff --git a/utils/utils.go b/utils/utils.go index 34f24dcc2..f83e57de0 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -537,7 +537,34 @@ var standardPath = map[string]bool{ "unsafe": true, } -// IsGoRepoPath returns true if package is from standard library +// IsGoRepoPath returns true if package is from standard library. func IsGoRepoPath(importPath string) bool { return standardPath[importPath] } + +// GetProjectPath returns project path of import path. +func GetProjectPath(importPath string) (projectPath string) { + projectPath = importPath + + // Check project hosting. + switch { + case strings.HasPrefix(importPath, "github.com"): + projectPath = joinPath(importPath, 3) + case strings.HasPrefix(importPath, "code.google.com"): + projectPath = joinPath(importPath, 3) + case strings.HasPrefix(importPath, "bitbucket.org"): + projectPath = joinPath(importPath, 3) + case strings.HasPrefix(importPath, "launchpad.net"): + projectPath = joinPath(importPath, 2) + } + + return projectPath +} + +func joinPath(importPath string, num int) string { + subdirs := strings.Split(importPath, "/") + if len(subdirs) > num { + return strings.Join(subdirs[:num], "/") + } + return importPath +} diff --git a/utils/utils_test.go b/utils/utils_test.go index d2719c4c9..f83216f98 100644 --- a/utils/utils_test.go +++ b/utils/utils_test.go @@ -8,17 +8,40 @@ import ( "testing" ) -var RemotePaths = []string{ +var remotePaths = []string{ "github.com/coocood/qbs", "code.google.com/p/draw2d", "launchpad.net/goamz", "bitbucket.org/gotamer/conv", } +var importPaths = []string{ + "github.com/coocood/qbs/test", + "code.google.com/p/draw2d/test", + "launchpad.net/goamz/test", + "bitbucket.org/gotamer/conv/test", +} + func TestIsValidRemotePath(t *testing.T) { - for _, p := range RemotePaths { + for _, p := range remotePaths { if !IsValidRemotePath(p) { t.Errorf("Invalid remote path: %s", p) } } } + +func TestGetProjectPath(t *testing.T) { + // Should return same path. + for _, p := range remotePaths { + if p != GetProjectPath(p) { + t.Errorf("Fail to get projet path: %s", p) + } + } + + // Should return same path for remote paths. + for i, p := range remotePaths { + if remotePaths[i] != GetProjectPath(p) { + t.Errorf("Fail to verify projet path: %s", p) + } + } +} From f67a5606610184e17f4d0bcfa835834f316f67c9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 01:10:35 -0400 Subject: [PATCH 075/287] v0.1.5 Build 0523 --- README.md | 4 +-- conf/gpm.toml | 9 +++-- doc/github.go | 9 +++-- docs/Quick_Start.md | 85 +++++++++++++++++++++++++++++++++++++++++++++ gpm.go | 17 +++++++-- gpm_test.go | 2 +- 6 files changed, 114 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 8340c8154..0c95dc9e4 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,8 @@ This application still in experiment, any change could happen, but it doesn't af ## Main commands - `build` compiles and installs packages and dependencies: basically, it calls `go install` and moves executable to current path from `GOPATH` if any, the executable name is the folder name which is default by `go install`. -- `install` downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot id). For now, this command supports `code.google.com`, `github.com`, `launchpad.net`, `bitbucket.org`. -- `remove` removes packages and dependencies: it removes all packages including all dependencies(except when you use bundle or snapshot id). +- `install` downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot). For now, this command supports `code.google.com`, `github.com`, `launchpad.net`, `bitbucket.org`. +- `remove` removes packages and dependencies: it removes all packages including all dependencies(except when you use bundle or snapshot). ## Known issues diff --git a/conf/gpm.toml b/conf/gpm.toml index 5ed7762b2..391a4a1fa 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,8 +1,11 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.5 Build 0522" +version = "v0.1.5 Build 0523" +user_language = "en-US" +#user_language = "zh-CN" + +[account] username = "" password = "" -user_language = "en-US" -#user_language = "zh-CN" \ No newline at end of file +github_access_token = "" diff --git a/doc/github.go b/doc/github.go index 63d3adf92..1bd05837e 100644 --- a/doc/github.go +++ b/doc/github.go @@ -22,13 +22,16 @@ var ( githubCred string ) -func SetGithubCredentials(id, secret string) { - githubCred = "client_id=" + id + "&client_secret=" + secret +/*func SetGithubCredentials(id, secret string) { + //githubCred = "client_id=" + id + "&client_secret=" + secret +}*/ + +func SetGithubCredentials(token string) { + githubCred = "access_token=" + token } // GetGithubDoc downloads tarball from github.com. func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { - SetGithubCredentials("1862bcb265171f37f36c", "308d71ab53ccd858416cfceaed52d5d5b7d53c5f") match["cred"] = githubCred // JSON struct for github.com. diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index e69de29bb..80ddf1e96 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -0,0 +1,85 @@ +# Quick Start + +**Attention** Features like bundle and snapshot have NOT been published for users. + +Full documentation please visit [GPMGo Documentation](). + +## Index + +- [When and why](#when-and-why) +- [Installation](#installation) +- [ **Build** your first project](#build-your-first-project) +- [ Download and **install** package, or packages](#download-and-install-package,-or-packages) +- [ **Remove** package, or packages](#remove-package,-or-packages) + +## When and why + +- No version control tool are installed, too lazy to have it? + + Go get gpm! + +- Killer feature over `go get`? + + There is almost nothing better than `go get` until we make feature bundle and snapshot be available to you. + + + +## Installation + +You can install either from source or download binary. + +### Install from source + +- gpm is a `go get` able project: execute command `go get github.com/GPMGo/gpm` to download and install. +- Run test: switch work directory to gpm project, and execute command `go test` to build and test commands automatically(for now, tested commands are `gpm install`, `gpm remove`). +- Add gpm project path to your environment variable `PATH` in order to execute it from other directories. + +### Download binary + +Because we don't have all kinds of operating systems, we need your help to complete following download list!(I'm just too lazy to cross compiling -_-|||) + +- darwin-386: +- darwin-amd64: +- freebsd-386: +- freebsd-amd64: +- linux-386: +- linux-amd64: +- Windows_386: +- Windows_amd64: + +**Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for secure reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token, and set it in `gpm.toml`. + +## Build your first project + +Command `build` compiles and installs packages along with all dependencies. + +Suppose you have a project called `github.com/GPMGo/gpm`. + +- Switch to corresponding directory: `cd $GOPATH/src/github.com/GPMGo/gpm`. +- Execute command `gpm build`. +- Then, gpm calls `go install` in underlying, so you should have binary `$GOPATH/bin/gpm`. +- gpm moves binary from corresponding GOPATH to current which is `$GOPATH/src/github.com/GPMGo/` in this case, now just run your application. + +### Why we do this? + +In some cases like building web applications, we use relative path to access static files, and `go build` compiles packages without saving, so it's a shortcut for `go install` + `go build`, and you don't need to compile packages which have not changed again. + +Also, you can use all flags that are used for `go install`. + +## Download and install package, or packages + +Command `install` downloads and installs packages along with all dependencies(except when you use bundle or snapshot). + +Suppose you want to install package `bitbucket.org/zombiezen/gopdf/pdf`. + +- Execute command `gpm install -p bitbucket.org/zombiezen/gopdf/pdf`, flag `-p` means **pure download** (download packages without version control), so you do not need to install version control tool. In case you want to, `gpm install bitbucket.org/zombiezen/gopdf/pdf` calls `go get` in underlying. +- gpm tells your which GOPATH will be used for saving packages, and it checks your current execute path to get best matched path in your GOPATH environment variable. + +## Remove package, or packages + +Command `remove` removes packages from your local file system(except when you use bundle or snapshot). + +Suppose you want to remove package `bitbucket.org/zombiezen/gopdf/pdf`. + +- Execute command `gpm remove bitbucket.org/zombiezen/gopdf/pdf`, gpm finds this project in all paths in your GOPATH environment. +- You may notice this is not project path, it's OK because gpm knows it, and deletes directory `$GOPATH/src/bitbucket.org/zombiezen/gopdf/`. \ No newline at end of file diff --git a/gpm.go b/gpm.go index a9ca37165..03c1ab14e 100644 --- a/gpm.go +++ b/gpm.go @@ -39,9 +39,14 @@ var ( var promptMsg map[string]string type tomlConfig struct { - Title, Version string - Username, Password string - Lang string `toml:"user_language"` + Title, Version string + Lang string `toml:"user_language"` + Account account +} + +type account struct { + Username, Password string + Github_Access_Token string `toml:"github_access_token"` } // A Command is an implementation of a go command @@ -251,6 +256,9 @@ func loadLocalBundles() bool { // We don't use init() to initialize // bacause we need to get execute path in runtime. func initialize() bool { + // Try to have highest performance. + runtime.GOMAXPROCS(runtime.NumCPU()) + // Get application execute path. if !getAppPath() { return false @@ -262,6 +270,9 @@ func initialize() bool { return false } + // Set github.com access token. + doc.SetGithubCredentials(config.Account.Github_Access_Token) + // Load usages by language. if !loadUsage(config.Lang) { return false diff --git a/gpm_test.go b/gpm_test.go index 5e4ad7b89..bad222692 100644 --- a/gpm_test.go +++ b/gpm_test.go @@ -10,7 +10,7 @@ import ( ) func TestGPM(t *testing.T) { - fmt.Println("gpm v0.1.5 Build 0522") + fmt.Println("gpm v0.1.5 Build 0523") // Build application. var args []string From 1573ec46a8b59b133d4fccbf8373f176ca9cb7fa Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 01:26:38 -0400 Subject: [PATCH 076/287] v0.1.5 Build 0523 --- README.md | 1 + docs/Quick_Start.md | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0c95dc9e4..35c3b7ed0 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ This application still in experiment, any change could happen, but it doesn't af ## Todo - Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. +- Add template projects for testing commands. - Add gpm working principle design. - Add support for downloading tarballs from user sources. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index 80ddf1e96..ac3a796fb 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -44,8 +44,8 @@ Because we don't have all kinds of operating systems, we need your help to compl - freebsd-amd64: - linux-386: - linux-amd64: -- Windows_386: -- Windows_amd64: +- windows_386: +- windows_amd64: [gpm0.1.5 Build 0523](https://docs.google.com/file/d/0B2GBHFyTK2N8Y241eUlKd01Ia1U/edit?usp=sharing) **Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for secure reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token, and set it in `gpm.toml`. From 487621360ca343f2fe683cb9f3c9269a33eadb8e Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 02:55:28 -0400 Subject: [PATCH 077/287] bug fix: --- README.md | 2 ++ doc/bitbucket.go | 2 ++ doc/github.go | 4 +++- doc/google.go | 3 +++ doc/launchpad.go | 1 + docs/Quick_Start.md | 2 +- 6 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 35c3b7ed0..bebfc8d3c 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,8 @@ This application still in experiment, any change could happen, but it doesn't af - Command `install` and `remove` and `update` backup data(up to 100 records) before executing. - Command `rollback` is for rolling back to certain operation. - Add configure option for auto-enable feature, like always using `-p` for downloading. +- Command `install` add flag `-all` for re-installing everything in GOPATH, usually use this after upgrading Go version. +- Command `clean` is for cleaning empty directories. ## License diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 6aea175c2..c90b02446 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -61,6 +61,8 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH if err != nil { return nil, err } + node.Type = "commit" + node.Value = match["commit"] } else { match["commit"] = node.Value } diff --git a/doc/github.go b/doc/github.go index 1bd05837e..5af666d8f 100644 --- a/doc/github.go +++ b/doc/github.go @@ -27,7 +27,9 @@ var ( }*/ func SetGithubCredentials(token string) { - githubCred = "access_token=" + token + if len(token) > 0 { + githubCred = "access_token=" + token + } } // GetGithubDoc downloads tarball from github.com. diff --git a/doc/google.go b/doc/google.go index aa60895fe..1aeedf930 100644 --- a/doc/google.go +++ b/doc/google.go @@ -76,6 +76,9 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st if m := googleRevisionRe.FindSubmatch(p); m == nil { return nil, errors.New("doc.GetGoogleDoc(): Could not find revision for " + match["importPath"]) + } else { + node.Type = "commit" + node.Value = string(m[1]) } projectPath := expand("code.google.com/p/{repo}{dot}{subrepo}{dir}", match) diff --git a/doc/launchpad.go b/doc/launchpad.go index ecca7da9e..8dc8d7eda 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -44,6 +44,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH // Check if download with specific revision. if isCheckImport || len(node.Value) == 1 { downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball", match) + node.Type = "commit" } else { downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+node.Value, match) } diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index ac3a796fb..2c94ed118 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -47,7 +47,7 @@ Because we don't have all kinds of operating systems, we need your help to compl - windows_386: - windows_amd64: [gpm0.1.5 Build 0523](https://docs.google.com/file/d/0B2GBHFyTK2N8Y241eUlKd01Ia1U/edit?usp=sharing) -**Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for secure reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token, and set it in `gpm.toml`. +**Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token, and set it in `gpm.toml`. ## Build your first project From b014f296cdda1abb956ded773cb5a8d40c1f137a Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 07:38:46 -0400 Subject: [PATCH 078/287] readme --- README.md | 5 ++++- docs/Quick_Start.md | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bebfc8d3c..86fe8fb64 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ This application still in experiment, any change could happen, but it doesn't af ## Todo - Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. +- Command `search` is for searching packages. - Add template projects for testing commands. - Add gpm working principle design. - Add support for downloading tarballs from user sources. @@ -43,7 +44,6 @@ This application still in experiment, any change could happen, but it doesn't af - Command `check` is for checking and downloading all missing dependencies. - Command `daemon` is for auto-compile web applications when debug it locally. - Command `update` is for checking updates. -- Command `search` is for searching packages. - Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. - Command `remove` also need to remove files in `GPPATH/bin` and `GOPATH/pkg`. - Command `remove` add flag `-d` for removing dependencies at the same time. @@ -56,6 +56,9 @@ This application still in experiment, any change could happen, but it doesn't af - Add configure option for auto-enable feature, like always using `-p` for downloading. - Command `install` add flag `-all` for re-installing everything in GOPATH, usually use this after upgrading Go version. - Command `clean` is for cleaning empty directories. +- Keep file modify time for packages from github.com. +- Command `sync` is for sync packages in two computers, support client and server mode through ssh. +- Command `init` is for auto-configuring Go develop environment. ## License diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index 2c94ed118..f42b544fd 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -47,7 +47,7 @@ Because we don't have all kinds of operating systems, we need your help to compl - windows_386: - windows_amd64: [gpm0.1.5 Build 0523](https://docs.google.com/file/d/0B2GBHFyTK2N8Y241eUlKd01Ia1U/edit?usp=sharing) -**Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token, and set it in `gpm.toml`. +**Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token(up to 5000 request per hour), and set it in `gpm.toml`. ## Build your first project From 4738d25eb2350effae9b30b2f8eace881a986135 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 07:39:31 -0400 Subject: [PATCH 079/287] add support for downloading packages from bitbucket.org through tag and branch --- README.md | 2 +- doc/bitbucket.go | 17 +++++++++++++---- doc/github.go | 15 ++++++--------- install.go | 2 +- repo/bundles/test_bundle.json | 4 ++-- 5 files changed, 23 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index bebfc8d3c..d9ad63f5e 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ This application still in experiment, any change could happen, but it doesn't af ## Todo -- Add support for downloading by tag and branch for packages in bitbucket.org, git.oschina.net, gitcafe.com. +- Add support for downloading by tag and branch for packages in git.oschina.net, gitcafe.com. - Add template projects for testing commands. - Add gpm working principle design. - Add support for downloading tarballs from user sources. diff --git a/doc/bitbucket.go b/doc/bitbucket.go index c90b02446..6259b5ec7 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -8,6 +8,7 @@ import ( "archive/tar" "bytes" "compress/gzip" + "errors" "io" "net/http" "os" @@ -40,8 +41,9 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH // but does not need to download dependencies. isCheckImport := len(node.Value) == 0 - // Check if download with specific revision. - if isCheckImport || len(node.Value) == 1 { + switch { + case isCheckImport || len(node.Value) == 1: + // Get up-to-date version. tags := make(map[string]string) for _, nodeType := range []string{"branches", "tags"} { var nodes map[string]struct { @@ -61,10 +63,17 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH if err != nil { return nil, err } + node.Type = "commit" node.Value = match["commit"] - } else { - match["commit"] = node.Value + case !isCheckImport: // Bundle or snapshot. + // Check downlaod type. + switch node.Type { + case "tag", "commit", "branch": + match["commit"] = node.Value + default: + return nil, errors.New("Unknown node type: " + node.Type) + } } // We use .tar.gz here. diff --git a/doc/github.go b/doc/github.go index 5af666d8f..584c100a1 100644 --- a/doc/github.go +++ b/doc/github.go @@ -76,6 +76,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st } node.Type = "commit" + node.Value = match["sha"] case !isCheckImport: // Bundle or snapshot. // Check downlaod type. switch node.Type { @@ -96,11 +97,6 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st return nil, err } - r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) - if err != nil { - return nil, err - } - shaName := expand("{repo}-{sha}", match) if node.Type == "tag" { shaName = strings.Replace(shaName, "-v", "-", 1) @@ -115,6 +111,11 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st // Create destination directory. os.MkdirAll(installPath+"/", os.ModePerm) + r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) + if err != nil { + return nil, err + } + dirs := make([]string, 0, 5) // Need to add root path because we cannot get from tarball. dirs = append(dirs, installPath+"/") @@ -154,10 +155,6 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st } } - if node.Type == "commit" { - node.Value = match["sha"] - } - var imports []string // Check if need to check imports. diff --git a/install.go b/install.go index 18d7987fc..bc6956ba4 100644 --- a/install.go +++ b/install.go @@ -194,7 +194,7 @@ func downloadPackages(nodes []*doc.Node) { for _, bn := range bnodes { fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) } - fmt.Printf(fmt.Sprintf("%s", promptMsg["ContinueDownload"])) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["ContinueDownload"])) var option string fmt.Fscan(os.Stdin, &option) if strings.ToLower(option) != "y" { diff --git a/repo/bundles/test_bundle.json b/repo/bundles/test_bundle.json index 8eee69831..ffba780d3 100644 --- a/repo/bundles/test_bundle.json +++ b/repo/bundles/test_bundle.json @@ -44,8 +44,8 @@ }, { "import_path": "bitbucket.org/zombiezen/gopdf/pdf", - "type": "commit", - "value": "", + "type": "branch", + "value": "default", "deps": null }, { From 3ab478ff792b3e2d753bb0d1aa7be295b494f149 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 08:07:02 -0400 Subject: [PATCH 080/287] add flag -r for command build, run program after bulit. --- README.md | 1 + build.go | 32 +++++++++++++++++++++++++++++--- i18n/en-US/usage_build.txt | 37 ++----------------------------------- install.go | 14 +++++++------- 4 files changed, 39 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 298a1daa7..f6527f4d6 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ This application still in experiment, any change could happen, but it doesn't af ## Todo - Add template projects for testing commands. +- Command `search` is for searching packages. - Add gpm working principle design. - Add support for downloading tarballs from user sources. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. diff --git a/build.go b/build.go index 070c2f7e1..653b691f2 100644 --- a/build.go +++ b/build.go @@ -20,12 +20,35 @@ var cmdBuild = &Command{ func init() { cmdBuild.Run = runBuild + cmdBuild.Flags = map[string]bool{ + "-v": false, + "-r": false, + } +} + +// printBuildPrompt prints prompt information to users to +// let them know what's going on. +func printBuildPrompt(flag string) { + switch flag { + + } } func runBuild(cmd *Command, args []string) { + // Check flags. + num := checkFlags(cmd.Flags, args, printBuildPrompt) + if num == -1 { + return + } + args = args[num:] + var cmdArgs []string cmdArgs = append(cmdArgs, "install") - cmdArgs = append(cmdArgs, args...) + if cmdBuild.Flags["-v"] { + cmdArgs = append(cmdArgs, "-v") + } + + executeCommand("go", cmdArgs) wd, _ := os.Getwd() wd = strings.Replace(wd, "\\", "/", -1) @@ -34,8 +57,6 @@ func runBuild(cmd *Command, args []string) { proName += ".exe" } - executeCommand("go", cmdArgs) - // Find executable in GOPATH and copy to current directory. paths := utils.GetGOPATH() @@ -51,6 +72,11 @@ func runBuild(cmd *Command, args []string) { err := os.Rename(v+"/bin/"+proName, wd+"/"+proName) if err == nil { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["MovedFile"]), v, wd) + // Check if need to run program. + if cmdBuild.Flags["-r"] { + cmdArgs = make([]string, 0) + executeCommand(proName, cmdArgs) + } return } diff --git a/i18n/en-US/usage_build.txt b/i18n/en-US/usage_build.txt index 5e9e1f287..631f0bc17 100644 --- a/i18n/en-US/usage_build.txt +++ b/i18n/en-US/usage_build.txt @@ -15,43 +15,10 @@ name is the base name of the containing directory. The build flags are shared by the build and test commands: - -a - force rebuilding of packages that are already up-to-date. - -n - print the commands but do not run them. - -p n - the number of builds that can be run in parallel. - The default is the number of CPUs available. - -race - enable data race detection. - Supported only on linux/amd64, darwin/amd64 and windows/amd64. -v print the names of packages as they are compiled. - -work - print the name of the temporary work directory and - do not delete it when exiting. - -x - print the commands. - - -ccflags 'arg list' - arguments to pass on each 5c, 6c, or 8c compiler invocation. - -compiler name - name of compiler to use, as in runtime.Compiler (gccgo or gc). - -gccgoflags 'arg list' - arguments to pass on each gccgo compiler/linker invocation. - -gcflags 'arg list' - arguments to pass on each 5g, 6g, or 8g compiler invocation. - -installsuffix suffix - a suffix to use in the name of the package installation directory, - in order to keep output separate from default builds. - If using the -race flag, the install suffix is automatically set to race - or, if set explicitly, has _race appended to it. - -ldflags 'flag list' - arguments to pass on each 5l, 6l, or 8l linker invocation. - -tags 'tag list' - a list of build tags to consider satisfied during the build. - See the documentation for the go/build package for - more information about build tags. + -r + run program after built. The list flags accept a space-separated list of strings. To embed spaces in an element in the list, surround it with either single or double quotes. diff --git a/install.go b/install.go index bc6956ba4..6c6df4e48 100644 --- a/install.go +++ b/install.go @@ -40,9 +40,9 @@ func init() { } } -// printPrompt prints prompt information to users to +// printInstallPrompt prints prompt information to users to // let them know what's going on. -func printPrompt(flag string) { +func printInstallPrompt(flag string) { switch flag { case "-p": fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PureDownload"])) @@ -56,7 +56,7 @@ func printPrompt(flag string) { } // checkFlags checks if the flag exists with correct format. -func checkFlags(args []string) int { +func checkFlags(flags map[string]bool, args []string, print func(string)) int { num := 0 // Number of valid flags, use to cut out. for i, f := range args { // Check flag prefix '-'. @@ -68,9 +68,9 @@ func checkFlags(args []string) int { // Check if it a valid flag. /* Here we use ok pattern to check it because this way can avoid same flag appears multiple times.*/ - if _, ok := cmdInstall.Flags[f]; ok { - cmdInstall.Flags[f] = true - printPrompt(f) + if _, ok := flags[f]; ok { + flags[f] = true + print(f) } else { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["UnknownFlag"]), f) return -1 @@ -96,7 +96,7 @@ func checkVCSTool() { func runInstall(cmd *Command, args []string) { // Check flags. - num := checkFlags(args) + num := checkFlags(cmd.Flags, args, printInstallPrompt) if num == -1 { return } From ba330c91c99fc1e5b2fedec6cc5e0a1100e14abe Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 08:32:26 -0400 Subject: [PATCH 081/287] add feature auto-enable flags in configuration file. --- README.md | 1 - build.go | 2 +- conf/gpm.toml | 6 +++++- gpm.go | 5 +++++ i18n/zh-CN/usage_build.txt | 38 +++----------------------------------- install.go | 19 ++++++++++++------- 6 files changed, 26 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index f6527f4d6..af21e78e9 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,6 @@ This application still in experiment, any change could happen, but it doesn't af - Command `install` add flag `-pc` which only downloads source files(including LICENSE and README). - Command `install` and `remove` and `update` backup data(up to 100 records) before executing. - Command `rollback` is for rolling back to certain operation. -- Add configure option for auto-enable feature, like always using `-p` for downloading. - Command `install` add flag `-all` for re-installing everything in GOPATH, usually use this after upgrading Go version. - Command `clean` is for cleaning empty directories. - Keep file modify time for packages from github.com. diff --git a/build.go b/build.go index 653b691f2..443ba790a 100644 --- a/build.go +++ b/build.go @@ -36,7 +36,7 @@ func printBuildPrompt(flag string) { func runBuild(cmd *Command, args []string) { // Check flags. - num := checkFlags(cmd.Flags, args, printBuildPrompt) + num := checkFlags(cmd.Flags, config.AutoEnable.Build, args, printBuildPrompt) if num == -1 { return } diff --git a/conf/gpm.toml b/conf/gpm.toml index 391a4a1fa..11d9fcb84 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.5 Build 0523" +version = "v0.1.6 Build 0523" user_language = "en-US" #user_language = "zh-CN" @@ -9,3 +9,7 @@ user_language = "en-US" username = "" password = "" github_access_token = "" + +[auto_enable] +build = ["v", "r"] +install = ["p"] \ No newline at end of file diff --git a/gpm.go b/gpm.go index 03c1ab14e..2331ddd0f 100644 --- a/gpm.go +++ b/gpm.go @@ -42,6 +42,11 @@ type tomlConfig struct { Title, Version string Lang string `toml:"user_language"` Account account + AutoEnable flagEnable `toml:"auto_enable"` +} + +type flagEnable struct { + Build, Install []string } type account struct { diff --git a/i18n/zh-CN/usage_build.txt b/i18n/zh-CN/usage_build.txt index 5e9e1f287..65f922f56 100644 --- a/i18n/zh-CN/usage_build.txt +++ b/i18n/zh-CN/usage_build.txt @@ -15,43 +15,10 @@ name is the base name of the containing directory. The build flags are shared by the build and test commands: - -a - force rebuilding of packages that are already up-to-date. - -n - print the commands but do not run them. - -p n - the number of builds that can be run in parallel. - The default is the number of CPUs available. - -race - enable data race detection. - Supported only on linux/amd64, darwin/amd64 and windows/amd64. -v print the names of packages as they are compiled. - -work - print the name of the temporary work directory and - do not delete it when exiting. - -x - print the commands. - - -ccflags 'arg list' - arguments to pass on each 5c, 6c, or 8c compiler invocation. - -compiler name - name of compiler to use, as in runtime.Compiler (gccgo or gc). - -gccgoflags 'arg list' - arguments to pass on each gccgo compiler/linker invocation. - -gcflags 'arg list' - arguments to pass on each 5g, 6g, or 8g compiler invocation. - -installsuffix suffix - a suffix to use in the name of the package installation directory, - in order to keep output separate from default builds. - If using the -race flag, the install suffix is automatically set to race - or, if set explicitly, has _race appended to it. - -ldflags 'flag list' - arguments to pass on each 5l, 6l, or 8l linker invocation. - -tags 'tag list' - a list of build tags to consider satisfied during the build. - See the documentation for the go/build package for - more information about build tags. + -r + run program after built. The list flags accept a space-separated list of strings. To embed spaces in an element in the list, surround it with either single or double quotes. @@ -59,3 +26,4 @@ in an element in the list, surround it with either single or double quotes. For more about specifying packages, see 'go help packages'. See also: gpm install. + diff --git a/install.go b/install.go index 6c6df4e48..27e4f9c23 100644 --- a/install.go +++ b/install.go @@ -56,7 +56,12 @@ func printInstallPrompt(flag string) { } // checkFlags checks if the flag exists with correct format. -func checkFlags(flags map[string]bool, args []string, print func(string)) int { +func checkFlags(flags map[string]bool, enable []string, args []string, print func(string)) int { + // Check auto-enable. + for _, v := range enable { + flags["-"+v] = true + } + num := 0 // Number of valid flags, use to cut out. for i, f := range args { // Check flag prefix '-'. @@ -66,11 +71,11 @@ func checkFlags(flags map[string]bool, args []string, print func(string)) int { } // Check if it a valid flag. - /* Here we use ok pattern to check it because - this way can avoid same flag appears multiple times.*/ - if _, ok := flags[f]; ok { - flags[f] = true - print(f) + if v, ok := flags[f]; ok { + flags[f] = !v + if v { + print(f) + } } else { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["UnknownFlag"]), f) return -1 @@ -96,7 +101,7 @@ func checkVCSTool() { func runInstall(cmd *Command, args []string) { // Check flags. - num := checkFlags(cmd.Flags, args, printInstallPrompt) + num := checkFlags(cmd.Flags, config.AutoEnable.Install, args, printInstallPrompt) if num == -1 { return } From 1941040a843cda7e51a3087821b66217468a1751 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 12:37:43 -0400 Subject: [PATCH 082/287] keep modify time for packages in github.com and gitbucket.org --- README.md | 38 +++++++++++++++++++++----------------- conf/gpm.toml | 2 +- doc/bitbucket.go | 3 +++ doc/github.go | 10 +++++++--- install.go | 3 +++ 5 files changed, 35 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index af21e78e9..8cd867cd3 100644 --- a/README.md +++ b/README.md @@ -29,35 +29,39 @@ This application still in experiment, any change could happen, but it doesn't af ## Todo -- Add template projects for testing commands. +### v0.2.* + - Command `search` is for searching packages. - Add gpm working principle design. -- Add support for downloading tarballs from user sources. -- After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. -- Develop user source API server template application to support user sources in bundles. -- Command `install` and `remove` Add bundle and snapshot parser code for downloading or removing by bundle or snapshot id. -- Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. -- Download package from code.google.com only support hg as version control system, probably support git and svn. -- Collect download and installation results and report to users in the end. -- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; -- Command `install` add support for downloading by tag and branch for packages in git.oschina.net, gitcafe.com. +- Command `install` and `remove` Add bundle and snapshot parser code for downloading or removing by bundle or snapshot. - Command `check` is for checking and downloading all missing dependencies. -- Command `daemon` is for auto-compile web applications when debug it locally. - Command `update` is for checking updates. -- Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. - Command `remove` also need to remove files in `GPPATH/bin` and `GOPATH/pkg`. -- Command `remove` add flag `-d` for removing dependencies at the same time. -- Add feature "struct generator". - i18n support for Chinese. - Add built-in application version in order to backup data when users update. - Command `install` add flag `-pc` which only downloads source files(including LICENSE and README). +- Add template projects for testing commands. + +### Future + +- Command `sync` is for sync packages in two computers, support client and server mode through ssh. +- Command `init` is for auto-configuring Go develop environment. - Command `install` and `remove` and `update` backup data(up to 100 records) before executing. - Command `rollback` is for rolling back to certain operation. +- Add feature "struct generator". +- Command `remove` add flag `-d` for removing dependencies at the same time. +- Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. - Command `install` add flag `-all` for re-installing everything in GOPATH, usually use this after upgrading Go version. - Command `clean` is for cleaning empty directories. -- Keep file modify time for packages from github.com. -- Command `sync` is for sync packages in two computers, support client and server mode through ssh. -- Command `init` is for auto-configuring Go develop environment. +- Command `daemon` is for auto-compile web applications when debug it locally. +- Collect download and installation results and report to users in the end. +- Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. +- Develop user source API server template application to support user sources in bundles. +- Add support for downloading tarballs from user sources. +- After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. +- Download package from code.google.com only support hg as version control system, probably support git and svn. +- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; +- Command `install` add support for downloading by tag and branch for packages in git.oschina.net, gitcafe.com. ## License diff --git a/conf/gpm.toml b/conf/gpm.toml index 11d9fcb84..90cb04126 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.6 Build 0523" +version = "v0.1.7 Build 0523" user_language = "en-US" #user_language = "zh-CN" diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 6259b5ec7..322eb0577 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -151,6 +151,9 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH if err != nil { return nil, err } + + // Set modify time. + os.Chtimes(absPath, h.AccessTime, h.ModTime) } var imports []string diff --git a/doc/github.go b/doc/github.go index 584c100a1..033d6e407 100644 --- a/doc/github.go +++ b/doc/github.go @@ -132,15 +132,15 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st continue } + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) + // Get file from archive. rc, err := f.Open() if err != nil { return nil, err } - // Create diretory before create file. - os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) - // Write data to file fw, _ := os.Create(absPath) if err != nil { @@ -148,11 +148,15 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st } _, err = io.Copy(fw, rc) + // Close files. rc.Close() fw.Close() if err != nil { return nil, err } + + // Set modify time. + os.Chtimes(absPath, f.ModTime(), f.ModTime()) } var imports []string diff --git a/install.go b/install.go index 27e4f9c23..15cbf0812 100644 --- a/install.go +++ b/install.go @@ -60,6 +60,7 @@ func checkFlags(flags map[string]bool, enable []string, args []string, print fun // Check auto-enable. for _, v := range enable { flags["-"+v] = true + print("-" + v) } num := 0 // Number of valid flags, use to cut out. @@ -75,6 +76,8 @@ func checkFlags(flags map[string]bool, enable []string, args []string, print fun flags[f] = !v if v { print(f) + } else { + fmt.Println("DISABLE: " + f) } } else { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["UnknownFlag"]), f) From 260b0a1c7c30ec56fe9db95118333223c824c942 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 13:32:07 -0400 Subject: [PATCH 083/287] add command search --- README.md | 2 +- doc/bitbucket.go | 2 +- doc/github.go | 2 +- doc/google.go | 6 ++-- doc/http.go | 5 ++-- doc/launchpad.go | 2 +- gpm.go | 3 +- i18n/en-US/prompt.txt | 5 ++-- i18n/en-US/usage_search.txt | 8 ++++++ i18n/zh-CN/prompt.txt | 5 ++-- i18n/zh-CN/usage_search.txt | 8 ++++++ install.go | 2 +- search.go | 56 +++++++++++++++++++++++++++++++++++++ 13 files changed, 90 insertions(+), 16 deletions(-) create mode 100644 i18n/en-US/usage_search.txt create mode 100644 i18n/zh-CN/usage_search.txt create mode 100644 search.go diff --git a/README.md b/README.md index 8cd867cd3..82269e7d0 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,6 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.2.* -- Command `search` is for searching packages. - Add gpm working principle design. - Command `install` and `remove` Add bundle and snapshot parser code for downloading or removing by bundle or snapshot. - Command `check` is for checking and downloading all missing dependencies. @@ -44,6 +43,7 @@ This application still in experiment, any change could happen, but it doesn't af ### Future +- Command `search` add flags `-n` and `-o` for number of list items and offset. - Command `sync` is for sync packages in two computers, support client and server mode through ssh. - Command `init` is for auto-configuring Go develop environment. - Command `install` and `remove` and `update` backup data(up to 100 records) before executing. diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 322eb0577..24229ec0c 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -81,7 +81,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH // tarball : https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz // Downlaod archive. - p, err := httpGetBytes(client, expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) + p, err := HttpGetBytes(client, expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) if err != nil { return nil, err } diff --git a/doc/github.go b/doc/github.go index 033d6e407..d89ff2239 100644 --- a/doc/github.go +++ b/doc/github.go @@ -92,7 +92,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st // tarball : https://github.com/{owner}/{repo}/tarball/{sha} // Downlaod archive. - p, err := httpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) + p, err := HttpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) if err != nil { return nil, err } diff --git a/doc/google.go b/doc/google.go index 1aeedf930..fddb11219 100644 --- a/doc/google.go +++ b/doc/google.go @@ -34,7 +34,7 @@ func setupGoogleMatch(match map[string]string) { func getGoogleVCS(client *http.Client, match map[string]string) error { // Scrape the HTML project page to find the VCS. - p, err := httpGetBytes(client, expand("http://code.google.com/p/{repo}/source/checkout", match), nil) + p, err := HttpGetBytes(client, expand("http://code.google.com/p/{repo}/source/checkout", match), nil) if err != nil { return err } @@ -67,7 +67,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st rootPath := expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) // Scrape the repo browser to find the project revision and individual Go files. - p, err := httpGetBytes(client, rootPath+"?r="+node.Value, nil) + p, err := HttpGetBytes(client, rootPath+"?r="+node.Value, nil) if err != nil { return nil, err } @@ -171,7 +171,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st func downloadFiles(client *http.Client, match map[string]string, rootPath, installPath, commit string, dirs []string) error { for _, d := range dirs { - p, err := httpGetBytes(client, rootPath+d+"?r="+commit, nil) + p, err := HttpGetBytes(client, rootPath+d+"?r="+commit, nil) if err != nil { return err } diff --git a/doc/http.go b/doc/http.go index 58e574735..f0506ac12 100644 --- a/doc/http.go +++ b/doc/http.go @@ -50,9 +50,8 @@ var ( HttpClient = &http.Client{Transport: httpTransport} ) -// httpGet gets the specified resource. ErrNotFound is returned if the server -// responds with status 404. -func httpGetBytes(client *http.Client, url string, header http.Header) ([]byte, error) { +// HttpGetBytes returns page data in []byte. +func HttpGetBytes(client *http.Client, url string, header http.Header) ([]byte, error) { rc, err := httpGet(client, url, header) if err != nil { return nil, err diff --git a/doc/launchpad.go b/doc/launchpad.go index 8dc8d7eda..4e2c9abe3 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -50,7 +50,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH } // Scrape the repo browser to find the project revision and individual Go files. - p, err := httpGetBytes(client, downloadPath, nil) + p, err := HttpGetBytes(client, downloadPath, nil) if err != nil { return nil, err } diff --git a/gpm.go b/gpm.go index 2331ddd0f..0eb017d69 100644 --- a/gpm.go +++ b/gpm.go @@ -46,7 +46,7 @@ type tomlConfig struct { } type flagEnable struct { - Build, Install []string + Build, Install, Search []string } type account struct { @@ -101,6 +101,7 @@ func (c *Command) Runnable() bool { // The order here is the order in which they are printed by 'gpm help'. var commands = []*Command{ cmdBuild, + cmdSearch, cmdInstall, cmdRemove, } diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index 9583c253a..76d95eeae 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -12,7 +12,7 @@ NotFoundError=Import path prefix matches known service, but regexp does not. ErrNoMatch=Unsupported project hosting. PackageNotFound=Cannot find package: %s. -MovedFile=Moved file from $GOPATH(%s) to current directory(%s). +MovedFile=SUCCESS: Moved file from $GOPATH(%s) to current directory(%s). PureDownload=You enabled pure download. DownloadOnly=You enabled download without installing. DownloadExDeps=You enabled download dependencies in example. @@ -27,4 +27,5 @@ SkipInvalidPath=Skipped invalid import path: %s. InstallByGoGet=Installing package(%s) through 'go get'. NoVCSTool=No version control tool is available, pure download enabled! DownloadStatus=Downloading package: %s. -RemovePackage=Removing package: %s. \ No newline at end of file +RemovePackage=Removing package: %s. +NoKeyword=Cannot search without a keyword. \ No newline at end of file diff --git a/i18n/en-US/usage_search.txt b/i18n/en-US/usage_search.txt new file mode 100644 index 000000000..aadf6306a --- /dev/null +++ b/i18n/en-US/usage_search.txt @@ -0,0 +1,8 @@ +search packages||| +Search searchs packages by keyword. + +The search flags are: + + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index ab9509246..82b055f08 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -12,7 +12,7 @@ NotFoundError=合法的源代码托管平台,但正则匹配失败. ErrNoMatch=不被支持的源代码托管平台. PackageNotFound=无法找到包: %s. -MovedFile=成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). +MovedFile=SUCCESS: 成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). PureDownload=已激活纯净下载模式. DownloadOnly=已激活无安装模式. DownloadExDeps=已激活下载示例代码依赖. @@ -27,4 +27,5 @@ SkipInvalidPath=忽略无效的导入路径: %s. InstallByGoGet=正在通过 'go get' 安装包 (%s). NoVCSTool=未找到合适的版本控制工具,已激活纯净下载模式! DownloadStatus=正在下载包: %s. -RemovePackage=正在删除包: %s. \ No newline at end of file +RemovePackage=正在删除包: %s. +NoKeyword=没有关键字,无法搜索. \ No newline at end of file diff --git a/i18n/zh-CN/usage_search.txt b/i18n/zh-CN/usage_search.txt new file mode 100644 index 000000000..aadf6306a --- /dev/null +++ b/i18n/zh-CN/usage_search.txt @@ -0,0 +1,8 @@ +search packages||| +Search searchs packages by keyword. + +The search flags are: + + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. diff --git a/install.go b/install.go index 15cbf0812..bebe9c1e8 100644 --- a/install.go +++ b/install.go @@ -74,7 +74,7 @@ func checkFlags(flags map[string]bool, enable []string, args []string, print fun // Check if it a valid flag. if v, ok := flags[f]; ok { flags[f] = !v - if v { + if !v { print(f) } else { fmt.Println("DISABLE: " + f) diff --git a/search.go b/search.go new file mode 100644 index 000000000..2199b0ace --- /dev/null +++ b/search.go @@ -0,0 +1,56 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package main + +import ( + "fmt" + "strings" + + "github.com/GPMGo/gpm/doc" +) + +var cmdSearch = &Command{ + UsageLine: "search [search flags] ", +} + +func init() { + cmdSearch.Run = runSearch +} + +// printSearchPrompt prints prompt information to users to +// let them know what's going on. +func printSearchPrompt(flag string) { + switch flag { + + } +} + +func runSearch(cmd *Command, args []string) { + // Check flags. + num := checkFlags(cmd.Flags, config.AutoEnable.Search, args, printSearchPrompt) + if num == -1 { + return + } + args = args[num:] + + // Check length of arguments. + if len(args) < 1 { + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoKeyword"])) + return + } + + // Search from server, and list results. + results, _ := doc.HttpGetBytes(doc.HttpClient, "http://gowalker.org/search?raw=true&q="+args[0], nil) + pkgs := strings.Split(string(results), "|||") + for _, p := range pkgs { + i := strings.Index(p, "$") + if i > -1 { + fmt.Println("-> " + p[:i]) // Package import path. + if len(p) > (i + 1) { + fmt.Println(" " + p[i+1:]) // Synopsis。 + } + } + } +} From 377a95c4231d489064e2ab42424eaa011ca97b47 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 15:34:44 -0400 Subject: [PATCH 084/287] add command install flag -c: download pure code. --- README.md | 14 ++++++---- build.go | 12 ++------ conf/gpm.toml | 2 +- doc/bitbucket.go | 7 +++++ doc/github.go | 54 +++++++++++++++++++----------------- doc/google.go | 9 +++++- doc/launchpad.go | 45 ++++++++++++++++-------------- i18n/en-US/prompt.txt | 4 ++- i18n/en-US/usage_install.txt | 2 ++ i18n/zh-CN/prompt.txt | 4 ++- i18n/zh-CN/usage_install.txt | 2 ++ install.go | 14 ++++++---- remove.go | 51 ++++++++++++++++++++++++++++++++-- utils/utils.go | 24 ++++++++++++++++ utils/utils_test.go | 44 ++++++++++++++++++++++++----- 15 files changed, 207 insertions(+), 81 deletions(-) diff --git a/README.md b/README.md index 82269e7d0..3f7d408c1 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ This application still in experiment, any change could happen, but it doesn't af ## Main commands - `build` compiles and installs packages and dependencies: basically, it calls `go install` and moves executable to current path from `GOPATH` if any, the executable name is the folder name which is default by `go install`. +- `search` searchs packages in [Go Walker](http://gowalker.org) database by keyword. - `install` downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot). For now, this command supports `code.google.com`, `github.com`, `launchpad.net`, `bitbucket.org`. - `remove` removes packages and dependencies: it removes all packages including all dependencies(except when you use bundle or snapshot). @@ -31,19 +32,15 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.2.* -- Add gpm working principle design. -- Command `install` and `remove` Add bundle and snapshot parser code for downloading or removing by bundle or snapshot. - Command `check` is for checking and downloading all missing dependencies. -- Command `update` is for checking updates. -- Command `remove` also need to remove files in `GPPATH/bin` and `GOPATH/pkg`. - i18n support for Chinese. -- Add built-in application version in order to backup data when users update. -- Command `install` add flag `-pc` which only downloads source files(including LICENSE and README). - Add template projects for testing commands. +- Add feature auto-catch if run under GOPATH/bin. ### Future - Command `search` add flags `-n` and `-o` for number of list items and offset. +- Command `update` is for checking updates. - Command `sync` is for sync packages in two computers, support client and server mode through ssh. - Command `init` is for auto-configuring Go develop environment. - Command `install` and `remove` and `update` backup data(up to 100 records) before executing. @@ -62,6 +59,11 @@ This application still in experiment, any change could happen, but it doesn't af - Download package from code.google.com only support hg as version control system, probably support git and svn. - Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; - Command `install` add support for downloading by tag and branch for packages in git.oschina.net, gitcafe.com. +- Command `install` and `remove` add bundle parse code for getting data from server. +- Command `install` and `remove` add snapshot parse code for downloading or removing snapshot. +- Add built-in application version in order to backup data when users update. +- Add gpm working principle design. +- Command `install -c` add arguments for add more exts. ## License diff --git a/build.go b/build.go index 443ba790a..ca2c4410e 100644 --- a/build.go +++ b/build.go @@ -7,9 +7,6 @@ package main import ( "fmt" "os" - "path" - "runtime" - "strings" "github.com/GPMGo/gpm/utils" ) @@ -50,14 +47,9 @@ func runBuild(cmd *Command, args []string) { executeCommand("go", cmdArgs) - wd, _ := os.Getwd() - wd = strings.Replace(wd, "\\", "/", -1) - proName := path.Base(wd) - if runtime.GOOS == "windows" { - proName += ".exe" - } - // Find executable in GOPATH and copy to current directory. + wd, _ := os.Getwd() + proName := utils.GetExecuteName(wd) paths := utils.GetGOPATH() for _, v := range paths { diff --git a/conf/gpm.toml b/conf/gpm.toml index 90cb04126..8c1335071 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.7 Build 0523" +version = "v0.1.9 Build 0523" user_language = "en-US" #user_language = "zh-CN" diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 24229ec0c..ce3d21e0f 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -15,6 +15,8 @@ import ( "path" "regexp" "strings" + + "github.com/GPMGo/gpm/utils" ) var ( @@ -103,6 +105,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH tr := tar.NewReader(gzr) + isCodeOnly := cmdFlags["-c"] var autoPath string // Auto path is the root path that generated by bitbucket.org. // Get source file data. dirs := make([]string, 0, 5) @@ -134,6 +137,10 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH os.MkdirAll(dir+"/", os.ModePerm) } + if isCodeOnly && !utils.IsDocFile(path.Base(absPath)) { + continue + } + // Get data from archive. fbytes := make([]byte, h.Size) if _, err := io.ReadFull(tr, fbytes); err != nil { diff --git a/doc/github.go b/doc/github.go index d89ff2239..781ba3485 100644 --- a/doc/github.go +++ b/doc/github.go @@ -14,6 +14,8 @@ import ( "path" "regexp" "strings" + + "github.com/GPMGo/gpm/utils" ) var ( @@ -116,47 +118,47 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st return nil, err } + isCodeOnly := cmdFlags["-c"] dirs := make([]string, 0, 5) // Need to add root path because we cannot get from tarball. dirs = append(dirs, installPath+"/") for _, f := range r.File { absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) - // Check if it is a directory. - if strings.HasSuffix(absPath, "/") { - // Directory. + switch { + case strings.HasSuffix(absPath, "/"): // Directory. // Check if current directory is example. if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { dirs = append(dirs, absPath) } + case isCodeOnly && !utils.IsDocFile(path.Base(absPath)): continue - } - - // Create diretory before create file. - os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) + default: + // Get file from archive. + rc, err := f.Open() + if err != nil { + return nil, err + } - // Get file from archive. - rc, err := f.Open() - if err != nil { - return nil, err - } + // Write data to file + fw, _ := os.Create(absPath) + if err != nil { + return nil, err + } - // Write data to file - fw, _ := os.Create(absPath) - if err != nil { - return nil, err - } + _, err = io.Copy(fw, rc) + // Close files. + rc.Close() + fw.Close() + if err != nil { + return nil, err + } - _, err = io.Copy(fw, rc) - // Close files. - rc.Close() - fw.Close() - if err != nil { - return nil, err + // Set modify time. + os.Chtimes(absPath, f.ModTime(), f.ModTime()) } - - // Set modify time. - os.Chtimes(absPath, f.ModTime(), f.ModTime()) } var imports []string diff --git a/doc/google.go b/doc/google.go index fddb11219..478da887b 100644 --- a/doc/google.go +++ b/doc/google.go @@ -11,6 +11,8 @@ import ( "path" "regexp" "strings" + + "github.com/GPMGo/gpm/utils" ) var ( @@ -90,10 +92,15 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st // Create destination directory. os.MkdirAll(installPath+"/", os.ModePerm) + isCodeOnly := cmdFlags["-c"] // Get source files in root path. files := make([]*source, 0, 5) for _, m := range googleFileRe.FindAllSubmatch(p, -1) { fname := strings.Split(string(m[1]), "?")[0] + if isCodeOnly && !utils.IsDocFile(fname) { + continue + } + files = append(files, &source{ name: fname, rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + node.Value, @@ -182,7 +189,7 @@ func downloadFiles(client *http.Client, match map[string]string, rootPath, insta // Get source files in current path. files := make([]*source, 0, 5) for _, m := range googleFileRe.FindAllSubmatch(p, -1) { - fname := string(m[1]) + fname := strings.Split(string(m[1]), "?")[0] files = append(files, &source{ name: fname, rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) + d + fname + "?r=" + commit, diff --git a/doc/launchpad.go b/doc/launchpad.go index 4e2c9abe3..bfff56019 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -14,6 +14,8 @@ import ( "path" "regexp" "strings" + + "github.com/GPMGo/gpm/utils" ) var LaunchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) @@ -72,6 +74,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH tr := tar.NewReader(gzr) + isCodeOnly := cmdFlags["-c"] var autoPath string // Auto path is the root path that generated by bitbucket.org. // Get source file data. dirs := make([]string, 0, 5) @@ -90,35 +93,35 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH } absPath := strings.Replace(fn, autoPath, installPath, 1) - // Check if it is a directory. - if h.FileInfo().IsDir() { - // Directory. + switch { + case h.FileInfo().IsDir(): // Directory. // Check if current directory is example. if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { dirs = append(dirs, absPath) } + case isCodeOnly && !utils.IsDocFile(path.Base(absPath)): continue - } - - // Create diretory before create file. - os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) + default: + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) - // Get data from archive. - fbytes := make([]byte, h.Size) - if _, err := io.ReadFull(tr, fbytes); err != nil { - return nil, err - } + // Get data from archive. + fbytes := make([]byte, h.Size) + if _, err := io.ReadFull(tr, fbytes); err != nil { + return nil, err + } - // Write data to file - fw, err := os.Create(absPath) - if err != nil { - return nil, err - } + // Write data to file + fw, err := os.Create(absPath) + if err != nil { + return nil, err + } - _, err = fw.Write(fbytes) - fw.Close() - if err != nil { - return nil, err + _, err = fw.Write(fbytes) + fw.Close() + if err != nil { + return nil, err + } } } diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index 76d95eeae..8c3d44954 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -14,6 +14,7 @@ PackageNotFound=Cannot find package: %s. MovedFile=SUCCESS: Moved file from $GOPATH(%s) to current directory(%s). PureDownload=You enabled pure download. +PureCode=You enabled pure code. DownloadOnly=You enabled download without installing. DownloadExDeps=You enabled download dependencies in example. DownloadFromSrcs=You enabled download from sources. @@ -28,4 +29,5 @@ InstallByGoGet=Installing package(%s) through 'go get'. NoVCSTool=No version control tool is available, pure download enabled! DownloadStatus=Downloading package: %s. RemovePackage=Removing package: %s. -NoKeyword=Cannot search without a keyword. \ No newline at end of file +NoKeyword=Cannot search without a keyword. +ContinueRemove=Continue to remove?(Y/n). \ No newline at end of file diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index 4ecca6a0a..1d31d0093 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -9,6 +9,8 @@ The install flags are: -p pure download packages without version control. + -c + download source code only. -d download without installing packages. -u diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index 82b055f08..007be2a05 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -14,6 +14,7 @@ PackageNotFound=无法找到包: %s. MovedFile=SUCCESS: 成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). PureDownload=已激活纯净下载模式. +PureCode=已激活纯代码下载模式. DownloadOnly=已激活无安装模式. DownloadExDeps=已激活下载示例代码依赖. DownloadFromSrcs=已激活从用户源下载. @@ -28,4 +29,5 @@ InstallByGoGet=正在通过 'go get' 安装包 (%s). NoVCSTool=未找到合适的版本控制工具,已激活纯净下载模式! DownloadStatus=正在下载包: %s. RemovePackage=正在删除包: %s. -NoKeyword=没有关键字,无法搜索. \ No newline at end of file +NoKeyword=没有关键字,无法搜索. +ContinueRemove=是否继续删除?(Y/n). \ No newline at end of file diff --git a/i18n/zh-CN/usage_install.txt b/i18n/zh-CN/usage_install.txt index 808836243..277bbd3ed 100644 --- a/i18n/zh-CN/usage_install.txt +++ b/i18n/zh-CN/usage_install.txt @@ -9,6 +9,8 @@ The install flags are: -p pure download packages without version control. + -c + download source code only. -d download without installing packages. -u diff --git a/install.go b/install.go index bebe9c1e8..92ac1db65 100644 --- a/install.go +++ b/install.go @@ -33,6 +33,7 @@ func init() { cmdInstall.Run = runInstall cmdInstall.Flags = map[string]bool{ "-p": false, + "-c": false, "-d": false, "-u": false, // Flag for 'go get'. "-e": false, @@ -46,6 +47,8 @@ func printInstallPrompt(flag string) { switch flag { case "-p": fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PureDownload"])) + case "-c": + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PureCode"])) case "-d": fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadOnly"])) case "-e": @@ -193,12 +196,13 @@ func downloadPackages(nodes []*doc.Node) { for _, n := range nodes { // Check if it is a bundle or snapshot. switch { - case n.ImportPath[0] == 'B': + case strings.HasSuffix(n.ImportPath, ".b"): + l := len(n.ImportPath) // Check local bundles. - bnodes := checkLocalBundles(n.ImportPath[1:]) + bnodes := checkLocalBundles(n.ImportPath[:l-2]) if len(bnodes) > 0 { // Check with users if continue. - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[1:]) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[:l-2]) for _, bn := range bnodes { fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) } @@ -212,9 +216,9 @@ func downloadPackages(nodes []*doc.Node) { } else { // Check from server. // TODO: api.GetBundleInfo() - fmt.Println("Unable to check with server right now.") + fmt.Println("Unable to find bundle, and we cannot check with server right now.") } - case n.ImportPath[0] == 'S': + case strings.HasSuffix(n.ImportPath, ".s"): // TODO: api.GetSnapshotInfo() case utils.IsValidRemotePath(n.ImportPath): if !downloadCache[n.ImportPath] { diff --git a/remove.go b/remove.go index 87a14a7ec..593625980 100644 --- a/remove.go +++ b/remove.go @@ -8,6 +8,8 @@ import ( "encoding/json" "fmt" "os" + "runtime" + "strings" "github.com/GPMGo/gpm/doc" "github.com/GPMGo/gpm/utils" @@ -66,8 +68,29 @@ func removePackages(nodes []*doc.Node) { for _, n := range nodes { // Check if it is a bundle or snapshot. switch { - case n.ImportPath[0] == 'B': - case n.ImportPath[0] == 'S': + case strings.HasSuffix(n.ImportPath, ".b"): + l := len(n.ImportPath) + // Check local bundles. + bnodes := checkLocalBundles(n.ImportPath[:l-2]) + if len(bnodes) > 0 { + // Check with users if continue. + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[:l-2]) + for _, bn := range bnodes { + fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) + } + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["ContinueRemove"])) + var option string + fmt.Fscan(os.Stdin, &option) + if strings.ToLower(option) != "y" { + os.Exit(0) + } + removePackages(bnodes) + } else { + // Check from server. + // TODO: api.GetBundleInfo() + fmt.Println("Unable to find bundle, and we cannot check with server right now.") + } + case strings.HasSuffix(n.ImportPath, ".s"): case utils.IsValidRemotePath(n.ImportPath): if !removeCache[n.ImportPath] { // Remove package. @@ -109,6 +132,30 @@ func removePackage(node *doc.Node) (*doc.Node, []string) { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["RemovePackage"]), node.ImportPath) // Remove files. os.RemoveAll(absPath) + // Remove file in GOPATH/bin + proName := utils.GetExecuteName(node.ImportPath) + paths := utils.GetGOPATH() + var gopath string + + for _, v := range paths { + if utils.IsExist(v + "/bin/" + proName) { + gopath = v // Don't need to find again. + os.Remove(v + "/bin/" + proName) + } + } + + pkgPath := "/pkg/" + runtime.GOOS + "_" + runtime.GOARCH + "/" + node.ImportPath + // Remove file in GOPATH/pkg + if len(gopath) == 0 { + for _, v := range paths { + if utils.IsExist(v + pkgPath + "/") { + gopath = v + } + } + } + + os.RemoveAll(gopath + pkgPath + "/") + os.Remove(gopath + pkgPath + ".a") return node, nil } } diff --git a/utils/utils.go b/utils/utils.go index f83e57de0..dcdb7ca6a 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -568,3 +568,27 @@ func joinPath(importPath string, num int) string { } return importPath } + +// GetExecuteName returns work directory and possible execute name according work directory. +func GetExecuteName(wd string) string { + wd = strings.Replace(wd, "\\", "/", -1) + execName := path.Base(wd) + if runtime.GOOS == "windows" { + execName += ".exe" + } + return execName +} + +var ( + readmePat = regexp.MustCompile(`^[Rr][Ee][Aa][Dd][Mm][Ee](?:$|\.)`) + licensePat = regexp.MustCompile(`^[Ll][Ii][Cc][En][Nn][Ss][Ee]`) +) + +func IsDocFile(n string) bool { + if (strings.HasSuffix(n, ".go") || strings.HasSuffix(n, ".h") || strings.HasSuffix(n, ".c")) && + n[0] != '_' && n[0] != '.' { + return true + } + + return readmePat.MatchString(n) || licensePat.MatchString(n) +} diff --git a/utils/utils_test.go b/utils/utils_test.go index f83216f98..bd53ad634 100644 --- a/utils/utils_test.go +++ b/utils/utils_test.go @@ -5,6 +5,7 @@ package utils import ( + "runtime" "testing" ) @@ -15,13 +16,6 @@ var remotePaths = []string{ "bitbucket.org/gotamer/conv", } -var importPaths = []string{ - "github.com/coocood/qbs/test", - "code.google.com/p/draw2d/test", - "launchpad.net/goamz/test", - "bitbucket.org/gotamer/conv/test", -} - func TestIsValidRemotePath(t *testing.T) { for _, p := range remotePaths { if !IsValidRemotePath(p) { @@ -30,6 +24,13 @@ func TestIsValidRemotePath(t *testing.T) { } } +var importPaths = []string{ + "github.com/coocood/qbs/test", + "code.google.com/p/draw2d/test", + "launchpad.net/goamz/test", + "bitbucket.org/gotamer/conv/test", +} + func TestGetProjectPath(t *testing.T) { // Should return same path. for _, p := range remotePaths { @@ -45,3 +46,32 @@ func TestGetProjectPath(t *testing.T) { } } } + +func TestGetExecuteName(t *testing.T) { + // Non-windows. + if runtime.GOOS != "windows" && GetExecuteName("gtihub.com/astaxie/beego") != "beego" { + t.Errorf("Fail to verify execute name in non-windows.") + } + + // Windows. + if runtime.GOOS == "windows" && GetExecuteName("gtihub.com/astaxie/beego") != "beego.exe" { + t.Errorf("Fail to verify execute name in windows.") + } +} + +var docFiles = []string{ + "Readme", + "readme.md", + "README", + "README.MD", + "main.go", + "LICENse", +} + +func TestIsDocFile(t *testing.T) { + for _, v := range docFiles { + if !IsDocFile(v) { + t.Errorf("Fail to verify doc file: %s", v) + } + } +} From acf85479726bcb6421cad768cbf237dbeed01174 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 21:12:29 -0400 Subject: [PATCH 085/287] add command check for checking dependencies. --- README.md | 17 +++-- check.go | 128 ++++++++++++++++++++++++++++++++++ conf/gpm.toml | 1 + doc/bitbucket.go | 2 +- doc/github.go | 14 +++- doc/google.go | 2 +- doc/launchpad.go | 2 +- doc/vcs.go | 14 +++- gpm.go | 8 ++- i18n/en-US/prompt.txt | 5 +- i18n/en-US/usage_check.txt | 9 +++ i18n/zh-CN/prompt.txt | 5 +- i18n/zh-CN/usage_check.txt | 9 +++ install.go | 17 +++-- repo/bundles/test_bundle.json | 4 +- utils/utils.go | 2 +- 16 files changed, 219 insertions(+), 20 deletions(-) create mode 100644 check.go create mode 100644 i18n/en-US/usage_check.txt create mode 100644 i18n/zh-CN/usage_check.txt diff --git a/README.md b/README.md index 3f7d408c1..f7ef845e2 100644 --- a/README.md +++ b/README.md @@ -32,18 +32,21 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.2.* -- Command `check` is for checking and downloading all missing dependencies. - i18n support for Chinese. - Add template projects for testing commands. - Add feature auto-catch if run under GOPATH/bin. ### Future +- Command `check` add feature to update or generate gopack.json. +- Command `install` generates dependencies configuration file. +- Command `build` use dependencies configuration file to build with specific versions of dependencies, if VCS tools are available, simply use `checkout`. +- Command `install` and `remove` give number to let user choose operate one package. - Command `search` add flags `-n` and `-o` for number of list items and offset. - Command `update` is for checking updates. - Command `sync` is for sync packages in two computers, support client and server mode through ssh. - Command `init` is for auto-configuring Go develop environment. -- Command `install` and `remove` and `update` backup data(up to 100 records) before executing. +- Command `install` and `remove` and `update` backup data(up to 50 records) before executing. - Command `rollback` is for rolling back to certain operation. - Add feature "struct generator". - Command `remove` add flag `-d` for removing dependencies at the same time. @@ -57,14 +60,20 @@ This application still in experiment, any change could happen, but it doesn't af - Add support for downloading tarballs from user sources. - After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. - Download package from code.google.com only support hg as version control system, probably support git and svn. -- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com; +- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com. - Command `install` add support for downloading by tag and branch for packages in git.oschina.net, gitcafe.com. - Command `install` and `remove` add bundle parse code for getting data from server. - Command `install` and `remove` add snapshot parse code for downloading or removing snapshot. - Add built-in application version in order to backup data when users update. - Add gpm working principle design. - Command `install -c` add arguments for add more exts. +- Command `install` save tarball add support for packages in code.google.com, bitbucket.org, launchpad.net, git.oschina.net, gitcafe.com, *.codeplex.com. + +## Credits + +- Source files that contain code that is from [gopkgdoc](https://github.com/garyburd/gopkgdoc) is honored in specific. +- Idea that support packages build revision is inspired by [gopack](https://github.com/d2fn/gopack). ## License -[MIT-STYLE](LICENSE), source files that contain code that is from [gopkgdoc](https://github.com/garyburd/gopkgdoc) is honored in specific. +[MIT-STYLE](LICENSE). diff --git a/check.go b/check.go new file mode 100644 index 000000000..3e7b44210 --- /dev/null +++ b/check.go @@ -0,0 +1,128 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package main + +import ( + "fmt" + "os" + "runtime" + "strings" + + "github.com/GPMGo/gpm/doc" + "github.com/GPMGo/gpm/utils" +) + +var cmdCheck = &Command{ + UsageLine: "check [check flags] [packages]", +} + +func init() { + cmdCheck.Run = runCheck +} + +// printCheckPrompt prints prompt information to users to +// let them know what's going on. +func printCheckPrompt(flag string) { + switch flag { + + } +} + +func runCheck(cmd *Command, args []string) { + // Check flags. + num := checkFlags(cmd.Flags, config.AutoEnable.Check, args, printCheckPrompt) + if num == -1 { + return + } + args = args[num:] + + wd, _ := os.Getwd() + // Guess import path. + gopath := utils.GetBestMatchGOPATH(wd) + "/src/" + if len(wd) <= len(gopath) { + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InvalidPath"])) + return + } + + importPath := wd[len(gopath):] + imports, err := doc.CheckImports(wd+"/", importPath) + if err != nil { + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["CheckImports"]), err) + return + } + + if len(imports) == 0 { + return + } + + uninstallList := make([]string, 0) + isInstalled := false + // Check if dependencies have been installed. + paths := utils.GetGOPATH() + + for _, v := range imports { + // Make sure it doesn't belong to same project. + if !strings.HasPrefix(v, importPath) { + for _, p := range paths { + if utils.IsExist(p + "/src/" + v + "/") { + isInstalled = true + break + } + } + + if !isInstalled { + uninstallList = append(uninstallList, v) + } + } + } + + // Check if need to install packages. + if len(uninstallList) > 0 { + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["MissingImports"])) + for _, v := range uninstallList { + fmt.Printf("%s\n", v) + } + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["ContinueDownload"])) + var option string + fmt.Fscan(os.Stdin, &option) + if strings.ToLower(option) != "y" { + os.Exit(0) + } + + installGOPATH = utils.GetBestMatchGOPATH(appPath) + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadPath"]), installGOPATH) + // Generate temporary nodes. + nodes := make([]*doc.Node, len(uninstallList)) + for i := range nodes { + nodes[i] = new(doc.Node) + nodes[i].ImportPath = uninstallList[i] + } + // Download packages. + downloadPackages(nodes) + + // Install packages all together. + var cmdArgs []string + cmdArgs = append(cmdArgs, "install") + cmdArgs = append(cmdArgs, "") + + paths := utils.GetGOPATH() + pkgPath := "/pkg/" + runtime.GOOS + "_" + runtime.GOARCH + "/" + for _, k := range uninstallList { + // Delete old packages. + for _, p := range paths { + os.RemoveAll(p + pkgPath + k + "/") + os.Remove(p + pkgPath + k + ".a") + } + } + + for _, k := range uninstallList { + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallStatus"]), k) + cmdArgs[1] = k + executeCommand("go", cmdArgs) + } + + // Generate configure file. + } +} diff --git a/conf/gpm.toml b/conf/gpm.toml index 8c1335071..49fd7a16e 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -4,6 +4,7 @@ title = "gpm(Go Package Manager)" version = "v0.1.9 Build 0523" user_language = "en-US" #user_language = "zh-CN" +auto_backup = true [account] username = "" diff --git a/doc/bitbucket.go b/doc/bitbucket.go index ce3d21e0f..68887176e 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -168,7 +168,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH // Check if need to check imports. if isCheckImport { for _, d := range dirs { - importPkgs, err := checkImports(d+"/", match["importPath"]) + importPkgs, err := CheckImports(d+"/", match["importPath"]) if err != nil { return nil, err } diff --git a/doc/github.go b/doc/github.go index 781ba3485..d33e00592 100644 --- a/doc/github.go +++ b/doc/github.go @@ -166,7 +166,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st // Check if need to check imports. if isCheckImport { for _, d := range dirs { - importPkgs, err := checkImports(d, match["importPath"]) + importPkgs, err := CheckImports(d, match["importPath"]) if err != nil { return nil, err } @@ -174,5 +174,17 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st } } + /*fpath := appPath + "repo/tarballs/" + node.ImportPath + "-" + node.Value + ".zip" + // Save tarball. + if autoBackup && !utils.IsExist(fpath) { + os.MkdirAll(path.Dir(fpath)+"/", os.ModePerm) + f, err := os.Create(fpath) + if err != nil { + return nil, err + } + defer f.Close() + _, err = f.Write(p) + }*/ + return imports, err } diff --git a/doc/google.go b/doc/google.go index 478da887b..b87aca9e4 100644 --- a/doc/google.go +++ b/doc/google.go @@ -164,7 +164,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st for _, d := range dirs { if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { absPath := installPath + "/" + d.Name() + "/" - importPkgs, err := checkImports(absPath, match["importPath"]) + importPkgs, err := CheckImports(absPath, match["importPath"]) if err != nil { return nil, err } diff --git a/doc/launchpad.go b/doc/launchpad.go index bfff56019..d614b2bb5 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -130,7 +130,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH // Check if need to check imports. if isCheckImport { for _, d := range dirs { - importPkgs, err := checkImports(d+"/", match["importPath"]) + importPkgs, err := CheckImports(d+"/", match["importPath"]) if err != nil { return nil, err } diff --git a/doc/vcs.go b/doc/vcs.go index 452322935..8a1628249 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -18,6 +18,16 @@ import ( "strings" ) +var ( + appPath string + autoBackup bool +) + +func SetAppConfig(path string, backup bool) { + appPath = path + autoBackup = backup +} + // TODO: specify with command line flag const repoRoot = "/tmp/gddo" @@ -178,7 +188,7 @@ func expand(template string, match map[string]string, subs ...string) string { } // checkImports checks package denpendencies. -func checkImports(absPath, importPath string) (importPkgs []string, err error) { +func CheckImports(absPath, importPath string) (importPkgs []string, err error) { dir, err := os.Open(absPath) if err != nil { return nil, err @@ -203,7 +213,7 @@ func checkImports(absPath, importPath string) (importPkgs []string, err error) { fbytes := make([]byte, fi.Size()) _, err = f.Read(fbytes) f.Close() - //fmt.Println(d+fi.Name(), fi.Size(), n) + if err != nil { return nil, err } diff --git a/gpm.go b/gpm.go index 0eb017d69..1bf546b2f 100644 --- a/gpm.go +++ b/gpm.go @@ -41,12 +41,13 @@ var promptMsg map[string]string type tomlConfig struct { Title, Version string Lang string `toml:"user_language"` + AutoBackup bool `toml:"auto_backup"` Account account AutoEnable flagEnable `toml:"auto_enable"` } type flagEnable struct { - Build, Install, Search []string + Build, Install, Search, Check []string } type account struct { @@ -104,6 +105,7 @@ var commands = []*Command{ cmdSearch, cmdInstall, cmdRemove, + cmdCheck, } // getAppPath returns application execute path for current process. @@ -119,6 +121,8 @@ func getAppPath() bool { // Replace all '\' to '/'. appPath = strings.Replace(filepath.Dir(appPath), "\\", "/", -1) + "/" } + + doc.SetAppConfig(appPath, config.AutoBackup) return true } @@ -287,6 +291,8 @@ func initialize() bool { // Create bundle and snapshot directories. os.MkdirAll(appPath+"repo/bundles/", os.ModePerm) os.MkdirAll(appPath+"repo/snapshots/", os.ModePerm) + // Create local tarball directories. + os.MkdirAll(appPath+"repo/tarballs/", os.ModePerm) // Initialize local data. if !loadLocalNodes() || !loadLocalBundles() { diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index 8c3d44954..22174b006 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -11,6 +11,7 @@ DownloadError=Fail to download package(%s)[ %s ] NotFoundError=Import path prefix matches known service, but regexp does not. ErrNoMatch=Unsupported project hosting. PackageNotFound=Cannot find package: %s. +CheckImports=Fail to check dependencies[ %s ] MovedFile=SUCCESS: Moved file from $GOPATH(%s) to current directory(%s). PureDownload=You enabled pure download. @@ -30,4 +31,6 @@ NoVCSTool=No version control tool is available, pure download enabled! DownloadStatus=Downloading package: %s. RemovePackage=Removing package: %s. NoKeyword=Cannot search without a keyword. -ContinueRemove=Continue to remove?(Y/n). \ No newline at end of file +ContinueRemove=Continue to remove?(Y/n). +InvalidPath=Cannot find package in current path. +MissingImports=Following packages are missing: \ No newline at end of file diff --git a/i18n/en-US/usage_check.txt b/i18n/en-US/usage_check.txt new file mode 100644 index 000000000..a49b5d38a --- /dev/null +++ b/i18n/en-US/usage_check.txt @@ -0,0 +1,9 @@ +check packages dependencies||| +Check checks packages dependencies if have been installed +and generate configure file. + +The check flags are: + + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index 007be2a05..3bc857c3c 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -11,6 +11,7 @@ DownloadError=下载包 (%s) 失败 [ %s ] NotFoundError=合法的源代码托管平台,但正则匹配失败. ErrNoMatch=不被支持的源代码托管平台. PackageNotFound=无法找到包: %s. +CheckImports=一百遍检查失败 [ %s ] MovedFile=SUCCESS: 成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). PureDownload=已激活纯净下载模式. @@ -30,4 +31,6 @@ NoVCSTool=未找到合适的版本控制工具,已激活纯净下载模式! DownloadStatus=正在下载包: %s. RemovePackage=正在删除包: %s. NoKeyword=没有关键字,无法搜索. -ContinueRemove=是否继续删除?(Y/n). \ No newline at end of file +ContinueRemove=是否继续删除?(Y/n). +InvalidPath=无法在当前目录中找到包. +MissingImports=下列依赖包未找到: \ No newline at end of file diff --git a/i18n/zh-CN/usage_check.txt b/i18n/zh-CN/usage_check.txt new file mode 100644 index 000000000..a49b5d38a --- /dev/null +++ b/i18n/zh-CN/usage_check.txt @@ -0,0 +1,9 @@ +check packages dependencies||| +Check checks packages dependencies if have been installed +and generate configure file. + +The check flags are: + + +The list flags accept a space-separated list of strings. To embed spaces +in an element in the list, surround it with either single or double quotes. diff --git a/install.go b/install.go index 92ac1db65..8f4d677ec 100644 --- a/install.go +++ b/install.go @@ -12,6 +12,7 @@ import ( "os" "os/exec" "regexp" + "runtime" "strings" "github.com/GPMGo/gpm/doc" @@ -140,6 +141,16 @@ func runInstall(cmd *Command, args []string) { cmdArgs = append(cmdArgs, "install") cmdArgs = append(cmdArgs, "") + paths := utils.GetGOPATH() + pkgPath := "/pkg/" + runtime.GOOS + "_" + runtime.GOARCH + "/" + for k := range downloadCache { + // Delete old packages. + for _, p := range paths { + os.RemoveAll(p + pkgPath + k + "/") + os.Remove(p + pkgPath + k + ".a") + } + } + for k := range downloadCache { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallStatus"]), k) cmdArgs[1] = k @@ -160,8 +171,6 @@ func runInstall(cmd *Command, args []string) { } fw.Write(fbytes) } - - fmt.Println("Well done.") } // chekcDeps checks dependencies of nodes. @@ -336,7 +345,7 @@ func pureDownload(node *doc.Node) ([]string, error) { if m == nil { if s.prefix != "" { return nil, - doc.NotFoundError{fmt.Sprintf("%s\n", promptMsg["NotFoundError"])} + doc.NotFoundError{fmt.Sprintf("%s", promptMsg["NotFoundError"])} } continue } @@ -348,5 +357,5 @@ func pureDownload(node *doc.Node) ([]string, error) { } return s.get(doc.HttpClient, match, installGOPATH, node, cmdInstall.Flags) } - return nil, errors.New(fmt.Sprintf("%s\n", promptMsg["NotFoundError"])) + return nil, errors.New(fmt.Sprintf("%s", promptMsg["NotFoundError"])) } diff --git a/repo/bundles/test_bundle.json b/repo/bundles/test_bundle.json index ffba780d3..e8bbceb01 100644 --- a/repo/bundles/test_bundle.json +++ b/repo/bundles/test_bundle.json @@ -38,8 +38,8 @@ }, { "import_path": "github.com/coocood/qbs", - "type": "branch", - "value": "master", + "type": "commit", + "value": "afbf6b7370d76dc479f8d3f9ce9e802ce2c34cf2", "deps": null }, { diff --git a/utils/utils.go b/utils/utils.go index dcdb7ca6a..d7685b207 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -387,7 +387,7 @@ func GetBestMatchGOPATH(appPath string) string { paths := GetGOPATH() for _, p := range paths { if strings.HasPrefix(p, appPath) { - return p + return strings.Replace(p, "\\", "/", -1) } } return paths[0] From f942263ed9add64f496748d08936f1bd0f656022 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 23 May 2013 22:05:22 -0400 Subject: [PATCH 086/287] add i18n support for Chinese --- README.md | 2 +- README_ZH.md | 2 ++ conf/gpm.toml | 6 +++--- i18n/en-US/usage.tpl | 2 +- i18n/en-US/usage_build.txt | 11 +---------- i18n/en-US/usage_check.txt | 3 +-- i18n/en-US/usage_install.txt | 3 +-- i18n/en-US/usage_remove.txt | 3 +-- i18n/en-US/usage_search.txt | 3 +-- i18n/zh-CN/usage.tpl | 14 +++++++------- i18n/zh-CN/usage_build.txt | 30 ++++++++++-------------------- i18n/zh-CN/usage_check.txt | 10 ++++------ i18n/zh-CN/usage_install.txt | 33 +++++++++++++++------------------ i18n/zh-CN/usage_remove.txt | 19 +++++++++---------- i18n/zh-CN/usage_search.txt | 9 ++++----- 15 files changed, 61 insertions(+), 89 deletions(-) diff --git a/README.md b/README.md index f7ef845e2..01fd3341a 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ This application still in experiment, any change could happen, but it doesn't af - `search` searchs packages in [Go Walker](http://gowalker.org) database by keyword. - `install` downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot). For now, this command supports `code.google.com`, `github.com`, `launchpad.net`, `bitbucket.org`. - `remove` removes packages and dependencies: it removes all packages including all dependencies(except when you use bundle or snapshot). +- `check` checks dependencies of packages, and install all missing as a choose. ## Known issues @@ -32,7 +33,6 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.2.* -- i18n support for Chinese. - Add template projects for testing commands. - Add feature auto-catch if run under GOPATH/bin. diff --git a/README_ZH.md b/README_ZH.md index 222025856..e078cd072 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -20,8 +20,10 @@ gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以 ## 主要命令 - `build` 编译并安装 Go 包以及其依赖包:该命令从底层调用 `go install` 命令,如果为 main 包,则会将可执行文件从 `GOPATH` 中移至当前目录,可执行文件的名称是由 `go install` 默认指定的当前文件夹名称。 +- `search` 通过关键字在 [Go Walker](http://gowalker.org) 数据库中查找相关包。 - `install` 下载并安装 Go 包以及其依赖包:您无需安装像 git、hg 或 svn 这类版本控制工具就可以下载您指定的包。该命令也会自动下载相关的依赖包(当您使用集合或快照下载时,不会自动下载依赖包)。目前,该命令支持托管在 `code.google.com`、`github.com`、`launchpad.net` 和 `bitbucket.org` 上的开源项目。 - `remove` 删除 Go 包及其依赖包:该命令可删除 Go 包及其依赖包(当您使用集合或快照删除时,无法自动删除依赖包)。 +- `check` 检查当前包的依赖包是否全部安装,如果发现未安装的依赖包会提示您是否选择安装。 ## 已知问题 diff --git a/conf/gpm.toml b/conf/gpm.toml index 49fd7a16e..8323721f1 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,9 +1,9 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.1.9 Build 0523" -user_language = "en-US" -#user_language = "zh-CN" +version = "v0.2.0 Build 0523" +#user_language = "en-US" +user_language = "zh-CN" auto_backup = true [account] diff --git a/i18n/en-US/usage.tpl b/i18n/en-US/usage.tpl index a1bb4a1c9..ab38d90b7 100644 --- a/i18n/en-US/usage.tpl +++ b/i18n/en-US/usage.tpl @@ -1,4 +1,4 @@ -gpm is a Go package manage tool for search, install, update and share packages. +gpm(Go Package Manager) is a Go package manage tool for search, install, update, share packages. Usage: diff --git a/i18n/en-US/usage_build.txt b/i18n/en-US/usage_build.txt index 631f0bc17..a62b0ffc3 100644 --- a/i18n/en-US/usage_build.txt +++ b/i18n/en-US/usage_build.txt @@ -2,14 +2,6 @@ compile and install packages and dependencies||| Build compiles and installs the packages named by the import paths, along with their dependencies. -If the arguments are a list of .go files, build treats them as a list -of source files specifying a single package. - -When the command line specifies a single main package, -build writes the resulting executable to output. -Otherwise build compiles the packages but discards the results, -serving only as a check that the packages can be built. - If the package is main, the output file name is the base name of the containing directory. @@ -20,8 +12,7 @@ The build flags are shared by the build and test commands: -r run program after built. -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +The list flags accept a space-separated list of strings. For more about specifying packages, see 'go help packages'. diff --git a/i18n/en-US/usage_check.txt b/i18n/en-US/usage_check.txt index a49b5d38a..028dbdfe6 100644 --- a/i18n/en-US/usage_check.txt +++ b/i18n/en-US/usage_check.txt @@ -5,5 +5,4 @@ and generate configure file. The check flags are: -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +The list flags accept a space-separated list of strings. \ No newline at end of file diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index 1d31d0093..fbf8c226e 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -20,8 +20,7 @@ The install flags are: -s download from sources. -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +The list flags accept a space-separated list of strings. For more about specifying packages, see 'go help packages'. For more about bundle, see 'gpm help bundle'. diff --git a/i18n/en-US/usage_remove.txt b/i18n/en-US/usage_remove.txt index deb597fb7..9ecacd506 100644 --- a/i18n/en-US/usage_remove.txt +++ b/i18n/en-US/usage_remove.txt @@ -5,8 +5,7 @@ along with their dependencies. The remove flags are: -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +The list flags accept a space-separated list of strings. For more about specifying packages, see 'go help packages'. For more about bundle, see 'gpm help bundle'. diff --git a/i18n/en-US/usage_search.txt b/i18n/en-US/usage_search.txt index aadf6306a..7f9076eca 100644 --- a/i18n/en-US/usage_search.txt +++ b/i18n/en-US/usage_search.txt @@ -4,5 +4,4 @@ Search searchs packages by keyword. The search flags are: -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +The list flags accept a space-separated list of strings. diff --git a/i18n/zh-CN/usage.tpl b/i18n/zh-CN/usage.tpl index a1bb4a1c9..0eaa59e12 100644 --- a/i18n/zh-CN/usage.tpl +++ b/i18n/zh-CN/usage.tpl @@ -1,18 +1,18 @@ -gpm is a Go package manage tool for search, install, update and share packages. +gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享功能 Go 包的管理工具。 -Usage: +用法: - gpm command [arguments] + gpm 命令 [参数] -The commands are: +命令列表: {{range .}}{{if .Runnable}} {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} -Use "gpm help [command]" for more information about a command. +使用 "gpm help [命令]" 来获取相关命令的更多信息. -Additional help topics: +其它帮助主题: {{range .}}{{if not .Runnable}} {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} -Use "gpm help [topic]" for more information about that topic. +使用 "gpm help [主题]" 来获取相关主题的更多信息. diff --git a/i18n/zh-CN/usage_build.txt b/i18n/zh-CN/usage_build.txt index 65f922f56..4a32d1071 100644 --- a/i18n/zh-CN/usage_build.txt +++ b/i18n/zh-CN/usage_build.txt @@ -1,29 +1,19 @@ -compile and install packages and dependencies||| -Build compiles and installs the packages named by the import paths, -along with their dependencies. +编译安装 Go 包及其依赖包||| +Build 命令编译并安装 Go 包以及其依赖包. -If the arguments are a list of .go files, build treats them as a list -of source files specifying a single package. +如果被安装的包为 main 包,则可执行文件的名称是根据包含该包的 +文件夹目录的名称决定的. -When the command line specifies a single main package, -build writes the resulting executable to output. -Otherwise build compiles the packages but discards the results, -serving only as a check that the packages can be built. - -If the package is main, the output file -name is the base name of the containing directory. - -The build flags are shared by the build and test commands: +下列参数可用于 build 和 test 命令: -v - print the names of packages as they are compiled. + 打印被编译包的名称列表. -r - run program after built. + 完成构建后运行程序. -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +多个参数通过空格来间隔. -For more about specifying packages, see 'go help packages'. +获取更多有关包的信息,参见 'go help packages'. -See also: gpm install. +相关主题: gpm install. diff --git a/i18n/zh-CN/usage_check.txt b/i18n/zh-CN/usage_check.txt index a49b5d38a..59b3f7c24 100644 --- a/i18n/zh-CN/usage_check.txt +++ b/i18n/zh-CN/usage_check.txt @@ -1,9 +1,7 @@ -check packages dependencies||| -Check checks packages dependencies if have been installed -and generate configure file. +检查安装依赖包||| +Check 命令用于检查并安装缺失的依赖包,并生成依赖配置文件. -The check flags are: +下列参数可用于 check 命令: -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +多个参数通过空格来间隔. diff --git a/i18n/zh-CN/usage_install.txt b/i18n/zh-CN/usage_install.txt index 277bbd3ed..a84a49f24 100644 --- a/i18n/zh-CN/usage_install.txt +++ b/i18n/zh-CN/usage_install.txt @@ -1,30 +1,27 @@ -download and install packages and dependencies||| -Install downloads and installs the packages named by the import paths, -along with their dependencies. +下载并安装 Go 包及其依赖包||| +Install 命令下载并安装 Go 包及其依赖包. -This command works even you haven't installed any version control tool -such as git, hg, etc. +即使您没有安装像 git、hg 这类版本控制工具,该命令依旧有效. -The install flags are: +下列参数可用于 install 命令: -p - pure download packages without version control. + 无版本控制的纯净下载. -c - download source code only. + 只下载代码文件. -d - download without installing packages. + 下载但不安装包. -u - force to update pakcages. + 强制更新包. -e - download dependencies for examples. + 下载示例代码中的依赖包. -s - download from sources. + 通过用户源下载. -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +多个参数通过空格来间隔. -For more about specifying packages, see 'go help packages'. -For more about bundle, see 'gpm help bundle'. -For more about snapshot, see 'gpm help snapshot'. +获取更多有关包的信息,参见 'go help packages'. +获取更多有关集合的信息,参见 'gpm help bundle'. +获取更多有关快照的信息,参见 'gpm help snapshot'. -See also: gpm build. +相关主题: gpm build. diff --git a/i18n/zh-CN/usage_remove.txt b/i18n/zh-CN/usage_remove.txt index 5815c6962..08331b12d 100644 --- a/i18n/zh-CN/usage_remove.txt +++ b/i18n/zh-CN/usage_remove.txt @@ -1,15 +1,14 @@ -remove packages and dependencies||| -Remove removes the packages named by the import paths, -along with their dependencies. +删除 Go 包及其依赖包||| +Remove 命令删除 Go 包及其依赖包. -The remove flags are: +下列参数可用于 remove 命令: -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +多个参数通过空格来间隔. -For more about specifying packages, see 'go help packages'. -For more about bundle, see 'gpm help bundle'. -For more about snapshot, see 'gpm help snapshot'. -See also: gpm install. \ No newline at end of file +获取更多有关包的信息,参见 'go help packages'. +获取更多有关集合的信息,参见 'gpm help bundle'. +获取更多有关快照的信息,参见 'gpm help snapshot'. + +相关主题: gpm install. \ No newline at end of file diff --git a/i18n/zh-CN/usage_search.txt b/i18n/zh-CN/usage_search.txt index aadf6306a..9a35ac1f2 100644 --- a/i18n/zh-CN/usage_search.txt +++ b/i18n/zh-CN/usage_search.txt @@ -1,8 +1,7 @@ -search packages||| -Search searchs packages by keyword. +搜索 Go 包||| +Search 命令通过关键字搜索 Go 包. -The search flags are: +下列参数可用于 search 命令: -The list flags accept a space-separated list of strings. To embed spaces -in an element in the list, surround it with either single or double quotes. +多个参数通过空格来间隔. From e50f76c720755e0e05b927df86bd5731ab14d57e Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 11:57:24 -0400 Subject: [PATCH 087/287] documentation --- README.md | 3 +- check.go | 2 +- conf/gpm.toml | 10 ++-- doc/bitbucket.go | 2 + doc/github.go | 8 ++- doc/google.go | 2 + doc/launchpad.go | 2 +- doc/walker.go | 3 +- docs/Quick_Start.md | 91 +++++++++++++++++++++++----------- gpm_test.go | 17 +++++-- install.go | 1 + remove.go | 2 - repo/bundles/install_test.json | 22 ++++++++ 13 files changed, 119 insertions(+), 46 deletions(-) create mode 100644 repo/bundles/install_test.json diff --git a/README.md b/README.md index 01fd3341a..e8c915a6c 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ This application still in experiment, any change could happen, but it doesn't af - Download packages from popular project hosting with/without version control tools. - Remove packages from local file system. +- Check package dependencies and download missing ones. - More specific examples, see [Quick Start](docs/Quick_Start.md). ## Main commands @@ -28,12 +29,12 @@ This application still in experiment, any change could happen, but it doesn't af ## Known issues - When you use commands like `gpm install -p bitbucket.org/zombiezen/gopdf` where is project root path but the directory doesn't contain any source files, you will get error in the installation step, you have to use `gpm install -p bitbucket.org/zombiezen/gopdf/pdf` in order to go through all steps correctly. +- Cannot remove `.git` with error `access is denied`. ## Todo ### v0.2.* -- Add template projects for testing commands. - Add feature auto-catch if run under GOPATH/bin. ### Future diff --git a/check.go b/check.go index 3e7b44210..c8007bef4 100644 --- a/check.go +++ b/check.go @@ -64,7 +64,7 @@ func runCheck(cmd *Command, args []string) { for _, v := range imports { // Make sure it doesn't belong to same project. - if !strings.HasPrefix(v, importPath) { + if utils.GetProjectPath(v) != utils.GetProjectPath(importPath) { for _, p := range paths { if utils.IsExist(p + "/src/" + v + "/") { isInstalled = true diff --git a/conf/gpm.toml b/conf/gpm.toml index 8323721f1..5555f5cc3 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,9 +1,9 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.2.0 Build 0523" -#user_language = "en-US" -user_language = "zh-CN" +version = "v0.2.1 Build 0524" +user_language = "en-US" +#user_language = "zh-CN" auto_backup = true [account] @@ -12,5 +12,5 @@ password = "" github_access_token = "" [auto_enable] -build = ["v", "r"] -install = ["p"] \ No newline at end of file +build = [] +install = [] \ No newline at end of file diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 68887176e..b66b5a918 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -139,6 +139,8 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH if isCodeOnly && !utils.IsDocFile(path.Base(absPath)) { continue + } else if strings.HasPrefix(fn, ".") { + continue } // Get data from archive. diff --git a/doc/github.go b/doc/github.go index d33e00592..79657d35a 100644 --- a/doc/github.go +++ b/doc/github.go @@ -127,15 +127,21 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st // Create diretory before create file. os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) + compareDir: switch { case strings.HasSuffix(absPath, "/"): // Directory. // Check if current directory is example. if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + for _, d := range dirs { + if d == absPath { + break compareDir + } + } dirs = append(dirs, absPath) } case isCodeOnly && !utils.IsDocFile(path.Base(absPath)): continue - default: + case !strings.HasPrefix(f.FileInfo().Name(), "."): // Get file from archive. rc, err := f.Open() if err != nil { diff --git a/doc/google.go b/doc/google.go index b87aca9e4..f49e8a5a0 100644 --- a/doc/google.go +++ b/doc/google.go @@ -99,6 +99,8 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st fname := strings.Split(string(m[1]), "?")[0] if isCodeOnly && !utils.IsDocFile(fname) { continue + } else if strings.HasPrefix(fname, ".") { + continue } files = append(files, &source{ diff --git a/doc/launchpad.go b/doc/launchpad.go index d614b2bb5..04e36d5da 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -101,7 +101,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH } case isCodeOnly && !utils.IsDocFile(path.Base(absPath)): continue - default: + case !strings.HasPrefix(fn, "."): // Create diretory before create file. os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) diff --git a/doc/walker.go b/doc/walker.go index be98f7bad..4371a2fe2 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -127,7 +127,8 @@ func (w *walker) build(srcs []*source) ([]string, error) { var imports []string for _, v := range bpkg.Imports { // Skip strandard library. - if !utils.IsGoRepoPath(v) && !strings.HasPrefix(v, w.ImportPath) { + if !utils.IsGoRepoPath(v) && + (utils.GetProjectPath(v) != utils.GetProjectPath(w.ImportPath)) { imports = append(imports, v) } } diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index f42b544fd..7b4855450 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -2,37 +2,44 @@ **Attention** Features like bundle and snapshot have NOT been published for users. -Full documentation please visit [GPMGo Documentation](). +Full documentation please visit [GPMGo Documentation]()(Haven't done yet!). ## Index - [When and why](#when-and-why) - [Installation](#installation) -- [ **Build** your first project](#build-your-first-project) -- [ Download and **install** package, or packages](#download-and-install-package,-or-packages) -- [ **Remove** package, or packages](#remove-package,-or-packages) +- [ **install** package, or packages](#install-package-or-packages) +- [ **Build** and run it](#build-and-run-it) +- [ **Remove** package, or packages](#remove-package-or-packages) +- [ Use **check** to check dependencies](#use-check-to-check-dependencies) ## When and why -- No version control tool are installed, too lazy to have it? +### Lightweight version control + +Unlike large version control system like git, hg, or svn, you don't have to install any version control tool for using gpm; you are still able to download and install packages that you prefer to. + +### Not only project, but dependencies! - Go get gpm! +With gpm, it's much easier to control dependencies version of your packages specifically. All you need to do is that indicate version either by tag, branch or commit of your dependencies, and leave rest of work to gpm! -- Killer feature over `go get`? +### Killer feature over `go get`? - There is almost nothing better than `go get` until we make feature bundle and snapshot be available to you. +`go get` gives great advantages of package installation in Go, but the only thing it's missing is version control of dependencies. - +### How's configuration file looks like? + +In gpm, we call `bundle` for this kind of files, here is an example of a [bundle](https://github.com/GPMGo/gpm/blob/master/repo/bundles/test_bundle.json), don't get it? It's fine, we'll talk about it more just one second. ## Installation -You can install either from source or download binary. +You can install gpm either from source or download binary. ### Install from source - gpm is a `go get` able project: execute command `go get github.com/GPMGo/gpm` to download and install. - Run test: switch work directory to gpm project, and execute command `go test` to build and test commands automatically(for now, tested commands are `gpm install`, `gpm remove`). -- Add gpm project path to your environment variable `PATH` in order to execute it from other directories. +- Add gpm project path to your environment variable `PATH` in order to execute it in other directories. ### Download binary @@ -49,37 +56,63 @@ Because we don't have all kinds of operating systems, we need your help to compl **Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token(up to 5000 request per hour), and set it in `gpm.toml`. -## Build your first project +## Download and install package, or packages + +Command `install` downloads and installs packages along with all dependencies(except when you use bundle or snapshot). + +Suppose you want to install package `github.com/GPMGoTest/install_test`, here two ways to do it: + +### Install like `go get` + +- Execute command `gpm install -p github.com/GPMGoTest/install_test`, flag `-p` means **pure download** (download packages without version control), so you do not need to install version control tool. In case you want to, `gpm install github.com/GPMGoTest/install_test` calls `go get` in underlying. + +### Install through bundle + +- It's still not cool enough to download and install packages with import path, let's try execute command `gpm install -p test.b`, see what happens? +- Where is the `test.b` comes from? We actually created a bundle for you in directory `repo/bundles/`, and all bundles should be put there. +- This is how bundle works, you can open it and see what's inside, it includes import path, type, value and dependencies. +- The `test.b` means the bundle whose name is `test`, if you want to use bundle, you have to add suffix `.b`. You may notice that our file name is `install_test.json`, why is `test`? Because we use `bundle_name` inside file, file name doesn't mean anything unless you leave `bundle_name` blank, then the file name becomes bundle name automatically, but be sure that all bundle file name should use JSON and suffix `.json`. +- For `code.google.com`, `launchpad.net`, type is **ALWAYS** `commit`, and you can leave value blank which means up-to-date, or give it a certain value and you will download the same version of the package no matter how many times. +- For `github.com`, `bitbucket.org`, type can be either `commit`, `branch` or `tag`, and give it corresponding value. +- Now, you should have two packages which are `github.com/GPMGoTest/install_test` and `github.com/GPMGoTest/install_test2` in your computer. + +## Build and run it Command `build` compiles and installs packages along with all dependencies. -Suppose you have a project called `github.com/GPMGo/gpm`. +Let's switch work directory to package `github.com/GPMGoTest/install_test`. -- Switch to corresponding directory: `cd $GOPATH/src/github.com/GPMGo/gpm`. -- Execute command `gpm build`. -- Then, gpm calls `go install` in underlying, so you should have binary `$GOPATH/bin/gpm`. -- gpm moves binary from corresponding GOPATH to current which is `$GOPATH/src/github.com/GPMGo/` in this case, now just run your application. +- Execute command `gpm build -r`. +- After built, you should see string `Welcome to use gpm(Go Package Manager)!` was printed on the screen. +- Then, gpm calls `go install` in underlying, so you should have binary `$GOPATH/bin/install_test`, then gpm moves it to current directory. +- Flag `-r` means run after built, so you saw the string was printed. ### Why we do this? -In some cases like building web applications, we use relative path to access static files, and `go build` compiles packages without saving, so it's a shortcut for `go install` + `go build`, and you don't need to compile packages which have not changed again. +In some cases like building web applications, we use relative path to access static files, and `go build` compiles packages without saving, so it's a shortcut for `go install` + `go build` + `go run`, and you don't need to compile packages again for those have not changed. -Also, you can use all flags that are used for `go install`. +## Remove package, or packages -## Download and install package, or packages +Command `remove` removes packages from your local file system. -Command `install` downloads and installs packages along with all dependencies(except when you use bundle or snapshot). +Suppose you want to remove package `github.com/GPMGoTest/install_test2/subpkg`. -Suppose you want to install package `bitbucket.org/zombiezen/gopdf/pdf`. +- Execute command `gpm remove github.com/GPMGoTest/install_test2/subpkg`, gpm finds this project in all paths in your GOPATH environment. +- You may notice this is not project path, it's OK because gpm knows it, and deletes directory `$GOPATH/src/github.com/GPMGoTest/install_test2/`, this command delete files in `$GOPATH/bin` and `$GOPATH/pkg` as well. +- You can also use `gpm remove test.b` to remove all packages are included in bundle, but we don't need here because we have one more cool stuff to try. -- Execute command `gpm install -p bitbucket.org/zombiezen/gopdf/pdf`, flag `-p` means **pure download** (download packages without version control), so you do not need to install version control tool. In case you want to, `gpm install bitbucket.org/zombiezen/gopdf/pdf` calls `go get` in underlying. -- gpm tells your which GOPATH will be used for saving packages, and it checks your current execute path to get best matched path in your GOPATH environment variable. +## Use check to check dependencies -## Remove package, or packages +Command `check` checks package dependencies and installs missing ones. + +Suppose you want to check package `github.com/GPMGoTest/install_test`. -Command `remove` removes packages from your local file system(except when you use bundle or snapshot). +- Switch work directory to package path. +- Execute command `gpm check`. -Suppose you want to remove package `bitbucket.org/zombiezen/gopdf/pdf`. +## Go further -- Execute command `gpm remove bitbucket.org/zombiezen/gopdf/pdf`, gpm finds this project in all paths in your GOPATH environment. -- You may notice this is not project path, it's OK because gpm knows it, and deletes directory `$GOPATH/src/bitbucket.org/zombiezen/gopdf/`. \ No newline at end of file +- Online full documentation is still working, I'm sorry about that. +- Give us your feedback, these things matters. +- Join us and get better together. +- Contact: [gpmgo.com@gmail.com](mailto:gpmgo.com@gmail.com). \ No newline at end of file diff --git a/gpm_test.go b/gpm_test.go index bad222692..7aee47dc8 100644 --- a/gpm_test.go +++ b/gpm_test.go @@ -7,26 +7,33 @@ package main import ( "fmt" "testing" + "time" ) func TestGPM(t *testing.T) { - fmt.Println("gpm v0.1.5 Build 0523") + fmt.Println("gpm v0.2.0 Build 0524") + fmt.Println("\nBuilding gpm application...") // Build application. var args []string args = append(args, "build") executeCommand("go", args) - fmt.Println("Start testing command Install...") + fmt.Println("\nStart testing command Install...") + fmt.Println("This package depends on `install_test2`.") + time.Sleep(2 * time.Second) args = make([]string, 0) args = append(args, "install") args = append(args, "-p") - args = append(args, "bitbucket.org/zombiezen/gopdf/pdf") + args = append(args, "github.com/GPMGoTest/install_test") executeCommand("gpm", args) - fmt.Println("Start testing command Remove...") + fmt.Println("\nStart testing command Remove...") + fmt.Println("Let's remove `install_test` and `install_test2`.") + time.Sleep(2 * time.Second) args = make([]string, 0) args = append(args, "remove") - args = append(args, "bitbucket.org/zombiezen/gopdf/pdf") + args = append(args, "github.com/GPMGoTest/install_test") + args = append(args, "github.com/GPMGoTest/install_test2") executeCommand("gpm", args) } diff --git a/install.go b/install.go index 8f4d677ec..60aa121e0 100644 --- a/install.go +++ b/install.go @@ -298,6 +298,7 @@ func downloadPackage(node *doc.Node) (*doc.Node, []string) { downloadCache[node.ImportPath] = true imports, err := pureDownload(node) + if err != nil { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadError"]), node.ImportPath, err) return nil, nil diff --git a/remove.go b/remove.go index 593625980..2a00a6558 100644 --- a/remove.go +++ b/remove.go @@ -58,8 +58,6 @@ func runRemove(cmd *Command, args []string) { return } fw.Write(fbytes) - - fmt.Println("Well done.") } // removePackages removes packages from local file system. diff --git a/repo/bundles/install_test.json b/repo/bundles/install_test.json new file mode 100644 index 000000000..50fb082ae --- /dev/null +++ b/repo/bundles/install_test.json @@ -0,0 +1,22 @@ +{ + "id": 0, + "user_id": 0, + "bundle_name": "test", + "comment": "just a test", + "timestamp": 0, + "nodes": [ + { + "import_path": "github.com/GPMGoTest/install_test", + "type": "branch", + "value": "master", + "deps": [ + { + "import_path": "github.com/GPMGoTest/install_test2", + "type": "branch", + "value": "master", + "deps": null + } + ] + } + ] +} \ No newline at end of file From e9a767f6390e1f0e926fe5b6b42b6a92970189e4 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 12:20:44 -0400 Subject: [PATCH 088/287] v0.2.0 Build 0524 --- conf/gpm.toml | 2 +- docs/Quick_Start.md | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/conf/gpm.toml b/conf/gpm.toml index 5555f5cc3..84584dc5d 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.2.1 Build 0524" +version = "v0.2.0 Build 0524" user_language = "en-US" #user_language = "zh-CN" auto_backup = true diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index 7b4855450..82f69cb83 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -1,7 +1,5 @@ # Quick Start -**Attention** Features like bundle and snapshot have NOT been published for users. - Full documentation please visit [GPMGo Documentation]()(Haven't done yet!). ## Index @@ -12,6 +10,7 @@ Full documentation please visit [GPMGo Documentation]()(Haven't done yet!). - [ **Build** and run it](#build-and-run-it) - [ **Remove** package, or packages](#remove-package-or-packages) - [ Use **check** to check dependencies](#use-check-to-check-dependencies) +- [ **Search** and find more](#search-and-find-more) ## When and why @@ -25,7 +24,9 @@ With gpm, it's much easier to control dependencies version of your packages spec ### Killer feature over `go get`? -`go get` gives great advantages of package installation in Go, but the only thing it's missing is version control of dependencies. +- `go get` gives great advantages of package installation in Go, but the only thing it's missing is version control of dependencies. +- Every time you use `go get`, you may download unstable version of your package dependencies, and you may waste your time to find last version in almost unreadable commit history. +- Not only main package, dependencies also have their dependencies, in a big project, small things like this should not waste your attention for building awesome applications. ### How's configuration file looks like? @@ -43,6 +44,8 @@ You can install gpm either from source or download binary. ### Download binary +At this time, we recommend you install from source. + Because we don't have all kinds of operating systems, we need your help to complete following download list!(I'm just too lazy to cross compiling -_-|||) - darwin-386: @@ -52,7 +55,7 @@ Because we don't have all kinds of operating systems, we need your help to compl - linux-386: - linux-amd64: - windows_386: -- windows_amd64: [gpm0.1.5 Build 0523](https://docs.google.com/file/d/0B2GBHFyTK2N8Y241eUlKd01Ia1U/edit?usp=sharing) +- windows_amd64: **Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token(up to 5000 request per hour), and set it in `gpm.toml`. @@ -76,6 +79,10 @@ Suppose you want to install package `github.com/GPMGoTest/install_test`, here tw - For `github.com`, `bitbucket.org`, type can be either `commit`, `branch` or `tag`, and give it corresponding value. - Now, you should have two packages which are `github.com/GPMGoTest/install_test` and `github.com/GPMGoTest/install_test2` in your computer. +### Share? + +Copy and paste your bundle files to anyone else, nothing much! + ## Build and run it Command `build` compiles and installs packages along with all dependencies. @@ -109,6 +116,14 @@ Suppose you want to check package `github.com/GPMGoTest/install_test`. - Switch work directory to package path. - Execute command `gpm check`. +- That's it! + +## Search and find more + +Command `search` is for searching packages in [Go Walker](http://gowalker.org) database. + +- Execute command `gpm search mysql`. +- Try it by yourself. ## Go further From 659226d9efc3dde8016e210489f92d180733d6c5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 17:15:47 -0400 Subject: [PATCH 089/287] able to change name to others when has name conflict --- README_ZH.md | 2 ++ docs/Quick_Start.md | 4 ++-- gpm.go | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README_ZH.md b/README_ZH.md index e078cd072..d6e97ede1 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -15,6 +15,7 @@ gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以 - 无需安装各类复杂的版本控制工具就可以从源代码托管平台下载并安装 Go 包。 - 从本地文件系统中删除 Go 包。 +- 检查并下载缺失的依赖包。 - 更多示例,参见 [快速入门](docs/Quick_Start_ZH.md) ## 主要命令 @@ -28,6 +29,7 @@ gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以 ## 已知问题 - 当您使用命令例如 `gpm install -p bitbucket.org/zombiezen/gopdf` 时,你会在安装步骤时得到错误,虽然这是项目的根目录,但是并没有包含任何 Go 源代码,因此您必须使用 `gpm install -p bitbucket.org/zombiezen/gopdf/pdf` 才能正确完成安装。 +- 删除目录 `.git` 会因为权限不足而失败。 ## 授权许可 diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index 82f69cb83..95d525b7b 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -6,7 +6,7 @@ Full documentation please visit [GPMGo Documentation]()(Haven't done yet!). - [When and why](#when-and-why) - [Installation](#installation) -- [ **install** package, or packages](#install-package-or-packages) +- [ **Install** package, or packages](#install-package-or-packages) - [ **Build** and run it](#build-and-run-it) - [ **Remove** package, or packages](#remove-package-or-packages) - [ Use **check** to check dependencies](#use-check-to-check-dependencies) @@ -59,7 +59,7 @@ Because we don't have all kinds of operating systems, we need your help to compl **Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token(up to 5000 request per hour), and set it in `gpm.toml`. -## Download and install package, or packages +## Install package, or packages Command `install` downloads and installs packages along with all dependencies(except when you use bundle or snapshot). diff --git a/gpm.go b/gpm.go index 1bf546b2f..ff7904fb2 100644 --- a/gpm.go +++ b/gpm.go @@ -12,6 +12,7 @@ import ( "io" "os" "os/exec" + "path" "path/filepath" "runtime" "strings" @@ -111,7 +112,7 @@ var commands = []*Command{ // getAppPath returns application execute path for current process. func getAppPath() bool { // Look up executable in PATH variable. - appPath, _ = exec.LookPath("gpm") + appPath, _ = exec.LookPath(path.Base(os.Args[0])) if len(appPath) == 0 { fmt.Printf("ERROR: getAppPath -> Unable to indicate current execute path.\n") return false From 7860086e8b684b31796d187f7fecebf6af63e63f Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 17:22:43 -0400 Subject: [PATCH 090/287] able to change name to others when has name conflict --- docs/Quick_Start.md | 2 ++ gpm.go | 1 + 2 files changed, 3 insertions(+) diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index 95d525b7b..9ce5e10d7 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -59,6 +59,8 @@ Because we don't have all kinds of operating systems, we need your help to compl **Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token(up to 5000 request per hour), and set it in `gpm.toml`. +**Attention** If your computer has been installed others software that called `gpm` also, you can change executable name to something else, for example `gpmgo`, and use `gpmgo` in all commands. + ## Install package, or packages Command `install` downloads and installs packages along with all dependencies(except when you use bundle or snapshot). diff --git a/gpm.go b/gpm.go index ff7904fb2..bc525b6d1 100644 --- a/gpm.go +++ b/gpm.go @@ -113,6 +113,7 @@ var commands = []*Command{ func getAppPath() bool { // Look up executable in PATH variable. appPath, _ = exec.LookPath(path.Base(os.Args[0])) + // Check if run under $GOPATH/bin if len(appPath) == 0 { fmt.Printf("ERROR: getAppPath -> Unable to indicate current execute path.\n") return false From 9d54467f4ad8cc092384b59442dba9ec8413ff7f Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 17:29:48 -0400 Subject: [PATCH 091/287] update --- gpm.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gpm.go b/gpm.go index bc525b6d1..69bf36a08 100644 --- a/gpm.go +++ b/gpm.go @@ -114,14 +114,16 @@ func getAppPath() bool { // Look up executable in PATH variable. appPath, _ = exec.LookPath(path.Base(os.Args[0])) // Check if run under $GOPATH/bin + if len(appPath) == 0 { fmt.Printf("ERROR: getAppPath -> Unable to indicate current execute path.\n") return false } + appPath += "/" if runtime.GOOS == "windows" { // Replace all '\' to '/'. - appPath = strings.Replace(filepath.Dir(appPath), "\\", "/", -1) + "/" + appPath = strings.Replace(filepath.Dir(appPath), "\\", "/", -1) } doc.SetAppConfig(appPath, config.AutoBackup) From 77162ada68a91c16d03e4454a7ece18553fe1cec Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 17:48:30 -0400 Subject: [PATCH 092/287] auto-detect package path of gpm, so binary can be put in any path that is in /c/Users/Unknown/bin:.:/usr/local/bin:/mingw/bin:/bin:/c/Program Files/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Program Files (x86)/Windows Live/Shared:/c/Program Files/Intel/WiFi/bin/:/c/Program Files/Common Files/Intel/WirelessCommon/:/c/Program Files/Microsoft/Web Platform Installer/:/c/Program Files (x86)/Microsoft ASP.NET/ASP.NET Web Pages/v1.0/:/c/Program Files (x86)/Windows Kits/8.0/Windows Performance Toolkit/:/c/Program Files/Microsoft SQL Server/110/Tools/Binn/:/d/TortoiseHg/:/d/Qt/Qt5.0.1/5.0.1/msvc2010/bin:/d/Java/jdk1.7.0_17/bin:/d/Java/jdk1.7.0_17/jre/bin:/d/MinGW64/bin:/d/MinGW/bin:/c/Program Files/MySQL/MySQL Server 5.1/bin:/d/go/bin:/cmd:/bin:/e/Go/Development/src/github.com/GPMGo/gpm --- README.md | 2 -- conf/gpm.toml | 2 +- gpm.go | 13 +++++++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e8c915a6c..1871acda8 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,6 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.2.* -- Add feature auto-catch if run under GOPATH/bin. - ### Future - Command `check` add feature to update or generate gopack.json. diff --git a/conf/gpm.toml b/conf/gpm.toml index 84584dc5d..5555f5cc3 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.2.0 Build 0524" +version = "v0.2.1 Build 0524" user_language = "en-US" #user_language = "zh-CN" auto_backup = true diff --git a/gpm.go b/gpm.go index 69bf36a08..9bbdbd3ab 100644 --- a/gpm.go +++ b/gpm.go @@ -114,16 +114,25 @@ func getAppPath() bool { // Look up executable in PATH variable. appPath, _ = exec.LookPath(path.Base(os.Args[0])) // Check if run under $GOPATH/bin + if !utils.IsExist(appPath + "conf/") { + paths := utils.GetGOPATH() + for _, p := range paths { + if utils.IsExist(p + "/src/github.com/GPMGo/gpm/") { + appPath = p + "/src/github.com/GPMGo/gpm/" + break + } + } + } if len(appPath) == 0 { fmt.Printf("ERROR: getAppPath -> Unable to indicate current execute path.\n") return false } - appPath += "/" + appPath = filepath.Dir(appPath) + "/" if runtime.GOOS == "windows" { // Replace all '\' to '/'. - appPath = strings.Replace(filepath.Dir(appPath), "\\", "/", -1) + appPath = strings.Replace(appPath, "\\", "/", -1) } doc.SetAppConfig(appPath, config.AutoBackup) From 4c46e1b885ef239665d49f8a5fa2927f8cc2ccd5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 20:25:38 -0400 Subject: [PATCH 093/287] command check add feature checks subdirs deps --- check.go | 89 ++++++++++++++++++++++++++++++-------- conf/gpm.toml | 7 ++- doc/google.go | 8 +--- doc/walker.go | 1 + i18n/en-US/prompt.txt | 3 +- i18n/en-US/usage_check.txt | 2 + i18n/zh-CN/prompt.txt | 3 +- i18n/zh-CN/usage_check.txt | 2 + install.go | 18 +++----- remove.go | 32 +++++++++----- utils/utils.go | 16 +++++++ 11 files changed, 131 insertions(+), 50 deletions(-) diff --git a/check.go b/check.go index c8007bef4..a4fa71dee 100644 --- a/check.go +++ b/check.go @@ -7,7 +7,6 @@ package main import ( "fmt" "os" - "runtime" "strings" "github.com/GPMGo/gpm/doc" @@ -20,13 +19,17 @@ var cmdCheck = &Command{ func init() { cmdCheck.Run = runCheck + cmdCheck.Flags = map[string]bool{ + "-e": false, + } } // printCheckPrompt prints prompt information to users to // let them know what's going on. func printCheckPrompt(flag string) { switch flag { - + case "-e": + fmt.Printf(fmt.Sprintf("%s\n", promptMsg["CheckExDeps"])) } } @@ -42,14 +45,14 @@ func runCheck(cmd *Command, args []string) { // Guess import path. gopath := utils.GetBestMatchGOPATH(wd) + "/src/" if len(wd) <= len(gopath) { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InvalidPath"])) + fmt.Printf(fmt.Sprintf("runCheck -> %s\n", promptMsg["InvalidPath"])) return } importPath := wd[len(gopath):] - imports, err := doc.CheckImports(wd+"/", importPath) + imports, err := checkImportsByRoot(wd+"/", importPath) if err != nil { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["CheckImports"]), err) + fmt.Printf(fmt.Sprintf("runCheck -> %s\n", promptMsg["CheckImports"]), err) return } @@ -57,6 +60,7 @@ func runCheck(cmd *Command, args []string) { return } + importsCache := make(map[string]bool) uninstallList := make([]string, 0) isInstalled := false // Check if dependencies have been installed. @@ -66,16 +70,18 @@ func runCheck(cmd *Command, args []string) { // Make sure it doesn't belong to same project. if utils.GetProjectPath(v) != utils.GetProjectPath(importPath) { for _, p := range paths { - if utils.IsExist(p + "/src/" + v + "/") { + if checkIsExistWithVCS(p + "/src/" + v + "/") { isInstalled = true break } } - if !isInstalled { + if !isInstalled && !importsCache[v] { + importsCache[v] = true uninstallList = append(uninstallList, v) } } + isInstalled = false } // Check if need to install packages. @@ -102,21 +108,13 @@ func runCheck(cmd *Command, args []string) { // Download packages. downloadPackages(nodes) + removePackageFiles("", uninstallList) + // Install packages all together. var cmdArgs []string cmdArgs = append(cmdArgs, "install") cmdArgs = append(cmdArgs, "") - paths := utils.GetGOPATH() - pkgPath := "/pkg/" + runtime.GOOS + "_" + runtime.GOARCH + "/" - for _, k := range uninstallList { - // Delete old packages. - for _, p := range paths { - os.RemoveAll(p + pkgPath + k + "/") - os.Remove(p + pkgPath + k + ".a") - } - } - for _, k := range uninstallList { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallStatus"]), k) cmdArgs[1] = k @@ -126,3 +124,60 @@ func runCheck(cmd *Command, args []string) { // Generate configure file. } } + +// checkImportsByRoot checks imports of packages from root path, +// and recursion checks all sub-directories. +func checkImportsByRoot(rootPath, importPath string) (imports []string, err error) { + // Check imports of root path. + importPkgs, err := doc.CheckImports(rootPath, importPath) + if err != nil { + return nil, err + } + imports = append(imports, importPkgs...) + + // Check sub-directories. + dirs, err := utils.GetDirsInfo(rootPath) + if err != nil { + return nil, err + } + + for _, d := range dirs { + if d.IsDir() && + !(!cmdCheck.Flags["-e"] && strings.Contains(d.Name(), "example")) { + importPkgs, err := checkImportsByRoot(rootPath+d.Name()+"/", importPath) + if err != nil { + return nil, err + } + imports = append(imports, importPkgs...) + } + } + + return imports, err +} + +// checkIsExistWithVCS returns false if directory only has VCS folder, +// or doesn't exist. +func checkIsExistWithVCS(path string) bool { + // Check if directory exist. + if !utils.IsExist(path) { + return false + } + + // Check if only has VCS folder. + dirs, err := utils.GetDirsInfo(path) + if err != nil { + fmt.Printf("checkIsExistWithVCS -> [ %s ]", err) + return false + } + + if len(dirs) != 1 { + return true + } + + switch dirs[0].Name() { + case ".git", ".hg", ".svn": + return false + } + + return true +} diff --git a/conf/gpm.toml b/conf/gpm.toml index 5555f5cc3..f6d1d8122 100644 --- a/conf/gpm.toml +++ b/conf/gpm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.2.1 Build 0524" +version = "v0.2.2 Build 0524" user_language = "en-US" #user_language = "zh-CN" auto_backup = true @@ -13,4 +13,7 @@ github_access_token = "" [auto_enable] build = [] -install = [] \ No newline at end of file +install = [] +search = [] +remove = [] +check = [] \ No newline at end of file diff --git a/doc/google.go b/doc/google.go index f49e8a5a0..a0a19df07 100644 --- a/doc/google.go +++ b/doc/google.go @@ -152,13 +152,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st // Check if need to check imports. if isCheckImport { - rootdir, err := os.Open(installPath + "/") - if err != nil { - return nil, err - } - defer rootdir.Close() - - dirs, err := rootdir.Readdir(0) + dirs, err := utils.GetDirsInfo(installPath + "/") if err != nil { return nil, err } diff --git a/doc/walker.go b/doc/walker.go index 4371a2fe2..e225bba81 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -124,6 +124,7 @@ func (w *walker) build(srcs []*source) ([]string, error) { files[name] = file } + w.ImportPath = strings.Replace(w.ImportPath, "\\", "/", -1) var imports []string for _, v := range bpkg.Imports { // Skip strandard library. diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index 22174b006..b3cdf7086 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -33,4 +33,5 @@ RemovePackage=Removing package: %s. NoKeyword=Cannot search without a keyword. ContinueRemove=Continue to remove?(Y/n). InvalidPath=Cannot find package in current path. -MissingImports=Following packages are missing: \ No newline at end of file +MissingImports=Following packages are missing: +CheckExDeps=You enabled check dependencies in example. \ No newline at end of file diff --git a/i18n/en-US/usage_check.txt b/i18n/en-US/usage_check.txt index 028dbdfe6..c6b45bb19 100644 --- a/i18n/en-US/usage_check.txt +++ b/i18n/en-US/usage_check.txt @@ -4,5 +4,7 @@ and generate configure file. The check flags are: + -e + check dependencies for examples. The list flags accept a space-separated list of strings. \ No newline at end of file diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index 3bc857c3c..d3ae329f4 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -33,4 +33,5 @@ RemovePackage=正在删除包: %s. NoKeyword=没有关键字,无法搜索. ContinueRemove=是否继续删除?(Y/n). InvalidPath=无法在当前目录中找到包. -MissingImports=下列依赖包未找到: \ No newline at end of file +MissingImports=下列依赖包未找到: +CheckExDeps=已激活示例代码依赖检查. \ No newline at end of file diff --git a/i18n/zh-CN/usage_check.txt b/i18n/zh-CN/usage_check.txt index 59b3f7c24..52e267b30 100644 --- a/i18n/zh-CN/usage_check.txt +++ b/i18n/zh-CN/usage_check.txt @@ -3,5 +3,7 @@ Check 命令用于检查并安装缺失的依赖包,并生成依赖配置文 下列参数可用于 check 命令: + -e + 检查示例代码的依赖包. 多个参数通过空格来间隔. diff --git a/install.go b/install.go index 60aa121e0..0a2a10259 100644 --- a/install.go +++ b/install.go @@ -12,7 +12,6 @@ import ( "os" "os/exec" "regexp" - "runtime" "strings" "github.com/GPMGo/gpm/doc" @@ -136,21 +135,18 @@ func runInstall(cmd *Command, args []string) { downloadPackages(nodes) if !cmdInstall.Flags["-d"] && cmdInstall.Flags["-p"] { + // Remove old files. + uninstallList := make([]string, 0, len(downloadCache)) + for k := range downloadCache { + uninstallList = append(uninstallList, k) + } + removePackageFiles("", uninstallList) + // Install packages all together. var cmdArgs []string cmdArgs = append(cmdArgs, "install") cmdArgs = append(cmdArgs, "") - paths := utils.GetGOPATH() - pkgPath := "/pkg/" + runtime.GOOS + "_" + runtime.GOARCH + "/" - for k := range downloadCache { - // Delete old packages. - for _, p := range paths { - os.RemoveAll(p + pkgPath + k + "/") - os.Remove(p + pkgPath + k + ".a") - } - } - for k := range downloadCache { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallStatus"]), k) cmdArgs[1] = k diff --git a/remove.go b/remove.go index 2a00a6558..9ae764196 100644 --- a/remove.go +++ b/remove.go @@ -142,18 +142,9 @@ func removePackage(node *doc.Node) (*doc.Node, []string) { } } - pkgPath := "/pkg/" + runtime.GOOS + "_" + runtime.GOARCH + "/" + node.ImportPath - // Remove file in GOPATH/pkg - if len(gopath) == 0 { - for _, v := range paths { - if utils.IsExist(v + pkgPath + "/") { - gopath = v - } - } - } + pkgList := []string{node.ImportPath} + removePackageFiles(gopath, pkgList) - os.RemoveAll(gopath + pkgPath + "/") - os.Remove(gopath + pkgPath + ".a") return node, nil } } @@ -162,3 +153,22 @@ func removePackage(node *doc.Node) (*doc.Node, []string) { fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PackageNotFound"]), node.ImportPath) return nil, nil } + +// removePackageFiles removes package files in $GOPATH/pkg. +func removePackageFiles(gopath string, pkgList []string) { + var paths []string + // Check if need to find GOPATH. + if len(gopath) == 0 { + paths = utils.GetGOPATH() + } else { + paths = append(paths, gopath) + } + + pkgPath := "/pkg/" + runtime.GOOS + "_" + runtime.GOARCH + "/" + for _, p := range pkgList { + for _, g := range paths { + os.RemoveAll(g + pkgPath + p + "/") + os.Remove(g + pkgPath + p + ".a") + } + } +} diff --git a/utils/utils.go b/utils/utils.go index d7685b207..9e859b4b1 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -592,3 +592,19 @@ func IsDocFile(n string) bool { return readmePat.MatchString(n) || licensePat.MatchString(n) } + +// GetDirsInfo returns os.FileInfo of all sub-directories in root path. +func GetDirsInfo(rootPath string) ([]os.FileInfo, error) { + rootDir, err := os.Open(rootPath) + if err != nil { + return nil, err + } + defer rootDir.Close() + + dirs, err := rootDir.Readdir(0) + if err != nil { + return nil, err + } + + return dirs, err +} From e64829aeeda49457b060bbf7eff89af82646764c Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 20:47:47 -0400 Subject: [PATCH 094/287] command check add feature checks subdirs deps --- README.md | 21 +++++++++++---------- check.go | 4 +++- docs/Quick_Start.md | 2 +- i18n/en-US/prompt.txt | 1 - i18n/en-US/usage_install.txt | 2 -- i18n/zh-CN/prompt.txt | 1 - i18n/zh-CN/usage_install.txt | 2 -- install.go | 3 --- 8 files changed, 15 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 1871acda8..e1d6ec1e2 100644 --- a/README.md +++ b/README.md @@ -33,25 +33,29 @@ This application still in experiment, any change could happen, but it doesn't af ## Todo -### v0.2.* +### v0.3.* + +- Command `install` and `remove` give number to let user choose operate one package. +- Command `search` add flags `-n` and `-o` for number of list items and offset. +- Add gpm working principle design. +- Complete documentation. ### Future - Command `check` add feature to update or generate gopack.json. - Command `install` generates dependencies configuration file. - Command `build` use dependencies configuration file to build with specific versions of dependencies, if VCS tools are available, simply use `checkout`. -- Command `install` and `remove` give number to let user choose operate one package. -- Command `search` add flags `-n` and `-o` for number of list items and offset. +- Command `remove` add flag `-d` for removing dependencies at the same time. +- Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. +- Command `install` save tarball add support for packages in code.google.com, bitbucket.org, launchpad.net, git.oschina.net, gitcafe.com, *.codeplex.com. - Command `update` is for checking updates. - Command `sync` is for sync packages in two computers, support client and server mode through ssh. - Command `init` is for auto-configuring Go develop environment. - Command `install` and `remove` and `update` backup data(up to 50 records) before executing. - Command `rollback` is for rolling back to certain operation. - Add feature "struct generator". -- Command `remove` add flag `-d` for removing dependencies at the same time. -- Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. -- Command `install` add flag `-all` for re-installing everything in GOPATH, usually use this after upgrading Go version. -- Command `clean` is for cleaning empty directories. +- Command `install` add flag `-all` for re-installing everything in GOPATH, usually use this after upgraded Go version. +- Command `clean` is for cleaning empty directories and backup. - Command `daemon` is for auto-compile web applications when debug it locally. - Collect download and installation results and report to users in the end. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. @@ -64,9 +68,6 @@ This application still in experiment, any change could happen, but it doesn't af - Command `install` and `remove` add bundle parse code for getting data from server. - Command `install` and `remove` add snapshot parse code for downloading or removing snapshot. - Add built-in application version in order to backup data when users update. -- Add gpm working principle design. -- Command `install -c` add arguments for add more exts. -- Command `install` save tarball add support for packages in code.google.com, bitbucket.org, launchpad.net, git.oschina.net, gitcafe.com, *.codeplex.com. ## Credits diff --git a/check.go b/check.go index a4fa71dee..74ceec2fb 100644 --- a/check.go +++ b/check.go @@ -170,8 +170,10 @@ func checkIsExistWithVCS(path string) bool { return false } - if len(dirs) != 1 { + if len(dirs) > 1 { return true + } else if len(dirs) == 0 { + return false } switch dirs[0].Name() { diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index 9ce5e10d7..65b93293f 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -59,7 +59,7 @@ Because we don't have all kinds of operating systems, we need your help to compl **Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token(up to 5000 request per hour), and set it in `gpm.toml`. -**Attention** If your computer has been installed others software that called `gpm` also, you can change executable name to something else, for example `gpmgo`, and use `gpmgo` in all commands. +**Attention** If your computer has been installed other software that called `gpm` also, you may want to change executable name to something else, for example `gpmgo`, and use `gpmgo` in all commands. ## Install package, or packages diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index b3cdf7086..2be730d76 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -15,7 +15,6 @@ CheckImports=Fail to check dependencies[ %s ] MovedFile=SUCCESS: Moved file from $GOPATH(%s) to current directory(%s). PureDownload=You enabled pure download. -PureCode=You enabled pure code. DownloadOnly=You enabled download without installing. DownloadExDeps=You enabled download dependencies in example. DownloadFromSrcs=You enabled download from sources. diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index fbf8c226e..c140ae79a 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -9,8 +9,6 @@ The install flags are: -p pure download packages without version control. - -c - download source code only. -d download without installing packages. -u diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index d3ae329f4..28a4d332a 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -15,7 +15,6 @@ CheckImports=一百遍检查失败 [ %s ] MovedFile=SUCCESS: 成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). PureDownload=已激活纯净下载模式. -PureCode=已激活纯代码下载模式. DownloadOnly=已激活无安装模式. DownloadExDeps=已激活下载示例代码依赖. DownloadFromSrcs=已激活从用户源下载. diff --git a/i18n/zh-CN/usage_install.txt b/i18n/zh-CN/usage_install.txt index a84a49f24..a0601df4e 100644 --- a/i18n/zh-CN/usage_install.txt +++ b/i18n/zh-CN/usage_install.txt @@ -7,8 +7,6 @@ Install 命令下载并安装 Go 包及其依赖包. -p 无版本控制的纯净下载. - -c - 只下载代码文件. -d 下载但不安装包. -u diff --git a/install.go b/install.go index 0a2a10259..894d8a232 100644 --- a/install.go +++ b/install.go @@ -33,7 +33,6 @@ func init() { cmdInstall.Run = runInstall cmdInstall.Flags = map[string]bool{ "-p": false, - "-c": false, "-d": false, "-u": false, // Flag for 'go get'. "-e": false, @@ -47,8 +46,6 @@ func printInstallPrompt(flag string) { switch flag { case "-p": fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PureDownload"])) - case "-c": - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PureCode"])) case "-d": fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadOnly"])) case "-e": From 1b362cc4207c81840dc6bb3a6f058de50a271e93 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 22:19:50 -0400 Subject: [PATCH 095/287] change name to gopm --- README.md | 18 +++++++++--------- README_ZH.md | 6 +++--- conf/{gpm.toml => gopm.toml} | 0 docs/Quick_Start.md | 28 ++++++++++++++-------------- gpm.go => gopm.go | 0 gpm_test.go => gopm_test.go | 9 ++++----- i18n/en-US/prompt.txt | 2 +- i18n/en-US/usage_install.txt | 4 ++-- i18n/zh-CN/prompt.txt | 2 +- i18n/zh-CN/usage_install.txt | 4 ++-- install.go | 12 ++++++------ 11 files changed, 42 insertions(+), 43 deletions(-) rename conf/{gpm.toml => gopm.toml} (100%) rename gpm.go => gopm.go (100%) rename gpm_test.go => gopm_test.go (84%) diff --git a/README.md b/README.md index e1d6ec1e2..4adc40e36 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -gpm - Go Package Manager +gopm - Go Package Manager === ![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) -gpm(Go Package Manager) is a Go package manage tool for search, install, update, share and backup packages in Go. +gopm(Go Package Manager) is a Go package manage tool for search, install, update, share and backup packages in Go. -[![Build Status](https://travis-ci.org/GPMGo/gpm.png)](https://travis-ci.org/GPMGo/gpm) [![Build Status](https://drone.io/github.com/GPMGo/gpm/status.png)](https://drone.io/github.com/GPMGo/gpm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gpm/badge.png)](https://coveralls.io/r/GPMGo/gpm) +[![Build Status](https://travis-ci.org/GPMGo/gopm.png)](https://travis-ci.org/GPMGo/gopm) [![Build Status](https://drone.io/github.com/GPMGo/gopm/status.png)](https://drone.io/github.com/GPMGo/gopm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gopm/badge.png)](https://coveralls.io/r/GPMGo/gopm) (Travis CI hasn't support Go 1.1 yet) @@ -28,7 +28,7 @@ This application still in experiment, any change could happen, but it doesn't af ## Known issues -- When you use commands like `gpm install -p bitbucket.org/zombiezen/gopdf` where is project root path but the directory doesn't contain any source files, you will get error in the installation step, you have to use `gpm install -p bitbucket.org/zombiezen/gopdf/pdf` in order to go through all steps correctly. +- When you use commands like `gopm install bitbucket.org/zombiezen/gopdf` where is project root path but the directory doesn't contain any source files, you will get error in the installation step, you have to use `gopm install bitbucket.org/zombiezen/gopdf/pdf` in order to go through all steps correctly. - Cannot remove `.git` with error `access is denied`. ## Todo @@ -37,17 +37,18 @@ This application still in experiment, any change could happen, but it doesn't af - Command `install` and `remove` give number to let user choose operate one package. - Command `search` add flags `-n` and `-o` for number of list items and offset. +- Command `check` add feature to update or generate gopack.json. +- Command `install` generates dependencies configuration file. +- Command `install` save tarball add support for packages in code.google.com, bitbucket.org, launchpad.net, git.oschina.net, gitcafe.com, *.codeplex.com. +- Command `build` use dependencies configuration file to build with specific versions of dependencies, if VCS tools are available, simply use `checkout`. +- Command `clean` is for cleaning empty directories and backup. - Add gpm working principle design. - Complete documentation. ### Future -- Command `check` add feature to update or generate gopack.json. -- Command `install` generates dependencies configuration file. -- Command `build` use dependencies configuration file to build with specific versions of dependencies, if VCS tools are available, simply use `checkout`. - Command `remove` add flag `-d` for removing dependencies at the same time. - Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. -- Command `install` save tarball add support for packages in code.google.com, bitbucket.org, launchpad.net, git.oschina.net, gitcafe.com, *.codeplex.com. - Command `update` is for checking updates. - Command `sync` is for sync packages in two computers, support client and server mode through ssh. - Command `init` is for auto-configuring Go develop environment. @@ -55,7 +56,6 @@ This application still in experiment, any change could happen, but it doesn't af - Command `rollback` is for rolling back to certain operation. - Add feature "struct generator". - Command `install` add flag `-all` for re-installing everything in GOPATH, usually use this after upgraded Go version. -- Command `clean` is for cleaning empty directories and backup. - Command `daemon` is for auto-compile web applications when debug it locally. - Collect download and installation results and report to users in the end. - Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. diff --git a/README_ZH.md b/README_ZH.md index d6e97ede1..09b111013 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -1,9 +1,9 @@ -gpm - Go 包管理工具 +gopm - Go 包管理工具 === ![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) -gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以及备份功能 Go 包的管理工具。 +gopm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以及备份功能 Go 包的管理工具。 [![Build Status](https://travis-ci.org/GPMGo/gpm.png)](https://travis-ci.org/GPMGo/gpm) [![Build Status](https://drone.io/github.com/GPMGo/gpm/status.png)](https://drone.io/github.com/GPMGo/gpm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gpm/badge.png)](https://coveralls.io/r/GPMGo/gpm) @@ -28,7 +28,7 @@ gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以 ## 已知问题 -- 当您使用命令例如 `gpm install -p bitbucket.org/zombiezen/gopdf` 时,你会在安装步骤时得到错误,虽然这是项目的根目录,但是并没有包含任何 Go 源代码,因此您必须使用 `gpm install -p bitbucket.org/zombiezen/gopdf/pdf` 才能正确完成安装。 +- 当您使用命令例如 `gopm install bitbucket.org/zombiezen/gopdf` 时,你会在安装步骤时得到错误,虽然这是项目的根目录,但是并没有包含任何 Go 源代码,因此您必须使用 `gopm install bitbucket.org/zombiezen/gopdf/pdf` 才能正确完成安装。 - 删除目录 `.git` 会因为权限不足而失败。 ## 授权许可 diff --git a/conf/gpm.toml b/conf/gopm.toml similarity index 100% rename from conf/gpm.toml rename to conf/gopm.toml diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index 65b93293f..84a04d7ad 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -38,9 +38,11 @@ You can install gpm either from source or download binary. ### Install from source -- gpm is a `go get` able project: execute command `go get github.com/GPMGo/gpm` to download and install. -- Run test: switch work directory to gpm project, and execute command `go test` to build and test commands automatically(for now, tested commands are `gpm install`, `gpm remove`). -- Add gpm project path to your environment variable `PATH` in order to execute it in other directories. +- gopm is a `go get` able project: execute command `go get github.com/GPMGo/gopm` to download and install. +- Run test: switch work directory to gopm project, and execute command `go test` to build and test commands automatically(for now, tested commands are `gopm install`, `gopm remove`). +- Add gopm project path to your environment variable `PATH` in order to execute it in other directories. + +**Attention** You can actually put binary in any path that has already existed in $PATH, so you don't need to add a new path to $PATH again. ### Download binary @@ -57,9 +59,7 @@ Because we don't have all kinds of operating systems, we need your help to compl - windows_386: - windows_amd64: -**Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gpm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token(up to 5000 request per hour), and set it in `gpm.toml`. - -**Attention** If your computer has been installed other software that called `gpm` also, you may want to change executable name to something else, for example `gpmgo`, and use `gpmgo` in all commands. +**Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gopm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token(up to 5000 request per hour), and set it in `gopm.toml`. ## Install package, or packages @@ -69,11 +69,11 @@ Suppose you want to install package `github.com/GPMGoTest/install_test`, here tw ### Install like `go get` -- Execute command `gpm install -p github.com/GPMGoTest/install_test`, flag `-p` means **pure download** (download packages without version control), so you do not need to install version control tool. In case you want to, `gpm install github.com/GPMGoTest/install_test` calls `go get` in underlying. +- Execute command `gpm install github.com/GPMGoTest/install_test`, and you do not need to install version control tool. In case you want to, `gpm install -v github.com/GPMGoTest/install_test` calls `go get` in underlying. ### Install through bundle -- It's still not cool enough to download and install packages with import path, let's try execute command `gpm install -p test.b`, see what happens? +- It's still not cool enough to download and install packages with import path, let's try execute command `gopm install test.b`, see what happens? - Where is the `test.b` comes from? We actually created a bundle for you in directory `repo/bundles/`, and all bundles should be put there. - This is how bundle works, you can open it and see what's inside, it includes import path, type, value and dependencies. - The `test.b` means the bundle whose name is `test`, if you want to use bundle, you have to add suffix `.b`. You may notice that our file name is `install_test.json`, why is `test`? Because we use `bundle_name` inside file, file name doesn't mean anything unless you leave `bundle_name` blank, then the file name becomes bundle name automatically, but be sure that all bundle file name should use JSON and suffix `.json`. @@ -91,8 +91,8 @@ Command `build` compiles and installs packages along with all dependencies. Let's switch work directory to package `github.com/GPMGoTest/install_test`. -- Execute command `gpm build -r`. -- After built, you should see string `Welcome to use gpm(Go Package Manager)!` was printed on the screen. +- Execute command `gopm build -r`. +- After built, you should see string `Welcome to use gopm(Go Package Manager)!` was printed on the screen. - Then, gpm calls `go install` in underlying, so you should have binary `$GOPATH/bin/install_test`, then gpm moves it to current directory. - Flag `-r` means run after built, so you saw the string was printed. @@ -106,9 +106,9 @@ Command `remove` removes packages from your local file system. Suppose you want to remove package `github.com/GPMGoTest/install_test2/subpkg`. -- Execute command `gpm remove github.com/GPMGoTest/install_test2/subpkg`, gpm finds this project in all paths in your GOPATH environment. +- Execute command `gopm remove github.com/GPMGoTest/install_test2/subpkg`, gopm finds this project in all paths in your GOPATH environment. - You may notice this is not project path, it's OK because gpm knows it, and deletes directory `$GOPATH/src/github.com/GPMGoTest/install_test2/`, this command delete files in `$GOPATH/bin` and `$GOPATH/pkg` as well. -- You can also use `gpm remove test.b` to remove all packages are included in bundle, but we don't need here because we have one more cool stuff to try. +- You can also use `gopm remove test.b` to remove all packages are included in bundle, but we don't need here because we have one more cool stuff to try. ## Use check to check dependencies @@ -117,14 +117,14 @@ Command `check` checks package dependencies and installs missing ones. Suppose you want to check package `github.com/GPMGoTest/install_test`. - Switch work directory to package path. -- Execute command `gpm check`. +- Execute command `gopm check`. - That's it! ## Search and find more Command `search` is for searching packages in [Go Walker](http://gowalker.org) database. -- Execute command `gpm search mysql`. +- Execute command `gopm search mysql`. - Try it by yourself. ## Go further diff --git a/gpm.go b/gopm.go similarity index 100% rename from gpm.go rename to gopm.go diff --git a/gpm_test.go b/gopm_test.go similarity index 84% rename from gpm_test.go rename to gopm_test.go index 7aee47dc8..6c9dff282 100644 --- a/gpm_test.go +++ b/gopm_test.go @@ -11,9 +11,9 @@ import ( ) func TestGPM(t *testing.T) { - fmt.Println("gpm v0.2.0 Build 0524") + fmt.Println("gopm v0.2.2 Build 0524") - fmt.Println("\nBuilding gpm application...") + fmt.Println("\nBuilding gopm application...") // Build application. var args []string args = append(args, "build") @@ -24,9 +24,8 @@ func TestGPM(t *testing.T) { time.Sleep(2 * time.Second) args = make([]string, 0) args = append(args, "install") - args = append(args, "-p") args = append(args, "github.com/GPMGoTest/install_test") - executeCommand("gpm", args) + executeCommand("gopm", args) fmt.Println("\nStart testing command Remove...") fmt.Println("Let's remove `install_test` and `install_test2`.") @@ -35,5 +34,5 @@ func TestGPM(t *testing.T) { args = append(args, "remove") args = append(args, "github.com/GPMGoTest/install_test") args = append(args, "github.com/GPMGoTest/install_test2") - executeCommand("gpm", args) + executeCommand("gopm", args) } diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index 2be730d76..63f065c50 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -14,7 +14,7 @@ PackageNotFound=Cannot find package: %s. CheckImports=Fail to check dependencies[ %s ] MovedFile=SUCCESS: Moved file from $GOPATH(%s) to current directory(%s). -PureDownload=You enabled pure download. +PureDownload=You enabled download with version control. DownloadOnly=You enabled download without installing. DownloadExDeps=You enabled download dependencies in example. DownloadFromSrcs=You enabled download from sources. diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index c140ae79a..368f6a9cc 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -7,8 +7,8 @@ such as git, hg, etc. The install flags are: - -p - pure download packages without version control. + -v + download packages with version control. -d download without installing packages. -u diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index 28a4d332a..546ed4bad 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -14,7 +14,7 @@ PackageNotFound=无法找到包: %s. CheckImports=一百遍检查失败 [ %s ] MovedFile=SUCCESS: 成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). -PureDownload=已激活纯净下载模式. +PureDownload=已激活版本控制下载模式. DownloadOnly=已激活无安装模式. DownloadExDeps=已激活下载示例代码依赖. DownloadFromSrcs=已激活从用户源下载. diff --git a/i18n/zh-CN/usage_install.txt b/i18n/zh-CN/usage_install.txt index a0601df4e..ec1ad9374 100644 --- a/i18n/zh-CN/usage_install.txt +++ b/i18n/zh-CN/usage_install.txt @@ -5,8 +5,8 @@ Install 命令下载并安装 Go 包及其依赖包. 下列参数可用于 install 命令: - -p - 无版本控制的纯净下载. + -v + 使用版本控制工具下载. -d 下载但不安装包. -u diff --git a/install.go b/install.go index 894d8a232..afa9c0228 100644 --- a/install.go +++ b/install.go @@ -32,7 +32,7 @@ func init() { downloadCache = make(map[string]bool) cmdInstall.Run = runInstall cmdInstall.Flags = map[string]bool{ - "-p": false, + "-v": false, "-d": false, "-u": false, // Flag for 'go get'. "-e": false, @@ -44,7 +44,7 @@ func init() { // let them know what's going on. func printInstallPrompt(flag string) { switch flag { - case "-p": + case "-v": fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PureDownload"])) case "-d": fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadOnly"])) @@ -131,7 +131,7 @@ func runInstall(cmd *Command, args []string) { // Download packages. downloadPackages(nodes) - if !cmdInstall.Flags["-d"] && cmdInstall.Flags["-p"] { + if !cmdInstall.Flags["-d"] && !cmdInstall.Flags["-v"] { // Remove old files. uninstallList := make([]string, 0, len(downloadCache)) for k := range downloadCache { @@ -273,7 +273,7 @@ func saveNode(n *doc.Node) { func downloadPackage(node *doc.Node) (*doc.Node, []string) { // Check if use version control tools. switch { - case !cmdInstall.Flags["-p"] && + case cmdInstall.Flags["-v"] && ((node.ImportPath[0] == 'g' && isHasGit) || (node.ImportPath[0] == 'c' && isHasHg)): // github.com, code.google.com fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallByGoGet"]), node.ImportPath) args := checkGoGetFlags() @@ -281,8 +281,8 @@ func downloadPackage(node *doc.Node) (*doc.Node, []string) { executeCommand("go", args) return nil, nil default: // Pure download. - if !cmdInstall.Flags["-p"] { - cmdInstall.Flags["-p"] = true + if cmdInstall.Flags["-v"] { + cmdInstall.Flags["-v"] = false fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoVCSTool"])) } From cf85bb556811934243ae0d318fb91531941d37e2 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 22:21:20 -0400 Subject: [PATCH 096/287] change name to gopm --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4adc40e36..6c1d65e74 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ gopm - Go Package Manager gopm(Go Package Manager) is a Go package manage tool for search, install, update, share and backup packages in Go. -[![Build Status](https://travis-ci.org/GPMGo/gopm.png)](https://travis-ci.org/GPMGo/gopm) [![Build Status](https://drone.io/github.com/GPMGo/gopm/status.png)](https://drone.io/github.com/GPMGo/gopm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gopm/badge.png)](https://coveralls.io/r/GPMGo/gopm) +[![Build Status](https://travis-ci.org/GPMGo/gpm.png)](https://travis-ci.org/GPMGo/gpm) [![Build Status](https://drone.io/github.com/GPMGo/gpm/status.png)](https://drone.io/github.com/GPMGo/gpm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gpm/badge.png)](https://coveralls.io/r/GPMGo/gpm) (Travis CI hasn't support Go 1.1 yet) From 71b124471eab98820fc832d432281b3b3625c2a3 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 24 May 2013 22:26:51 -0400 Subject: [PATCH 097/287] change name to gopm --- build.go | 2 +- check.go | 4 ++-- doc/bitbucket.go | 2 +- doc/github.go | 2 +- doc/google.go | 2 +- doc/launchpad.go | 2 +- doc/walker.go | 2 +- docs/Quick_Start.md | 2 +- gopm.go | 16 ++++++++-------- i18n/en-US/usage.tpl | 8 ++++---- i18n/en-US/usage_build.txt | 2 +- i18n/en-US/usage_install.txt | 6 +++--- i18n/en-US/usage_remove.txt | 6 +++--- i18n/zh-CN/usage.tpl | 8 ++++---- i18n/zh-CN/usage_build.txt | 2 +- i18n/zh-CN/usage_install.txt | 6 +++--- i18n/zh-CN/usage_remove.txt | 6 +++--- install.go | 4 ++-- remove.go | 4 ++-- search.go | 2 +- 20 files changed, 44 insertions(+), 44 deletions(-) diff --git a/build.go b/build.go index ca2c4410e..249061617 100644 --- a/build.go +++ b/build.go @@ -8,7 +8,7 @@ import ( "fmt" "os" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/utils" ) var cmdBuild = &Command{ diff --git a/check.go b/check.go index 74ceec2fb..a5d227bc0 100644 --- a/check.go +++ b/check.go @@ -9,8 +9,8 @@ import ( "os" "strings" - "github.com/GPMGo/gpm/doc" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/doc" + "github.com/GPMGo/gopm/utils" ) var cmdCheck = &Command{ diff --git a/doc/bitbucket.go b/doc/bitbucket.go index b66b5a918..25b7f82c6 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -16,7 +16,7 @@ import ( "regexp" "strings" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/utils" ) var ( diff --git a/doc/github.go b/doc/github.go index 79657d35a..481aa1b85 100644 --- a/doc/github.go +++ b/doc/github.go @@ -15,7 +15,7 @@ import ( "regexp" "strings" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/utils" ) var ( diff --git a/doc/google.go b/doc/google.go index a0a19df07..557e73387 100644 --- a/doc/google.go +++ b/doc/google.go @@ -12,7 +12,7 @@ import ( "regexp" "strings" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/utils" ) var ( diff --git a/doc/launchpad.go b/doc/launchpad.go index 04e36d5da..96ab019e4 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -15,7 +15,7 @@ import ( "regexp" "strings" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/utils" ) var LaunchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) diff --git a/doc/walker.go b/doc/walker.go index e225bba81..6c305dde8 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -20,7 +20,7 @@ import ( "runtime" "strings" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/utils" ) type sliceWriter struct{ p *[]byte } diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md index 84a04d7ad..17764d9ec 100644 --- a/docs/Quick_Start.md +++ b/docs/Quick_Start.md @@ -42,7 +42,7 @@ You can install gpm either from source or download binary. - Run test: switch work directory to gopm project, and execute command `go test` to build and test commands automatically(for now, tested commands are `gopm install`, `gopm remove`). - Add gopm project path to your environment variable `PATH` in order to execute it in other directories. -**Attention** You can actually put binary in any path that has already existed in $PATH, so you don't need to add a new path to $PATH again. +**Attention** If you install from source, you can actually put binary in any path that has already existed in $PATH, so you don't need to add a new path to $PATH again. ### Download binary diff --git a/gopm.go b/gopm.go index 9bbdbd3ab..13ee6e052 100644 --- a/gopm.go +++ b/gopm.go @@ -22,8 +22,8 @@ import ( "unicode/utf8" "github.com/BurntSushi/toml" - "github.com/GPMGo/gpm/doc" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/doc" + "github.com/GPMGo/gopm/utils" ) var ( @@ -117,8 +117,8 @@ func getAppPath() bool { if !utils.IsExist(appPath + "conf/") { paths := utils.GetGOPATH() for _, p := range paths { - if utils.IsExist(p + "/src/github.com/GPMGo/gpm/") { - appPath = p + "/src/github.com/GPMGo/gpm/" + if utils.IsExist(p + "/src/github.com/GPMGo/gopm/") { + appPath = p + "/src/github.com/GPMGo/gopm/" break } } @@ -288,7 +288,7 @@ func initialize() bool { } // Load configuration. - if _, err := toml.DecodeFile(appPath+"conf/gpm.toml", &config); err != nil { + if _, err := toml.DecodeFile(appPath+"conf/gopm.toml", &config); err != nil { fmt.Printf("initialize -> Fail to load configuration[ %s ]\n", err) return false } @@ -361,7 +361,7 @@ func setExitStatus(n int) { } var usageTemplate string -var helpTemplate = `{{if .Runnable}}usage: gpm {{.UsageLine}} +var helpTemplate = `{{if .Runnable}}usage: gopm {{.UsageLine}} {{end}}{{.Long | trim}} ` @@ -401,7 +401,7 @@ func help(args []string) { return } if len(args) != 1 { - fmt.Fprintf(os.Stderr, "usage: gpm help command\n\nToo many arguments given.\n") + fmt.Fprintf(os.Stderr, "usage: gopm help command\n\nToo many arguments given.\n") os.Exit(2) // failed at 'gpm help' } @@ -415,7 +415,7 @@ func help(args []string) { } } - fmt.Fprintf(os.Stderr, "Unknown help topic %#q. Run 'gpm help'.\n", arg) + fmt.Fprintf(os.Stderr, "Unknown help topic %#q. Run 'gopm help'.\n", arg) os.Exit(2) // failed at 'go help cmd' } diff --git a/i18n/en-US/usage.tpl b/i18n/en-US/usage.tpl index ab38d90b7..e34116a55 100644 --- a/i18n/en-US/usage.tpl +++ b/i18n/en-US/usage.tpl @@ -1,18 +1,18 @@ -gpm(Go Package Manager) is a Go package manage tool for search, install, update, share packages. +gopm(Go Package Manager) is a Go package manage tool for search, install, update, share packages. Usage: - gpm command [arguments] + gopm command [arguments] The commands are: {{range .}}{{if .Runnable}} {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} -Use "gpm help [command]" for more information about a command. +Use "gopm help [command]" for more information about a command. Additional help topics: {{range .}}{{if not .Runnable}} {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} -Use "gpm help [topic]" for more information about that topic. +Use "gopm help [topic]" for more information about that topic. diff --git a/i18n/en-US/usage_build.txt b/i18n/en-US/usage_build.txt index a62b0ffc3..8d4b27526 100644 --- a/i18n/en-US/usage_build.txt +++ b/i18n/en-US/usage_build.txt @@ -16,4 +16,4 @@ The list flags accept a space-separated list of strings. For more about specifying packages, see 'go help packages'. -See also: gpm install. +See also: gopm install. diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index 368f6a9cc..fe68a7df3 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -21,7 +21,7 @@ The install flags are: The list flags accept a space-separated list of strings. For more about specifying packages, see 'go help packages'. -For more about bundle, see 'gpm help bundle'. -For more about snapshot, see 'gpm help snapshot'. +For more about bundle, see 'gopm help bundle'. +For more about snapshot, see 'gopm help snapshot'. -See also: gpm remove. +See also: gopm remove. diff --git a/i18n/en-US/usage_remove.txt b/i18n/en-US/usage_remove.txt index 9ecacd506..0ac596717 100644 --- a/i18n/en-US/usage_remove.txt +++ b/i18n/en-US/usage_remove.txt @@ -8,7 +8,7 @@ The remove flags are: The list flags accept a space-separated list of strings. For more about specifying packages, see 'go help packages'. -For more about bundle, see 'gpm help bundle'. -For more about snapshot, see 'gpm help snapshot'. +For more about bundle, see 'gopm help bundle'. +For more about snapshot, see 'gopm help snapshot'. -See also: gpm install. +See also: gopm install. diff --git a/i18n/zh-CN/usage.tpl b/i18n/zh-CN/usage.tpl index 0eaa59e12..e3a71cb94 100644 --- a/i18n/zh-CN/usage.tpl +++ b/i18n/zh-CN/usage.tpl @@ -1,18 +1,18 @@ -gpm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享功能 Go 包的管理工具。 +gopm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享功能 Go 包的管理工具。 用法: - gpm 命令 [参数] + gopm 命令 [参数] 命令列表: {{range .}}{{if .Runnable}} {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} -使用 "gpm help [命令]" 来获取相关命令的更多信息. +使用 "gopm help [命令]" 来获取相关命令的更多信息. 其它帮助主题: {{range .}}{{if not .Runnable}} {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} -使用 "gpm help [主题]" 来获取相关主题的更多信息. +使用 "gopm help [主题]" 来获取相关主题的更多信息. diff --git a/i18n/zh-CN/usage_build.txt b/i18n/zh-CN/usage_build.txt index 4a32d1071..475036805 100644 --- a/i18n/zh-CN/usage_build.txt +++ b/i18n/zh-CN/usage_build.txt @@ -15,5 +15,5 @@ Build 命令编译并安装 Go 包以及其依赖包. 获取更多有关包的信息,参见 'go help packages'. -相关主题: gpm install. +相关主题: gopm install. diff --git a/i18n/zh-CN/usage_install.txt b/i18n/zh-CN/usage_install.txt index ec1ad9374..f478d629b 100644 --- a/i18n/zh-CN/usage_install.txt +++ b/i18n/zh-CN/usage_install.txt @@ -19,7 +19,7 @@ Install 命令下载并安装 Go 包及其依赖包. 多个参数通过空格来间隔. 获取更多有关包的信息,参见 'go help packages'. -获取更多有关集合的信息,参见 'gpm help bundle'. -获取更多有关快照的信息,参见 'gpm help snapshot'. +获取更多有关集合的信息,参见 'gopm help bundle'. +获取更多有关快照的信息,参见 'gopm help snapshot'. -相关主题: gpm build. +相关主题: gopm build. diff --git a/i18n/zh-CN/usage_remove.txt b/i18n/zh-CN/usage_remove.txt index 08331b12d..9f9d530c1 100644 --- a/i18n/zh-CN/usage_remove.txt +++ b/i18n/zh-CN/usage_remove.txt @@ -8,7 +8,7 @@ Remove 命令删除 Go 包及其依赖包. 获取更多有关包的信息,参见 'go help packages'. -获取更多有关集合的信息,参见 'gpm help bundle'. -获取更多有关快照的信息,参见 'gpm help snapshot'. +获取更多有关集合的信息,参见 'gopm help bundle'. +获取更多有关快照的信息,参见 'gopm help snapshot'. -相关主题: gpm install. \ No newline at end of file +相关主题: gopm install. \ No newline at end of file diff --git a/install.go b/install.go index afa9c0228..891f33bc5 100644 --- a/install.go +++ b/install.go @@ -14,8 +14,8 @@ import ( "regexp" "strings" - "github.com/GPMGo/gpm/doc" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/doc" + "github.com/GPMGo/gopm/utils" ) var ( diff --git a/remove.go b/remove.go index 9ae764196..fc5898ad2 100644 --- a/remove.go +++ b/remove.go @@ -11,8 +11,8 @@ import ( "runtime" "strings" - "github.com/GPMGo/gpm/doc" - "github.com/GPMGo/gpm/utils" + "github.com/GPMGo/gopm/doc" + "github.com/GPMGo/gopm/utils" ) var ( diff --git a/search.go b/search.go index 2199b0ace..2e7b099ec 100644 --- a/search.go +++ b/search.go @@ -8,7 +8,7 @@ import ( "fmt" "strings" - "github.com/GPMGo/gpm/doc" + "github.com/GPMGo/gopm/doc" ) var cmdSearch = &Command{ From 2b04ba2772097bcc011fff8d5e0af7c8e79dcc9d Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 May 2013 12:36:54 -0400 Subject: [PATCH 098/287] clean code --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6c1d65e74..c2c0b3cdf 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ gopm - Go Package Manager gopm(Go Package Manager) is a Go package manage tool for search, install, update, share and backup packages in Go. -[![Build Status](https://travis-ci.org/GPMGo/gpm.png)](https://travis-ci.org/GPMGo/gpm) [![Build Status](https://drone.io/github.com/GPMGo/gpm/status.png)](https://drone.io/github.com/GPMGo/gpm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gpm/badge.png)](https://coveralls.io/r/GPMGo/gpm) +[![Build Status](https://travis-ci.org/GPMGo/gopm.png?branch=master)](https://travis-ci.org/GPMGo/gopm) [![Build Status](https://drone.io/github.com/GPMGo/gpm/status.png)](https://drone.io/github.com/GPMGo/gpm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gpm/badge.png)](https://coveralls.io/r/GPMGo/gpm) (Travis CI hasn't support Go 1.1 yet) @@ -35,6 +35,7 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.3.* +- Command `search` result add keyword highlight. - Command `install` and `remove` give number to let user choose operate one package. - Command `search` add flags `-n` and `-o` for number of list items and offset. - Command `check` add feature to update or generate gopack.json. @@ -47,6 +48,8 @@ This application still in experiment, any change could happen, but it doesn't af ### Future +- Command `search` show installed prompt. +- Command `home` and `doc`. - Command `remove` add flag `-d` for removing dependencies at the same time. - Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. - Command `update` is for checking updates. From 3d5805b1b599b2609a18ef3befe0fbd976be02bf Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 May 2013 13:58:48 -0400 Subject: [PATCH 099/287] add search result color highlight --- README.md | 2 +- conf/gopm.toml | 2 +- doc/http.go | 2 +- gopm.go | 24 +++--- search.go | 18 ++++- utils/utils.go | 209 ++++++++++++++++++++++++++++--------------------- 6 files changed, 149 insertions(+), 108 deletions(-) diff --git a/README.md b/README.md index c2c0b3cdf..4feef5d2d 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.3.* -- Command `search` result add keyword highlight. +- Command `search` add flag `-a` to show results of sub-packages, not just search by project name. - Command `install` and `remove` give number to let user choose operate one package. - Command `search` add flags `-n` and `-o` for number of list items and offset. - Command `check` add feature to update or generate gopack.json. diff --git a/conf/gopm.toml b/conf/gopm.toml index f6d1d8122..5eb1bbde8 100644 --- a/conf/gopm.toml +++ b/conf/gopm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.2.2 Build 0524" +version = "v0.2.3 Build 0525" user_language = "en-US" #user_language = "zh-CN" auto_backup = true diff --git a/doc/http.go b/doc/http.go index f0506ac12..34e6b3e3f 100644 --- a/doc/http.go +++ b/doc/http.go @@ -18,7 +18,7 @@ import ( var userAgent = "go application" var ( - dialTimeout = flag.Duration("dial_timeout", 30*time.Second, "Timeout for dialing an HTTP connection.") + dialTimeout = flag.Duration("dial_timeout", 10*time.Second, "Timeout for dialing an HTTP connection.") readTimeout = flag.Duration("read_timeout", 10*time.Second, "Timeoout for reading an HTTP response.") writeTimeout = flag.Duration("write_timeout", 5*time.Second, "Timeout writing an HTTP request.") ) diff --git a/gopm.go b/gopm.go index 13ee6e052..75cf5faa4 100644 --- a/gopm.go +++ b/gopm.go @@ -125,7 +125,7 @@ func getAppPath() bool { } if len(appPath) == 0 { - fmt.Printf("ERROR: getAppPath -> Unable to indicate current execute path.\n") + utils.ColorPrint("[ERROR] getAppPath ->[ Unable to indicate current execute path. ]\n") return false } @@ -146,7 +146,7 @@ func loadPromptMsg(lang string) bool { // Load prompt messages. f, err := os.Open(appPath + "i18n/" + lang + "/prompt.txt") if err != nil { - fmt.Printf("ERROR: loadUsage -> Fail to load prompt messages[ %s ]\n", err) + utils.ColorPrint(fmt.Sprintf("[ERROR] loadUsage -> Fail to load prompt messages[ %s ]\n", err)) return false } defer f.Close() @@ -174,7 +174,7 @@ func loadUsage(lang string) bool { // Load main usage. f, err := os.Open(appPath + "i18n/" + lang + "/usage.tpl") if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: loadUsage -> %s\n", promptMsg["LoadCommandUsage"]), "main", err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadUsage -> %s\n", promptMsg["LoadCommandUsage"]), "main", err)) return false } defer f.Close() @@ -189,7 +189,7 @@ func loadUsage(lang string) bool { for _, cmd := range commands { f, err := os.Open(appPath + "i18n/" + lang + "/usage_" + cmd.Name() + ".txt") if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: loadUsage -> %s\n", promptMsg["LoadCommandUsage"]), cmd.Name(), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadUsage -> %s\n", promptMsg["LoadCommandUsage"]), cmd.Name(), err)) return false } defer f.Close() @@ -200,8 +200,8 @@ func loadUsage(lang string) bool { f.Read(usageBytes) usages := strings.Split(string(usageBytes), "|||") if len(usages) < 2 { - fmt.Printf( - fmt.Sprintf("ERROR: loadUsage -> %s\n", promptMsg["ReadCoammndUsage"]), cmd.Name()) + utils.ColorPrint(fmt.Sprintf( + fmt.Sprintf("[ERROR] loadUsage -> %s\n", promptMsg["ReadCoammndUsage"]), cmd.Name())) return false } cmd.Short = usages[0] @@ -218,14 +218,14 @@ func loadLocalNodes() bool { } else { fr, err := os.Open(appPath + "data/nodes.json") if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: loadLocalNodes -> %s\n", promptMsg["LoadLocalData"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalNodes -> %s\n", promptMsg["LoadLocalData"]), err)) return false } defer fr.Close() err = json.NewDecoder(fr).Decode(&localNodes) if err != nil && err != io.EOF { - fmt.Printf(fmt.Sprintf("ERROR: loadLocalNodes -> %s\n", promptMsg["ParseJSON"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalNodes -> %s\n", promptMsg["ParseJSON"]), err)) return false } } @@ -237,14 +237,14 @@ func loadLocalBundles() bool { // Find all bundles. dir, err := os.Open(appPath + "repo/bundles/") if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err)) return false } defer dir.Close() fis, err := dir.Readdir(0) if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err)) return false } @@ -253,7 +253,7 @@ func loadLocalBundles() bool { if !fi.IsDir() && strings.HasSuffix(fi.Name(), ".json") { fr, err := os.Open(appPath + "repo/bundles/" + fi.Name()) if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err)) return false } @@ -261,7 +261,7 @@ func loadLocalBundles() bool { err = json.NewDecoder(fr).Decode(bundle) fr.Close() if err != nil && err != io.EOF { - fmt.Printf(fmt.Sprintf("ERROR: loadLocalBundles -> %s\n", promptMsg["ParseJSON"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", promptMsg["ParseJSON"]), err)) return false } diff --git a/search.go b/search.go index 2e7b099ec..5001a9152 100644 --- a/search.go +++ b/search.go @@ -6,9 +6,11 @@ package main import ( "fmt" + "runtime" "strings" "github.com/GPMGo/gopm/doc" + "github.com/GPMGo/gopm/utils" ) var cmdSearch = &Command{ @@ -42,8 +44,20 @@ func runSearch(cmd *Command, args []string) { } // Search from server, and list results. - results, _ := doc.HttpGetBytes(doc.HttpClient, "http://gowalker.org/search?raw=true&q="+args[0], nil) - pkgs := strings.Split(string(results), "|||") + results, err := doc.HttpGetBytes(doc.HttpClient, "http://gowalker.org/search?raw=true&q="+args[0], nil) + if err != nil { + utils.ColorPrint(fmt.Sprintf("[ERROR] runSearch -> [ %s ]\n", err)) + return + } + + resultStr := string(results) + + if runtime.GOOS != "windows" { + // Set color highlight. + resultStr = strings.Replace(resultStr, args[0], fmt.Sprintf(utils.PureStartColor, utils.Yellow)+args[0]+utils.EndColor, -1) + } + + pkgs := strings.Split(resultStr, "|||") for _, p := range pkgs { i := strings.Index(p, "$") if i > -1 { diff --git a/utils/utils.go b/utils/utils.go index 9e859b4b1..910dac3ae 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -5,6 +5,7 @@ package utils import ( + "fmt" "os" "path" "regexp" @@ -12,12 +13,129 @@ import ( "strings" ) +const ( + PureStartColor = "\033[%dm" + StartColor = "(\033[%dm" + Gray = uint8(90) + Red = uint8(91) + Green = uint8(92) + Yellow = uint8(93) + Blue = uint8(94) + Magenta = uint8(95) + //NRed = uint8(31) // Normal + EndColor = "\033[0m" +) + +// ColorPrint prints colorful log print, doesn't work in windows. +// content in () with yellow, content in [] with read. +func ColorPrint(log string) { + // Make sure it's not windows. + if runtime.GOOS != "windows" { + log = strings.Replace(log, "[", fmt.Sprintf(StartColor, Red), -1) + log = strings.Replace(log, "]", EndColor+"]", -1) + log = strings.Replace(log, "(", fmt.Sprintf(StartColor, Green), -1) + log = strings.Replace(log, ")", EndColor+")", -1) + } + fmt.Print(log) +} + // IsExist returns if a file or directory exists func IsExist(path string) bool { _, err := os.Stat(path) return err == nil || os.IsExist(err) } +// GetGOPATH returns all paths in GOPATH variable. +func GetGOPATH() []string { + gopath := os.Getenv("GOPATH") + var paths []string + if runtime.GOOS == "windows" { + gopath = strings.Replace(gopath, "\\", "/", -1) + paths = strings.Split(gopath, ";") + } else { + paths = strings.Split(gopath, ":") + } + return paths +} + +// GetGOPATH returns best matched GOPATH. +func GetBestMatchGOPATH(appPath string) string { + paths := GetGOPATH() + for _, p := range paths { + if strings.HasPrefix(p, appPath) { + return strings.Replace(p, "\\", "/", -1) + } + } + return paths[0] +} + +// GetProjectPath returns project path of import path. +func GetProjectPath(importPath string) (projectPath string) { + projectPath = importPath + + // Check project hosting. + switch { + case strings.HasPrefix(importPath, "github.com"): + projectPath = joinPath(importPath, 3) + case strings.HasPrefix(importPath, "code.google.com"): + projectPath = joinPath(importPath, 3) + case strings.HasPrefix(importPath, "bitbucket.org"): + projectPath = joinPath(importPath, 3) + case strings.HasPrefix(importPath, "launchpad.net"): + projectPath = joinPath(importPath, 2) + } + + return projectPath +} + +func joinPath(importPath string, num int) string { + subdirs := strings.Split(importPath, "/") + if len(subdirs) > num { + return strings.Join(subdirs[:num], "/") + } + return importPath +} + +// GetExecuteName returns work directory and possible execute name according work directory. +func GetExecuteName(wd string) string { + wd = strings.Replace(wd, "\\", "/", -1) + execName := path.Base(wd) + if runtime.GOOS == "windows" { + execName += ".exe" + } + return execName +} + +var ( + readmePat = regexp.MustCompile(`^[Rr][Ee][Aa][Dd][Mm][Ee](?:$|\.)`) + licensePat = regexp.MustCompile(`^[Ll][Ii][Cc][En][Nn][Ss][Ee]`) +) + +func IsDocFile(n string) bool { + if (strings.HasSuffix(n, ".go") || strings.HasSuffix(n, ".h") || strings.HasSuffix(n, ".c")) && + n[0] != '_' && n[0] != '.' { + return true + } + + return readmePat.MatchString(n) || licensePat.MatchString(n) +} + +// GetDirsInfo returns os.FileInfo of all sub-directories in root path. +func GetDirsInfo(rootPath string) ([]os.FileInfo, error) { + rootDir, err := os.Open(rootPath) + if err != nil { + return nil, err + } + defer rootDir.Close() + + dirs, err := rootDir.Readdir(0) + if err != nil { + return nil, err + } + + return dirs, err +} + var validTLD = map[string]bool{ // curl http://data.iana.org/TLD/tlds-alpha-by-domain.txt | sed -e '/#/ d' -e 's/.*/"&": true,/' | tr [:upper:] [:lower:] ".ac": true, @@ -369,30 +487,6 @@ func IsValidRemotePath(importPath string) bool { return true } -// GetGOPATH returns all paths in GOPATH variable. -func GetGOPATH() []string { - gopath := os.Getenv("GOPATH") - var paths []string - if runtime.GOOS == "windows" { - gopath = strings.Replace(gopath, "\\", "/", -1) - paths = strings.Split(gopath, ";") - } else { - paths = strings.Split(gopath, ":") - } - return paths -} - -// GetGOPATH returns best matched GOPATH. -func GetBestMatchGOPATH(appPath string) string { - paths := GetGOPATH() - for _, p := range paths { - if strings.HasPrefix(p, appPath) { - return strings.Replace(p, "\\", "/", -1) - } - } - return paths[0] -} - var standardPath = map[string]bool{ "builtin": true, @@ -541,70 +635,3 @@ var standardPath = map[string]bool{ func IsGoRepoPath(importPath string) bool { return standardPath[importPath] } - -// GetProjectPath returns project path of import path. -func GetProjectPath(importPath string) (projectPath string) { - projectPath = importPath - - // Check project hosting. - switch { - case strings.HasPrefix(importPath, "github.com"): - projectPath = joinPath(importPath, 3) - case strings.HasPrefix(importPath, "code.google.com"): - projectPath = joinPath(importPath, 3) - case strings.HasPrefix(importPath, "bitbucket.org"): - projectPath = joinPath(importPath, 3) - case strings.HasPrefix(importPath, "launchpad.net"): - projectPath = joinPath(importPath, 2) - } - - return projectPath -} - -func joinPath(importPath string, num int) string { - subdirs := strings.Split(importPath, "/") - if len(subdirs) > num { - return strings.Join(subdirs[:num], "/") - } - return importPath -} - -// GetExecuteName returns work directory and possible execute name according work directory. -func GetExecuteName(wd string) string { - wd = strings.Replace(wd, "\\", "/", -1) - execName := path.Base(wd) - if runtime.GOOS == "windows" { - execName += ".exe" - } - return execName -} - -var ( - readmePat = regexp.MustCompile(`^[Rr][Ee][Aa][Dd][Mm][Ee](?:$|\.)`) - licensePat = regexp.MustCompile(`^[Ll][Ii][Cc][En][Nn][Ss][Ee]`) -) - -func IsDocFile(n string) bool { - if (strings.HasSuffix(n, ".go") || strings.HasSuffix(n, ".h") || strings.HasSuffix(n, ".c")) && - n[0] != '_' && n[0] != '.' { - return true - } - - return readmePat.MatchString(n) || licensePat.MatchString(n) -} - -// GetDirsInfo returns os.FileInfo of all sub-directories in root path. -func GetDirsInfo(rootPath string) ([]os.FileInfo, error) { - rootDir, err := os.Open(rootPath) - if err != nil { - return nil, err - } - defer rootDir.Close() - - dirs, err := rootDir.Readdir(0) - if err != nil { - return nil, err - } - - return dirs, err -} From 4868a429f5eff7f5314f3fccdec2126d0271a062 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 May 2013 14:16:49 -0400 Subject: [PATCH 100/287] colorful output --- build.go | 4 ++-- check.go | 6 +++--- gopm | Bin 0 -> 7494000 bytes i18n/en-US/prompt.txt | 2 +- i18n/zh-CN/prompt.txt | 2 +- install.go | 10 +++++----- remove.go | 6 +++--- utils/utils.go | 7 ++++--- 8 files changed, 19 insertions(+), 18 deletions(-) create mode 100755 gopm diff --git a/build.go b/build.go index 249061617..d40bde381 100644 --- a/build.go +++ b/build.go @@ -57,13 +57,13 @@ func runBuild(cmd *Command, args []string) { if utils.IsExist(wd + "/" + proName) { err := os.Remove(wd + "/" + proName) if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: %s\n", promptMsg["RemoveFile"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", promptMsg["RemoveFile"]), err)) return } } err := os.Rename(v+"/bin/"+proName, wd+"/"+proName) if err == nil { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["MovedFile"]), v, wd) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("$ %s\n", promptMsg["MovedFile"]), v, wd)) // Check if need to run program. if cmdBuild.Flags["-r"] { cmdArgs = make([]string, 0) diff --git a/check.go b/check.go index a5d227bc0..873e4542d 100644 --- a/check.go +++ b/check.go @@ -52,7 +52,7 @@ func runCheck(cmd *Command, args []string) { importPath := wd[len(gopath):] imports, err := checkImportsByRoot(wd+"/", importPath) if err != nil { - fmt.Printf(fmt.Sprintf("runCheck -> %s\n", promptMsg["CheckImports"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("runCheck -> %s\n", promptMsg["CheckImports"]), err)) return } @@ -98,7 +98,7 @@ func runCheck(cmd *Command, args []string) { } installGOPATH = utils.GetBestMatchGOPATH(appPath) - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadPath"]), installGOPATH) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", promptMsg["DownloadPath"]), installGOPATH)) // Generate temporary nodes. nodes := make([]*doc.Node, len(uninstallList)) for i := range nodes { @@ -166,7 +166,7 @@ func checkIsExistWithVCS(path string) bool { // Check if only has VCS folder. dirs, err := utils.GetDirsInfo(path) if err != nil { - fmt.Printf("checkIsExistWithVCS -> [ %s ]", err) + utils.ColorPrint(fmt.Sprintf("[ERROR] checkIsExistWithVCS -> [ %s ]", err)) return false } diff --git a/gopm b/gopm new file mode 100755 index 0000000000000000000000000000000000000000..115d5a13b21fe2c491ff3e6dd829e9c5374c40c5 GIT binary patch literal 7494000 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%0AR~JajL1 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

    @E5r~pz=g`%CF(5H%}N^qti9K=x2_=P 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ℜ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 >;xXT8&?XpYoIcJB})S5%0^_A3IrdoI!5`O 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

    w7mRD|)L2gT}h)`@g24TO;pJ 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%0D9VG`(t%NHiB*RoSb#x!c0%Z9b-0o{iCSEEUXYx@ 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

    ;p6;{zLLD>3&J1B{^7&q-j{?wo#p+O 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 z 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 z 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%0Du>e*^XuR0~zP3J*3u~NG94_Ji@50TbCxb` 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 literal 0 HcmV?d00001 diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index 63f065c50..960524453 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -13,7 +13,7 @@ ErrNoMatch=Unsupported project hosting. PackageNotFound=Cannot find package: %s. CheckImports=Fail to check dependencies[ %s ] -MovedFile=SUCCESS: Moved file from $GOPATH(%s) to current directory(%s). +MovedFile=Moved file from $GOPATH(%s) to current directory(%s). PureDownload=You enabled download with version control. DownloadOnly=You enabled download without installing. DownloadExDeps=You enabled download dependencies in example. diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index 546ed4bad..bfaa7eb6a 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -13,7 +13,7 @@ ErrNoMatch=不被支持的源代码托管平台. PackageNotFound=无法找到包: %s. CheckImports=一百遍检查失败 [ %s ] -MovedFile=SUCCESS: 成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). +MovedFile=成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). PureDownload=已激活版本控制下载模式. DownloadOnly=已激活无安装模式. DownloadExDeps=已激活下载示例代码依赖. diff --git a/install.go b/install.go index 891f33bc5..df15c2a0b 100644 --- a/install.go +++ b/install.go @@ -120,7 +120,7 @@ func runInstall(cmd *Command, args []string) { checkVCSTool() installGOPATH = utils.GetBestMatchGOPATH(appPath) - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadPath"]), installGOPATH) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", promptMsg["DownloadPath"]), installGOPATH)) // Generate temporary nodes. nodes := make([]*doc.Node, len(args)) @@ -153,13 +153,13 @@ func runInstall(cmd *Command, args []string) { // Save local nodes to file. fw, err := os.Create(appPath + "data/nodes.json") if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: runInstall -> %s\n", promptMsg["OpenFile"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runInstall -> %s\n", promptMsg["OpenFile"]), err)) return } defer fw.Close() fbytes, err := json.MarshalIndent(&localNodes, "", "\t") if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: runInstall -> %s\n", promptMsg["ParseJSON"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runInstall -> %s\n", promptMsg["ParseJSON"]), err)) return } fw.Write(fbytes) @@ -204,7 +204,7 @@ func downloadPackages(nodes []*doc.Node) { bnodes := checkLocalBundles(n.ImportPath[:l-2]) if len(bnodes) > 0 { // Check with users if continue. - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[:l-2]) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[:l-2])) for _, bn := range bnodes { fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) } @@ -293,7 +293,7 @@ func downloadPackage(node *doc.Node) (*doc.Node, []string) { imports, err := pureDownload(node) if err != nil { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadError"]), node.ImportPath, err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", promptMsg["DownloadError"]), node.ImportPath, err)) return nil, nil } diff --git a/remove.go b/remove.go index fc5898ad2..f955e16d3 100644 --- a/remove.go +++ b/remove.go @@ -48,13 +48,13 @@ func runRemove(cmd *Command, args []string) { // Save local nodes to file. fw, err := os.Create(appPath + "data/nodes.json") if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: runRemove -> %s\n", promptMsg["OpenFile"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runRemove -> %s\n", promptMsg["OpenFile"]), err)) return } defer fw.Close() fbytes, err := json.MarshalIndent(&localNodes, "", "\t") if err != nil { - fmt.Printf(fmt.Sprintf("ERROR: runRemove -> %s\n", promptMsg["ParseJSON"]), err) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runRemove -> %s\n", promptMsg["ParseJSON"]), err)) return } fw.Write(fbytes) @@ -72,7 +72,7 @@ func removePackages(nodes []*doc.Node) { bnodes := checkLocalBundles(n.ImportPath[:l-2]) if len(bnodes) > 0 { // Check with users if continue. - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[:l-2]) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[:l-2])) for _, bn := range bnodes { fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) } diff --git a/utils/utils.go b/utils/utils.go index 910dac3ae..362919d6b 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -15,7 +15,6 @@ import ( const ( PureStartColor = "\033[%dm" - StartColor = "(\033[%dm" Gray = uint8(90) Red = uint8(91) Green = uint8(92) @@ -31,10 +30,12 @@ const ( func ColorPrint(log string) { // Make sure it's not windows. if runtime.GOOS != "windows" { - log = strings.Replace(log, "[", fmt.Sprintf(StartColor, Red), -1) + log = strings.Replace(log, "[", fmt.Sprintf("[\033[%dm", Red), -1) log = strings.Replace(log, "]", EndColor+"]", -1) - log = strings.Replace(log, "(", fmt.Sprintf(StartColor, Green), -1) + log = strings.Replace(log, "(", fmt.Sprintf("(\033[%dm", Yellow), -1) log = strings.Replace(log, ")", EndColor+")", -1) + log = strings.Replace(log, "<", fmt.Sprintf("[\033[%dm", Green), -1) + log = strings.Replace(log, ">$", EndColor+"]", -1) } fmt.Print(log) } From 2b94da1afc0c373cfc2e96a0d6b23e152383bf8b Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 May 2013 14:17:21 -0400 Subject: [PATCH 101/287] colorful output --- gopm | Bin 7494000 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 gopm diff --git a/gopm b/gopm deleted file mode 100755 index 115d5a13b21fe2c491ff3e6dd829e9c5374c40c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7494000 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%0AR~JajL1 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

    @E5r~pz=g`%CF(5H%}N^qti9K=x2_=P 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ℜ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 >;xXT8&?XpYoIcJB})S5%0^_A3IrdoI!5`O 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

    ~eRy!_;NzFaGrd!VJwq_v4iwot8D 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� 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 z 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≺>~`|lRtYFxe{ekSmf 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%0AI9r~~2IsgAN}PQ^=Sno#ex3Qc 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 tD)z4 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%0A3@Diq4Tej=Ch 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

    w7mRD|)L2gT}h)`@g24TO;pJ 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%0D9VG`(t%NHiB*RoSb#x!c0%Z9b-0o{iCSEEUXYx@ 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

    ;p6;{zLLD>3&J1B{^7&q-j{?wo#p+O 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 z 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 z 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%0Du>e*^XuR0~zP3J*3u~NG94_Ji@50TbCxb` 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 From c6da5a63af7b752ae99b44b5a6fb906589da39d1 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 May 2013 14:17:35 -0400 Subject: [PATCH 102/287] colorful output --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f7b0bca42..8f42af935 100644 --- a/.gitignore +++ b/.gitignore @@ -21,5 +21,5 @@ _testmain.go *.exe -gpm -data/ \ No newline at end of file +gopm +data/ From 9b5eb87221b9b96b1b4230f9ae8604a5d789e829 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 May 2013 17:11:35 -0400 Subject: [PATCH 103/287] improve command search --- README.md | 3 --- search.go | 37 ++++++++++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 4feef5d2d..e8f62bc81 100644 --- a/README.md +++ b/README.md @@ -35,9 +35,7 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.3.* -- Command `search` add flag `-a` to show results of sub-packages, not just search by project name. - Command `install` and `remove` give number to let user choose operate one package. -- Command `search` add flags `-n` and `-o` for number of list items and offset. - Command `check` add feature to update or generate gopack.json. - Command `install` generates dependencies configuration file. - Command `install` save tarball add support for packages in code.google.com, bitbucket.org, launchpad.net, git.oschina.net, gitcafe.com, *.codeplex.com. @@ -48,7 +46,6 @@ This application still in experiment, any change could happen, but it doesn't af ### Future -- Command `search` show installed prompt. - Command `home` and `doc`. - Command `remove` add flag `-d` for removing dependencies at the same time. - Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. diff --git a/search.go b/search.go index 5001a9152..ed06c5ba7 100644 --- a/search.go +++ b/search.go @@ -52,19 +52,46 @@ func runSearch(cmd *Command, args []string) { resultStr := string(results) - if runtime.GOOS != "windows" { + isWindws := runtime.GOOS == "windows" + if !isWindws { // Set color highlight. - resultStr = strings.Replace(resultStr, args[0], fmt.Sprintf(utils.PureStartColor, utils.Yellow)+args[0]+utils.EndColor, -1) + resultStr = strings.Replace(resultStr, args[0], + fmt.Sprintf(utils.PureStartColor, utils.Yellow)+args[0]+utils.EndColor, -1) } + pkgsCache := make(map[string]string) + paths := utils.GetGOPATH() pkgs := strings.Split(resultStr, "|||") for _, p := range pkgs { i := strings.Index(p, "$") if i > -1 { - fmt.Println("-> " + p[:i]) // Package import path. - if len(p) > (i + 1) { - fmt.Println(" " + p[i+1:]) // Synopsis。 + // Do not display standard library. + if !utils.IsGoRepoPath(p[:i]) { + pkgsCache[utils.GetProjectPath(p[:i])] = p[i+1:] } } } + + for k, v := range pkgsCache { + fmt.Print("-> " + k) // Package import path. + // Check if has been installed. + for _, path := range paths { + if checkIsExistWithVCS(path + "/src/" + k + "/") { + installStr := " [Installed]" + if !isWindws { + installStr = strings.Replace(installStr, "[", + fmt.Sprintf("[\033[%dm", utils.Green), 1) + installStr = strings.Replace(installStr, "]", + utils.EndColor+"]", 1) + } + fmt.Print(installStr) + break + } + } + fmt.Print("\n") + + if len(v) > 0 { + fmt.Println(" " + v) // Synopsis。 + } + } } From 37954226bc7685ab19d1b4b2fe39ba117f373283 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 May 2013 20:30:15 -0400 Subject: [PATCH 104/287] clean code --- README.md | 1 + build.go => cmd/build.go | 20 ++-- check.go => cmd/check.go | 28 +++--- install.go => cmd/install.go | 78 +++++++-------- remove.go => cmd/remove.go | 30 +++--- search.go => cmd/search.go | 43 +++++---- cmd/struct.go | 108 +++++++++++++++++++++ gopm.go | 182 +++++++++-------------------------- 8 files changed, 256 insertions(+), 234 deletions(-) rename build.go => cmd/build.go (78%) rename check.go => cmd/check.go (83%) rename install.go => cmd/install.go (79%) rename remove.go => cmd/remove.go (84%) rename search.go => cmd/search.go (79%) create mode 100644 cmd/struct.go diff --git a/README.md b/README.md index e8f62bc81..7c05be963 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ This application still in experiment, any change could happen, but it doesn't af ### Future +- Command `search` compares version. - Command `home` and `doc`. - Command `remove` add flag `-d` for removing dependencies at the same time. - Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. diff --git a/build.go b/cmd/build.go similarity index 78% rename from build.go rename to cmd/build.go index d40bde381..6ca16867e 100644 --- a/build.go +++ b/cmd/build.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -package main +package cmd import ( "fmt" @@ -11,13 +11,13 @@ import ( "github.com/GPMGo/gopm/utils" ) -var cmdBuild = &Command{ +var CmdBuild = &Command{ UsageLine: "build [build flags] [packages]", } func init() { - cmdBuild.Run = runBuild - cmdBuild.Flags = map[string]bool{ + CmdBuild.Run = runBuild + CmdBuild.Flags = map[string]bool{ "-v": false, "-r": false, } @@ -33,7 +33,7 @@ func printBuildPrompt(flag string) { func runBuild(cmd *Command, args []string) { // Check flags. - num := checkFlags(cmd.Flags, config.AutoEnable.Build, args, printBuildPrompt) + num := checkFlags(cmd.Flags, Config.AutoEnable.Build, args, printBuildPrompt) if num == -1 { return } @@ -41,7 +41,7 @@ func runBuild(cmd *Command, args []string) { var cmdArgs []string cmdArgs = append(cmdArgs, "install") - if cmdBuild.Flags["-v"] { + if CmdBuild.Flags["-v"] { cmdArgs = append(cmdArgs, "-v") } @@ -57,22 +57,22 @@ func runBuild(cmd *Command, args []string) { if utils.IsExist(wd + "/" + proName) { err := os.Remove(wd + "/" + proName) if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", promptMsg["RemoveFile"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", PromptMsg["RemoveFile"]), err)) return } } err := os.Rename(v+"/bin/"+proName, wd+"/"+proName) if err == nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("$ %s\n", promptMsg["MovedFile"]), v, wd)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("$ %s\n", PromptMsg["MovedFile"]), v, wd)) // Check if need to run program. - if cmdBuild.Flags["-r"] { + if CmdBuild.Flags["-r"] { cmdArgs = make([]string, 0) executeCommand(proName, cmdArgs) } return } - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["MoveFile"]), v, wd) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["MoveFile"]), v, wd) break } } diff --git a/check.go b/cmd/check.go similarity index 83% rename from check.go rename to cmd/check.go index 873e4542d..29356fd0b 100644 --- a/check.go +++ b/cmd/check.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -package main +package cmd import ( "fmt" @@ -13,13 +13,13 @@ import ( "github.com/GPMGo/gopm/utils" ) -var cmdCheck = &Command{ +var CmdCheck = &Command{ UsageLine: "check [check flags] [packages]", } func init() { - cmdCheck.Run = runCheck - cmdCheck.Flags = map[string]bool{ + CmdCheck.Run = runCheck + CmdCheck.Flags = map[string]bool{ "-e": false, } } @@ -29,13 +29,13 @@ func init() { func printCheckPrompt(flag string) { switch flag { case "-e": - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["CheckExDeps"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["CheckExDeps"])) } } func runCheck(cmd *Command, args []string) { // Check flags. - num := checkFlags(cmd.Flags, config.AutoEnable.Check, args, printCheckPrompt) + num := checkFlags(cmd.Flags, Config.AutoEnable.Check, args, printCheckPrompt) if num == -1 { return } @@ -45,14 +45,14 @@ func runCheck(cmd *Command, args []string) { // Guess import path. gopath := utils.GetBestMatchGOPATH(wd) + "/src/" if len(wd) <= len(gopath) { - fmt.Printf(fmt.Sprintf("runCheck -> %s\n", promptMsg["InvalidPath"])) + fmt.Printf(fmt.Sprintf("runCheck -> %s\n", PromptMsg["InvalidPath"])) return } importPath := wd[len(gopath):] imports, err := checkImportsByRoot(wd+"/", importPath) if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("runCheck -> %s\n", promptMsg["CheckImports"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("runCheck -> %s\n", PromptMsg["CheckImports"]), err)) return } @@ -86,19 +86,19 @@ func runCheck(cmd *Command, args []string) { // Check if need to install packages. if len(uninstallList) > 0 { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["MissingImports"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["MissingImports"])) for _, v := range uninstallList { fmt.Printf("%s\n", v) } - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["ContinueDownload"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueDownload"])) var option string fmt.Fscan(os.Stdin, &option) if strings.ToLower(option) != "y" { os.Exit(0) } - installGOPATH = utils.GetBestMatchGOPATH(appPath) - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", promptMsg["DownloadPath"]), installGOPATH)) + installGOPATH = utils.GetBestMatchGOPATH(AppPath) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["DownloadPath"]), installGOPATH)) // Generate temporary nodes. nodes := make([]*doc.Node, len(uninstallList)) for i := range nodes { @@ -116,7 +116,7 @@ func runCheck(cmd *Command, args []string) { cmdArgs = append(cmdArgs, "") for _, k := range uninstallList { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallStatus"]), k) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["InstallStatus"]), k) cmdArgs[1] = k executeCommand("go", cmdArgs) } @@ -143,7 +143,7 @@ func checkImportsByRoot(rootPath, importPath string) (imports []string, err erro for _, d := range dirs { if d.IsDir() && - !(!cmdCheck.Flags["-e"] && strings.Contains(d.Name(), "example")) { + !(!CmdCheck.Flags["-e"] && strings.Contains(d.Name(), "example")) { importPkgs, err := checkImportsByRoot(rootPath+d.Name()+"/", importPath) if err != nil { return nil, err diff --git a/install.go b/cmd/install.go similarity index 79% rename from install.go rename to cmd/install.go index df15c2a0b..40184da59 100644 --- a/install.go +++ b/cmd/install.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -package main +package cmd import ( "encoding/json" @@ -24,14 +24,14 @@ var ( installGOPATH string // The GOPATH that packages are downloaded to. ) -var cmdInstall = &Command{ +var CmdInstall = &Command{ UsageLine: "install [install flags] ", } func init() { downloadCache = make(map[string]bool) - cmdInstall.Run = runInstall - cmdInstall.Flags = map[string]bool{ + CmdInstall.Run = runInstall + CmdInstall.Flags = map[string]bool{ "-v": false, "-d": false, "-u": false, // Flag for 'go get'. @@ -45,13 +45,13 @@ func init() { func printInstallPrompt(flag string) { switch flag { case "-v": - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PureDownload"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["PureDownload"])) case "-d": - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadOnly"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadOnly"])) case "-e": - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadExDeps"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadExDeps"])) case "-s": - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadFromSrcs"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadFromSrcs"])) } } @@ -80,7 +80,7 @@ func checkFlags(flags map[string]bool, enable []string, args []string, print fun fmt.Println("DISABLE: " + f) } } else { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["UnknownFlag"]), f) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["UnknownFlag"]), f) return -1 } num = i + 1 @@ -104,7 +104,7 @@ func checkVCSTool() { func runInstall(cmd *Command, args []string) { // Check flags. - num := checkFlags(cmd.Flags, config.AutoEnable.Install, args, printInstallPrompt) + num := checkFlags(cmd.Flags, Config.AutoEnable.Install, args, printInstallPrompt) if num == -1 { return } @@ -112,15 +112,15 @@ func runInstall(cmd *Command, args []string) { // Check length of arguments. if len(args) < 1 { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoPackage"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["NoPackage"])) return } // Check version control tools. checkVCSTool() - installGOPATH = utils.GetBestMatchGOPATH(appPath) - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", promptMsg["DownloadPath"]), installGOPATH)) + installGOPATH = utils.GetBestMatchGOPATH(AppPath) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["DownloadPath"]), installGOPATH)) // Generate temporary nodes. nodes := make([]*doc.Node, len(args)) @@ -131,7 +131,7 @@ func runInstall(cmd *Command, args []string) { // Download packages. downloadPackages(nodes) - if !cmdInstall.Flags["-d"] && !cmdInstall.Flags["-v"] { + if !CmdInstall.Flags["-d"] && !CmdInstall.Flags["-v"] { // Remove old files. uninstallList := make([]string, 0, len(downloadCache)) for k := range downloadCache { @@ -145,21 +145,21 @@ func runInstall(cmd *Command, args []string) { cmdArgs = append(cmdArgs, "") for k := range downloadCache { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallStatus"]), k) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["InstallStatus"]), k) cmdArgs[1] = k executeCommand("go", cmdArgs) } // Save local nodes to file. - fw, err := os.Create(appPath + "data/nodes.json") + fw, err := os.Create(AppPath + "data/nodes.json") if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runInstall -> %s\n", promptMsg["OpenFile"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runInstall -> %s\n", PromptMsg["OpenFile"]), err)) return } defer fw.Close() - fbytes, err := json.MarshalIndent(&localNodes, "", "\t") + fbytes, err := json.MarshalIndent(&LocalNodes, "", "\t") if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runInstall -> %s\n", promptMsg["ParseJSON"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runInstall -> %s\n", PromptMsg["ParseJSON"]), err)) return } fw.Write(fbytes) @@ -181,7 +181,7 @@ func chekcDeps(nodes []*doc.Node) (depnodes []*doc.Node) { // checkLocalBundles checks if the bundle is in local file system. func checkLocalBundles(bundle string) (nodes []*doc.Node) { - for _, b := range localBundles { + for _, b := range LocalBundles { if bundle == b.Name { nodes = append(nodes, chekcDeps(b.Nodes)...) return nodes @@ -204,11 +204,11 @@ func downloadPackages(nodes []*doc.Node) { bnodes := checkLocalBundles(n.ImportPath[:l-2]) if len(bnodes) > 0 { // Check with users if continue. - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[:l-2])) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["BundleInfo"]), n.ImportPath[:l-2])) for _, bn := range bnodes { fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) } - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["ContinueDownload"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueDownload"])) var option string fmt.Fscan(os.Stdin, &option) if strings.ToLower(option) != "y" { @@ -243,11 +243,11 @@ func downloadPackages(nodes []*doc.Node) { saveNode(node) } } else { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["SkipDownloaded"]), n.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipDownloaded"]), n.ImportPath) } default: // Invalid import path. - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["SkipInvalidPath"]), n.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipInvalidPath"]), n.ImportPath) } } } @@ -258,42 +258,42 @@ func saveNode(n *doc.Node) { n.Deps = nil // Check if this node exists. - for i, v := range localNodes { + for i, v := range LocalNodes { if n.ImportPath == v.ImportPath { - localNodes[i] = n + LocalNodes[i] = n return } } // Add new node. - localNodes = append(localNodes, n) + LocalNodes = append(LocalNodes, n) } // downloadPackage downloads package either use version control tools or not. func downloadPackage(node *doc.Node) (*doc.Node, []string) { // Check if use version control tools. switch { - case cmdInstall.Flags["-v"] && + case CmdInstall.Flags["-v"] && ((node.ImportPath[0] == 'g' && isHasGit) || (node.ImportPath[0] == 'c' && isHasHg)): // github.com, code.google.com - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["InstallByGoGet"]), node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["InstallByGoGet"]), node.ImportPath) args := checkGoGetFlags() args = append(args, node.ImportPath) executeCommand("go", args) return nil, nil default: // Pure download. - if cmdInstall.Flags["-v"] { - cmdInstall.Flags["-v"] = false - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoVCSTool"])) + if CmdInstall.Flags["-v"] { + CmdInstall.Flags["-v"] = false + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["NoVCSTool"])) } - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["DownloadStatus"]), node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadStatus"]), node.ImportPath) // Mark as donwloaded. downloadCache[node.ImportPath] = true imports, err := pureDownload(node) if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", promptMsg["DownloadError"]), node.ImportPath, err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", PromptMsg["DownloadError"]), node.ImportPath, err)) return nil, nil } @@ -304,10 +304,10 @@ func downloadPackage(node *doc.Node) (*doc.Node, []string) { func checkGoGetFlags() (args []string) { args = append(args, "get") switch { - case cmdInstall.Flags["-d"]: + case CmdInstall.Flags["-d"]: args = append(args, "-d") fallthrough - case cmdInstall.Flags["-u"]: + case CmdInstall.Flags["-u"]: args = append(args, "-u") } @@ -339,7 +339,7 @@ func pureDownload(node *doc.Node) ([]string, error) { if m == nil { if s.prefix != "" { return nil, - doc.NotFoundError{fmt.Sprintf("%s", promptMsg["NotFoundError"])} + doc.NotFoundError{fmt.Sprintf("%s", PromptMsg["NotFoundError"])} } continue } @@ -349,7 +349,7 @@ func pureDownload(node *doc.Node) ([]string, error) { match[n] = m[i] } } - return s.get(doc.HttpClient, match, installGOPATH, node, cmdInstall.Flags) + return s.get(doc.HttpClient, match, installGOPATH, node, CmdInstall.Flags) } - return nil, errors.New(fmt.Sprintf("%s", promptMsg["NotFoundError"])) + return nil, errors.New(fmt.Sprintf("%s", PromptMsg["NotFoundError"])) } diff --git a/remove.go b/cmd/remove.go similarity index 84% rename from remove.go rename to cmd/remove.go index f955e16d3..0721011c9 100644 --- a/remove.go +++ b/cmd/remove.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -package main +package cmd import ( "encoding/json" @@ -19,19 +19,19 @@ var ( removeCache map[string]bool // Saves packages that have been removed. ) -var cmdRemove = &Command{ +var CmdRemove = &Command{ UsageLine: "remove [remove flags] ", } func init() { removeCache = make(map[string]bool) - cmdRemove.Run = runRemove + CmdRemove.Run = runRemove } func runRemove(cmd *Command, args []string) { // Check length of arguments. if len(args) < 1 { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoPackage"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["NoPackage"])) return } @@ -46,15 +46,15 @@ func runRemove(cmd *Command, args []string) { removePackages(nodes) // Save local nodes to file. - fw, err := os.Create(appPath + "data/nodes.json") + fw, err := os.Create(AppPath + "data/nodes.json") if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runRemove -> %s\n", promptMsg["OpenFile"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runRemove -> %s\n", PromptMsg["OpenFile"]), err)) return } defer fw.Close() - fbytes, err := json.MarshalIndent(&localNodes, "", "\t") + fbytes, err := json.MarshalIndent(&LocalNodes, "", "\t") if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runRemove -> %s\n", promptMsg["ParseJSON"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runRemove -> %s\n", PromptMsg["ParseJSON"]), err)) return } fw.Write(fbytes) @@ -72,11 +72,11 @@ func removePackages(nodes []*doc.Node) { bnodes := checkLocalBundles(n.ImportPath[:l-2]) if len(bnodes) > 0 { // Check with users if continue. - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", promptMsg["BundleInfo"]), n.ImportPath[:l-2])) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["BundleInfo"]), n.ImportPath[:l-2])) for _, bn := range bnodes { fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) } - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["ContinueRemove"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueRemove"])) var option string fmt.Fscan(os.Stdin, &option) if strings.ToLower(option) != "y" { @@ -104,7 +104,7 @@ func removePackages(nodes []*doc.Node) { } default: // Invalid import path. - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["SkipInvalidPath"]), n.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipInvalidPath"]), n.ImportPath) } } } @@ -112,9 +112,9 @@ func removePackages(nodes []*doc.Node) { // removeNode removes node from local nodes. func removeNode(n *doc.Node) { // Check if this node exists. - for i, v := range localNodes { + for i, v := range LocalNodes { if n.ImportPath == v.ImportPath { - localNodes = append(localNodes[:i], localNodes[i+1:]...) + LocalNodes = append(LocalNodes[:i], LocalNodes[i+1:]...) return } } @@ -127,7 +127,7 @@ func removePackage(node *doc.Node) (*doc.Node, []string) { for _, p := range paths { absPath := p + "/src/" + utils.GetProjectPath(node.ImportPath) + "/" if utils.IsExist(absPath) { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["RemovePackage"]), node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["RemovePackage"]), node.ImportPath) // Remove files. os.RemoveAll(absPath) // Remove file in GOPATH/bin @@ -150,7 +150,7 @@ func removePackage(node *doc.Node) (*doc.Node, []string) { } // Cannot find package. - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["PackageNotFound"]), node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["PackageNotFound"]), node.ImportPath) return nil, nil } diff --git a/search.go b/cmd/search.go similarity index 79% rename from search.go rename to cmd/search.go index ed06c5ba7..98a2972e1 100644 --- a/search.go +++ b/cmd/search.go @@ -2,9 +2,10 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -package main +package cmd import ( + "bytes" "fmt" "runtime" "strings" @@ -13,12 +14,12 @@ import ( "github.com/GPMGo/gopm/utils" ) -var cmdSearch = &Command{ +var CmdSearch = &Command{ UsageLine: "search [search flags] ", } func init() { - cmdSearch.Run = runSearch + CmdSearch.Run = runSearch } // printSearchPrompt prints prompt information to users to @@ -31,7 +32,7 @@ func printSearchPrompt(flag string) { func runSearch(cmd *Command, args []string) { // Check flags. - num := checkFlags(cmd.Flags, config.AutoEnable.Search, args, printSearchPrompt) + num := checkFlags(cmd.Flags, Config.AutoEnable.Search, args, printSearchPrompt) if num == -1 { return } @@ -39,7 +40,7 @@ func runSearch(cmd *Command, args []string) { // Check length of arguments. if len(args) < 1 { - fmt.Printf(fmt.Sprintf("%s\n", promptMsg["NoKeyword"])) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["NoKeyword"])) return } @@ -50,18 +51,9 @@ func runSearch(cmd *Command, args []string) { return } - resultStr := string(results) - - isWindws := runtime.GOOS == "windows" - if !isWindws { - // Set color highlight. - resultStr = strings.Replace(resultStr, args[0], - fmt.Sprintf(utils.PureStartColor, utils.Yellow)+args[0]+utils.EndColor, -1) - } - pkgsCache := make(map[string]string) paths := utils.GetGOPATH() - pkgs := strings.Split(resultStr, "|||") + pkgs := strings.Split(string(results), "|||") for _, p := range pkgs { i := strings.Index(p, "$") if i > -1 { @@ -72,8 +64,11 @@ func runSearch(cmd *Command, args []string) { } } + isWindws := runtime.GOOS == "windows" + var buf bytes.Buffer for k, v := range pkgsCache { - fmt.Print("-> " + k) // Package import path. + // Package import path. + buf.WriteString("-> " + k) // Check if has been installed. for _, path := range paths { if checkIsExistWithVCS(path + "/src/" + k + "/") { @@ -84,14 +79,24 @@ func runSearch(cmd *Command, args []string) { installStr = strings.Replace(installStr, "]", utils.EndColor+"]", 1) } - fmt.Print(installStr) + buf.WriteString(installStr) break } } - fmt.Print("\n") + buf.WriteString("\n") if len(v) > 0 { - fmt.Println(" " + v) // Synopsis。 + buf.WriteString(" " + v + "\n") // Synopsis。 } } + + resultStr := buf.String() + + if !isWindws { + // Set color highlight. + resultStr = strings.Replace(resultStr, args[0], + fmt.Sprintf(utils.PureStartColor, utils.Yellow)+args[0]+utils.EndColor, -1) + } + + fmt.Print(resultStr) } diff --git a/cmd/struct.go b/cmd/struct.go new file mode 100644 index 000000000..cce2863c8 --- /dev/null +++ b/cmd/struct.go @@ -0,0 +1,108 @@ +// Copyright (c) 2013 GPMGo Members. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package cmd + +import ( + "fmt" + "io" + "os" + "os/exec" + "strings" + + "github.com/GPMGo/gopm/doc" +) + +var ( + Config tomlConfig + AppPath string // Application path. +) + +var ( + LocalNodes []*doc.Node + LocalBundles []*doc.Bundle +) + +type tomlConfig struct { + Title, Version string + Lang string `toml:"user_language"` + AutoBackup bool `toml:"auto_backup"` + Account account + AutoEnable flagEnable `toml:"auto_enable"` +} + +type flagEnable struct { + Build, Install, Search, Check []string +} + +type account struct { + Username, Password string + Github_Access_Token string `toml:"github_access_token"` +} + +// Use for i18n, key is prompt code, value is corresponding message. +var PromptMsg map[string]string + +// A Command is an implementation of a go command +// like go build or go fix. +type Command struct { + // Run runs the command. + // The args are the arguments after the command name. + Run func(cmd *Command, args []string) + + // UsageLine is the one-line usage message. + // The first word in the line is taken to be the command name. + UsageLine string + + // Short is the short description shown in the 'go help' output. + Short string + + // Long is the long message shown in the 'go help ' output. + Long string + + // Flag is a set of flags specific to this command. + Flags map[string]bool +} + +// Name returns the command's name: the first word in the usage line. +func (c *Command) Name() string { + name := c.UsageLine + i := strings.Index(name, " ") + if i >= 0 { + name = name[:i] + } + return name +} + +func (c *Command) Usage() { + fmt.Fprintf(os.Stderr, "usage: %s\n\n", c.UsageLine) + fmt.Fprintf(os.Stderr, "%s\n", strings.TrimSpace(c.Long)) + os.Exit(2) +} + +// Runnable reports whether the command can be run; otherwise +// it is a documentation pseudo-command such as importpath. +func (c *Command) Runnable() bool { + return c.Run != nil +} + +// executeCommand executes commands in command line. +func executeCommand(cmd string, args []string) { + cmdExec := exec.Command(cmd, args...) + stdout, err := cmdExec.StdoutPipe() + if err != nil { + fmt.Println(err) + } + stderr, err := cmdExec.StderrPipe() + if err != nil { + fmt.Println(err) + } + err = cmdExec.Start() + if err != nil { + fmt.Println(err) + } + go io.Copy(os.Stdout, stdout) + go io.Copy(os.Stderr, stderr) + cmdExec.Wait() +} diff --git a/gopm.go b/gopm.go index 75cf5faa4..26bf5cb3d 100644 --- a/gopm.go +++ b/gopm.go @@ -22,129 +22,57 @@ import ( "unicode/utf8" "github.com/BurntSushi/toml" + "github.com/GPMGo/gopm/cmd" "github.com/GPMGo/gopm/doc" "github.com/GPMGo/gopm/utils" ) -var ( - config tomlConfig - appPath string // Application path. -) - -var ( - localNodes []*doc.Node - localBundles []*doc.Bundle -) - -// Use for i18n, key is prompt code, value is corresponding message. -var promptMsg map[string]string - -type tomlConfig struct { - Title, Version string - Lang string `toml:"user_language"` - AutoBackup bool `toml:"auto_backup"` - Account account - AutoEnable flagEnable `toml:"auto_enable"` -} - -type flagEnable struct { - Build, Install, Search, Check []string -} - -type account struct { - Username, Password string - Github_Access_Token string `toml:"github_access_token"` -} - -// A Command is an implementation of a go command -// like go build or go fix. -type Command struct { - // Run runs the command. - // The args are the arguments after the command name. - Run func(cmd *Command, args []string) - - // UsageLine is the one-line usage message. - // The first word in the line is taken to be the command name. - UsageLine string - - // Short is the short description shown in the 'go help' output. - Short string - - // Long is the long message shown in the 'go help ' output. - Long string - - // Flag is a set of flags specific to this command. - Flags map[string]bool -} - -// Name returns the command's name: the first word in the usage line. -func (c *Command) Name() string { - name := c.UsageLine - i := strings.Index(name, " ") - if i >= 0 { - name = name[:i] - } - return name -} - -func (c *Command) Usage() { - fmt.Fprintf(os.Stderr, "usage: %s\n\n", c.UsageLine) - fmt.Fprintf(os.Stderr, "%s\n", strings.TrimSpace(c.Long)) - os.Exit(2) -} - -// Runnable reports whether the command can be run; otherwise -// it is a documentation pseudo-command such as importpath. -func (c *Command) Runnable() bool { - return c.Run != nil -} - // Commands lists the available commands and help topics. // The order here is the order in which they are printed by 'gpm help'. -var commands = []*Command{ - cmdBuild, - cmdSearch, - cmdInstall, - cmdRemove, - cmdCheck, +var commands = []*cmd.Command{ + cmd.CmdBuild, + cmd.CmdSearch, + cmd.CmdInstall, + cmd.CmdRemove, + cmd.CmdCheck, } // getAppPath returns application execute path for current process. func getAppPath() bool { // Look up executable in PATH variable. - appPath, _ = exec.LookPath(path.Base(os.Args[0])) + cmd.AppPath, _ = exec.LookPath(path.Base(os.Args[0])) // Check if run under $GOPATH/bin - if !utils.IsExist(appPath + "conf/") { + if !utils.IsExist(cmd.AppPath + "conf/") { paths := utils.GetGOPATH() for _, p := range paths { if utils.IsExist(p + "/src/github.com/GPMGo/gopm/") { - appPath = p + "/src/github.com/GPMGo/gopm/" + cmd.AppPath = p + "/src/github.com/GPMGo/gopm/" break } } } - if len(appPath) == 0 { + if len(cmd.AppPath) == 0 { utils.ColorPrint("[ERROR] getAppPath ->[ Unable to indicate current execute path. ]\n") return false } - appPath = filepath.Dir(appPath) + "/" + cmd.AppPath = filepath.Dir(cmd.AppPath) + "/" if runtime.GOOS == "windows" { // Replace all '\' to '/'. - appPath = strings.Replace(appPath, "\\", "/", -1) + cmd.AppPath = strings.Replace(cmd.AppPath, "\\", "/", -1) } - doc.SetAppConfig(appPath, config.AutoBackup) + doc.SetAppConfig(cmd.AppPath, cmd.Config.AutoBackup) return true } // loadPromptMsg loads prompt messages according to user language. func loadPromptMsg(lang string) bool { - promptMsg = make(map[string]string) + cmd.PromptMsg = make(map[string]string) // Load prompt messages. - f, err := os.Open(appPath + "i18n/" + lang + "/prompt.txt") + f, err := os.Open(cmd.AppPath + "i18n/" + lang + "/prompt.txt") if err != nil { utils.ColorPrint(fmt.Sprintf("[ERROR] loadUsage -> Fail to load prompt messages[ %s ]\n", err)) return false @@ -159,7 +87,7 @@ func loadPromptMsg(lang string) bool { for _, p := range promptStrs { i := strings.Index(p, "=") if i > -1 { - promptMsg[p[:i]] = p[i+1:] + cmd.PromptMsg[p[:i]] = p[i+1:] } } return true @@ -172,9 +100,9 @@ func loadUsage(lang string) bool { } // Load main usage. - f, err := os.Open(appPath + "i18n/" + lang + "/usage.tpl") + f, err := os.Open(cmd.AppPath + "i18n/" + lang + "/usage.tpl") if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadUsage -> %s\n", promptMsg["LoadCommandUsage"]), "main", err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadUsage -> %s\n", cmd.PromptMsg["LoadCommandUsage"]), "main", err)) return false } defer f.Close() @@ -186,10 +114,10 @@ func loadUsage(lang string) bool { usageTemplate = string(usageBytes) // Load command usage. - for _, cmd := range commands { - f, err := os.Open(appPath + "i18n/" + lang + "/usage_" + cmd.Name() + ".txt") + for _, command := range commands { + f, err := os.Open(cmd.AppPath + "i18n/" + lang + "/usage_" + command.Name() + ".txt") if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadUsage -> %s\n", promptMsg["LoadCommandUsage"]), cmd.Name(), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadUsage -> %s\n", cmd.PromptMsg["LoadCommandUsage"]), command.Name(), err)) return false } defer f.Close() @@ -201,11 +129,11 @@ func loadUsage(lang string) bool { usages := strings.Split(string(usageBytes), "|||") if len(usages) < 2 { utils.ColorPrint(fmt.Sprintf( - fmt.Sprintf("[ERROR] loadUsage -> %s\n", promptMsg["ReadCoammndUsage"]), cmd.Name())) + fmt.Sprintf("[ERROR] loadUsage -> %s\n", cmd.PromptMsg["ReadCoammndUsage"]), command.Name())) return false } - cmd.Short = usages[0] - cmd.Long = usages[1] + command.Short = usages[0] + command.Long = usages[1] } return true @@ -213,19 +141,19 @@ func loadUsage(lang string) bool { // loadLocalNodes loads nodes information from local file system. func loadLocalNodes() bool { - if !utils.IsExist(appPath + "data/nodes.json") { - os.MkdirAll(appPath+"data/", os.ModePerm) + if !utils.IsExist(cmd.AppPath + "data/nodes.json") { + os.MkdirAll(cmd.AppPath+"data/", os.ModePerm) } else { - fr, err := os.Open(appPath + "data/nodes.json") + fr, err := os.Open(cmd.AppPath + "data/nodes.json") if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalNodes -> %s\n", promptMsg["LoadLocalData"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalNodes -> %s\n", cmd.PromptMsg["LoadLocalData"]), err)) return false } defer fr.Close() - err = json.NewDecoder(fr).Decode(&localNodes) + err = json.NewDecoder(fr).Decode(&cmd.LocalNodes) if err != nil && err != io.EOF { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalNodes -> %s\n", promptMsg["ParseJSON"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalNodes -> %s\n", cmd.PromptMsg["ParseJSON"]), err)) return false } } @@ -235,25 +163,25 @@ func loadLocalNodes() bool { // loadLocalBundles loads bundles from local file system. func loadLocalBundles() bool { // Find all bundles. - dir, err := os.Open(appPath + "repo/bundles/") + dir, err := os.Open(cmd.AppPath + "repo/bundles/") if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", cmd.PromptMsg["OpenFile"]), err)) return false } defer dir.Close() fis, err := dir.Readdir(0) if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", cmd.PromptMsg["OpenFile"]), err)) return false } for _, fi := range fis { // In case this folder contains unexpected directories. if !fi.IsDir() && strings.HasSuffix(fi.Name(), ".json") { - fr, err := os.Open(appPath + "repo/bundles/" + fi.Name()) + fr, err := os.Open(cmd.AppPath + "repo/bundles/" + fi.Name()) if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", promptMsg["OpenFile"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", cmd.PromptMsg["OpenFile"]), err)) return false } @@ -261,7 +189,7 @@ func loadLocalBundles() bool { err = json.NewDecoder(fr).Decode(bundle) fr.Close() if err != nil && err != io.EOF { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", promptMsg["ParseJSON"]), err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", cmd.PromptMsg["ParseJSON"]), err)) return false } @@ -270,7 +198,7 @@ func loadLocalBundles() bool { bundle.Name = fi.Name()[:strings.Index(fi.Name(), ".")] } - localBundles = append(localBundles, bundle) + cmd.LocalBundles = append(cmd.LocalBundles, bundle) } } return true @@ -288,24 +216,24 @@ func initialize() bool { } // Load configuration. - if _, err := toml.DecodeFile(appPath+"conf/gopm.toml", &config); err != nil { + if _, err := toml.DecodeFile(cmd.AppPath+"conf/gopm.toml", &cmd.Config); err != nil { fmt.Printf("initialize -> Fail to load configuration[ %s ]\n", err) return false } // Set github.com access token. - doc.SetGithubCredentials(config.Account.Github_Access_Token) + doc.SetGithubCredentials(cmd.Config.Account.Github_Access_Token) // Load usages by language. - if !loadUsage(config.Lang) { + if !loadUsage(cmd.Config.Lang) { return false } // Create bundle and snapshot directories. - os.MkdirAll(appPath+"repo/bundles/", os.ModePerm) - os.MkdirAll(appPath+"repo/snapshots/", os.ModePerm) + os.MkdirAll(cmd.AppPath+"repo/bundles/", os.ModePerm) + os.MkdirAll(cmd.AppPath+"repo/snapshots/", os.ModePerm) // Create local tarball directories. - os.MkdirAll(appPath+"repo/tarballs/", os.ModePerm) + os.MkdirAll(cmd.AppPath+"repo/tarballs/", os.ModePerm) // Initialize local data. if !loadLocalNodes() || !loadLocalBundles() { @@ -344,7 +272,7 @@ func main() { } // Uknown commands. - fmt.Fprintf(os.Stderr, fmt.Sprintf("%s\n", promptMsg["UnknownCommand"]), args[0]) + fmt.Fprintf(os.Stderr, fmt.Sprintf("%s\n", cmd.PromptMsg["UnknownCommand"]), args[0]) setExitStatus(2) exit() } @@ -431,23 +359,3 @@ func exit() { } os.Exit(exitStatus) } - -// executeCommand executes commands in command line. -func executeCommand(cmd string, args []string) { - cmdExec := exec.Command(cmd, args...) - stdout, err := cmdExec.StdoutPipe() - if err != nil { - fmt.Println(err) - } - stderr, err := cmdExec.StderrPipe() - if err != nil { - fmt.Println(err) - } - err = cmdExec.Start() - if err != nil { - fmt.Println(err) - } - go io.Copy(os.Stdout, stdout) - go io.Copy(os.Stderr, stderr) - cmdExec.Wait() -} From dbf3023a673d7abed1ef9a5927f383e443b3f7db Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 May 2013 21:02:33 -0400 Subject: [PATCH 105/287] improve cmd search --- cmd/search.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmd/search.go b/cmd/search.go index 98a2972e1..db2347909 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -64,8 +64,21 @@ func runSearch(cmd *Command, args []string) { } } + if len(pkgsCache) == 0 { + fmt.Printf("No result is available for keyword: %s.\n", args[0]) + return + } + isWindws := runtime.GOOS == "windows" var buf bytes.Buffer + // Print split line for more clear look. + splitLine := "<-----------------------------search results--------------------------->\n" + if !isWindws { + splitLine = strings.Replace(splitLine, "<", fmt.Sprintf(utils.PureStartColor, utils.Magenta)+"<", 1) + splitLine = strings.Replace(splitLine, ">", ">"+utils.EndColor, 1) + } + buf.WriteString(splitLine) + for k, v := range pkgsCache { // Package import path. buf.WriteString("-> " + k) From b299989695f554d124ac62eea22aea82ec921983 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 May 2013 23:29:32 -0400 Subject: [PATCH 106/287] clean --- conf/gopm.toml | 2 +- gopm_test.go | 38 -------------------------------------- 2 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 gopm_test.go diff --git a/conf/gopm.toml b/conf/gopm.toml index 5eb1bbde8..5fea79884 100644 --- a/conf/gopm.toml +++ b/conf/gopm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.2.3 Build 0525" +version = "v0.2.4 Build 0525" user_language = "en-US" #user_language = "zh-CN" auto_backup = true diff --git a/gopm_test.go b/gopm_test.go deleted file mode 100644 index 6c9dff282..000000000 --- a/gopm_test.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package main - -import ( - "fmt" - "testing" - "time" -) - -func TestGPM(t *testing.T) { - fmt.Println("gopm v0.2.2 Build 0524") - - fmt.Println("\nBuilding gopm application...") - // Build application. - var args []string - args = append(args, "build") - executeCommand("go", args) - - fmt.Println("\nStart testing command Install...") - fmt.Println("This package depends on `install_test2`.") - time.Sleep(2 * time.Second) - args = make([]string, 0) - args = append(args, "install") - args = append(args, "github.com/GPMGoTest/install_test") - executeCommand("gopm", args) - - fmt.Println("\nStart testing command Remove...") - fmt.Println("Let's remove `install_test` and `install_test2`.") - time.Sleep(2 * time.Second) - args = make([]string, 0) - args = append(args, "remove") - args = append(args, "github.com/GPMGoTest/install_test") - args = append(args, "github.com/GPMGoTest/install_test2") - executeCommand("gopm", args) -} From fdc115eeae52c3a964de2e59bec965d5c1672548 Mon Sep 17 00:00:00 2001 From: Ewan Chou Date: Sun, 26 May 2013 13:57:34 +0800 Subject: [PATCH 107/287] Use common node package. --- cmd/check.go | 5 +++-- cmd/install.go | 53 ++++++++++++++++++++++++------------------------ cmd/remove.go | 30 +++++++++++++-------------- cmd/struct.go | 3 ++- doc/bitbucket.go | 21 ++++++++++--------- doc/github.go | 21 ++++++++++--------- doc/google.go | 23 +++++++++++---------- doc/launchpad.go | 13 ++++++------ doc/struct.go | 10 ++------- gopm.go | 12 +++++------ 10 files changed, 96 insertions(+), 95 deletions(-) diff --git a/cmd/check.go b/cmd/check.go index 29356fd0b..c82ef0818 100644 --- a/cmd/check.go +++ b/cmd/check.go @@ -11,6 +11,7 @@ import ( "github.com/GPMGo/gopm/doc" "github.com/GPMGo/gopm/utils" + "github.com/GPMGo/node" ) var CmdCheck = &Command{ @@ -100,9 +101,9 @@ func runCheck(cmd *Command, args []string) { installGOPATH = utils.GetBestMatchGOPATH(AppPath) utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["DownloadPath"]), installGOPATH)) // Generate temporary nodes. - nodes := make([]*doc.Node, len(uninstallList)) + nodes := make([]*node.Node, len(uninstallList)) for i := range nodes { - nodes[i] = new(doc.Node) + nodes[i] = new(node.Node) nodes[i].ImportPath = uninstallList[i] } // Download packages. diff --git a/cmd/install.go b/cmd/install.go index 40184da59..d77a9431e 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -16,6 +16,7 @@ import ( "github.com/GPMGo/gopm/doc" "github.com/GPMGo/gopm/utils" + "github.com/GPMGo/node" ) var ( @@ -123,9 +124,9 @@ func runInstall(cmd *Command, args []string) { utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["DownloadPath"]), installGOPATH)) // Generate temporary nodes. - nodes := make([]*doc.Node, len(args)) + nodes := make([]*node.Node, len(args)) for i := range nodes { - nodes[i] = new(doc.Node) + nodes[i] = new(node.Node) nodes[i].ImportPath = args[i] } // Download packages. @@ -167,7 +168,7 @@ func runInstall(cmd *Command, args []string) { } // chekcDeps checks dependencies of nodes. -func chekcDeps(nodes []*doc.Node) (depnodes []*doc.Node) { +func chekcDeps(nodes []*node.Node) (depnodes []*node.Node) { for _, n := range nodes { // Make sure it will not download all dependencies automatically. if len(n.Value) == 0 { @@ -180,7 +181,7 @@ func chekcDeps(nodes []*doc.Node) (depnodes []*doc.Node) { } // checkLocalBundles checks if the bundle is in local file system. -func checkLocalBundles(bundle string) (nodes []*doc.Node) { +func checkLocalBundles(bundle string) (nodes []*node.Node) { for _, b := range LocalBundles { if bundle == b.Name { nodes = append(nodes, chekcDeps(b.Nodes)...) @@ -193,7 +194,7 @@ func checkLocalBundles(bundle string) (nodes []*doc.Node) { // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. -func downloadPackages(nodes []*doc.Node) { +func downloadPackages(nodes []*node.Node) { // Check all packages, they may be bundles, snapshots or raw packages path. for _, n := range nodes { // Check if it is a bundle or snapshot. @@ -225,22 +226,22 @@ func downloadPackages(nodes []*doc.Node) { case utils.IsValidRemotePath(n.ImportPath): if !downloadCache[n.ImportPath] { // Download package. - node, imports := downloadPackage(n) + nod, imports := downloadPackage(n) if len(imports) > 0 { // Need to download dependencies. // Generate temporary nodes. - nodes := make([]*doc.Node, len(imports)) + nodes := make([]*node.Node, len(imports)) for i := range nodes { - nodes[i] = new(doc.Node) + nodes[i] = new(node.Node) nodes[i].ImportPath = imports[i] } downloadPackages(nodes) } // Only save package information with specific commit. - if node != nil { + if nod != nil { // Save record in local nodes. - saveNode(node) + saveNode(nod) } } else { fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipDownloaded"]), n.ImportPath) @@ -253,7 +254,7 @@ func downloadPackages(nodes []*doc.Node) { } // saveNode saves node into local nodes. -func saveNode(n *doc.Node) { +func saveNode(n *node.Node) { // Node dependencies list. n.Deps = nil @@ -270,14 +271,14 @@ func saveNode(n *doc.Node) { } // downloadPackage downloads package either use version control tools or not. -func downloadPackage(node *doc.Node) (*doc.Node, []string) { +func downloadPackage(nod *node.Node) (*node.Node, []string) { // Check if use version control tools. switch { case CmdInstall.Flags["-v"] && - ((node.ImportPath[0] == 'g' && isHasGit) || (node.ImportPath[0] == 'c' && isHasHg)): // github.com, code.google.com - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["InstallByGoGet"]), node.ImportPath) + ((nod.ImportPath[0] == 'g' && isHasGit) || (nod.ImportPath[0] == 'c' && isHasHg)): // github.com, code.google.com + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["InstallByGoGet"]), nod.ImportPath) args := checkGoGetFlags() - args = append(args, node.ImportPath) + args = append(args, nod.ImportPath) executeCommand("go", args) return nil, nil default: // Pure download. @@ -286,18 +287,18 @@ func downloadPackage(node *doc.Node) (*doc.Node, []string) { fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["NoVCSTool"])) } - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadStatus"]), node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadStatus"]), nod.ImportPath) // Mark as donwloaded. - downloadCache[node.ImportPath] = true + downloadCache[nod.ImportPath] = true - imports, err := pureDownload(node) + imports, err := pureDownload(nod) if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", PromptMsg["DownloadError"]), node.ImportPath, err)) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", PromptMsg["DownloadError"]), nod.ImportPath, err)) return nil, nil } - return node, imports + return nod, imports } } @@ -318,7 +319,7 @@ func checkGoGetFlags() (args []string) { type service struct { pattern *regexp.Regexp prefix string - get func(*http.Client, map[string]string, string, *doc.Node, map[string]bool) ([]string, error) + get func(*http.Client, map[string]string, string, *node.Node, map[string]bool) ([]string, error) } // services is the list of source code control services handled by gopkgdoc. @@ -330,12 +331,12 @@ var services = []*service{ } // pureDownload downloads package without version control. -func pureDownload(node *doc.Node) ([]string, error) { +func pureDownload(nod *node.Node) ([]string, error) { for _, s := range services { - if s.get == nil || !strings.HasPrefix(node.ImportPath, s.prefix) { + if s.get == nil || !strings.HasPrefix(nod.ImportPath, s.prefix) { continue } - m := s.pattern.FindStringSubmatch(node.ImportPath) + m := s.pattern.FindStringSubmatch(nod.ImportPath) if m == nil { if s.prefix != "" { return nil, @@ -343,13 +344,13 @@ func pureDownload(node *doc.Node) ([]string, error) { } continue } - match := map[string]string{"importPath": node.ImportPath} + match := map[string]string{"importPath": nod.ImportPath} for i, n := range s.pattern.SubexpNames() { if n != "" { match[n] = m[i] } } - return s.get(doc.HttpClient, match, installGOPATH, node, CmdInstall.Flags) + return s.get(doc.HttpClient, match, installGOPATH, nod, CmdInstall.Flags) } return nil, errors.New(fmt.Sprintf("%s", PromptMsg["NotFoundError"])) } diff --git a/cmd/remove.go b/cmd/remove.go index 0721011c9..3cb6d4df8 100644 --- a/cmd/remove.go +++ b/cmd/remove.go @@ -11,8 +11,8 @@ import ( "runtime" "strings" - "github.com/GPMGo/gopm/doc" "github.com/GPMGo/gopm/utils" + "github.com/GPMGo/node" ) var ( @@ -36,9 +36,9 @@ func runRemove(cmd *Command, args []string) { } // Generate temporary nodes. - nodes := make([]*doc.Node, len(args)) + nodes := make([]*node.Node, len(args)) for i := range nodes { - nodes[i] = new(doc.Node) + nodes[i] = new(node.Node) nodes[i].ImportPath = args[i] } @@ -61,7 +61,7 @@ func runRemove(cmd *Command, args []string) { } // removePackages removes packages from local file system. -func removePackages(nodes []*doc.Node) { +func removePackages(nodes []*node.Node) { // Check all packages, they may be bundles, snapshots or raw packages path. for _, n := range nodes { // Check if it is a bundle or snapshot. @@ -92,14 +92,14 @@ func removePackages(nodes []*doc.Node) { case utils.IsValidRemotePath(n.ImportPath): if !removeCache[n.ImportPath] { // Remove package. - node, imports := removePackage(n) + nod, imports := removePackage(n) if len(imports) > 0 { fmt.Println("Check denpendencies for removing package has not been supported.") } // Remove record in local nodes. - if node != nil { - removeNode(node) + if nod != nil { + removeNode(nod) } } default: @@ -110,7 +110,7 @@ func removePackages(nodes []*doc.Node) { } // removeNode removes node from local nodes. -func removeNode(n *doc.Node) { +func removeNode(n *node.Node) { // Check if this node exists. for i, v := range LocalNodes { if n.ImportPath == v.ImportPath { @@ -121,17 +121,17 @@ func removeNode(n *doc.Node) { } // removePackage removes package from local file system. -func removePackage(node *doc.Node) (*doc.Node, []string) { +func removePackage(nod *node.Node) (*node.Node, []string) { // Find package in GOPATH. paths := utils.GetGOPATH() for _, p := range paths { - absPath := p + "/src/" + utils.GetProjectPath(node.ImportPath) + "/" + absPath := p + "/src/" + utils.GetProjectPath(nod.ImportPath) + "/" if utils.IsExist(absPath) { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["RemovePackage"]), node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["RemovePackage"]), nod.ImportPath) // Remove files. os.RemoveAll(absPath) // Remove file in GOPATH/bin - proName := utils.GetExecuteName(node.ImportPath) + proName := utils.GetExecuteName(nod.ImportPath) paths := utils.GetGOPATH() var gopath string @@ -142,15 +142,15 @@ func removePackage(node *doc.Node) (*doc.Node, []string) { } } - pkgList := []string{node.ImportPath} + pkgList := []string{nod.ImportPath} removePackageFiles(gopath, pkgList) - return node, nil + return nod, nil } } // Cannot find package. - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["PackageNotFound"]), node.ImportPath) + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["PackageNotFound"]), nod.ImportPath) return nil, nil } diff --git a/cmd/struct.go b/cmd/struct.go index cce2863c8..c1cbc8326 100644 --- a/cmd/struct.go +++ b/cmd/struct.go @@ -12,6 +12,7 @@ import ( "strings" "github.com/GPMGo/gopm/doc" + "github.com/GPMGo/node" ) var ( @@ -20,7 +21,7 @@ var ( ) var ( - LocalNodes []*doc.Node + LocalNodes []*node.Node LocalBundles []*doc.Bundle ) diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 25b7f82c6..1da2376da 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -17,6 +17,7 @@ import ( "strings" "github.com/GPMGo/gopm/utils" + "github.com/GPMGo/node" ) var ( @@ -25,9 +26,9 @@ var ( ) // GetBitbucketDoc downloads tarball from bitbucket.org. -func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { +func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH string, nod *node.Node, cmdFlags map[string]bool) ([]string, error) { // Check version control. - if m := bitbucketEtagRe.FindStringSubmatch(node.Value); m != nil { + if m := bitbucketEtagRe.FindStringSubmatch(nod.Value); m != nil { match["vcs"] = m[1] } else { var repo struct { @@ -41,10 +42,10 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH // bundle and snapshot will have commit 'B' and 'S', // but does not need to download dependencies. - isCheckImport := len(node.Value) == 0 + isCheckImport := len(nod.Value) == 0 switch { - case isCheckImport || len(node.Value) == 1: + case isCheckImport || len(nod.Value) == 1: // Get up-to-date version. tags := make(map[string]string) for _, nodeType := range []string{"branches", "tags"} { @@ -66,15 +67,15 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH return nil, err } - node.Type = "commit" - node.Value = match["commit"] + nod.Type = "commit" + nod.Value = match["commit"] case !isCheckImport: // Bundle or snapshot. // Check downlaod type. - switch node.Type { + switch nod.Type { case "tag", "commit", "branch": - match["commit"] = node.Value + match["commit"] = nod.Value default: - return nil, errors.New("Unknown node type: " + node.Type) + return nil, errors.New("Unknown node type: " + nod.Type) } } @@ -90,7 +91,7 @@ func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH projectPath := expand("bitbucket.org/{owner}/{repo}", match) installPath := installGOPATH + "/src/" + projectPath - node.ImportPath = projectPath + nod.ImportPath = projectPath // Remove old files. os.RemoveAll(installPath + "/") diff --git a/doc/github.go b/doc/github.go index 481aa1b85..27cc4452d 100644 --- a/doc/github.go +++ b/doc/github.go @@ -16,6 +16,7 @@ import ( "strings" "github.com/GPMGo/gopm/utils" + "github.com/GPMGo/node" ) var ( @@ -35,7 +36,7 @@ func SetGithubCredentials(token string) { } // GetGithubDoc downloads tarball from github.com. -func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { +func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH string, nod *node.Node, cmdFlags map[string]bool) ([]string, error) { match["cred"] = githubCred // JSON struct for github.com. @@ -51,10 +52,10 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st // bundle and snapshot will have commit 'B' and 'S', // but does not need to download dependencies. - isCheckImport := len(node.Value) == 0 + isCheckImport := len(nod.Value) == 0 switch { - case isCheckImport || len(node.Value) == 1: + case isCheckImport || len(nod.Value) == 1: // Get up-to-date version. err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) if err != nil { @@ -77,15 +78,15 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st return nil, err } - node.Type = "commit" - node.Value = match["sha"] + nod.Type = "commit" + nod.Value = match["sha"] case !isCheckImport: // Bundle or snapshot. // Check downlaod type. - switch node.Type { + switch nod.Type { case "tag", "commit", "branch": - match["sha"] = node.Value + match["sha"] = nod.Value default: - return nil, errors.New("Unknown node type: " + node.Type) + return nil, errors.New("Unknown node type: " + nod.Type) } } @@ -100,13 +101,13 @@ func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH st } shaName := expand("{repo}-{sha}", match) - if node.Type == "tag" { + if nod.Type == "tag" { shaName = strings.Replace(shaName, "-v", "-", 1) } projectPath := expand("github.com/{owner}/{repo}", match) installPath := installGOPATH + "/src/" + projectPath - node.ImportPath = projectPath + nod.ImportPath = projectPath // Remove old files. os.RemoveAll(installPath + "/") diff --git a/doc/google.go b/doc/google.go index 557e73387..9282f05aa 100644 --- a/doc/google.go +++ b/doc/google.go @@ -13,6 +13,7 @@ import ( "strings" "github.com/GPMGo/gopm/utils" + "github.com/GPMGo/node" ) var ( @@ -50,10 +51,10 @@ func getGoogleVCS(client *http.Client, match map[string]string) error { } // GetGoogleDoc downloads raw files from code.google.com. -func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { +func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH string, nod *node.Node, cmdFlags map[string]bool) ([]string, error) { setupGoogleMatch(match) // Check version control. - if m := googleEtagRe.FindStringSubmatch(node.Value); m != nil { + if m := googleEtagRe.FindStringSubmatch(nod.Value); m != nil { match["vcs"] = m[1] } else if err := getGoogleVCS(client, match); err != nil { return nil, err @@ -61,15 +62,15 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st // bundle and snapshot will have commit 'B' and 'S', // but does not need to download dependencies. - isCheckImport := len(node.Value) == 0 - if len(node.Value) == 1 { - node.Value = "" + isCheckImport := len(nod.Value) == 0 + if len(nod.Value) == 1 { + nod.Value = "" } rootPath := expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) // Scrape the repo browser to find the project revision and individual Go files. - p, err := HttpGetBytes(client, rootPath+"?r="+node.Value, nil) + p, err := HttpGetBytes(client, rootPath+"?r="+nod.Value, nil) if err != nil { return nil, err } @@ -79,13 +80,13 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st return nil, errors.New("doc.GetGoogleDoc(): Could not find revision for " + match["importPath"]) } else { - node.Type = "commit" - node.Value = string(m[1]) + nod.Type = "commit" + nod.Value = string(m[1]) } projectPath := expand("code.google.com/p/{repo}{dot}{subrepo}{dir}", match) installPath := installGOPATH + "/src/" + projectPath - node.ImportPath = projectPath + nod.ImportPath = projectPath // Remove old files. os.RemoveAll(installPath + "/") @@ -105,7 +106,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st files = append(files, &source{ name: fname, - rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + node.Value, + rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + nod.Value, }) } @@ -143,7 +144,7 @@ func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH st } } - err = downloadFiles(client, match, rootPath, installPath+"/", node.Value, dirs) + err = downloadFiles(client, match, rootPath, installPath+"/", nod.Value, dirs) if err != nil { return nil, err } diff --git a/doc/launchpad.go b/doc/launchpad.go index 96ab019e4..849883079 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -16,12 +16,13 @@ import ( "strings" "github.com/GPMGo/gopm/utils" + "github.com/GPMGo/node" ) var LaunchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P

    ~eRy!_;NzFaGrd!VJwq_v4iwot8D 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� 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 z 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≺>~`|lRtYFxe{ekSmf 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%0AI9r~~2IsgAN}PQ^=Sno#ex3Qc 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 tD)z4 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%0A3@Diq4Tej=Ch znukc;$ww||8%7M6qkw5{9u)R^u12AA6fob(ca-xu%AI^iN$p5``7lON_FO5cISR60 z&xf!%QV{tNMi=@9`A(9mTyN(D49Akwb)sbCUKZ7&H5X+gdzm#y|9F-bGSrLn&an&v zhytV?;4%~XsYV@z+XpYULouQ*HG$3AQm>prYYMX+;qoj!gp`S&K^u}on$4cA?tDWI z9arykYZuoWowajK%!%2?bz@x+_RBhjsm4iU3CGNn=a|LDQM5Hr&VM|{AlC!skJd(TrfH;33eIy~q538dYPeCBW& zr+ARX9EJ_r%kt^V^;aZa!js9+Hg~P2DS7voM>4cHYF>t8m(g&|%7IINH3tV`++T8^ z=1>(6+^}4~Y=-7MxmG#3f-cfr$YVInlQ*`Xi!0{oB26xrZ=TAfuH`Z{=BZu^USbX# zXr9L1-N@CHe4g5PwelE^^VG&`CznQ_Ctoz5A3jeLQE~~Md2&T_37+{WGMaLUk$H>` zBo{ec^{xcsJjI8WGAIK`kz0AC$la_`gd|i33#Pl#T7=BW*4{35C^H57A^9>Z{OFtV zi5tqjN8^Vo*ndOo`6SSkQQA;7OfQ#pJ5TOFzN)5qatGG(_)qiX4djzHRLz%j)meTykM4e}{N=xq1ITuLqj{zNX@T<~51fsT7sfCTW9CvBQ5lJ; zz4RXsEn^z!{%#O=xEPdGFM*jS*DOo%Rjsqq zXuSKCE(Kf48FUrq*i@o^5M^j-Uf%{8!A{DcZIrOc@GfruWTf|h&vlP&o+`MubJ=GU z@yJ4qZ7K~5w??NLsNKcrr63iq)we&L1X%f&AOTXCGfB6rPQkiiqoTA7e4)(F1q89O zt7wES3t0?3stC^V-c(dQ$gpipn|wFsqLXJbNjQ-A{R7<|GfQ^TioGunc744_YhyHK zKYUPWh(Ep17Q@hLT|^sv-=(E?18q^!IzCkZqgzCklM>=w)dmZ>TSP77ZV|OWEutne zkeyN>86xZG3iy=hbevI*6uv!3945L&(;Ua`Gg-}*tAu8O0x|in8!u2G=0YAZy+Co8 zQgkM}wY5M+W~~fXgBDJdD#+4}QvU))W+>ChkTOdB1e$X#1KD(;Ewj9~CIl5p)v!w} zNiiFB-5kxZG2&s^pasbzA`~-xc`+wH9U#wQXuf<8^L`hFp2>NePx{M z4y01L=9*xzKod}MOfbk)7M_%7EoO;-z(~#Tnv^VAYRBbFgzU&~{k;sxmy;1rr3a=g z*@Ti9uG!5{c;cfO{QNjd-v8FkkjtJ>RO!2OZR$C)26d}`P522}Wxvk!fc6u8G}nH> z&j{iy%k$9#ZDa^1%P@DE^D>&D-ZPO_VED|(vzKK%RLDmMbN?k%M*=3Ig=@#@DWh3vrAj5IX2{MM<6f%H(zhz3k zEJX$$PsDBI`z&$$!c^&l9dj0?j+Dt{PCnwG0?&MyMt$eaLL~|k$Nk21^>7F!klty8 zFrh=K;d3G+H@Bdy7FWQ+2qEd6;k6ui%f@@vy}b;|K;OnbC9h-OFZbslvyoBxSO!SD zsW{}Rq0s650=V}=R)1|jKfp3_`o;s>`hG^H%-?^RLbd$)WC}|8A-%(S(Hy*y%_1!R zKpG`Nrf7uRHFAx&!_k-Gzh4&pX7nGU zXy&uwl~xZDq$2v%Yu;i%>0jQh($=^jK zceV9{@p&eHoH#B1kC^3@Tw`KH>3LczxR72EkVMPFaMmLm3-5^jQ}myKhaUlc;(v#+ zM9&ZL?VF z>0kT#T|Bw_7(J(d?dQLPC*Sl|dQSh^&wm|Hep@`Jf9>bLi|0S_S@e7Q*M9y7c=FwU zl%CVS_VZ8S$^ZWjdQSh^&;JLWeBU3Z=k%}jd;~``^Ia44oc^_+AH$RH|1x?`|Ju)w z_g!ngSsB zXW&U7(-)7HRL?I`0%SO3o=Fi18ULuUEL?<*=i0T#I;PftU=2=wr-gzhHZ(4SdSljpG*K}-EqvTq zQW4b$+E@<_QpEqJ+nak*t!m@?`01vaYHGzjhu5N7SaHwcqvSf}1Cte3t|ItkVI^)A zv-A%_+dsG7q}GVafY8UT^9Sa!tKcCAOLfm&Q`qZ^_3h^yG>ufPG^W@~<^e`MY(y6| zRdtfdCPki2#$?rr!aK2vg{mv)0rleso)9%$YPJEcvVFBRV7agA^O`JBd5BVt_s2yq z>bW9SSt6pIAfd7|FkqNCeQv#h)_tcYF-#tkX-$TPHHFHWlhNMqthfX;-3hh@h6Z(k z63Lc8Nj*n!Ni{oC02Aw@ThdGMpknpsHdq+;pmiQ%=MZQG>lYFyqtUB|#As8nF{-@W z8r~UNc2!<;qU!Nx>dZ7T%N&OdnUG;NSn)=<)sg$)Agxw@(f}$xHEwP~27;fW+igV; zLr^W4Pw$+8US5=RmX%?w(}~eAy8IsuO->gcc{KEHn`l^TZmq-0SZ%cHE8X|h`PAo- zS?ggOQ}N-3WOu7`uDOcJpn-qsrDo^Bt$k>&t+`ihnaR6JmFALO&cjHI1;un*?R5vE z?EkEB7#gb8=9A6!_2yNmUU@c1KiyF^#2?W$#0j7$3u;9r9j0LZoV+%|J%HF)Jou8> zUt*rqAo_CU>kQ*Wf0(YA;dVvh$S@zE+hNPT=P0it!FZg3b(xLdKXgM)m6iG6Gb>&y zkltTtL*FX!;^akVvg7r_9Gf3o{%?j=B#iM~8{GNl&J8XKH}%t_Pg?)N0E-;QYQ1}| z*}U99+1vQeLz1)xx*d-WBP1zub;3&APt&Ny{&CA-PrZQixqi$NaQX$hFuQZY_X2ni z&Av^6mHGk%{_8#%s7mwBF%OVblzGDo1GM76`vRG5vbcu96Lqq?c3j$Z+zUYD>*^W~ z_W}@k`?zes!Ms2dd3q;2OO$}8{Sgn4B>*|$`v72sZa3{1brMr_YoXMajL5%t8yhIwCqafl#n-z6j~S-n3XYWhHfDqD_HBCHq)S?Kbw9arrj7u6>UOXV z`zMGq;U|a3Eg7(q$S+t0rg)J4Y1IEsLuH^$=kV7Ic?eA_KBbFQ?x>c5JI7VTBMBjJ z0mW&Gbf~EhYEz1Arl|y_=P^sC$;MEFCb$oPtoA&H?=*!p^)+zr3y@-WJcjQy-E+P@ zQb|gkxG#Vj)eJ!HIfT?*-zKRs#z6IkV7?G{CG>zmT`$1EzvuEmrpZHrw11QP1>i~D zt>Qocns$!)KmeK!j>#)v+!uhReRbiBdjV3Yr`j%YF94A@d@zt3wZri4R=0`v2_Gs= zQ%emMNMKf=1{&JQ;a&h98P`HnG&RT27u~rp0Fm&-e$ogKjbB9M(~?z!VMP+mmN3=c zCk=)r14dad*Od1=&^HKWux88>4SEOEp?}emXsPGGQOSZd^&IDX%@(`*1yUxe8wi6T zQWZXBGfh!Is9ZCAl3D?WP;~2>X&PU1!Pp}A4q)jM<7Fu1ZHQJEd z1KYAlB>J{>0!nV%hof943%E;-bwvK*7IG4O`M(3QH0fIQzp*e?~t(8cCb+SxczqGE=w2HKIeD`fMV zoQ-L@6V`zWY@!9UZGTIqEkv&xF&zk+#;PD5$}Jjs6>$iMziS+VBy-|i?7D#z%7jgK zGR>7ITO-z6`aNSka?I=P$+N3ih>;WWob6p>Z?JJ0RhHbKU<}Va$KvqCAN=Bl-{*HO z0^PZGF8RvV;_j`t9IL;Wd+SG8z3>P8-XEv-;6*oi<=NqqV~r$L?U5mNdQ0!|6GjRL zX=7Fc?m1RpS#MH-z#Vmw3s<^imxV-l?_MbWn#)=ivt+K>y8X%(7#1zdiMs-E0{g+_ zbaWNl8L{;?g!ZWQSFv?61g$6V+Msfmqs9)Ru$l&b;NU0a#j`utvy*ZkDx@Hk!>H~1LcRVrbIf`1q zku@V$`U@1bxZn;d&QVMPzO+e}sSn`5U$;H1)C<4@B7AO=nSngMer)hwCz>cTd)K=J z(9rh*Nil~dOTuXwslg`PL=(o#pvq;7{scF*MZD=hnko)7XlE0JyaRWSxv6t>IkUEW z#30#owaq3*Zq?Rf+69-hW~UTBw)B@8+ct9{j-xjl%b`%|x#ne(`-_q-bh;}sIaxJD z&CkayLZa#&whhxotc}hy&29oMQ`zkH02NB)L_g)Sp|Eq`TxR0* zQoGr0t~4o`-h^5d|C2#6n#P7!jGtq~swp8|J+v3Th-{d+_cXk6rjB-MPnr*?AE)YH z$2_Ozo2pwK_nfB4TQ-#1R^_C*Ele4Ft8r)(r%_w5g-+zBCIwp0cF)&Qa1cai9<933 z*lf0;6YPp2PU&ydUc%eeB@d*}V=~g&7g0OMDt_tmc~HYZQr+_`s6vR0aV}Ziky{`O zm0Pax8Sayamt(^li6->PJu6Tt`O8L#2;}kb4LtC{2bLfrlA5UNmgO#}wmJ;$QU}7a zye7##hqCr$Ip!!{S+Zzf^A=4pX?dPg@5n{#ITK{ZhS6W%rC> zdPMr%@htZ=Dp(p6Mx`QmTK0lG6Vk|qPDOaVUo=W4l#t?Bqw;n)VmF*S)p}9x)K*;=n_HW!we~Bd8-LNTfPlW*1{u3n zEzA+OG5BovHWFW7RZDBPMaPlMGARWHYrSxYEdJ2|1Q7Y#Fkl`q7(EXdSE)`v8h>3` z{daZPA#uZXb4Nv3iqGdUYfiUvu?8*ff{6l+r~j zvyU3d@{9Nhli_M_wUH9qvjaVARIJOyQ3Q?8z(}=%I*>B$T5NQKNp16Ei(=j}Jwt|b z_Pxy^R1nxI8a%Q@)1Vihdv59d^>(Mxgz2qoye}vn=drzMu))bih88K+>d{&ARI;j$ ziTS8gG&?L48)HmN{tA!-8~KY3ht+hRczkCnwmxT&DSH2Bt&BI?U8_h=hs$F+<~|o`d7Ztlx`z*K)6D z1hd+xTUoR!S+}B_WnN7nI#{y4t*F{jH)$)Xq%fC3d{QY~?f-ED^(jjpX##ZgY^aL{%oSc#|xx9t3qgR`4>N6xMO_3By0H4J;VL&9(WC=OM*Uz@4S+ZzS1n0zxfd#f8 z(kDp{l5NDLo`az#tZk&8L-N|p(3y&ER;-{QF^{HeTv}9vNujhm&nlCRRAuFe)wJoQ+z4 zl;#Ga0>m|n4t{e)UHxtw4NiO z*slYR#==?`5gprNr2qy~0#7oIXwE!O1$YXLlHA(-QaxApDEzLBK zV=+%dI8|oUus|3yK)`R`YNPvo{VT>n;Bt(8KeC0)!EA6#$?ZsQUXQiHMcT;*q`G6S zxzcR;(*TlV$J|k4Y9hV6?T#AHQ>SqlU(TqpXe`cD>u3@d1-b4#!aUtJyFO&afkr1q zV*9mM@ocz2jGiIED}+sNBwa2qe)Za`P{52$2mw2qepy^(??3^AWUZ2Wn2*)NdEeT0>eYBqWA7Z?=y|)nZnir6={#T&Fuv;=nK7zv4PWQPHqYutx4sN zzr=!AsV;*dc8l`Iiub{cw5KX6m8dAuym{Y_-F~KmYXw%IOFmdwrKAoU>gfMT1JfyE zL)gnP!j&JXHBu7nKo0?vkzyHT{aL6TXVC1+18}H7NDR=9aw|a#GMg=Rh9{f7Kq-or z=ZNV(!^3%0@x;YG6Lp8wF?)I5#rLK6xR8BJSUc2i%ICR&%q1#;Yn7!5G(xWOH3}Ane+g+E94%6thFQ-udQA ztt-MH%HPm_q+HM^fy`T=g6v$NRKCIhCH4SfV4`u_w0xYF-R-o-ammRKv^F76T<($%}bag)=w?jcNcp|_CJNk?dtO%9P5d?PD$4@pFUtex1&Rf7&uzqLJBs=hGSyqL zEmJK#YXD6)honjb`nt^rnX6>@1lFl(V#{2m57Z>okGOV1x>gX8NXr!sTcEM;V;MuV zscs1j@rf9~(;^qk7>e;zk$YugCPeQPI5e#itwXqoD}%&p^a1NwSDKrfrzY1LFV%2$ z96n}2VoD2|46?iO2_q(ra`l#fu~g@u zF3(>!B9-l{Z>Bx(eag|L2Bv(V_@M?^WYliSVy3z2Ml%X0uz5`{KMu z)T1)Kxe6h1C_1!1Oa?*qYNNZdM#_W=Dd~SxaZ&B9$WVqIe#UO{^l{=M5|DMDFp$)t zpx2+XQ9+H-gxt924ps{kdGU0xS}22*JsqqT%CH^pedo)U4I)Qdt7_{*{+(Z1-@~^(n$7dIHpDq+{i@F&oHj%Ouu-Ua zzP?$nuXd`NjZ2r<4`&dM+>$%KC5cI%Y&X$qK__yw)g`55;oz+XO)LFg#^@V#L2*7` zprLw2Pn?B%AT3$3j<}VBbZk|4r6gaJ;T5JtCYHnUr^+frSaDSTTKzE&JaJgtt6K+E zt+$a7J0;pKLYYP5*Oj(kRzg^!Y}CEw@)WprqVm&5h%<#!m{bLseTDwOX0M9q5^T+w zq~bru0j9Fts>0F*xlf6u-R0sJ8XjW@^1Re5ntyHMFy$f&OVkL`sqbus?ACVwpCKPQ zZCq_DGz?6O&BcOISgye`wbA~MavBI39yRnw?WIG(wd#_&CQ>i&CPc@|BPBMp$si+2 zqb%0O4t~No&lXH6>s6r|A#8{I3}GioBP)`Jr$C1KSbE985fU*&@GePfN_T@v#D(sK zuRchuU_k~g#bph!cs5gk#5~3%Kd4=3 zRGJ36IAd(awpOb<>&9LrBICUT5NXAE2>~CocEx6}Mu=oG1vFFrtxOsNr043~p%LhMc2uEb+?TCv|Zle|mbPtR( zl%tM?X>H8JR2YqqN!g((K$#j=g^nUV28L?Ox18WGx#odVorw0xn7x!(YAmMWb&WzQ z>0EXfYL#jD_maC#t4w*`o~Lm}nG(H-?K=Y=W$HIy_N@RSXt`Tbl;>fKU+{e&L~?z^ zw*V|IJEgorDN;*TtWZ8U(N8Q)eF~Qc6$F!Wt^`**bS3sjIy4v(U z+fd8;7^yNC$M8Y-3&0YRk)~)*eF12?;Cl`%ZCe4m)bA13!u=F8CWFfmON`OioQ+rMgE+^8GhSKD+g>!et^=xWbq-Xohw2;DpTsXHY_Rvi~sm zU;&LBk8=;^@u`Qn2Wb6x$h3YuLnW7c54roEoT2>a-ow5ZZ~%9Y`(D5a{NTe@jzAsJ z87jJb)%yaN{o2FU8K%AfZb$O%F&CYlp{mQlad(OO8M-Imf5^>^XK+e3j29@tT?BNAU{qNZwnAA4QR+{H27 z-P;c_Y02G#;})i_KwLd!5gKJScdtEUDakeb^_aC2;nVh2*S1touS2`dmDm+H=wtSV z>AKhx)B?+b2SwJ@f6Ek_LJ92t0Q;qL=P7Az2{+u*Oym}B0ro!Q((s+-)p~L>4rF)2 zbpucS{)g;!n^!lfSLv{R%_4bdEj&EpD1eV^q|n39+Y z(-ZpQiZAepg>w;7k9PlrCC5-p$i&#=-+ z8x6!voYp2Gb@Dt*9fc`Ef3#dDb8gkvH+j|+$}-jIQ)kvypw?|oouP}Yp2+8!8AxAG zLlK3|~-+nRp zDk7v43A*gbv?7&WJcG;NxrPYD;-tFw5eL#xoqYvyXMKVGP#fmS))4V|i%XH8p$U99 zMl9c0157^b^^t>rZA1oBFM#8=2VZ4a!}>X0(Pzq_q(a*pVdWC!o|$$eUl*7C8A3%V zV*mGzEkfrWj10c9F|4UBp%><%ZRICI`}GmV>&88w{=YIJ_uX}>coCB)?09E&@NL#% zX^~131kgVUMKhwpBI(oZrA%hW)unIutg$GvsyVNc9wlGNL3ZeaOhj;G&e9iXa3v9W z-?j924QwpdHdoi{?I*W3S0+WEjqdiaLN)QYP%33LL#MFl<3{j?A}a@GQPm~XQkxJw zK^G-c)fHNe$vCJdtZ`<6G`~A2aE5NWmONev%_^}=sblZoHXU&E;;uHc+v>r07^ubR zJxMnzS!tSxz?*3HWv~o|lezC#zSH==?#F&Z6>@$|3pJTgabpi-Hh?|I6<5p#F93bM zn93RQ!ImuBP75`vjV^hflYi9mJ%{gN$87ZXsW&95sNH&m8V$pfOIG&4bE}MhaWW#d9Ay#{zPY`M&sTYr7W4!Ce=i3 zP-?>125zP;eUGsW*|PDBl0+b&hc7A2SQ?aN07eHo<-$3nLH~~#svYgfEsnv5L5R3&e;FA#TWRR#UyvtO(CJcA;G3n+AMcDiN+Xu zFt8Tu@szo(d37<4JL6I&gYo!;COF_!4VOCn_=N0}i!Utmo2f4Uum|q@E@dpX7u2)! zst1OcdZO{WDrkR0GhSkZFoEW&5_KcLW;2c^E2^BmU|~J=9AsDVkR|opDqD=He^2eI z7AP}Y%il22JbLzUwuF{A(3Hxi9$wu(j`ROnr@RhZF#4t|Ed;$ z+}MInn4fQSy7kSon;23ed|y@is6~S`Lq{zqGSQZ|c7iE|9x_jSDl_<^U z?tO#jp!o|2BXgQqNM>fIyh$>uNXMSmJlqxmhmv2 zJ6}ax4<&CjhNPY!9k`8hs;_mANtr5_&3C~OpIm?KRagiY`m?d& zlzM`=(xt|WqEu>3Za4L~vAJ1~Yo?aukCp6*f65y9tE;em?dnK@*l9w!sg4k^6}N>L zPF|_EyYVwe^~TOm8K{48y?L>={=ODn&*(55-I7MFwiFU>*d4X5(Q1ySjF7s%sIY)& zNzv|(0IV>cTn=}j_%p_)5c=#Qs+I&l(*kN=5!12?%}WP**%@`3Dj`RP4wk0(F60dp zD!N&;{Z$H%@7y*3eZ1a9`-sGv2ZMPQwjL zK?oOhH2R}%3_yt#t;wya-^1N;Tp1Ikd@mU*V+iuV+yF+fZ`W43)y9j;4^b*ltBXWB zF}A*BYCD#a#q2B;{P#DMJ04w}Wqg(1=SzVeO#k{;11O>}!g`IH!~w&d2O)8rE~jk(oM zr>U0W*2v&d7k5rm1FOow)!=Gsn(n*bc8>$X3nH^ndBnW}^gTLUnG?QKFhWH3j`_ZT zU9LHkfm2gdYmQFHPLpGbDk%=!wN>~6Hu3exoPCS%0`%rY@2nw;)E=fNPQ0 z$=ETc-^3*W3MUsa%%d}jcSTo)y%GCrRXf`KOZE`ZTHMc*qFf*Z#t0O#{(^nMjAFFr zUZ~vob%TT_P9vb0qF{`(7V|l)NNyy`5q-;Fq|g%+-Aj~*OSn@hD+5}!^e=-@2!4_U zR=Rb}*IIt>uKVKX)HF?zvco>=OvMnX-iSLQH9Z5OV9da1_iOFQEM4+A*WB2sInRl2 zY{p@zaF7i{@20_>Pa})@q;2KCuP`+|2fiG$=EQ6K(6F*aXOY#^G-U*roi$c? z4xT{`id*)O?WBxV&oze$rg9H+3BJg1d~huZrGN6;gf@PukIQ{HmE}(ur;@6wKqrB! zn06hm`?g~G%9^v(YFyibu&lW<6*WuU6OA7#t@D>Ht%HIkx73@a^00y>DKrI~!2y-~ z|K5nark=xiz2JFH=@WM|mZ@nf9&7o2kMH-6d0wFO$)fK$I2a)?_YTNeEqX9ORlz>R zF-`G+HQxuI+wP7Ge!-Oun5K)^6-l&;33?;)zKFW)Q<5(!$_5#%C-QmsFWc&)(Rntx z;f5qw^t7SC*(<@ZLa}ZNiKL&YP&PU*B47Gn4W_{DbV->{Y$DVrh8eLUsv_@^IPdOH z%}}eBqUSlyP^dUdET?9u+;!XHD@DLFRPE}nHpcI z-8{PTS>!9AgmXAyZ5TMZX?GD_i;D=Eq}DL(h|ie*cp^#BLc?rbl46o-|5L`EV{0h6 zuEJPAD$QtpR_qP;n`}^IyH3y1n9wJk3ihJ+8dWfY*U-QQ1qvwSw^|fPSIJ`}&CEjl zlr0L@6i#C?iXILlBWuaRck1`BynP(zu(7BDcfvvutW~jFra^+>5l1u+=U`KlH+otbM9DKEL zy=x6oW#p>3lg0%m(@7@(5i-JjThONPpG?aI2i|{+1DA=MT9QcAxgd!|{-E;$Pj;$qvNim9wBsAc3iv>I~l<7pJN_Z#5uYqMqq=G5(3o zD~)z@b3@Fb&>rSB?LoNrNH7hcqJwv${Q`8A^q?rxZ`kPZV6=-Na&h%#}}_?}Wi+ln$qrK{32yY8fb#>uX^4WU^Iw0c~T zS&FkRyMs})bRn(P{~5!JL+qc!Nwx5K-ksMrSL*8tJEmfLT2@QbU^D`4(0>$eTWD~^ zlLZgSo(Tztfz~&#JkjW`)!XN49aIiZNR6chfV8ah6tG=Jv$W6mZF?m?=h($T$VMSR z8Ex7&lET0SKp#1IpJV-hY*+v*I1`Twv)-2ib(H6B9;>ZCW^Ht6cc&(WXg@2O$gAyX z{3aFwRKJB*19RqN7n_(Ptmx(jinh$8X{x8uQLc)W0kJa)X1k326`O&7}W$Q;gUXcptUcm)M;Z!NouB+Y@eLLi~{CVdbCX z&jJGoD}Nn86efH?tTt-s9H~roEglw=a8B7W3`K-+!s>emrNG3=M2U?pVxUVfrUEU) zdAyzSfeb2+k){e{78MyJGW*o1QdT&eRNuTV+(hTa^{H8M1B=lY8Kgf>NTNX^6;t<* zy zi6gfWJ1geDS(c%eknyb-({RwwsaeOi#dxXbkgykg&!Hju?(6?JNvMcD_f#gl00>_9 zq^4#mWKgieUgNDA)t6iM$V9&Pa70$0rE1e4W@PEwqGX!k$7nDQy2IeuL=c%q|G+MC z7xm1TW-Hgz zkeEvesTV-5o~9^Mv*dLyO9+PJ0JZ{au?8aX7{s|Wv^ zaTw^65))5sVxOW(60CnO)tjvwJmx3t`{I{}R>X}ak#f>*T+1SclC!PH)ErrNi_Wed zcn)T@Gc@Wf=O|-kpGlY6N_H`Nv&~61aWLX4R$hGU|LG7uYP2R7VmZm$9ZP6#M5wC0X|&QW6MhDQgBdFehKJV&V^+ff@Q)GQ8) zrkREt{kTDojBDi!%|}2Z|Pmp2T{iIDP zXxSoaaA1w_Q8h9aUN8=crqbc=x(R^*V4!Nol&EbX{ee)_*TtAiS6&* zBZcED9vo1Uxt7~Om_u?xt6>ud+f4X|QlsoSUmrOzyK7Txfw<)DxyA<3+co>0OGtk{ z*Fd9nJnoP5e#{_rVVXS-a)sxB8UqvgZNVOcj~l`(Qeb%zSSoF zc3dz}UwzMq5m84G%v+3hLUF$SN!BPNYDWW&mke$rBtZIFsKi<>!r6JwPdFR3_GPIC z3U;6|;SC2>M$h{{zCyj**{1jY@3yjh_k1&Msn6s`{9oTUzrIr2Y;HDIYU{!R(N`U^ z=w)F*xZ;GAd9yM^bdRsP|9%T|lqP@TeNUpi8(n8)zFfKSr<9pimeF<(tJ1}K6>u$u2X`m-S-qGY*kF_1=sj zhsMR{4qTs`WosMM=h#6B1^=LgF?LWwb@1mLJDOt$5-1RQ|Je|8viV?#RH$!1d~ z?BpeAg;M2njl8_FVa4$6*5ES@08`JQj@><9r^M{-GKa<8HMYAEp)rvdU~MvSj@V-Ps2& z2*6Dx34x9WD}7_-ud_TQ@Dlk_s`HZ9BK&s{riC3V#Kmg%nk zp}QC8RGB;`zc9(9rWCk}~kO9<^>nrj{V0_aRbLh`VpMmZ?JghFy)BS^>MsUxF1I`sxj+|Qu6Yo- za0W!b?~#!UXMl$5kGf^#LK)<+<3Z#CU7A^QpXEXsXy|$5_yYB8zI#0STqhc+$n2I! zM$+7<-2;z|Tqu(W^vKACGSG1Qk=~dS26Etb9(L2y!UE86%?HB*k;7Zve6>K$>dQV5 zfQADfMN+)zmPbY|P@?mWk0PmnbKk?-3pDrOx`(wFC|7#p5w~zypuq-v9vQhnQLEb? z8M#1LnD%^#q@E_Y$mdkL3)Ix)b&rq~(;acs4;+-d&HJULY%P=lCFU^3^QRu=8dQU(v11 z{)k7u(5=kgBObn@mKL{9xOL_NnSnjuVUihm_!bWglss7WfIw#8-8XqaAT#jrxCae0 zK*Qk8zApd`dmdYMf$G%uj(H9fJ*amFK7u1N@a{uaUj$`ah)L#yw|Ep9nRy3~`o4f| zmOR>s(wVp4W0Epfh z8NA)4@a9Ra-#X#>0+sdkj#r$f=saod+wLhUQ}d*?`^P*mkXGKer;F%aAof!2{k1q` z)P1E@pPWSMcnu>byYCWLvKn#mA+A?g|_c}kcK%qB_*%SXM-2GS6# zD|~Yri2BP;5SSofQAX(9Bvlq21%1zfDf>>WLR49#p?$x{{V;B04is2r0+dIz8*<~1 z1*@VQ{csNxY^igaI31^GPfa3|mI_AdNa;jUIjfRW>bICVu!Vcgc8QOuIF5?HVldHU zcddaOQva_Tkwy(ewT_UZ3Wz>H7?%Eq6NdNXh9N0a&5elYx)TW0R^>#*QGqyg1A$hJ zED(}&^B(-pN1Xc={c+gEH2IlfYrSK8ekKaB9n@FZbpnCh=_YdD4E@On|EQHMP&rE1 zdi(D6I=I7EUwv==mG=`P;ieX|aw*}yiTzoq)0UiTY{ChOH{92&`Uhply9741K~78BRbr47G;fNMp!`!h<8;lH+!M zbF6OyEYNBG5oS#Etuc<2DKc@|1nSfzRU3u6S5*sHzV!SiiUPvlD%#)bqz+3K2r*Kr zETz13UC<**$Rky+Lw%GWiDdi-|1S z7>t4eM)5I&(4;8*HtU#TK!&6>3(8S3V$J1FK-o7zNdqFM$TBB$RFp(--SpaNj*eIMaPgS6vd{$Pj43BL9KTmv-)WJ@RjT`Kzi)FL?Pmm$ z+*jgQ{vuvwN8e=tqQUS$aa7VcaFE7M0tII{aAU{WS`=kISd-J7XTu5q;tdz6@Q`>& zCyxTKfF>%l{s;xIKLp>fl1%mD@S~{rxdu7pLebt$H;T~KDR!&b+M^`waC6K8fVOM> z(FqmHRK4#uXqh@qD|i%FsiG_`{Uzz}7P$phB3MfwO`}1a#0zsDjE(Zt?(H&APtfEH zWkL&5=O`twf+}Z_2nC|dsohRQaTIRnj)yaT~m_U z`}-+AROJ0A#Z-MCMNAcTzB%++NO$v(PW-Zj*#91j5QnCH+{45xig`I^c2pc*+0yq~ z&Lzqj`vN7IC%8@j@MpouxF-Jvvr9a z!694Z5NGxOlu-{p*@Am@GqR=>C9Gfk0SkA@3&O$-zTSfa@^2F_y6e>I7+DYM7hVwkvY+i0qek8DulKC-fAL>gJ_AX?i zsStggky8ooqGvA5okzTOa1(v=TaHbznHa4l*klkwvLfF)RQ_ufIH^LtSzW7 z-Cs7^Hy7r1@$}Yuw}H;KXoM3NWdwF}Xnxe%jrBzjTR9pC65;iJ(YQ?*WVp)T&p>(` zIrqD4e$?8p^~E=8zk4QV-1#Q)(!ib z)DbDLwQ-UJj1D@66oEvPGjY)==T{o_hs{o7H)<==RJATziQPw z9W?iYOJ{3H^y+E{wB*2qjU$1jTDwz6Lzj&p8623Ov$mT0mRHHJ7DCCRDvLjs;oQXP zN-t#EQpNl(za`_NM-;sm4QCzM{-^63O@wgVHo}exAa{hcRZ+(iJiKRJrdiNA)9}K~fj&<2kFw#m! zLGlFLEr2ORX8jQX_obhR&xgm6m~#abom;D+-3_Dlm2X_RCk*WjK{1S>VHg__vB~mo!4HS@>5Rly+%|l7i#v0AV{Moz5ac|iv_CSDjWXl@=v<)(iTAy zVk+v0=I=OKu)0d-L(UKwY2;WycrY|(0U@?+_PcaK#>U%sek#V0637#$4VWH8Rig>B z%$)sn7??yud1Rn{`%9Wmk%hrz;g-3ufdh9%Qb_5O8dMpe{VHD7~_p<7+*dO)i6*C<|Q{L`Emj|x}D~4 zFjfj`6(-T?%S1!%x@&YWog9}OeNa=k4BzkRCa3TB7^lQu2lIav*B-qer5R+_l|`X; z&3lYa{IcRGQR_bZ-%a;WkZL{ zin{43x(z<&dycEOc7;Le_kIjaQ9~aOUrfZ^N;yX zd*>Id(@q_AW3x-=9G^Iyw8u6n3_fIVs1p+Iq@sV61_USN1H)rV=5b*yhz0xD+omht3AF(6@dPFsfWytEf4MMS`9%ZMF9f#Y6U#lfSf;)* zW4`AQ%f78rTNxkEP*)kBSe^;+6q?TD7RysKkIV-&CRRW!KW1=(peyr_&O_tG^2|sS zjYOxTcSa9KUyA>J*~p3L8>49EUme3ZK=H5fbmU?DeeW%JS}pv)@qxGNFCug~IdOWU zwzAgPte--^fvZn#Vosd6xX6yaQkHjrEe_fyACZ2Cs?AIOj&Ti9|Dm|_C;1a*L+k}1 zs3wy_nBa>nZW(idAd5ee^*SsFmHiMBo=r*%jsimQS1$w8QIvqtWgIEGgDQJ$=_Q|h>B4|s_;iR_?IpmuB_KVuz!7hbFkV=DC&UtW^&nPi`-r%;&{_fxpqqXx2}xfqgK`Xv`SFlrcc zb#AD+IzOkIk|(N!K?i)9lNT&tsdtqdNpxWeZ4h1TA=)jCIFU$~wA@If(IXgXm-z7( zVAKWjw&yXvJs27M^&wi;XE2X#wVZIz;dFmijrWjCqrDBz&6G80#bj)-i}sWzU@t|x zKWBar%|c$RV<^bq(A~!tOKxi!*URE9gQKm zN`sus#$h1yf~8sH7AreLJ#f<`diXm8~vx&5n}wdQ#_FVrNvC zk76v)|IvX8X=nO#$}m5Y@LsaA*iQ+vkXdVQc&&5IjaFlw@5Q4`Ss7AKf1YB- z#^=Sd@c7iszvO+G@tEmR_)m^ao=@02P!GWFrZoJ~6}g*jX(OCb`YjRYyJrl#RkBWa zOQXh~;w?bio3K%)s-!|J z`J2Ea1(FR|#NTJ4n{Sg<8p-=gJ{BsMhS+qYxk_c_26e>8v2*A+j^Tz_I=o+^_{OyU;&nANTnXL`-}Oa3zlm1J029JI7?BfmgWg(L8|0n5*vbL9|Q@H zT*z}us4%z>JYoZS=mS)-$eILIkG*on%%)IQUA1o((obrg4ceX6J=ZIaYqQ-deA%)X%Q3%k6W1Q#lFUO!QwF zO3x|33B4cea6P&)P8f)hGEa5NP7u}x7&a|+FgBY<Ia=zKbuqK&aVKG_JxT+VqlPk+I6J^JzO&EK!Jpi7=629DUtd z8i1S!P#AH5Pv42@DH`8X;rW3M&tFJ_rv(e!NW`D)kJx{ni%vpHiJY=N8UzVW4w#o` zqLXF&<>}}oxn zYn`r;bWc#gwPJiuum(aO<%7?A$v&BqvCd|kRI|=ku#6=XoQ!n%CdWByGK|LmCv$HC zCRcKmiQbab-PNnpD`jCI4Y(-DSY$0yWn-4?6$!h$lg@6purbb5RhBBPs>J@L0+$9szz#J_Z;y$jJN;(bh5ic3O#?fz&PFd6u)(wH_D_f@fe?t8|%&W<JS7~s8wQ(xcYxbwHHh5InSrgD?yOpCyshpzC)mJ4Jq~69N_Z8+A*a9w{5VBc+&ts%eUapiN$cRS4Mb*eq#s@R z!o;>lN1(aSvjh=ueF+w5D;pVqvu%&?aZ-&p1kr^(Xlg)GsiC(e34BriK@yo5`-mgsZfCEH5g zdv%Ij;Ot6xRN}ZUvuVozcmJkonjWxr*YY*oqK3)hTf1oo%M4@kjgrW8Q8c^9X;*kn zdMCIP z9Ia<#y+4x%2SKcb-nUq|LJ!UaE7yaw`x&z}m8~=K@aP_;3=eF8G(5cgx%VhHGoVM7 zjrW>0t#M=hzZ3?EGPVmPzcI+Oa^0ofYh3H-FkO;|O7}}1DtdL84~bU3y`M?FV?w_w zt)&Kl-bI7<6Yg-`362AdrJkXj&myx;iCWamNhvO)zAvZ zhn=VfaBs1-&D2iQqto4y-W~q7rxA*e;B|@bX^P4BZ#&&>2syOioM(nnL40`8a1GeI zEFQG}W;6FraKs8O8hWiY&I>r8`Oy0dc!t}%y*?i8N%_7)^TC}c(cUCr+Yq&dD1DKa z@>C+&D8|WqNqE~&csdc`89U7*!Y(kLp=2US4!#aMh%^*VrT@iVIm{&U+hVU?#Lwnv zkhe5poOX6d9sQ@dBt#lVU@vlk?42%5)7!m=AV9xd!b zj-A(AEU;|ncx4DegIFm&7XE$W;;G21fOjnhJ-fs*(2&ev?zM;-p`$&0k499qh(vpf zC~ncPNe&1m^U=_k5$J}VrGrO1`xHevRz!*77Axw`jHnHj9iW5C@_HV`5{z^Z_gvT^ zm6@f`dORumSPB;5f=f6bLBcUcm^#Rc1YTTexfeIwF*1s)8D0f!LqGPl4R?&(iQ?Zl zK$Y~%Ywtq&ci?7+@R!%#jqwe-ttb147IgQ%_Kp9seV-e!bZo;{*2+mKutH$e?o z%1_yyt3SI@TRL%irMX&vsJ4b&BG2TDx)^7yYf5?(;`DtDAkU>giTtIfZSrfa`W&vu zOkBSZ?E5rb z6}&JSUL~T-PT{!bO*Y+CT-)*JQnThKsU`f`zOKHK7vhpD1ogSYu~I)xN)jc6Yi6P( zv$xvfTE@-HjkPr#A-LlNtN7J6_X(*jP$wR2tRu9gsBKdW4kFpb2S=I<+~|?>a%Mt< z^|f+B;!;i1x+v#Ak@V>9*h>WprfIYr7n=232Enyb+^aooD=YP16`I5XOnT;1h! zdP?R~Pli`;B~*NJ31JfM5uaNNK0dKSH?sWL9R`wW8;oS#FuqtzBeublz=hj)NJhAS zhtF7U_MBpv;msR&=&X476Bdu0qV%=Ro45CWI*er0wBc4Nmac|Lzq*VvyEgyg4lc`Z zLT`S|sh~05?A+m-IGfk*5Jy>BDLljFoBh=#SN6vMVz-R!KRJ}_>58njDEn@S;650d@X9bV!8jU(eo_@8ttl<`WX+GO)TQ{?HNiU&(!L?8DQ(0tXnx z6B5_Q#Ajxj>)66Fw1mqNa_b(+JgtnlIp%lI{YLqek2yGoX`8R!xn#kzxSH-bF`;u1 zXLEJ!2&HDK>0WT`1-fGrzjb%iAmsTp1(NfOJVGGY!hMSHn7f|q@v8LCdjxWV7PY?d zfW0dY3@S!I^*on|Mxqx@pp51p|E&Udq8tESOcT*rn{jbRa{&?U6TG_{`0IC>t6g*( zYH}SPLW=F^awgpX;&lXx`Go7BA|u6}ueGK4zl9P-%Ug zO)i0~D(Wl_#{l~^uDZ6*EOFZ7F{b-(6m=2-QU|Y&c*=2K(W0jqQD8TGe~vJ)OZz;3 zk2tX7o?^s-ZTp%*vc#6J8RTDH^8Gy`p4*g%MA;o__KhJ(M3Z;F$<~bd#_7iT8|$l0FG$t6%u#GL zn~~XN4n#CZ>Ii6u5rNA2U&I=XK(K>#!D;K8ZB7$9{J`2;<1}8#n9wR59|=UT8Yd>V z*|0hk6*n7a(FKmPLA(7eHtp5M>BaTRVq*bjFQkMX?v+&a+ihMGN)Qdlm}WValpYRe+k#Dx zhj69z4x7l@Vsm3@{>kRX%KX#*+enO8P8th`G$l0nXt%z@rk&`ZV!(UNu-HL~%FX~P z4>!+YIt{DY+(dzTrPN99k04OpBaet+-xy>eI>C3Q)2Yt`qac|M*AW^kF>2Pih#XE^ z+1{T*taw=r7hQ82d>3Z}*iCt04joDOFg!|XOe&1JhSZeCNB-YEeSY1TTkUg~}bTi}EITICX_iI~_Qmd_ET! zk&!#1(*9n#vybEbw%QWyKL&NtG1qI#>U+go`1dl!@Rh@*fp4Aq8pg#^%)@XR_a>zf z3&--|(B+tbmGQDzh+w%hmumBGeFV~T-DU{Fc2@mxe}eILbQYG?KUOd2e;T zwH4@zhac_d^zq{kPAHZfw*x8#jM)Zqaq_~OtM4I(~#O_8?X)24& z)pZQ1(HjFW^G0p7Th&qWQ1;ko`H;N1YC?~c>iaZx)9sK)`Z%~{b0S*HocR;3WtGkq zyPIsZybDX@47pO^Mo=+}I5S5@agpQ0c*Dj&E{?^U+gM%20ebj_Gw2&jEiLye6MQb9 z^1;SRjo!<3W*csg#x;$q)k^2b?QYXcsI?H`cw@n|Zsz%BM0I&4#na?2>(~~N@v8D^ zybNRzxSq~R^(Smz9{@U8(dS_&-F-qi+I^bTcuSWskDN`o_UFI}$1rKgYu?MN&q3;J z%+$s?_({75r|T>A)yCYT>&;p)-ZLJXUy408Q6D_pGrC#hU`uz&ICAiaQLwo+(!NXZ zZA__f++I$sM)*~CgaedB^YC|m<32q)%74C~oSDD0&o_|~6wBKRC*tN!ry`t*o7bHR zI0V0WAD?5`#VOl^>o0nbvO|*wQb{-aBYaXQ(7Cy7ZjIK$gCzF9K8%W( zWZpP*2jKly>zY@u+@n66-ow}ZK3m&PHBN_`cGc_y-WwmmoD64+Pt))a%fYQXw6tPf zn1Y+ED*Cym=(J3BlTA&+e{ksze&7|iPERJi*Evs#hyA#J*iUlT1D59!catbjwX*#ScIQ`V2dm)*4sh?)=Du^UK^hvM zUUg1UW2K@b;+yx#N=I45z1z78MV6^^FYhiCW2uSA|9kltk&$aVUo7J>8qy}m69P4L z(5Cv!F|Up~U_ohPWvge)ZDD!+5gg^1tdDobOG^fADIx{p?fduu#nPmQ3C?qEimNFc z^}A9&pM@9xJJRYAO?^D2c^HWAO#2+UBj1)*4_$a?Nn>#iP19?SvIb3u7Zb=MOz$fG@CX-PJj9d$m7)Rn zV}8Bc`5YsacrZk(6+9>>IU{;YaEk^izwHdvgUKxUC(XhjgXrlgh#=p7sep#3r(gh| z%#XWsAO+}o&9&oUh+L%}4RkjjY8i0$f1$zO{vBHi;RY^@XfV6+*tekF(oRf;8Y~1{ zI@|P9Du5se*eMk8{awCF% z?XcFveWui}QbfYsE~2M|A_0$ub4C_PlusA3K6v=jiBPC?e$SS3$d5S0yJg66R#5PP zkI72@_ictkWcr{A=ZvF9zCJdT^4?;aE?g{Xkr~r8O%ERCgE47d;yuI7Qc5+}uCE`d zPTKPp=aO!$NFt9+a{(lFi0?LQ%GdA~k8eC>B0Cb@khGza|3h1(>P?1c8tZtn?CJrH zbw9e_n6${N=Gm>y&_i<<_v_9WklzI%w)%|?FB)$h2yzH#@ ziF%A#cRyFCL_L<9UK)K2>Wwu10q3?-_#?;2wX}MymNJ-~A-~BV?H3o*8G4^^d%wQ% z+Z8{(tb9F%eF`esNvntWZpv_PhVldctIVHDhL*wfG^MHkPTJ=fo$E6B=_0!S(Uk9L zD{*P0B(Ah{7szE9txnS`W`B^<{w&&0fl9a%ar46|pA**arF0LGt7%|+n&SMfr?gLd zflf;IjzYYDnD#xyBSSTHa~AdzqIBsV)V>4H*MiO8a5Q!mYV7=F^tfTq>47@t`N;m@ zRko=`ZbAL2Wo&bupcTC;zK~nk2PzMpIMH0ekt+7V3~Yoi)ObVTN`Gw|&aVg`voWV_ zF&0RNJ_-vs0XCJculc8%idpaB&90~fANO?PNxD2MJ~oUyG8oiwD}}r^#|x9W8&tmL=<`p?7Qh+h<%nR9ktlHg_ge zWM7bi?yHme5F=GrJKH;UUpH13>4h5O-i?Pc8Rl^hpL&#qG0KOMLg)BAM0D8>Bl+}- z>eEAu^fIV{{YMQ@iO^_#3$wd2QquecKTnEr0bxDoG#oEInin^8i)XO{aCm~l;G?`3 zICLuLN7MATVURUvV!hVDjqpy^$}+BXYMi=2H%dA)K+KyH%~~b+2YVDFkp|=2#_4d@ z$g>d6Ngwb-ez)g9XohZrJ1H&=Gqmy*`2>%pPYd5FmtdkAjpyaYX;~}t#?_i}R$4MP zpXJoTNrQb<^w6C(X3j>I4iEV_;wh}|zt}>iw=Zgq6@O5aHsa2%T^l}Ug@R7`s0N?1 zsh$e2X2*3pzDcTs!<`+YCOcM&UeeSeI1jSzA7r~E#7gz0=M7HOW4T8t4 zG>8*;=c_@f1o2_Tf>GpLsK|Knn>Ex}d%U?Gez;lXR2or}n+u$$RRpAsa?56nC%0}` z5xe_sZo@2hj}svXIjvL=gdZfb-1Ru!#0u7w&Ro>f?PkLgid3 zo91%r73!A7Rw&e|={Kv`cFNY>oqkeaNSZ9~C;em*N<-*p`ED-DB+I)IA!kPErOTjK zgk6i9P=u3{p$G|a?NWs4>NrK}*ba6*#Y^{a5hhvQjR-k2$}qYNdPUf=xQVndHkUpd zK9s$r+uu|45r=@#$Gdkg%zL>or@YLUG$M+bk5=Q&6k|^zD{0JQGL3QOmHuYzkjK`# z7x}z!1UKbOfBOjVz52B;zIoxui&6ef`>2+FS#59(<(F`CPWa1eM_z*R_kA{ME4lkZ zK_XvnsXn)UWWHW+y@4*Gd4w*QLD-K8k^J2_j^%i?BOcXXnT4=0gY?o5@AH%+z4Ui| zWOv`YWX{!zsEz}2Roj>pN775_q87gouY1gD)gfI^Q-7{5O}KL%f7fT z|5IW;Hr=t0*7H4f-92*>pQldD*x# z*o%DBni#?&u8r`*+Wb5{1bfL_F^RxLy{7f3ZH?TJa3?>=>*g-?pS&#QB1;g)dZqkC;!Mp_(Apr9OY zfNCu`u};INJ$6tXzxULV~tCdRp5rD>Hw~}e(@v(ef5rYoWW*Vytv{wP zCvLDXhsqON<80>Pc-8#xTKPO=+XKjkG#|VWTB!JhXwfX%EiF2ZBjQDyq9M$YnwCRc zO-DkDTy%-*kM#$I(Mg9&zLk^HGS*=3a=O>lUp>5@1`H0Z1N0#ciBgkZF#uv~;P<3;{ z6%sB=V7tIH(!r!aS}ohb_zkl!h;8Nh$W|^^>o#JICoY2M0m)gl;sg5`?_%P1q|#62 z?ZFGt12Z>0Eb6Bi@wg#l!tgkW*gqVPvueX*{IEc{*^O>C@XW$We=1FedezxAo7mH} z%_VNy_$xk9GbVO`L*Hn*@X2|4F#q9u)p0^ctPSnx)yq^-BOm2FU+8ofWIYMmi`I4v ziL;dQ;v0kQ8KDm+aEDJ(L#0u(_!t+WD~~JA#@#3d2M2_L+y*NBqXILptK&`!4>x)` zkGhQwH=TRO1j?_6`z6(0@vf;p)1KF5sZyF1r~qF?b|cL+4nwM!LW+iVujrJDa+jXi zz!B_T5$Z{V6cvwd+)_>5zTfV4w2qqnwPzz3`$C(}#9@TE;Ie5vU~2Db zjF{u8s&S%ka`?cXcX{c5rtN+LYTbG50G{>&Eqmw&Uo?QO4L*0bTbZN-5P7#UsUH3n zfi+!h86ThMHD@n&D;{}tzSx!rJaij#>rd5AANex6Cf=Z*yfNN|2!NO{HqGI)VIU!H z*z@6HtoE!}8}^{OV>|ZNYq-zdY5ok%ccoLZ*_}9y00m-LIi@1>x2RW~*e$G4(`fH@ z+nX9AlB4kPPjKLosD_KbL%3GJg&&U->U_CPx3kfjuz;t*3)z$ z+(WRQgAGZ9d~`G{^oX(WNCq*|9x23D+qY?***;)2-GHmH-uDQSoT40>%Om~YUbe83 z5ycec$h0`$rh1YtUQN8%$4>DkDaGZ|K3UNB!_HiF&Wqyaix_8|Ycb7B)MK149T2&n zq!gL!`+8-e_mh+&(>;*VK6>w-XC>&Pf7kbm(w(Fim5Tj;mdI1K{?@*>c`cEPkFxdA zy+0PeSI2_Er}Rs9&iCkkZ@(;l%HTQAm2VABa)d8)^NSx7U@O$1_e_9GaPv^?!`rTE_V0`hT({Oi8-r#l$P?#mngA6g?bz zQ=T(ZlNj`!5m70oC_(;WT0Krz9c%zC_(x}(iKvnXR&Y6-X9tRl1J-cQmS+p9mKwIw zM!Qdsyh~qU%bV8GCl(TbJ4S-Lg2K*uD3X=88O`$g>QlJv*#kaBlJRJ%s3N|q7-YdK z06bey+C82)9Jyy(Asg|b@(HsLL{6;D6YWpgGc3UelxnPWr&tY3WKtGfoul}Je7YA%4sr=$rPsq=#E5j(2eMt0tP!+(2|J_20^QoRfwQV3PPWv!nyFWyb$K* zIjiCJysZYybwrY!%@9?QKVu&^)aZ$1?CyB6x-Y|t-NB8et-4KlVF?@XGtccP-8pf_ z?wOI9I2?v5(jzbCU7MEP3B|@&PjoppC;w_2ZQBj0heenm-YeFs_go5=C;^9OWd= zK^u9QUMwB8ptYOFuRtd{4ZFW<>v*d$;-&0%*NhRT3toIAeQH=bW0O>BxQr`+A55lo z#~}|I7dgHfV@YNx^l^-bdreBvvVKO?G>A7sN@eICew?GB43;vIhm&8ou-dQ_|WH= z7GXRw%{=n1vUEt{nMXm(O9KhWet2g(!jWWJM|xf&bdkdVBJGZi)6Y9%_Fdn*n-FN^$9D4vyhUSCbEoZ)=8M@tNOO8mNp{L7xBVt7S z%q-jhHym$JY?fvL!K$KXZHD5ZigN4p##@RLW9ArIza%?3X6V6qIR4&hubeS=bUDn; zeH`8=>dCRVpWFCEJ)}1w_l|t=oqZyLoH+{Nro`jV&_$Kk(!Pgy;1^|Xl9)ZZsIn|q zQ?kUC44-GzRbbANf`~r{G_M29cJ}kxvx@n?S#secRsrM;IHN)yMAru6<|zJ`>Y=*c z0bZjbC{*# z<~Og7@KK{j19zO6g6&F)OG+72fRPDaLB`bFN~Fb2areHJxBAVtjSFG-ll8fJ18#(1 z9ETcsb%J8W3&y_{*>?an7VJ&~oeS6jSA!0YF@1UTDn=sjoG|({1t(u6ulTMMJ<_{U za7LH%6WEzX*v&8~39e{o<%#dQNC>df{Z?C8N;2wI&~eWpVgyoL?`=3Eid@@hayyJd z*-D&wnmSh|__U;Hh6}El4Myn`3k&py_mweTN6k36e!aPlM6~##3ElrN(ZlB=>;E6N zRA_+=kHwR(o|cXJ=xx9#A3b$#B)0lp8*X88!nNseuguDE-lw>~n`K^y{<^6!VSkYe z!?u0l1a+(`<|kyscIx2_L69{I(4Jd|1*vr3Vaq23=?~TLGMn+v#hXOq#OA9Zc0tZL zKpGP5e216pQWMXm#!rgHs7>z(eO4mZ@wSDxx0dKSCbON6yP*@SoQ)fGqc6o5^(~^cyI8T+^n@_Pcz9!v!|prNtOROJc0|gl+9%>I*(BoU6XbKEqlE zR>*sdq%23ijtX-v_XGZ}B=2^K=Y6UK+o$XuQJMtvKjoTaK}Sh0W9zvb>V#3@IrC z89UyTwc3Juz}c(<3>+T*y3&$pJQsuL7j23a`TWzw(}mJBp<7_B8z9X z1F>(}ti>E@n$`4}y7egkD#y;HET?=8ps+_Tf@uGkz%k<7;s1>HdB+WUFw>Ds2AdLR z*IA>8g)_D-Z@@$!=N~UG(d`1xc?Y(GUc2uEQKEAt+k({07MOww6{cRM`ec1Dn-;oN^CbfN#VzAmUk z!jsy$8!OGQ0_wkCXnpt-VuAm{Rf)pz=feVt;OBfK;5DV2j{e%(uVg?xfyz+7b4+@sSpN_|ENnOya? z#}F3zn7R@n;cAJu4SEMEhepmGRbgPv1f5&NmE%|P&QUU^vU4-SI_?%M|AsAvhng+i zauB~>aMD;MTq89YN}-Wj^8@FZVY)^HzY zkr&QmJK>N~Lq*$Cwj8Vi{Nkis%@U*B#OL^P>HIA5-oCjGr zTOP$DECL{1hT(t zlZ6{pC1oV&X4qmF8hlW&&kKIfrl36ZlzTQHq*Cq(KQ=(F*%l-6#`-FfdptuPi;kN^ zgl&0pnTM6<&hOj3eY}2d7kqG_K*uOUbMg_J6D9W}wY4?eN=TVcvEw+N5M_;MxQMa3 zIX8%E-7mDi)Sf*Ql|^wY6Fi_Nd`Fa{F?#QYGEsdPrjq+ZUoWCusbKuPp42fuH>ix$ zQT)R4jpf(gYNd=)h?VRwb!Mxd(ZWYz%=wv*FHj%fcY-0aUY|iLfTD6xme8mc2EF#~%ob$~N*e%x!q}9S*#=th;QkX z+`8d182O-XF@rqGL13`^7dC@)XV;YxFl%JI%tu-&j3gm4kFI$(pq0|c9Gc;N;Z_pu zyF``UxaGZV|E1GgMflctx%^iSW%M?(mbX&YJ1$}B?ejo+>#vT*@@U&j;!1j?-yn@}Cdd`M+^!hh+Jpa|;H$@6uK)$@9_g z?k9zQ^R?_2^t<{$9oo2U76)mG4OHH^ISh32?UjJ>S)@04(tZ0ouV2g$vb+l)L15p~ zSN>b4Gfz#O2*y2NK=;JC0|ZWpF>!CjciMVq;I7RQi(7x^uy}%4+#7QuQQiJ~n<_m~ z@uBw@3b>Y};9AgVpCsh`lUIWSNIa-o`UjiDz~?iAoAw72hodVR<2MkBGH-IWeCd## zEq`Qvu|W^MI^;05!`t`{h1c3{}xCr=_|B{nN&Ez;J$+=|XVez*e{EHyDuq(-N*+uIGsrBg263x1We_{OFpAv)?#s_&wnO^Z|u|d7c2aj70+33ESLq{UC?V)A5 z#r-pbXl+ZhR>O#)G+Nx%GKf}tMCg~fR>DJV_fp&^Q&T}>dr7P(6Qf%e49tyJ*2uMt ztPkOGiBVobX|9rXcJ_;%HFr$hawe(=1SZ0(CaSKbiae9T4I8w>@Cm_zb}A`cn78HI z1g2EtYMKu4Gu=Vzy(3Zzb5%XG23hL%?Gp1k3f$AEhKi26dr$`ocL>zNEL9IFV|IqM zrhSQ2l$h%A(oIBQLp%r_dioQujO`9^_F4M+C$_y10v~_1XD`A4D zXBS$C1md{$)j0dMKv6EJz)0b)!Hk3{p}QI#Df?64W=G^EOak?2W4u(nMMz>3Xm#!u zdLCs#?W(^+Xk+;vkv_aVX+7ofq=TmTjzr1M&rBmZESl-uD|b%kgL>#0E5^^>Q)YGf zzConI1jsaUVgjU~J3AuHFb~p0E7nu#{s4hi=LJ&#@IaJGecVfGg`7Yw%zjKG#RHlK zspYmr%8qxA(UTD&pJjt6wO%N6Dh_hqmC@&`LFjD~#F}<{xcm}SD8+upR!CdgAH-(F> zL0p7q;=2+C4beybEO0OH`7B;1$y_X9e z4b%NnCccv;OQfA02c4d|H%qC^K4Cs|4+*+X5zssL4Pzm$=hUs^lv*(Nk z^>Y}ma<34$lDsgx>3T1P$nYMz6y2(RhTNN7_~%k6q-f%akOuZ|DqT-BaicjbBrIeC1cl{n;IQ4eb~= ztf|m7|JgDV;womOI>chtOCgkLz2YGcDf(ai9Jy0E%p^_y`JsCXso--ZQej?QijDUB zdEg{<@+wqfo8u0n#5NJI^+dj+oVQ{6KL{FBUnK~^q`uusbWj+VsfWw)Fw|9Fm9x#0 z0Vkk=9gzc-2$v>m9%?#B)Sb^0Iy?Mi9Ym@yA(2WXr+NBjti!Mfb6X-9XLX!(&m2mT z+teS`L~+kjkdYJHpb|Ko(}*~MLm2+8LxP}89>>sDfE19c2BnY)9JCJG9H^7?Y%gzQ zztu_~oO@}doSJL+=TJ(Vn)5YFpPHx8Niy97I?Gsq0^YTGW7ow&;;XwNK z*}SX8y475XCHxN&542-ZPQ(Lgx&@c685~acS*%06Oyb28I8E)Pfmfc+T^Zy2k+gUjqM~{cFFK;id9pZjbX1?UgdpYk z>ErBCQe`nps{6lItRRJGqU&YvL)W!9A-EYNveWbh);^I8a2b zK@Ek6p#yZMJ*br^oOK{Ook0zqz`4t6qc-1|8`xHNP+Q?4`+%-(4QeGiKOfLcFHmutqqw8K?odL5(P9!GPZ62Q?C(EDUI= zkfEgvqA6u)<_TQsKgh_I2ep%>k?NpEkU37t-UCF_8q`ek)y@HJwFk8ohg)XgtTU*! zXbYjA%^bj7H)_rUy5<&ZD^IEIXd3$D_rDE+yK<8P?uscJ=oP^ zc8tQ%*|mKHxOkbwtOvnWwjyq0WTx3Xlo?G`wpk;(iOelrIWFR{>eJp>@;)Ouaaa?L zlN$yo$xd1mSx{Io#jR(|LnZ*0OKBh*UdpGmFa+!>q%@NWag|aU$OyK|DNQ5})CUY| zHKi53{Tt9kYhV-lw%!2^wNo0(iX1yBZDhh7-IN9%f-OYu-N1EYE2WJgpkgnjnM^2g zJEeha0I@%)g{;_cXK+KAh9{VoZHVepsB4)JVJ@Yu42UP6@_7~^hG zo{wK?h(qg)XOTZtBEcn(PpvQ`V7mnA-GMvY)rOo;_Jj(7J6jQWFh}{_689s+V zcfnEHM42|S!#mmCR{fwC-sKq0iNl6!W_*`VZ6gc7E2OoM3E`E}TF3_R%4tmuf$^$o z?PLOZt+W<0qP%um8`)uAC#{)`IIlanjf_BVE3KuhNUxXHNG2??oz_BDtk+L#WC*ag zlh#fqv=x`$XrIZ%30KT&PeI~e9mA}sh_F8fSLqNT@+)5^(*O9-^2=lsf z3)w;5mfT22h}Rp`LPmhMEw_^u-u2}sGU0|D`TMNUF1TN`3PS+9oZLz#SeKW-&j#uW z0~*K*=}H6J$uuzKOwDA1b5*&i3<#zrf1L%&wdK#V0J)C*d1e^bO>HBC2)0ri$b!In zatm2L-MlD=~@_ zhYi;mfm=DHg)G3WDu15|xV7Z(vjMlZ+`tgPts}RR3AlCT?=u3oExCp4z^x}Yk`cIV z4{G7T3z-(@zT8e$;I<<-k%@)ii^M6N6}aW(CWZiRdAXHLz^x#EpAEQ`1~iZrxRnRC zlWAb8nVQK2+*)!|8Bj}G{yGbA>&TyH0d8IS^UT0)E47UbBIuH)@o`SSwLJX zt%Xc5uASCGHXzqYYhnl}*G+3D6PVjdYat_?>!r1k9nfv3HIot2^#`|+5!CIZwUias z1z(ynSu^2>Tv`iRp#_Wo#%D%xkAL zmI38-(!S3E^}1;dWC43yX$@qCd%XdzWDv#nfF?3wwzM{~G_aG_KsMMHlv2#d5Wp{& z*3MASFQ3-ZaNw`tHWj{L0Ds*Oh^EY%Su>4fhct2oSvT+=CRQ0yKpI0fGp1>!HL-PAUQz%^T`4P^p0z0@W$BAe~hMzTYjerh`zvCU3~Mlyn%-~q>= zB=j~by2+)sl4<44r#6ul-xN|?83N#xQX9&IaLTDoWLUJSsSRXVz+0&;WLd%6sV!t) z!aIYS$smsIpf<9s!CR?~WND$7+CsKvd^@#`A=dGJYC}UUuOXR=i-{t>Zx^#ltt}p6nS8CXdX))1F>FrG=OZa*r) z!;Y}tG&TEXaM@Tnop{bGeqK0Awb*p7>WY(Di}&N5Hh#%*q8f**x!~?y%XG`)88S_B zY_7qIIo9d7DIDKFnac6~1$Y!W$4a6Zd*RX3>5(892@VIZ4sH)VAOCsH$P0sZ5KNEZ z5Vq2K#0Cn>>egd5qaLc!;~ZnDH<26)@O<~eYHhh5xMW^B^0J5w(Xv^1>By&{?kTW9 zKfDfqKK*TAJN)IfFGu;ds-<6Edl0ohw~xN1Utas^C~xnlTKeU+uR!^4s#^NxwV#37 ziwEdi`sKBsiSpl5we-ttKMS?ravOb1zq~e&@^`9Q`sKB+MC~7`TKeU+pN-ldAElP* zm)Cv{%Kzd{s-<6E`?)Cp$lX*+zr6NUD1XO2R7=0Sb{ysZLDkYPul+pK{^Py$E&cM^ z36#I*KB}c(UV8}TAATX#(l4()jPieY3DwdsuYEPjuRyiJUtat9DF2A6rC(nA8r1$W z)F=GqwMS6?OHiNim)Cv)%70JQ(l4(qp!WNrKH)E~okaO>sapEwwNt2VL%G6VUOSEQ zcdJ_Z<+U@Y{Y6zvzr6M+YJUxi8UFIxV<`W)s-<6EJB!+1&eON_%WI1$|4mg(zr6N- z)czFIHvHwaUx@Ngs#^NxwXa3(2cgvAFR%R~l>Zi#I{f9eUySl?D0TSDYrh2L?}bu_ zzr6NKQT}UGTj@j=a~W6m967PF5RB)vi5xW#jwUW^+BEOjt1sw!V0}%iD$rLX26`P+ zrE7F&Ql+1y^?2>^;b{dftwK=AJsMhlMQWwFx?EdQUI>q|j}snib#y-n)Hk?nj`!mN zU8om5Eu#MBJYGd+TeRp-UhG^e_8Fw8&UpSs+N9v?VC{hsoUvW`en7jM^OG%70eX(l4)lGirZ8!Fu}TwO@_e_o`a@<+X1??KddUPrtmjirPO{@S1*kZ4I@* z`Xb_)etGRFl>hOIsg{0u?HtPg%u^1F@^WXV_RI*1r*8;*b->8nSmBlOE_7f}9jfcEg0*PcfC4*(wHM$$?+zt%3S(JPKe<^XZ(D`$i8 z^BPu^3?z(}fX&g~o533X>5q(YE*yn(U`(%Yp6WuvcDvOxaE46i%hq-E8C<=$S>&Z_ z!Dflm0h%a1ZFlF(>g%dE=AP)h=}q+BAiOW9Axdv=j!gxdd0veL#5|dyd0c32tjrVi zU`?H^Ep60c?|C`(sgi%j=Jk=4vyD}{jkBsnAA?H`f5w7$G0~%SUZxg%VC3>io4`VI z^~?h+^N*ab&z)F#XtA+0AB=ZKG_j(QOe*5@H9 z{V<}D3JMGEAYm{gAg=##rG9>W0rFeyew|Ga^nxo@{^zX*{`RC>+JdOdrPDTVpb=a- z9?aXNwe@whTq>Qhi|26()RiJHom*UOHgVf_KKN$)&!JjpfpU2<97-q-cr#RtQ7O#1 zqe4ScZh(K^V}SZ$%(3d$Tdm^Q`%|&63mOZ_})IHCYk~Dtv(g-h(RDQF>$B|UN6>N4! zcm-)UD!NWnO6^h8^3BZ6_l%T&zh!ClxwZA$`UdQKo(p#+*sPZBv5hs*bkWmQQcX5A z%4$sb4MC1;Wi*Ak-HxX4R?{Bg%6e^ey}a6-t3#W8k3pBiF}_mrvRc#+Bj_Qov1lVBNrs zsx6_v(FF1+@Z?l6ICx(7%INjv)NF9D>M1@J9PEsE%8v#Ik9&$|u)OH^&~-IAr+8Vk z9%7-KTC!9Pt4pP`YRh4ze$FF^VB8#*yu@_85Sh!Dl>TAaYB%obH2f`NUVf7P63zTV zZMm@oua7x>(G_dhBf7?>wc1>7VnJE6d!X4r@nA51*;t(Ic)*Gg-?{!L&j@_a%m$n7 zk@nw7{hGlh98-PHUJv7b&m0Xlw?_CBOw?oS9Q>B3hGi>q>dVSd{g6#^6)vEYT)^u! zlwKR*#ph7EJ<^`Bm0)SD7HnR2cm-;h;ImaJ5)B-0SucCe!08cn7K&)>dS7FYUAeZp zR*weoF<6rt0Oj}%->i$)YTv9ohQT}8`#xJxv2c%KRVjIdd!7#$Y!FOti+6VZ)W!m> z0Gz_|+Gz+)h6McY4J6K-e0>#AHhk`PLa(Z^2UIk;iYTrc zaWJSJ+dSt+kL_5GX?q&~TVH4MpBz_ZU>_g=I)2lPY&V{sky-JL?ERP*<>33Jku74@ z6{~-5Puf+ew*!`IYG^To*>pOq#`fZfLj&w$Np^Gr<~Hx0CFIQJjl=?Dl3WI8`rmDV zMFVbRg~3)wx(PSvtsU(EP>%j-6C5+oLJ;uYt;inqQ^|e-g z?$D8^R~qLBx%jT+^vi-;aaPu_i@7q&i&bfm|9X3};Z{A-7h-#n<>tK4E!3hnR4Uty!O$^a&cx!=pGfm@Jo^IMYK*tAEz0gL z*#1^~xQQUnn>-XX;`LK>RstocG2Z!wr5XVRpW|Zt+iXsrUZ=?yDnZd*<QK zFiC9vq&e4mhfNrM!*lSC#U}i?LH+V}XR0{u+o((x$!FGnu{}nyWuFCH%coS+HiuV_ zE6eY9SvdVhPb%Gx-N9#Sjdg5WvC%&A$oa-P{C5M6e{h)l23xnyoOX8bFrzZL3gQ9) zKlYg5P71;GW~;T=^m5-R$`cW(>y4F-y{1@5qqtgscw>3s5#DfP*p>;B%7of8SZ(<9 zPgNV4WT-ZS$@Lz!*RwQo!FP#+Sb@^q3X&z6g>+AJ@&tYl%j8qiyCtACKH|S(m|c%Fi~|X7G7+L+xeVrLfsrZ!}l19*nj>=63{o z93MCUsFdGn58lM#3S7Lk`T5lo*gVV}IWYFLlIcMB zSv>kN$!Kl~lgQmCV!Ajw8v4!M$%W88k5bGxmun3~A-CScm<;t4*yF@X(hlsJS2!yu z(8FOD6g-w-seZP;%$9Q)=u;Dt`}U7`XX4qOua#h%*pTGqXSjiSaI&9ex=@(uyQwkFwMQ~OsIxqDyP zq?5dp;mDNvD6EoBg#Mo6ysp_ig@G&aVw5?DGf@-H*$kS%^x`-}8seQRwhSxvm3do+ zuP_*=nl3}Xur^=8G1*#p(30aP{K&>dtddu>j-2+S^H+*|#OUaF>nCi9%+axs&k++GlK|pPx!*jBu?K-P9Vv~dUJib^_Id+!57@9pvmTO4x}|w=F)DiHcrzJA)t-L z0U~UH+QL5CnNV{GPQ)tYOsY9-yEm2ryAjyNTML_VMtiw-9?KRVYLa>-zhw{h#NiXo zvvg{L_^a0oT4jaN^S+{=r{NAquspM3WW*{3humXprx)k30|Y(tz^yiyBxTMj22kBB{*?mop(M-~oO<)m&Iu1CDc%78c7ZL4P&8Y)1P)aLC~(OEiF$;6HNB zhy}K>qC{r!X$%<5M$DC%03dx#ITk_*r;>l4&C(;Qt1HbT_@(53555|UR($_aYXJgr zB3E%L>?QJ4eYw?Kt*s7xPdvq0>mgS9SznLn>=NNzUXyOk0@1hcA=P4}LO1D=jNa0K zJ7{tG(iU2bGV6CWARaQM_uDd}^~gKid$1Bo7^KH|cxDxcFV8mM4jn?wy~iFz>rgKEQrpubTAGI6V*-UHz}{n>XsUDEG}pGH%WxR^{Ur|AAfvY@ zhr7L>vqj%hQQsb}Ba?$5d>#`|K4|Ys5b$$ggo3wz-ld1LT@S$s;`s^sPZ~%0S`w`> zK1T8%uo>AXEJZ$kghTJP zpC4xd3D2Y*$cnIR((&LIZ9d^&o1=5-Jz|m%A7-r|-0d(v&f)ZU#=Fmttc72TGETPV zaD>DTuXHTA>n@~Is!IQtZ1JkR1Fv*dX+S$4v?)Hk0l?@P%{`fn1k^Ya&82zb zqujIkpaWg6^&gFpkJHc`g|Jk*ter>a7Ad2^*QLD@VfjDVtb-)NX}lzNBSjv;qeFGr zzE{o8580e7%&n~Bz8TMO?#6=fk)z-}*KLQ41P?}^TlS4T@!VrPKe~2d1xYp@p7(0J zTEA>d2{vpVE&wDBc!=(W`5-ICg@>;Dy#aV{uhvc(#DU4t$k^7L^x zTIrzKhA;a_@lpL%yF-tik!Iv>)>&zKut>^qnJxdC&C03*+#ZoUufq;hRQk_0W3&^X z+!yb7mGs`-xBNTd?#eytY`&qBPAF{Ttnx~(eT_319%7aCX>5EmMw)He%<y$YX_h9`_ktRmqEZ~Yg>=dz@1yU=(<|c8?H$q1|7{bcZ4UNJ z{|0oq{TnuCG|80b%fnlmt_WJ;xOGUCxp`f|c6XGknzRKj{ie6VXtkQo!2+k$m`%6w%zc;N%}Aa99LVM z3vqOIqdU^*Fk>89#Shy8DTj+~RWBH^XSK99>sg+Um-gfM^wc3^4 z`@d`RT&dUns9`sz)+14mu|2m~UztO&fs;~_HUO3G@7av68K0j=+0{f(IMK^5)?N3hKD) zIt1SN1Din{3Wp(M|Au%h{h`ex&Lt_zkYcOiyK>_7Z8ye?3k=Q{rMY9C3Xe%vn==>I zNpW6~d;X7DpQ5likJ$HYe)37XyI8tD<2OAE`q5;2jM3 zl~PC67aO!>{da*@BBaGbFQ@6rF(&MqxrpADNKZ$#>?O7GpYq;?0WAn9Qwgiyi1yK_ zZ$YVThigS$*p?fOVp}|27(74%wbq}7T}WKEtK+jO7uL$SpDMg{B(Hq}aR9ldnJY02 zPmVo4b0~Sc&F)k{-g@EBljQ0Bj_6KFi?|8(iit;iGF+6zh(8Oc#mgjy^p(1rC~i!u z6#fSv(>U!JQzXiJ_6)&bo#n}jdcadDhMGi)!Fx%wbtA2pl*p>GpZAhv?l00vQut+* z0KJz)w+0Z^InaAav-GjFjwaKf)2Q;r!B|>Ji&Ckk*dwF2{Jd}w#p++C^)s0aoz~A` zsqUmwP2@wT5gk^z?Z2|S8k>a3B7Ermxcq+9wUKT7(*|F>4BI{w#q-I|b_zS89eF;v*^#+1Cg%C%C->K)<~-C4t&d`7%+(z;F(nW*q~4Te zR$`+xkQr&}49QGKW+qhPfs9CoV@O7}Qy4M#IXqv?#F9@aI~GriwY9}~I}`~e zyiP7{GsbVhkQngDr203>LGj2Wq;7!KP--+uYQ&i%iSaUtVV}fGpS11e#9@;r^m<5a z5G1RVW;Bgu+&(hKS*GFVWl}eM!@q6yLrs`BO;0^n+2d-p zw2mAD(`|O;ro^;I_U*srvQKclOVJ}sG>v1Ld7NVsJuj1b;Ss(2{?0Qai+CX98}Q%> zLM8vso|bUt&_f{ur{k9YyJG`C%>TVj@X6Y_tTfx=rvu5lLTCiv0wMe{9;XR^?Ke~! zBY2Bp`VZ6-HT27Cak2LFkJ6Jv>X+9d(SG`)s+N9vEnJDy*YQkD_{(coQ2v3JQZ4=R zTBK!8fA1L8(l4*Y1zXd9OtqDMBr3|2IYRGmRMzJoTHK%z*v<>I(fH_nCLOvMdOD$- zk=Iy#XiUb`G-g`=HmMR<+iu+zMDch0OQcQXB~zgi_Xu6RTdIVaYMZwSd9!%C<@!C+ zm$1oyc%Q~e{L2De9xilc3iI>k?NVhCl~O-(>HX&A0|G-+kkCbm+bKw>ccD9Nb zeNrU^bVn~@_tCDFO1ma{g6=mK7Usx=}z{Jc|O3_ z>B;*^LU;LPJ4r8TZwt0$67Ohlc7@q6Nw0>trG6I43Q4jpLPD3Meik92OZN$ar_1H9 z?-PVjgoG}OG$Enu!VH`&LPC9MJn81#t=lA;kkGYz1a4+NQI;cNYBe$lln;yA(VyTq<3X52}|H4J&|xtSOO%N1{n^`m!_ury-zg(gd7_gm$E* zVHy&;ESZaGNN7jW%xSVhlF7s?M|eR;7_wzpHn0uX*{POp)F}V$q95r8qX<6=!Vo!!qeBJ8Ay0~Tk0p_>C4g# zBs_gx>L=Y~H6{!v!Rc+0AF@JHHx-=TFId}22&gZ92?1S~w1nVvPnw_fpxk8?l<0=g-!$%Lo34ha1$KtdPAFQGzhks(N^DL$%FXjb;(>Das76?vX6}njo={v1}+Y+<10&Yv)R1PJnSz1%7!YraCr7N{c4v4E#PskhaN4ED% z#Rq}dNAIg9eGhZ6N4AvLu%_6`x3-RFesAux?A=>~%|Bo*ErMIyC^qQ!rKC4;ZDU~p zFDxMuIl62^jUBa*jN{}VwpQ!v4^4u&`a|3RPj{VF%Abx0+VM{n;@Qf%MX%2}ig3PS z9&=WI9|?jHT*HZnO>Auv$x2B=OU>pPy3D1eou?(^J1vL4(}OuhA@-RP@}AIdX|p;4 zx+Zd;*TFiJEE&aZ63oq8!aAFHgjqENxtmM@RiOGjLr?c5g{(@a6Bh}_e@oKPS4OH* zdTi;hP2&foFUj0h1zu_Y zc6CHQ{-#=0mq$!kf3F8DZ*@wApN;jS$1K#hm}2Idr?4?R1MoS?ky>ve1kR)~#3Q7$ z0!)a3`h2C1%Sg<|F3{^`*5K`X$+yqs;lZ@FKKK2wpJMe&+M#ly9AjDAY zeR_C;sz}8HNti$yNLrpB=#|27J@uUus{QABZcJE*1qj}z8!s)XuHa!b^{AU|z9@6t z8YX%#a6HlNr|1MGe3jdK>x{Nj_ViMG70`D7^lEJFVEw9}$J^GA_g=qEo2HAm8KFk! zI@~r*L*)+M+-FO3nhe%O+lU)cPanmElKj2X02Itqv%jv_>SFu6TZ!&DYJg zJ#=qtuGFD?_Ibhu2PQ{QY4fuEwZdW-Z|fGAQNvr#mRNDaaN8a}vRpXSvzT7S(+QiG zYzm9bjaBex|KWTM9PaGT|84l3w6Yq@NCE)n1J+Jz=7o9E zfM&Yxn;}^&!>>#5HMg<8)~exx2_I)s@DPK?dIX$?cajaSooN6cdxG#%x{Ho^y6d2E z^ZZ5;GZ&im$yq0oCT-Z|3yOQ?f z2`*an%y%%peYaM$PuyiR?PL^bVeV5>d>G3!LumNg?UrgKDq&tP?YDT1E9p$EeP=1k z++xkr7XRvq&@7#a-Mm9;7S>MkIM2|z*LA_oF+=BGTY_tNhR(fgBbw+5y4evtD>HQL zbx~N>W(e6|miQrm#J0o_9eZ6A5W@@|dtJA!K+G*2d)*LRrZcpixF~pOXO2NYeUTvu zsOWbR&Cs#ej^NFip<^#8eq)A?y)Fsf@fq5|T$A{r9ZX+93^U}gxh(iSXUJi*W&0Uo z>Cv&*U)^QxX%dwX&<$xgY1`Bh8G?j*f`@X3ucPjk2r(Pes z%fe`}Xvv4WBUuYNWV$XmoM$L5%XSx-R;Ov>B1Jb&s}QOEeh@HCewLOW15A^jrE@^| zkd9X_-X?shPEhtqm1wrq-)Y8pEba&$Slkex&NM-t8zaJ(1a+<*5J(c#xh647M;(7{ zk5>c*H$P!7QP@rWh5d)kGq4EuZb)x(F58ntZF1l)u{d0Z!8IZK3cIb$H%{Yv2p-wd zzyz>kT9%igg0|CsaTP;iPm?uVbAVZAe~J=#W|ET>Tg){)UWH>gyEydS^SHh6aKN5b z5iZAZuZ6V9WysIcXgB;gJtnzXwziQ}{zUjd&F011tzmu}rnv2VSW$c1zTGiZcF{JL zYQKBUE(`a&J^N#|-|gEHjrO}2?E}bgzx#1p6I#o7qbS(?OS`ldmSXFl6!&TkkN#nM z8aW7Q+n%hhg?kR?{7vtE&67d#X67gy{g!4a4aUB5!jdC0X6VB4yj3_~U#M*?ts@_& zMz1yxwE^m1;2R)v^@*f<`#U=6z-n&&)dCh`!-yIwdZmpYh!~GS|5p;LnJR_<$Qjt}Z%GU+ zoh*3YgdYuE1-OmnRDx~QXaUdfT}-q=mxc!8Iqh$V-5w@0-ED&yv)IM0YVBmB6NjI| z;RU_9hU{uDho*H4<3t=@3A*1HUYn!DhQo_qvh~O7=T!5F+fw2;E~ADw%_XR+iCB>d zxaU~&n`5P4O89H%;J35>!i)y*bnER2Nt#YSS*LrVVu#k9#)YGug?C!LuFb7C&O+~O zmT{G+?WEIOj501T;ZI0w7P4qRkWeBB$JVM9TzXpRerrMy z4=k+HbF{_;dUUG){)D`B#~hvNCtIa!iyu{QQC&A~*mi8dBI|mPoe>|!ru^VZrUSGW zpJ=~0!9v_)+HIeg>R?-1R^2$A48nWFl7Sv+)C%uNP@7xAl8x&X$Mdc!G3Ll> zn(kt(CYylqt_L z%W-#9C(&z~SVtm#_xS6RH^UUHIj`kvPrMB>to+>8q4!`NC*poL{9X|3I0PSgb_0;l z=l0(Vdc7pQ$LMs(oO*ji8d)sqWW_#e!dmy8iP3rncX9)wKZoXf$&)P7-(>Sj8BVOd zv5q$|2MKG;)dt_8eaC6PhBLAF?dkY(+vos>Eh4m=!Nm^FjP}v0epfH0n9))jnqYoX2Pl&7@puc>fe1Q=jvhmZGqUX6(ZDQQ=>iEmAtJN>Ijk{ zf3+iXr(f{hoc>qRQDqzi6VumcV4f2pTmoQ~gp)Q42c?z?!$9>a}&^q7aI zXG6AK-Q;ao)Fyu~+TM2Bj-3dDjj?5(ME&eLG{_X}(ab7*UqUz!N1JuCQpJ1rx9{V- z2@ZLW!9RTP>WDI`2G<_LX8YiIURDea-f;eKHaK{k{~;bW-**1+XmIe7Q#eDRtI^FF zycKM{+CsSIF-lZ8>HqL3xu(0qhev6{pO-!a#j;RG&gZIBhfM(U45%Hxy|lr7@b-Of z@TKi1jI}AbzXxI!y@_EL{OVIhXttuUhp z&^-rG`@=Rf%7^9QMQ>UikVY%wR zC($8At+H`yAhm+kjHWht1J!bZf4PU5D6uQXxN4XU7hCLSQqV7}-#7Yq|E?S*ZSP2gEBsQmxUYYQ8 zl(8Ci)ZWD`Y~cDIm(RkFCHTa4AQZi4lKX*D$fYeP#pRffOWSuJa%t{lRYMeU>1NWs4BnS#Y`*0* ze*(T3bDdzUOnN=?&;Bv%TnM1pqY=T6b1_j*)WOjplVdk8$|~t>A6z@k>S`Wh0SDi?AE@9!njg`2R7Xjv}9O zQXSB(D3Ow7y0yxhM_iS;(|r%}Uuoroc>JH0_Rl0buFThCSb7#~OJ81j;&HEE)+mC& zK1JG@DZ~bp9o1?^GY(SjXA`{YL3(;+ImvL@T?zGUw}k}GxI-9gX$_`}Nv+aLlFc;B zb1p~%RJK8^ibP=ND&!!jRNtTIg9A;-SRlNv)==4WGtayUz_IEulQqPuF?xFnR24WWi{q1fG1_+iwC zAM7qG{7~8cKw=Qow0O!qaq2l(NN^HZE zv0z9r&G&@%bwZuzbaG6S&?``EK$Vk~k*Fp~JW3f9A;zd`t8?6}4w0j5b2PZqyIxW- z{6z4B{yLb@LT}VxhgIcx?+3hf6wsctgcUo35YLV=O7=$y5+i5N6TPI^VF=+_WB)%1 z64nXN9toR$h-DaXK#djKD#CNQtC$;ha%E%f;mT87<1~wQ#zhF!Y$L18MPT(Bin8;| zsoi*-g3QJ*nic*Oeu3EPE6 zGC}eyo{y$~N|7lxF1T{Y`W&%`!wA_%tf4`--CY_XCv^)_-uksvDL)a0?D;la+T-*} zhi^MSKT-~_8d%cQ3gc)(>pxpO5&$@KBz!E{Y^meCuZS=1e4VA-Ks!^oC7$4S{}y+) z>fym0uvg_3+*okU!_uk7=^5|FOq5&KZv@}W(%|9%Sy zC~J>cacj%lSld{~*Ee~oipFM_Wt=*-T0aYM+d0|m=c!?I0r|Jdbq~SiKXZUv8P6um zMjhlXv=|IyZ7cmh@J!k;_{*TH%z?GD$a!NiKx)5dM=%pBmPMIw0Nr|)lgjoVd6;`6 zrLbPSSDUcQ_ZWi`L3D0Vij>BP*mLhJD5~o__xm$4iz<)tF8_|ZNU(3~ZlPJqW9-=R z`9{-=l*fon0zX5P$JoDHV2JVAy6XYO|e->sBLF@Bp8B(q${k8 z5Jkun*(lHe(m z@v8H-_-5*ekm=OQH<>@*|6s$aw8` zK}#r+@rH28evvX6+d>9+kuD#(B;*DbDUql?M(HtuB4sj4;Il}Xj5kGwAffAatZh7Gl*xG6PM3-+DLtfZUr&;#geF`S?$aq! zn&b6-ep5V4!6Y|?W@qUh$!!}Q8Je?n;iJ8^OVp8x+Aol#+sbiWiuYt-mhK|!j`-Kd zSpo^$(vE;YLPtOlvjh^5#_nCsX9*pZ&OYJ+?Q@GP78DN&OF@_p2U^sRUuD4gi}V9U$$+*TH|d7>IAS8l zGG5(EditKl#>Fb|lGZOiDGKx|c6-0vPrOWt)X3D%25(Jt#Y>TQwr3Gcb~Yk6q4!g9 z^nvNIMUHxG6?o}8J)xG5L zE{Ve`fFrE0=~Hxiq=$qe=q7KXlgRX2CHhmEgPSuGwm%!pcSq)L3t zM<7aWNuyvL$fr^$-{a}R!<6Ha)_(RL?D*O@sV-?WddUp2)IN0X_4L7Hym)A6i)^3K zhFL3_2fuKihia6(;-TqRLUojCv!Rk#Y%ZeY72izg`?v^mSUgPZLIv9|@N`qBvg{3s ze9l9n5@odP4T+wQL>w!>SK3~Fp{FNg5cYCL`Dh>zJ8{8Bj6L)M?TMX&FW*go_o>*{ zi#(lDaps<}(FF5W;EI~QieNGnS3(5U7kdbrP;;|&i+fp&;!Qk(w9|CHncN4%>|?vY zrW~a)qST&sWcX=k;gd<>B_0-W@H9+h>@AAN_OZL;V^>8~dxlV3s!adc+ZJ zwfBZX;bk5Q6jz;sJ0zvILMl{TwO3|7it*0h(=B6N-L16*^gEyC>DC)ngtdo&9vNGs zhel83F%Qu&1k*#*^vXIsO;v{-i9i@@y*EU_?ZA-L5yfc7~KbOu+=QD*qnUuP;{$!`q z|15z{lvTGkRCe+f6}1C;E?N*IuMLm1p!-UTMzlwHE>udz#0_8(mGWmtRG14iz9c=} zH)ve|naN#N_?#p~?Ji5wOLK=>^vD}#6?hroF11SVsw4->?fa(5H!ByF3a*I*<6>`o zG>zG%1m>9NehN&mL0nvixCFRulYzcoKDl3U%VHCPvY9lvGjAeNqV;%l)bbI>jL^-~ zwnI5lhl4;nZnAHW1|~G3=Ix3MDB47R?dpu z_A<+dru=zHUfIw@oDS>y9kbXVAzB6CD{y4ixA=%OdFst;(Q>p4VNt-kBrIIsjw`E1 zhCK}EOgO@dSu}7t9#5mi);=lLMmk&)S;R$=V-|}fNUOj*z>Z|ghmuT(lAV1nf~CuA zMXt#}1TP;}u)*OZkEDe$hr5s~9Rx}o;-DLs03Ol8~ z=1Tj96>RI(T(FZdi@T64J%1@l_I}u1d!HX`It49=-(f`fA*0w31vp3z;W}m*@RuZH zL_=#8WE+_88k<1(1@vOd-IKoU!QTE)RRK@zD>ge3S*oEoUZ)EKjROyg%2WE#Keksufe z4hOFeZVx^m|9MUD&XH$>b`VUT!=A0OeIy*+wF@hAUr<|bE;r_mJk(sqOE2{YR^}_` zYAsy0f+)NJneUbUz;@^b#la07%B_KB3-A3Lx@V<+E;uyWT*ChjYV-4}K_&PCms|KS zv$2@-f1H)Ckem7X5|T4CKLt;duSYCP#x_TBPqS&ODR5_K>aVPdir(i&!YaH?;xeE zMt!ZV&Mo3@+Alyl9%2TL<9<%M)t4giPpmB9{sGTE*?2PYcZWWUWE;kzQT@B{Nw8!k zg}->{E-I>;=8*~oc@3B>ae8&KeM7wT-7R!72$Gcx$Zp;lO#Q^#!^jKpC8`;Rqt3oc zwmy(_sSwV){q=p}V4O}Vt^7VC3o)`aKZv~x1AecH*c(lZV8 zh?~jLOjd5J=xUR1ldKLk4HLk_(Zu1krN$gh`xV@xp16B7PH&F*+8hgTYXF~EdJ)H3 zj7V1#Kbs_<_!F$x$9=8P;g@!FCqKpW!Uh&6%PI3P_$b%Egy?WAzk|anR^%b$d034_{fGt33-gk17&$lfGk=AVx(Q~ zYI%fNuf5h1dp+^269odES!uMAt<{V*T3Zge9}}Jn2}D2w8^ML)dA$&VAOV|KGME77 zhJYYI90C`GM=)Ht5rKen^TGZ8)#r3~b$9id8A-Xn&%a+LtJCLnJ-Vv8y1KeL&3K)z z{eJ3S@efnpx9O~gWD_wdW7{uFh2-BUjfM*|Dt%_v{YWbq5!}*ItxbnKK*jcpjmoLn z0>Ar;q0G54p4v{#AFrDkK*E zSDT1U6Y!+ro=&%24voo#;-t`_a-<14uj3MdD=6A?kIEsQkyMzPky@edz1Uoo-Y~5# z9rfTCw3-m3nk0j&y!CigjOgHhbk=~3nUirG8mc&KpN=y&IovfDP3+h@?U}8Jah0MA z+ve5;4$jICrPG_kit;NI{F#v$VSAxF1|K%(0OW2cPri@EqMP{a#ooM|>;@KbJWzD8 zxr(!$xF90i<>z0*NYNSCJY&%lF;~NE5~q2W${^4%OTB7Sl9c~Cw3sj!<(Y7p=c-xs z&}hYI05vKm0=N06y^o zGc#qLcf_Pj;ZWkCr=GzPGNL$zGl_?~g-9C?_jf)u(uR1%?x*Vn(a1Zn44r59c?ah1 z$>;ZZhfYvkCpkro4$Qjt;H8WYO}o7t@?p{0#mCJFu}D93LhpHf`horJJ*Uq*a0efK zL7#WP=f_9#X{Y0j_Ab;2&fxPdP6*_0q&=l4)2^<2>?5mmShD-vKKOvokN2aUyvTgg z=>Vm@BUnb6&QbRI3_BgC+%^Z)BK?5P8_$zGI;(0Vy#zjAF{gAR_<+wF zeQ2j}@kSq0M}>NJ&8gK0Eb>O5*N1lSd7~fg;Pcgd+9zq=?V6LjB0iIJc6H~|bH{!1 zB>4P9zDby*>pZvn;R8ND{ES@MCuzrOJ71nBY3FJu-y}@Z4%QR>@ByF2(120FN!*~v zZpf8cNM+x*@=d}d?SpOQn}kWap0ty15+X&DhumelXo>oGzL}q- zvM-PKF$q-tWuwnnP!X7?M)PT>S}>3Ip^FlXdVNd+t*f_QkZ*pdK+IKhg>r;H;B&8! zY*1F#b|0HSRbx6&%cq@+$2{3*EU1P|ua8ZjQZi5GPdk%TQKp;kCQMQ#vMYVY{U-3a z+Ye{(`Qbj}PSs|v=6lAIRHbaA&$v_ZnMd>8jY+CO^KibKFiE9oZ0QnNHmD*^w~wA4 zBR)Spf839O&%6ET0-vAkGZs{>X6uH0nWv&P+n12*r7!5KU4 zkoWxLGo>)CeTTf~M{kgVd?+q)<%Y->#pa`*E=d6jZ)};OO&o81bM_OaPzP_FZ#;n0 zdCgT|D^4cVUcZ;xpE9Mm`1iPN@KSvZus=<5Q!dpnE>TUn8zfI0`!SmLwO$plKUH`c?$q=}!{8Z2=zD-+1hi$$tCx)g9qm;*EFA$Hq~!U?wUn zOVne-+SU;Xn5M$v(w-3pRZ3o1pcH|J!of?6iwJS&Bn|Rb%dbs8TC>^n92p(lEb7>% zja=)^?SiC3JUfZ^N2mXE(i?w{{EFTG!ZAU*7H`*hn9MSZhnB!G2@gt}lAh<`r<33~ ze5ygR-3j?Seq(A9bP5O#H>eyC!*MGPStuA6Q^+YEeG)@n>FEU7eI4^Kcf`BsjJ zXGt|4d6rbdgDk1^JP*H!B@HqRM;;tmM}FTAUk?kXex3Y3v_6FAyQ9=fzkcg$@VxU3 zYNcPVRb?h_JQJodP66c^tGUQ|ardG@o3NNxQ2-S2audj@b@&*n71c>FeSuU8-hti)?09ba=2Q zcWBzD=_u|uUGyKSYo&Uhk=jJRkyefsSG-gfj>)1)Ke$AWOqP$4KC#aA04#jH%);9g z*~1JPO1*|dBrtj_0`ZlrOH|UKru|8qnK7+%ntTo+tYFtZX`{R9NuOc8W48FyCooNc zd{wvJAhSXtrq$G>CRp@JQS_jurkXfI&y*Cf=();FzOXO;)y{Xx=#kkzv)aTZOWP&^ z4p)Crt*B+#t|)ehogQkX7+A}KVCkVNBf(Q76_kUAh{c%Xth5nzEN5MTMRq)FX@m_r z2$6oQMk!0>NuN+cNyvr`&W20%`x;fs^c0Np4Ib zXyY8Q*fe@Gj9H^pGhc9=U`~p~fM#v?%`#qT z%CK=dtv%Dx33I1i3Qk@1VDp*Nhguqfu@9$$>c;oWh!BHrR#G^owJTi1ds3*zX&@2& zfjH1q0);s)CV-Rb^i_X}Q6+r`5}NI+GJ0teUW%X*os!XznCme~>#&lp*_;lMQJ+al z9xxfc;9zsLJ+X$w@y8y4zcuQT6?bHJ-;#%NI*?^OkXEWPl(C}ADoO{~L61#><({$I z*_5%@l zZ?9!EwzOa#=}+P`blH@&Nbv&hM*`f(UHam<2Y5=mLN%4&RU zc&0EC*Gl@pS&F;nU|%e%;Sh5d|2pseXBK}aOy$hpR{Be%R9d+EO^Q4j0 zAF_UUlp9Dj3WRkExkbThaq46!!7JEZ`=JrvJK1cxqy8Z3YzvZZPXMHYfWEGp)c#D? z)&C)_(e3b3eLZcsR&>Q%kE6HVQo;SNT4WKCOE}F-Wu>acpW^&Gzq)kk_Qt~6naj8- zS&BzyY>dGjOJ2&MVC4}=RCOnSc-PX!#SEmG9EyE)@F;B&2RgVP%#w$FUZi{wtnUHv zq3b|fB0HOcGdvhKJcz9#kJ8S*#{(s8p54(`W4dCbq~$2f&QFC7H3V?`0fNQ-$8zf$ z=h(8gr70a|t!~FMP6vW59v!%G*rQ_q_;!Dq<4dd8)0fu}tV$6s>IuN^4UMJ2g(F!Y zaZbIBxVXO5Am!NM>^UOc4$l;abj1T{M!XfXptCx{|I$T1o!P<0Gx)}r6$NgQV9 z#K*!9T_Kd*`B|BG!s`^`p6gnS?1CX1)F706jPmTw#rEltngzo#$}%tM(3J0zm)r$| zT9JAB60T5j@-?K;9NbCa)1@ZW+Rw#lyjd+4M>Un!C5?nE6l$KwE+JCgjQ~woV<}i8 zz1GpmbTqoOIfmHp@JkzC5USf-ah43dls$%nHG>2{#HH*UtaC7o)xs~x`0=&uUbsh7 zjIlbt6vmdV0rz$z*i{>i``FzwGyaqpA5}^ooQ|w!k5RT?RIeyKZziT!Uc^|>Ip&0X zswC<$mKcPdv3T$jRIyQ&EC>iaMR9n9&51NU1*0h=hlc?RCO}j)W)AI(QWF9q2 z6+KeON`z6&U;vXxIHn755FdMl%HbRy*BDwukhrtv!~zb`x5V#{Cx?Xvcp?4Xr_fqP zO7t}{nUc>MDV!p#Zz$yKyXw_l2dy+KCr**DL7H^1z4>a)T-DB_oI`3+d2`HEcJN=e z8Fr+&3Q0IJHixP@?R)5osv}7|2_PkJ8~KKj*8D>(kOfMC1}NKwS-4s!nR1UA2`ZDoh@hA zOvQSl16*cd8hr^qj0y5YUxN4F(*ADrC0OmUUck67A@uTJw8FbBD~-lHY9pXXgxP6u zU(fe#eVWd z$7|R7_5^W$t;|m3W}En?OH#IV(`S%m0dChHQ00IkX0N*STlqsoHZ?hH2L~H|dTTn1 zVZ`N+s+CN;q}b7+Gbw$AlMZjp_G3Jq-YEBDJRQyGYa-}uM&BVM?=LchOUm8G1)}l@ z&#lfuChbbnWsUN!%!<-&qm^aMg4h+N`wjU_@5vurT)~5r-g%j8#y@xaR+b@G^?M@d ze*Tg5*j#u-aRU)PzV_FslGw~Ly4>2J_JLY4R4N4a;^?(d~? zqO&x~)f>N&QlF2|)swg_tbR+QJ-52lLgm8#S!dc3@$QVo)ZX6$NLvSwU?E_zEug?$ zI>Fh@f=-*GU9aR8_4t}qwsr~dK+JMX`br^5^I<2;7vNu}OX+0CD_29%;FPxBE3q*3 zNRLdUa&HShEgB=LsTk}1KdE!ZK^nO$(JkF3&a%{;Sb6LbI!mST#1n*F9(x26eoZ5Y zXREX|jHRl`^36r*p;oLNG0Fq+e5 zEy)|RpoJ!cH(^*4Y2@HY75_*YfmDd^Y*Du46UM#1YG*OKGMKp(2&NqXI<8slUKg^( zzH$@!8_6^CUZF#K1&O)pCgchm&UAn~BkYkL;g)8M8DZ=M2~s)VXk%cmj!5v(5L5%B zu}mkhbq$rX{z7y9p*t5ADC}UJVg7=ez(za8kd3R9UL;FlwfCpeu<4S7T7gnG#O!R? z;GJHBNS==z#udXG23#u#&Sl0Z-~HCxnIDx z(9L$-4x=X8!m282$uz)t*&M26A+{|Ktw)-W&^04BQOSex&T~VXU^}KN1hai!fxZ;G zS5^YWJdDlGDBZ9%rs~}rt}|1Mi5zfz4ErZBr5t*E zB+`a;l|1H?IKzAB%5{;?XfHg{gdOoGW6&UBS7U9kyW>e#0$%Q#j^EDqc?G6fmZJs) z3I2LS#7a`Psf2y!b>$_uvXix+ZxGwo>KAdIH7F}VpJ9K0R}?&Wf|nXAYfA2FI(Wg^ zfc&r3x@txRL$9nK^~@z#HrskC9+l=0nr|b*S^ArZaC+XNopm>YS=W|NBV4U)Qu(w+ zP9|%D*hXXwD>Gz2M?Qlk*%(PaCC4C59)lo__j!fF1$|zD#8&cOp{i&l>6KKp%p#DJ z0-F_?cl7`kI$4l`%o1!W+or7=Y47k-4W+?!`wkh#663aDdIPVdeM z3ErZd%rTJ&6m-Y2S5Yx@mY>z$KZQC=PM+}yjvrH6d&M||e{G(O4^s%vLQll^|F+NteJ`ys^ai20~*+UG|gEEVXnGMe@c`ckHC6Q1B z<^r`0iwICP`DjQuNl6vu+UskV>GFx2F+|unAJyvtyZM?e2jDCSCQpqGZG?*QkW?%G z5<(uok(iEiL`Nnr5mbLRoVU3fiao{8%C2Xx;P9*t&d4Oq9tUyz}V~U8|2g( zZgjr56)fXW9b!j-?Ur7cNKe-bqRMu`k%N#Os1*rMzCQ%MfYKVtzlD^0(5rj8`@^eI4w9bta@Hb@1}`Bt$kuJa`#{t@&WJk1-#V$nxz&^%Kavx+^sK(?gdPN zh5t7soZ>db^%NQ zNP53b;%e_d!;kcKC83*M6PC}d>UK^ipf@$fefrqR>4U3gpKf+@x*3G^)#U%g8Is}w zo#}%_A*YW4#lKq2`VcDRkTvCNH|BBMi7v~;#sXN_OypbV-2C&6bN(EPwc+5y>g9yk zn4Ce2jh=SJ1^oTAG#e7jp71`^A1fy>SDtZ%ZSG!JKI5c4qCGIKIKnaV80X`Y$2tig zVx9Cn56>9uwysMNF5cug5LdaproLN*7l-DPH zwvBQSOFm@~#P(1+Zcxs22SUJD+Ud~K*ZP;g#>nA8aYL26+I_=Bx9a^UX_1b^t# zbpwt-kO4mO%_HA}l%Kaf4Z>V)JuT(U!gBp0a(yl|o6E1LFJDH&4<-z;AZWIoXg876 zr%FjM!JFl`dP+9A`y=VLt$Kh!%yt}NcB>P1tJ2MBd+VXP>JY~O?qf`_(NWSR`}{G%B5pi3CaMBe7R7P-mp7e*aK$O&aBI-+A|$iaftii zRE|_pskJDl;!@?~UHG&BZ#%|h6%RlG6OUJ&JeYgu7Tt*ylPfwf65|$1qI;&?*eW0M z(z6_HwH2~lvho)k1I;53;Bq}2x_Tv(FI3>DG&orv*^j?6~+g`=ykyI^F@N4@qOhhOuT zSL(dq{)~ZVfcr)uUaC}{F*?Dc0Z(>V>_>Bm?F6zs3{WjzyY>afik@-+K40w5Y z4OuV_ENr81jU*pSb6-^_%S)&OkM#@xR*f?}ucZ8L)+4=6T73iK2EsXb3Rm>VMDsE% z?|2@wvl4m=tP!Q1uU=J)HuV%*up8+fFz&p()*>K%43;_Ns=5SP^bt0nJwSy|m+5!~ zPKT_WTIRQf20MG3qn&@9vuImCmyWNP;J1R$+F+YZc-?O!+thhino5(hg3gloICt}K zX7k?Q2-6iWF@z~mI)*S#We3K4fZ*Mm5yNnt>f>qGV$+6@Z6Fx1HuF6ubr@*F- z2voIXTGt{vZFDwEPTq{IUg++g>4>LH=|V9JN_X|RWYEyEOlLLHiZtvDnS;*iDW=rR zplu*}yDyNrTv>$^c}ruV4od)gWt6jEC?CyEU>9m1Ob_`g*j8o{OAnMST$74gegg zP~AR*5z0*6xid73{q0ben2`^p7Xfl=RR*E;!xVqB-K)hi2a4J{0a4|#2vISB&W5Tp zn?#LxB?1E=2H3Ps-r_61G&r3I3|i~IqK@NFGg_wX@p7%`qfYQZE8w`ZP`j)|(_U$; z*qmvl%lp&{jq2E^dJ#d=fb*pn$($#Q^U?LYE;$br{>aiQO8AfItuBuLKvty}LH8^z zO#ATH2?XTx*O90^{+3_L#6se4>yXS}Ae_%$zvq(kAfLSw`U9~y`OGM`wAARsU?+Nz z&tRRN#|1zXV4Z>+72vHrl=E5a_g!)x?PA)muLi_CG$ z72$jPi12O>#`z2`dtH~D2l)(^@E?f5ozIRlcmN@GLKXQe*6DKng*dBb5f$Rn=j7p> z&*a4GyyQH{XR<`WKuqpM5KfE6#wGFrQ4 z(f6VkbMK>v~h^E02${#d{{{!Rn*% zh4NS|)R&eQ_!7Kgmf+eX#|DGyu#86rgUYW|B4a_v>%}EF3jJk;3)Cp66Bnicrh24R ze$4IK50qrrl7?%r?Qxk4DSHnK;fpLp5_VNOB6roQueKX^(ybd?pQ5L^4_$AVnyudt zjd_BGlh`pz4Lbw`{9v6V2o`hC6pnQS((Z4@2pUDvyT%^<81y2MD=Gvv! zJ*7#CkMu_5pvxrP&W+oZpDuTcSmKk>ZlPl{F=U}eyD?m$fg;PdMB5gt(F^U>>K-2&U4ShsY7t{3Z;s#R`ZABgy7=lafsm6oR=YYkBy3=Y3@@Hn*>H9wG(AlohiYMv)|^SEY9)A*iu+ldJ_5 z(gGH93@03O;>-o>3j6BC%XF}s5>ph-V%$)xI|7 zpsGz)q4u>*Rbktjt26bLdE9gXV=vC0Cu9Q8;=Ral&`yq!;WYMX$<#&xCjdhK>lD4vz`VMZjDX66$kVbd-avFKS+h3m2 z%o1$XyJu9mJ!d1g;4p9?SQ}r#VIg&vL5lB6MHx-rUW^-4m{CWaIH8$}rzl||`W-d} zeIDT`F85P0Vg=`cNV`9#LCRtBizDAU@@+^ud=WM^>Bp@?My=nD25cQ?zhV0ow7l^; zv{#dtrkq`Be(4f+Uze6AE-csQ?we^YV?Hnof4fDQ?Z$7Ks`TtbFhHMRwNJCTsJayg zRH1!hAx9&FCH0Cre1)&_F{cx;YA@KHJ)SWJMZ3oW;%0zLWI0OR52X&erGdQw^D(1| zOlusYG>)nWR@7I$+3%=o4(`Rtykz@4J)Eq&vCmNr$y7jV}fVE&GXMH#;sBfjO1~b#{^UX|I(945Rl$m5;9q@d8 z{?GzdrL6*UrBT@lP&wbY)Jo?GyHK$qEv?bT&U4bmm<41pp;%$5{A^$4*$eR6Dte(R z_JCR6+|puSK>FQuXslLHxqJb)>mo}{5L6`vMbVxJW<0yN&8{aca2O3ZXSe%9r&mq5 z;-RL+cHE3ywy-;r*na4m2PD89_1SY+Sw2&L-G0!juPn{oN@j6fpU1b24W#@9IHl_y zBS_Z7Wau0!*beNd+(cI}o%89#p&2y?A4w-+)2a1eGU-IFRWOfaVg_Y+!k>V%lV#mp zfHV&a5Hm}8%_L`7auh^lgPBEvZNj7`ps1$V7(S63H-ZyIXXE8QUkq2`OetrERFDI!2ghN2gt22UAggaIv~PU*Z@K5h0PJJd8&4q> zUm$S~!SSW4{fx&2>{Hx?#1=iN95DMza!{~K3?&Dl6Oze6@h+e7<2PpR#1ZXJ2wEY? zqh8-?ogLPfKuq(Vh_G(wA!!{A0ng0QfSN=WiGw>7as0vv!b?WJ0}+5fR}ljGbt42X z8Tn4MzF$>Ar(eJI4QTzBPo?Mr{raunh39`k$060P-}>En{>RUzR{Hf@--ze$c@DMG zuiv_X=O4d;TIttoP2Pg%uX`S~(y!M#@;!L|e$`69e(U$5^-rEp-_oz&`h9r*&KFWE z{ratM!t-DMOlqZHzxB;{{*S7ae*M<(N9(VCHhoLKe(Mk5`P)C2TIttsy^7~g6{(ee z{Z`_}hh9vr^y{~7;`w)cKDE-X-}-}i{+Ftie*M-TLhE;aA$?1~UTg9Xc>cO0)Jng8 z>wEG1-Kv#-z1ETciq=0@t@P`+{xDj9^hWBLe*M-T!Sj!(R{Hf@yJ&sK7ty!$>$m$g6P=WkQ3^y{}?L+b}7>0A2sTYnnQUq3~y^y|0&44%LF7`4)` z-}+WO@2OV$^;>@yt#3O)-_q|(lJdyg@bBNjzx_A2lH^5#S;FI^zdPLP?-}m(_YU{^ z9}M^U9}f5W`-Xe{PlkK_{lmTff#F{Ni{W1X%i&)C&~UGR06e7==kf3V6gv0? z2%RvW;qlSVbSR_rx-f;&>)#Z4{aIo!N53WV`t#-2zb*2*Fs~6ZSMYlJOT@n&|9-vD z!8<_B(?fW8eDu2_ufITk{f&{=1!}1GH$`4QB=`RPk=I`&zy8CK*FR5wy&HL5m_iBn zpNPDESnmC&BCo$he*IeHbzyEKWPT>{`ncTtuSZ`0a{2XlMPC0h`Sm}Ey#8|e_4h|! zugI@|F!K7{^6P&QdHuZn`d>y~f2I8Tha#`PLVo=dk=O5+U;mHD>n-{9?>;F$f6+Gy zvndJ9M&$k1Mc#jNaHFYPWf)XS-m>ZG85=X|D;{jwYdznp&&PwI*r?u)rlfR+qMC>r47O z4N~g(nfZ{ySXtt1Xc?y)9p($8|>tO+6C@$O%)NMC_nGm$2QKFm6sC{!WPX$M3~^Q>Nt(_3ng zvAI9f`FuOb>LCI%C0*c>-ZTP)mZPKC14C-5);cJ5bG1FOhJ7xTn$a8KCT6*w;L-t(>S{f?w#fTa7IKzLB`(`4 z%er3jdkWMm)GbIi{|XpYlNBoux1-DhYrPCijA&vTLxz=V4rPllafnJivg*` zfM8#=xmsU+NX)R{DFFk4sWCA1mG*;l)wmU|mJu#JTaR`bFU+V;9>)w?jx<5;#>;O? zw;3HVnS|NLO@=dK6PYjWh*(%RDIL%D_}mW3X(-5O&|!s{NE2W!*6y{^w@8}u1@>>+ z^PJ_#%u(9LauZYYHOC`R)}ibW3z3CfmAG7~uQ73yv+~$P!~K*jNmJXRot5WT@TFrj z+Ktr*FhZ__kfxAyzQGFR63U2QsxPfj&XVY}X5xRXp!0)_BvK|9#}$=gc3*3IZmiEO z)>oh-tZEKB_M@kHSxTlR$y%6tY*I12qcDKWisP4`dUfQEXSeFG|Lp8 zr=Bv+ax8nwtB^O_S1fPn9{R@W+Ff_ub1FI9H4B*Y#w6-gpi$9+O;JrQha@9^szSd> zAW=f29hfOfKrR+%?>Dn_E7`oOc5lP{jr*8h&i|fEHmm$^-0*as{|%R>#I*pqE0yy1 zF_W7bs4@Ob$(+jRWJ-rS5Sy#>um_dbi%dFo3VeFp@CmB`T}vxt)S)q#RJ#9dMqkV3 zHNj<^mf1>$x9qKv?q_tWP@XiV=ulya^A&uV^=*9FW7Ill3OOIJ$3rlx^IeuvIDb5U z8u>v>s0Jfsz$dAqRkxi_(&9=cGH`?8XeD1S=|G>!93U29&~Mv!ew7Ow6 ziad!KK68Nkca1C05_v3#D zf5pK%%8=b3v3lOE3#jMg4mL`8Y>puz4`<{_bAnV+ zgR_m!12`w^&TJ2JlWaZ}`YYQb-49trDeax*K2g`!{xjzxTc}ibf6|T|GHzDd`eK$> z)|U~-6e6VA*va1JXzl0jGm{(A`IDU&EStY^n5g@(2kzyU8*Qpei6ozc0a*MD3lP@> z>|XN#!UNDGrvKl6<;52h8Qu4 zYB>()fC%#;?g|iR&YnAS=RPUxEV+~=KO1r|gL6QX`4Ee53nAWd^FGNc-{+E5iU2tv zntX6O61dy;NmFszrD-<;a(O0a4~d+};u>yKA4Lwd0Ys z69IBSH2L5*eqNwycAqr$R@|ZLMt~d;O+L8ZFN8FmtL~GgZqub{I|Af@X!5~z-X79a zIlo`w>$F^=Heyf?h$s{%y` zN$qo>dKX=yDp4>gUFPUj(JbfXmFqDTxfY{e$5hz`9>N0IW?FedUTwUa z0ms1Jbr(B384N0Ff3O9-3GW;`3gIk7nh-DYB@C+6SKYAj?TEKhH*+vb3lc=t-J`7b ze%lh14*oDC9mck&6E$wEV6(x;AN%2b@du4X54V9dt^2zce-&D~qkVB^9vk@wG--5R zXd^ucEtTFIf;%!%fg~h{#j1wmIzG*9gq4I7h??=sR>b9LvBB!1kj3^%XE zbj5~cEk_s{mLn&zk2B+-tpldVrm;ui?&sMiZ1Kznd_*jlO-f+ox+7u@%n3FAhEf`b z584t8!i&-eC0@WfQJF6>`!1X3gWa}q9-hXO<7`Bl;9xKqyC32Rw3^Gyw=~*wM<&v$ zVWzavsPQw5dE`vM9>q$N3?j?1G;HX-@qQC&UBGTovXj^cExMWKuVfsuGqwdif!j>E z(Nsgiu683`-QFZ^>yt1OAeQ{KjM&{P*mK-Ne}zbYudLtKp!-dR#jhCY@74#XJb+Z5 zvXC)OPTKJYrWWbHvf4maaU(s9Eo?LDNc?CZ50vKQL+Ry1$!d1&8%*(Uq1;;8tWqNO$AJhk-WTx&9&n7fIuPYZ=sTD4yJsmyw?BwZ*LpY> zPMSL98hcitTKupBO|j>b2yVj#_eq45{GCIXhIIB)3;EQ7L7mqAraoy+Qzy)%v*)Rd z=}}C$eAF)CCi#%FKI^N=lNKSJF28~zMs9w$HLi=9jc`)V6atil&QomELnIBwlF*$L z)8<@#`4l#4J-<1YY}x&Li}eZ$Y2G3-FIx#=vBM@AFp%b%F#QwwkMkEb{%(R3rN%oB zYP*?c&5d&AFVrtBEmKJ}=OJdZ)<0Op$8Q8KXKpz%0ew=m+gp_^zcc3swfb0o|7yyY zQT|LPrg9QMXmv+|sP=Xb+oCo>q`*x|Mb3$Plw&#SL-^oJ|0oa))3nl{Nyu!}+7*_T zc*k8(X%3;x!<3BeeAKQ!DN}lsKS1hoXk2O^5l~uMnOkk3cD3M7WKK=Qf#FW>+;X#> zmSFYSkn9RD=Nlj zK`vZ>mszWs$tzOiIRU&Oiv82CfU%->AxqYz=pDzeR*OML+_+mnxQ{|GPoFM zcH96VSx3+jNyO=r?5@g`KR80jK2RsWH)}!8B+gLw9=Cf%OK{ZJ`GZ9~c-TqnT*Oh{ z-sf0O;{*||&#kWEmhHJTD_ST7mMH`Zu`?XCi{_*nFH&N4wfDIe099OXPw1%SqP8=3 z!z~+2EYrTuQev5R6fAd)IBS9*InL)b)`Y09yK+xe8-E+(ABU!p=GvFFRp-)k_OYU|J099k_FMX|CQ@tHe(p{MzSPvJKHU zKXi6wzOl|sMqPTQ-=XI$ys)mDI0Z zuSaV8I>UxcEiffAj#{i~v+D5?c^FTC*u~lx+RZZd8C=1c&c|$4gl(d81Un<;ImwV5 z#{_)!I+?Y!X4;Ci0ZW|r5m7mgxvz7b+(s7)6*(%0FTu=Tr@f$Nn@(>$_6X?QHuvb@ zVf&#rf?><*X!w(KHNu%m;<;Jt{h)mdTlerI>+d?BL**6)5e$N#jO4am9`}Y_w)_k1E(6 z>DsER&Ym1=17kZQ+_bYcNKnnegwAPjEga0#+1PMmmnosKaKIIg{}gg4h)eg>+Q$9kKdp{+@bx6j~6DBvEyB_iI!9qM~(IV{WLl1{u$Q$`I%Itm9+Wa*t%ck zf8z{mi9=PqUE^;cqU4km(fle%1|nb>YUNuqg3d4Ds+6y=95V{-IDeVcn;3+RxN5~7 z<0H7VaH+nAVU;HX{$^b9cD~XgrK&|$R-1F@8f#~7y8~wjJ7(5@G??|h8DSdr84f)> z;!FwC$CckAswthce9|d|VrAkcjP6YGc3~!&ri<~QZ_IbGpB)3VUPMo664_13-msNy{^E692p~p}I1eC4zjPh%2YtNbI&Q(?mtDDzFQkxuWA&T(vrJb8 zawrf+cqfde^l)BhgpZ*bZQOq7o~*-Omm?Euq)>NwnsXc zx)YHL@+h}Q_<$P0;14m%@B`TlfKk5cFX<~h!iq6{N*ce%4{-bnciQngTY2D^m|Lhf zYsOqb$E}U51b`A7n3C(cSVFcOF-5J15#ElVGEN-Yx&bI8RIa!f-BEADu@piMdT}|r z!_@qsuqeFTVsZNHEqA3@n5dXdXwvJrQ9iWGSTO}y(UO1!TF9LPoo+Q>eiCCJd7i z&cLVfW|ET#wBoiC-!@6Qu>C5Fyn=&`iNhuW`C0yywdwSVss2UWcwwghO#U|}`p@Ej z!=4}Ff5Sa=`ip98@@famTN(>>1pK0gF`HkJ`QRHyi3O#vvz;TVaOR9Sdc0&;DBLuH z?#xwfv2MZH6xnqh0kS(OGwD*yA41%UbV!{~Fmv$9qqG*{1{9k=PO%ilKVO)r{)5Aa zOEjNUi#1C%(9^-^tHxgu(ubXdeT$d!3%TpXn$(h*d1baKr~*SypW~IbDL&2og$Df3 zS?2+IFLN<(!ChK+9)Na^SyaNh4Tl}K-hY|WyKFt7n$ZM#%l0HfS%+pE=j|li^Ft-? z(Q)6!J4r<~OFZ{PkD{X*>z;|Ad91T&aaLDZW>^chCqr5QL;+qdx$2fmcD806q1`15 zr@e$cyaov~E?K+?2RPT#@xjt$C0r>}S=?a&&Q_@NiR#j85HS^ObLMWinF^^V;RuWJ zB#Zz4^;+Z&C>VYr1ow=SXnTUk1 zXv6rh2^G#7Q!tiA(IR${BDT(+rj-v`*E!;f_3W%WM6P8cz70e~=YGp36^uw1HDHx_k{3f!A)zJ!lAB&)#xHdcUJWw`vUwGeH1A~ii< zTC~gAe5p?AX^u{o)Sc(t-T)H^GfXdzMmCn0Q7j7E!EV*Z*T8Tl00uj!t=VEFMwlQ;KvN@#OtYh&Wll>GfkLVq?lRlVCk|COuORlm)PCjC^88$VmEU7(rPe?QYeU8GwrthYu8n{d3;`Q1 zaS*s!6T%o=QpDeIFZT2TZ7CY;eBf#PHu<#0wvvBSxT6{y&GLk<(*P5Iu}IgnI?G6-cBQ)$tWq@{QA*Rt%be|` z>>_PlKy!6zExRMf1YxbuV%FGv(U1u&-^8RxZOlMP z#bzd>tS9pM5SX~?L9JeH;Q|4a|2;*zdf52i)?j2{<)qNb$tjpgXNhTtobuA0bY#{9 zH_k~4(AqdUFePuXl%Up$;)CR?YEREuYAI-b1d~Ego3_)X)&s|yD>ys2?_OJOug4Fj z*WwRaT+gmNP+wkBV|XiFcA@XO=o7AR0t$*Jk^V zktTRAvympu$VIs+y%kG@bqpPj$zM@K+?l%(vY6&J7Bz^RdFNiwJ61E3Q#*-F2v(ci zGOF}*H)=tT)SK1fk6GDmYwmvyg+y!!!#cv53cDv^EnCU+bFg7eWbQduY1pM7q6n`f zKW;Jn>gLjl6%P|DvX)uf7zdQLXb!NHQ3*#$F{)bm2@5Yf{jGLgAzZ0twihzgj8x8M zvvENl=xK=JEC*#7LucHkLsN^YMsKze1l)1ArtGSl22C`qTt+V24DVZU)*Xjb1ZIN8 z2nJ=EJ6(!XaDO5bv%^4zk1JL*{Z}{MX8A{`oNwxo(s(!rn^iX_Kw&|10#^k^RkieU ze&-k)abD0pJJX)+nK>(dXrtuk7@^uW68!9y6xyP zYr@)TJb8`~jGCltot*tF_7xUL8&2Ytq6SZ$>ARI|ey@{of&lNEoCk>Tevk72A>QvB zslC*ud0}bmIOy1yt8pq}rYdEYUaj~AN5?r)-A?_PHie@v)myX>e}zqZVXem@Gw-m& zy1=}zGil8LTLr>udglLLo8i5}Q%L7@_q3-D5*4|Vs~t=JEORVNTpF{Y5&V&o^YSlQ zoKsHdSx*>&Ib}@5l@Tp4;<96sF28XQOcnl=NT2J?W%Rl0XDU`z<_l^%_`l9g zfSNs8-b&!wqI8bVFR;4#V$DGa|XjP(TelEUtyeY!MJm&H9jW=8Xwu6ZJFKxd+U zM5RY5Q@%MWZBR~5Q5yGH@5R=#9L5X=eV^vX$PTAnm|>xt8Yj|g_iDwS%^zLGnxXqG z_HXzVJ32U>8?S#BCmj3)M-z>c(T1^z_D&it_Su7FZ^^9^)=uf*LwIbZODj z994PYgND!3%P|YTX>p)qk7~&{*F^0Ow)JnF&1{JnS#eF#oi~o5G}d~GTswI&rmnoH zIc(FRvnk|&xSE~n74mx78AGJTIufb4ySW&ggRJ&`%MzQ)nkF|nJgetoySyCN_DQxKG5i0E}rKdQF0en7H7M@nxwU;=11RFx%w7bJn z^7_c7>UrR>z6ZYZ-jKAcro^Dea$oRUzaPTS>gnYA@NBau#@W&zgk7sFQ&NKdgBL7T zq`?zF+|{^*o3#!O#;yRP+Fojjs6^_`mlqZgJeBrui`nep)W}j&NZjQ{TV>9LI$wLA2v!mM$%I?_;}Gr{ zy8CHhD%Bhql#=iSXu|<>XY1AjzKWOCa>2CT`%_Mofp*@84h2~)WJ4&|+T^Py3WmO4 zhM;dd-*5jtr~m9WbC+p-V!ET;12Oin`&Tv~2{LwazziDFjqu9_w3`RW4og3p#M#rM zDS3hq4H;dRZ)R)5uF|q-jT=~m7Z>3n3$%iVyD@l7-1bJ73n%$Ngsy!KlnbT6pxnK3 z-wNu(fL2v}D31sV4D|mN0g4gK-W^mp`qWmtnjeg*?-u4-&fq-=xFm>-Z z@^f&*rz?d512ZX%NgcaI5K>qCGcFCd+}r`OPmypzmGVLDS9@JxWd`hGW2LdWG)Gf! zTC`43-E66}S?D~|3YhWlk0Px^Sg{p(?N)4^7s`LlN>NWLt)CuVzpP`eQW2_i9}>Y zV?Jc*BX=~bCnVTDZPT4tk^#rp&2*_a_c*Y1)?r}gnwMABPOUt2Gr+M86FUX#AcNy8 zL*kr34hGX1U5g2uau6u=F)99)C0K1Uo?0VB5OzaYJgc%-F$0^KltbozZy0RC?+RqOxv!T0{o1wX|?fmT+v zJ@N$v`V+_Q`lNObwwI-&9mKN2Q8d1$$2Hyrvkty#y z*9PL5$ifD_wDvrU&xOmV{O8zgg`vLzifU-PfA3&~aFoHQ+z%tV_P*FFh#09{&KEL_ zV)*PV+LwS&>3=%-pdy-pj~**G-BexA6Tyd4{L4KTA7|@Xk6_~B117S`^U@LyHC6u6 zVyG;js7-?#SxVURjO-Qzp{$J*f!r5_!arFe(sCne-(*Hhqs?s8zSyXkhHwmN;;t{I z^~13mn!66m^&S^9^9Za%N&c6`jeLk|y8qH|KZOsJnq%H$1=G)Gpv@aEPex(mrZ~_e z!f4akTESk4lLZ;wE7|>LOUK0~-=133Y_>Zkeb`Ke)0_~tReq!?xg*e6MVhk1{*==W z^ZRUSRX%2MZ{u>PG&%d*&E^P(aIZNK6>(epTA8!`G8Hh!^&ad3hRe(J$Z^zcnu@FWo+Lp?93i3t!F=*j z2DtF4mP5-K|7}9VtTtY@u)|EY&HGv6IgDdeZrtIbH4i7T_czu(#q)%O?0&j4gwwB; zq$uT;II>3xDvsPKf|*pnDJzUxa&bpURv3Z^Znmg^aZM8(YK&OlZ}KKu6Pi2&R$k6n zaJRagphIKQG z>I0py?D|&0!TenFmd0`&=MRR*`vkasuz0Uz$b?vzKi$C^;k=8qS!$e!l5ryXh_-lKKYbv_-rdaBYDtEn^KY!%Y}uu4 ztK*cLdGR=vvM*{oN}dX9!sKF@IgwsRmT_d!f9$;=$A5?ciu1@J&@ ze6~mga+37CGp=26%S#;w3+D$vNhh5jJeal5iNR#P#n515PJsu!^tmzM#y!{!vmKR8m)$NHhTIg)V!8$w4sG(k|vu0D6 zDuZz5^netOM9DbVWKIw6b{y_O zWd3>3N;g_6Q&Cj{`na(m)5d~i?n9&`#qpCWKFqcNtfNa;(G|GrBK|lXm=NbO*=Rs= zj1!<0)9E~F7q%xXt>ZV|eanF?Al#5wbytS5_XWfW!{@#6Qw;bARJ~OtbI)EeqRd+4@6A{p+(@6x`6Od*_Bb* z^8&)_zH^huOxLehqTVz1&Xz(dryi5Hdw&Agt9fZ%Cyqj%%d)7WNF7`(QD|u=dr_>t zb%GY(aw((}wD@+m5R92Up)O4HPcoK#J9};1L5EIOAZ*P7>1y+g)qJIG?VTUv3##hI zbS_I-SgB~H552W8>VRjVBXTs9FX?0BOcl!HV`FL`b+SBSYF`#524#YjcswbH$D%AA zsHovNA=DI3_35wPJkLV>JfVmTl-#%il0%v_f75MX5XzTc`3! zWT%wv8pUdkv@w4Ig*AkoHmFF651V$Ciu{yRT@7zPl($aDQPvt_BcnDEtClS}J#g~bcbcsUAUEZ`GJP!7E^Gm zC_3{--a?p$qu}NRDY#JZBBx6|q(Cm`K&s$jV!-w}iyYl1;@$~sLl`1V3Z?ZW>#==iiInr6t$V}5I{2BQx zI%?mFGy#@;UDo6@-Mow2=%h99H2H`oYXEKzKOqmz=So0E8CQ9Fu_kv~rve_G5uQqc z1PR3Dm>;K0Y&eEgjnr`zzvRY8J%kxCRUc?7G_@Jv9Wsj2`W|B(VPixX5m6&jnYALJ z7aN$`Asj5gZdIdb<`CAo9bPJXTi^rLh5`gCO4&)ARa8y6@~Rjf7guq&oXt)e92boK z9&!1a7%nX&OHo==SzEoqv4M}cM{K^9W3%>93ssuV5fVbw((Vc{5mDkqJQt*~T70$b zJ+(aEa!g4=u9qiD0#%PK@%_7zu>HkN?)H(T%Uyz zhc7s$a3+{~W0`i)3nP!3oqOWckl&|9>Z(~9S%*AZ8o?pw6zP@CG`zdmP*IYpE43J^ z*MRCQX)>$v!tWq3vB}<|=&dxj^@!35rx94-QWNwJX zFn^sfeUco_U?`kL24r%O^@WFP>0%D9M$p!^3A6|skHKfDGv%p`8b>^0YX>f^ss8hm zV)zO%RsMt`BOWc?du3Yovw!P>sNI(XVy_#x9*p9$g`t)}N~-N5&t})^HIVCeYF$4` z*UI|!gd=-{90fIn3&CQ#^8r$C(Q=k@Hk2FyQ1h?o}|krjI&41 zl$nf9s`#C+MX15`Mmv$j_dd#}?T(*f5&8Sv7DnB!omESBI_>%!lPMoeWdy5b#s%|n zEO0XPq(2%ABQ3x<;@GO(ZTG{5c^ej!aqSFp7<2G6#yBQQ-$!d~r;@VCJPdZ$;u!38 zm(l~#yBr5W3+MhztiX{KShB2f{we9&nW8H9TB&jPEv8%?sZPhdNYYrUAM*Vp9>WnPEKP1 zUJS?c>WDO;?$zKA(WTuS;5syge}*W?I@f{r8lF5n!lhynk&K8ggs!SN&OkHroH}fe z+7f)sqWV$1B1#1-m6-U-F@(4dh{O&%-a~O4dHd_gQa;be0(f;yF`AZ8p&%Wr)mtN5tL}yBTvQ$eX@k1etU}rZBi)MTlZQdgDgUaL<_#jw`p`CPbwJ=qp(^}))$!aB= zxAKA~xB=ic{x=TrpW%O_{{IaB8@o(p&cefR%nwMaa5)Z2%=~1?FiaaJpgL~&rQL4# z;=Rmiohp&DTjcxNj9-wSaVHs_H zCt;+k-Csx%rOlyLOiv{>g+(2lFohB zrY)k1%-cDn#{CW);}2OlMI8a~`{m}MaX&&v91;BOAy(bZ025slFbire9?2=TsHv5Y z@O5|WN@`+laS4Z|x87k#J_3!^Tr@#COSg@Dyu!{YnOl$ihY(`<7yCohWfucXgn`dmYmHa}p1y8=L*xx4R^0c+#eLgEZ8 zNa7ro*E9*zO1?1)(B$(|0%=spk8G@{tX@*bg#@q_h+0N%`S>=;E>TTS4kca-x+wE+ehyG3gBJH~p&h(k5FWehBiRqpLyhP|>#%FPJJstLZ zigfy)KurE*EA(FZ4ZrtW@4pP+(`MP&c{ST|0yX};O4RVtSKACBDTT*eV8pj06IHqs zTN)Wnj8h!u!V<#aZhaWsokreLv0=wg^G*i1wu*`mxgcd{MSxKG&6Ff>Du<_Z=9c`4 zobMn?6OA{;b>GbaWm8-RCU1V@U}%2he@kHf`EBdB`Iu!V&Ih?bq}r3eq+&Atw)?8v z^0(QJettS;bw~a<+sf?o@vi*wz*lcnliv{;Hu%LF)q>oEvxC`(iej`2V!yqTqE9!a zXg6vk2JWXE?T42Z>Vr%r+KEC&Up>*Mmzvy5x>4Kb+m`b!QsL8dz5bW!R6FvQ1L?ws z{Ow@6(3L+POc%D~j|bO+NAp%81=t3dd z$uPQ5lzSOS7fQ~z*c2Y{Ua4wX{BR&msED5qrU*6h+rjjpC4M`&8g#_(htPrzv4dfh zpd0I9C>_{}^)j3a^kUr%p#j^mK88_%9kG*v{q?>{C zVk`UDTM&_g=q$_pbrDZ@lNKo6x~TZyQ)NowvCyA|ma{wxLhj!32cdD6W=iWP{&x$( zY6rZDa^jYoTj^X=KB+v7XaG`M?-59~kaEZz<92$|!|CXTp=D5%?6&FLC2qE+u;+(;oi4*e4LkdL5Iz+CfFs8FfTIXAl(w74h0Y7@DMSgH zH|E<8FgxZN)OZ+QGoi=6J6s$W;spO2YTVt95&H7WjrQ776Gis&NG*QGP^1?Akb|?N zT3~t7&4Cdu{BMcRzI698=;?MIvfR!_aJ;oKFAUCb>XgjN!S^V z2`vYf%LG6go&!kN!`#4-AP(@q2jM{J&+|Aio6mvX%1~m^b6~j~0HonLfCD9%7Z?)6 z0si+O9N74a91fhT=5wIi9Et3W6cfd)$gm(D@V^I(Fl5!23Z7PpWt&#Iw zy8k0c%H8M#%3R|u0PB;F8v-l-T|Qm=O8*VPZDruRkhNiCzE1EPBqizdA``_YQ`($( zH3MZOQ8LUa3_PE3jTw*9#H&#iXz4EQ#FQ&9l^0 zl}T+qAUwcP5mO8Ve*%}J$0A~xTD1P&4yy&81G}8THuZ@#Y;&X_g2ww)V4#v)#CrOB6QDbI+lCSZB1>u z$8(Aq3ex!iU6MVkyd_JY%<3?*MH^TU33PdR2mfZmT zh1CWWPe6S%6@K;IhWwp{+vof3@cWDPB@%lSMxb3P;rq;LEBJ+f3h;Kw7Cz6CMd@=I zeLJjAOTHxe;*m#3ei?)M2!tX14cmVOEgwh+kGRui(&@}X*&#+9%K+bSl&oJj*} zT|7HIn_@cEQRY&qggQafooA&QC$;1BTc!Lx@pc@wH0Q9)_ehZ)*Qcz^Lrdd3)5@c! zMbTLLNILH3DQG+hj@CYO9|kT-OuwWXKCJN@X~P*MRjDdR-x8cTqxt{;LcR{Y!wIz310>@ z5|YBg*7!Kn_IwOJsW2-fY7azbjvwkP`4gKRKH7FOPOup!jh%#uEQHCwd)#R^>Z@~$ zgd52p#%Nlb7;Ep0{3UpxZ>UC%p9j>Zmjn@U*@us1Sr;o1dQq4)8g$|4VQw+#cC8? zaxoM539KC!zZ|sVdiC+(p<=>ON#fgdpiNNE3*=jZo$-l5WN7z4;v;$%5u7?jZp^~d zX546xYBWHdW+Jx!H>0-%>^dJ@a9wk{TV5LH%71!jrB;u|w~xgu|5eoDp(LJQLi$*| zKwKb%K60szP+Fj3f$7D{=*e8B1nalAL#W%dkrIA|8Vf5QvP7 zh)}hX1AE_=>jd;5Vpt{Fkugk0Jnp0dg(KpSCt;CfoOIbfMQ6y+JYa_OVY87*)AEf? zFByZSo$}H0S9%8Na2q8X#}fZBiV}tX2Cfh-1s0EF6tj}4Dr;2K2wigPqAN@Djk)GL z-O(;7YwLQCw~W3l_Pb@u@U#L7E8QRV!UNW1P9yQHwewa_rNMxquy3s7U|;@J5Bu{f z%%cN$6+PYB**;Tc!PqJW(%e;i%p(c0BLo7+KoZHvqkd~MHUYl zWMR}}mnQOMjfWm=uI?+)ClgunA?j+77$SkXY}$>B%4uIBTm^j#?$VDPwvy=5!KOOod5;wZnFe1;Jqul}M=O zfhtik-f%uLph_sni=7@n4$ZfF4E~YP%d@}17-Tzj#ZQx%%L4hvELwBlN9V}g?-bJQ zbAxgQu9tz6kst`QHl$1O> z7y@Nwhs$0toVHW$d%Y<)8-s2X9-nvf#yzm8ePNcK6QhyMmw6y_=E?|}+c_ZZgn6(q zThEP?X=coW1z9L?iB?#*6Vs;(Ge4i{cwq`?@Y$w?~t7z{IOr{GENMV=!* zlq&Wd#G#5DZDY;8;xLSBg8irpsf^hU|J+?5B6L~er;p|JErfx4y%T0 z=Z18MmYWwR&NUunJ3`i`X5koI1$A$_e?~7WwK~ey==6|oK?U=5T!S99RvQbr#SE^_ zhtr)tdf2>-x{kXH^wL_ho*cFdk6E+u$o%(1WAvTjR*CMmp6(UWLH3$d3%CU@t_v{jkt#qE&BUG>=z^Wmlc^+UtGqfVd43fYvVWG-n@9RfrPGw=IW*T znmz;BGq?He+Cwnq%xfRhc`DSUrHX=D>v9tnew~Rl!BKd4L~c6@sVm7%bREm%k6Pj}WRJ^@kA^Aelg;%4*?rq+z}D z@>&b>%A~Vqq%%_uUph}f&ZcD+QEgun8aMcF*0|0n{5LBc|CQ#0q-)vjhxDCNKr(gw zOL$+#bka+6_2uRHMvIu{6We;RL~I47d2K<=|I%h)OeY)=fCmU*7RIE%QymDQ?Z%<8 z<*l_jnMK9!YL?xQ0rRP-eO{D`Wt`L$=CeV2-WGd4Q(vRy^FI2me7=OS>i3ht_nkPj zee$RF1ri;VI!X^FhiCMXC!8Y#dF?a8g_lI(fL|u!V*zDy3Lk;VB@|;%a=RUePW(GS zIy;9YI#o`xn3+&WrxI7+jkD`nwq3Dv1i^>wKb_!xC9Hg*ggQKSn)#)yiXbRQ+8x7v zTkIXU4-3G!A|7+f;}(5o|3v-PI47>WR=51GWi8e*>Vo^Zy>^IM&uZz2hfzdVV>or$ z_c@kjIGk=|IFXji+NXE3eeD~F?p+2WjYkQFHc16P@N1Dv`0FF@glGHLDutAO{anFc zA9)wrf9{!Z3)FAe-b2gloP{5Utt$frSqBG{e6dW?ZL7`8tvFfM5ZZhZhotV7$=jjl7n5o^ zA5x62JwWQZkZ9@KI=@<9g4cTSm5YeRw{e-Vyp^CG6{AVnNUNcmq!pFjJ|?=b<6i!f zTn?UZtiz9e%53joy|vtgiwJSaED5%%-eMNc)G1q=z;T_9wo)2-P2Yf!A!@%phULV% zUIB!y@Rlp_R;($C(VmauVz1fgx3t9Rm_QqKlG!@yjo=x&R3sDrG3`}ZKe?|+mcP!?XDnWKBOsL29}I}v zF^LMQ!?X`dx{o+&3`&xl;$ZenO$cTy2h6$4m(&OiVsUNun`@pzx{iBv-CUo)b-jfU z!@f*=_oo~Nu4BRL13HVHO+7}!R?t8*Nbfx+wo7yZOwk8(>+%N z9}*IsmgcbQxnD>R`;f{$q%$~zasYsS#RpXL0b!nRQG!{+Lfebhc7NW7wB{X%)G4<(uQ#;3Yg=Tfj&E7bjcA5y`GboWYq z^&v*koO+$KAJDE3 z==5TJRBe72fbL?`ZE}0?(-IgW;ah-r)pZ zQOAd4y`sHC2|S`5AByJ@?HyF$4HduA8z18h?Hx$q3DtZc))U%0l)ww>`cRA))Ifyj z93}osxyZ~Fs&4sRWd6;-9rXMTtmiUtAKQK()-M^jj~%}c<8ch!#jf9l>q`vWPx4Yv z!kCvZa3=-76L|8r=A2q)Z8*3Q2 zkCxvDnH7V!*=yiVw){@`+%#}6J--(_^9<0 zuMFJLj^B})H3sft*YCp42?O_$e3fHb&bDt|r@OQ1M%nRjLrA9t6j)ZW*=`Va4OJb2 zYQ=>yeq%Nza9~2_yV-q`fKjf!x9UYUWpyJ03i6_|g8N3{B7129sBIq<=E~~YrG0M( z{5K~wfqmBG^O9r#xA} z5_jq1%6{Segb%0X!=WN;``4gf_u+JWIJm60!G&PYvi)`+)P@i0uEyHsRnEFS!+P9@ z)%9WByjowGTRaFB{)`W6D}aUMj{6P*)KB}MdOoPL3kLz`oj#mxAI@nMPB^_>zueyU zw!_c*uy%Y{)d!c>4rZvfeOS9bEOLtv4&M8Gc*)J4wZJOp(!ucY=X_WNA6B}EISBdq z?>?-e4-3_^4g%1lKA@5h=&t(8#l}H^`W+us*#~8u78OO$2GcbWo+W!DE}9hSXA2^^NvX-{db!?JfMfy2`Bp>T&~e*+Xa zEgL>8?zHTkrod@QZt*y$otFL46F4nJ9}aU`_6I6(TFO2s?zHTkb%DdO?Ze>?i-ME4 z42GtO**l!TNvWLi*v6fP{qZeu zQd&MN-$~gYyueA>@ZoVMW$!!;9F*d1J`YvySvr~TkEXyuDf_UDgR(zBfrC=>0Wk+< zf1m;frQ?G#4oVvoIU2UB3_JSPb0BmfwlvG7Q{J&+o=M1OxZ6?e}4) z`+@t|@%!MD`M|yG`n~XJdf;A?8BfjhBs_2r1-}P2y$;+-(eH#$oCEh#@_XUa;=sL> zgI?^UH*hBvzY{&34ctS`?}1NN1NYMMd*M^jz`b<*Ui?XB;GQ=8p7``Ja4%iI7ruHO zxR))z7i0DZ?xN>+!3_GqooxG^oJH#R>RPqcnA>mK=DYlLYjW1pca?~m56bKxL>x+oO%13Qv>F8eOQcn3e=vW(*g53U+s;NW!~PQ1dQwXP&nh- z7^;DMgl)eU#*%?M+3`EE1P|QDuHOgz9r9Q9t3f~M2po3Cl9zd-b6aEOAOQWE52)Y+ zqFvU5fb`2gq>>NG@NRz!6!5O>12VkZyI===+xCH2zU>`K$g|r$F)%!vhtv(EJ7vEM z!;OKvsQ6u2S_kf<7W9E)ru$Tz;@A7<8Cx=xJ&#BTA-TgD5!6Yl&NW-S*0Qaao=s_+ zqut+il);=UJ$~{g)J*YO&6!^BISM5;R#9fqMPU3!1^>vz?ak(Wms?`xe|>s*to9sJ z?vCdHn5r$=so3;Bg2aPQRlFmx&#us^BN4XALGWPLm#GYo_po{4UMd&katm;4=NzUR znsuJQwyCd#1I^ws=0jutS>F?rIO|(xSM3ll%$S@g;l_*#D{$zw;&Ai2uG81qXO(fV=Ll#XQyX^4>+ot%`TPUEfL) zNfZ&Jrn>biM-(6kFI!rfH&X0va+3}SEsN-UZ-}U z535~UG%%|RU&oOHPh~vJKJ{c$9knu9od;ul?rnt218+Bkb!}+ zfF%LLR4s-T!_ft^K++gffWhLNg5eOuRd{9@eIHlNGPAS4f4mnF@4bllM`U-l*;7ytO*SNtOb2icz-kXUd~U3KAra&Y=YrUwz( zLzj-_O+@TxR@aEgugzj3ySBha_9q887HqVdE^Np%C>}gy4{JIWHt}$nSy$shugYK` z)E~{w+7O7!!&_@T?!tgNLE}L|_8@6E3Nj086r`3N1`e{&2^?g9f|ck#;lhDF0OUbJ z_LOTd5(;bSl{FI5>oQmv>t)v!+spps0L3B;h4nNnXBpWT6wN%Kk*& zV+NEoH|P^&9wcNBFb5-{)UqQXz3zm0!b(Q#W4-LUVtd)29H3Y@VK)Oy8Vi}zYaT>o z4?a6qH@V>;v$*Dl+|n#AvP%nGWPfr%W5Gq~$uwQkxJVA*d9aW@neABD#6mx_tj2;` zbQltmg-xI-`x7Lh*LLk+o*widAbV&$7y*S&dR>hGy()u&v0ipnv9;_^4nQm%(9b}U z=73axmIn#h{HJ4WlM6~)b|hpLX7CWK8?*2UbY*`6CmdveN#j8_hk1~YZTAjF!s50a z33^oq17p4Hs$y%|pB#W#IH7tz4M`dUy0y)NgKQhRV`-BS_A@JMX-KcjVj;V(z(V#X z2PhUSEM9P8K^(mDU?AJB>{!;sKy@d*Y6=6%n#}Hlr63EMKvMQ6NWt#KG#qIj&@E>k z3}l;|gE6r1CFzwl2GZ*e0}EO31QxPC0SgQ7Ps5VN0>!jxh%6oYvgA_eW!tWUF;V!^ z^y(TD`L&0EjVy=)8`+`&N# z^($QaSABvW3}pMdgE3I;rWe*2NG&@I9Au#rILQ749Q4034N95^1XrTb%!7h#=UOld z7Cw+(SEE3$It&bCffE?W{?v+WS0H>M!tDlAe>RFLxcE1Jg}^7Gufda>&!^|~ukn23 z7xCnGUP#aBU-S8OJo!UnFr2UXuf{A6isM_l5h=hMf(9p3GTLcRYAZOu8Prna@ z$JhZ{R~Ek7jhANUu5+CjF%~_oV$0M(jb{o-i?CliU}3qpiHmtFOpH4;IJzHn;{>8x z+dj8Uuq;YgimIol8Z(Q&&quKv{-Snqo$k}pGeKf(wKq4n=+V`Ru>suee09S7gT@-l z`3|NVGhQcH^~F~TAX*kR(XY*IHMPH8)f%&)Hdu)_c(S0rqZ*S+biYBmNh98#eooyd zB?G+FbNqc(KJSPTE1lDwr=P;bVI?bSEVv}p6y!G)i~WcrLadeC(Pl#4EvnYVX9xN2H@G2hc5-lQNxroP!5KAvR=qTKZBsk=CO1-R?Inl~E}OWlx*rd8i(Lp>=YY2P)O9NPZO@@2 zZGu7D96ISTSE?8v0Nz)PO>2!bOLVKgI48uZ=Kvscmr8ztSuC(neVOwEGt}wH05Agp z4%8);N=!k*E9S4H<@WmNt6iQIZA;&pqwR8IrM|tkl_gv`< za+I1l_0ZI zA!^~yvG6o?)9!v&^$C~kPg6hb{_6~Ql$1=<#kT$1qsMa?O}zl^a_yDe3$Pnk-t5+p z(~~e9yC;|z=whkMFLMjxH1(=qdjt0ZI=ipGfB~`$QNDDNdjXi-e+vgBFxfxGy#P#J zE^t5slikneUH~S$&*y*yCa;Y#FVHQ}H#u6AfXUtGF}o-MlUMFwfTWWFx8BIT08Cza z5eFnNxjW9i08Adfh656qJR0X-048@h7zvRtalbG{2Mu;#?}l;e3=nyFlzV{?`6@Sz zQ)ht4>kO@?a4u%=%5B|matZg;84~W7b1wjqm)^($2}Jf@$h`nW9-ZWN0Zbk+ax+C{ zc>g#9B$?sMFXdhUCU1Q<10>n$BSvnfD!}CBS2Me)5KFSV049%~#{mgU9=w8k0hqk? zrqqF(oGzcL0Fzft1(-(YxI8j*Bq`7OrYOp#N6jj=aVv%qAZ1h91Nr;N4OV=CttzlMrHjNSl zH{Q$uNq3eW-p0KEOdh?Q0}`0*zmaT!atfF{WZa9XDZ=D& z2FNL3^2STK7l6rwA_L?UFxh(n_X03^@M>-sz+~?&+zY_u<=Z(RfyrC1;9dYGFTa@q zl5UGVd@%z9-51;AP(4XJ`C0}BO4oMZ%Dn(grf=EJTPzB2`k%#Zf>`o(+$Mm?1118R zngk-RzmkIyh}`Ea5(PNdPcT4=0EdZyrpiF%!5f%eP=Irjvq)uPNzRii1C!S{i&O?C zZ!-CksWLFxXCk1fGBDZuY(^88fyo}{$x(oFz(hb(6yO|jw4eZ|$3#F=6yV%sBA}@f zFnQ%o3^nNh^bIBgnkoU4mpQqiQ_#0KC07C_Z!i(iR0){8VW#htxtOE~=R=Iqo1_Tm z`b*p_H%Z5-_n8oAk|LY~CIp(K2xp%$dXp64T))kY>d7;}I2 zPWsS&&frW^gmdX79E?EZzhYqoBDXZ;6ye-@o!cT!QiOBq zHtq!=^3uzV(xFxlBEoq?^(R{BYY_7T@<39Av-?8s1t9W(34tal!s#>q=p;oryPVum z<>RQpZ4;Qh$)wySDZ;tI7@SFpaJrn_P<7=JV>Tx#!Z~0J&Lq`edaq!le+HPm!Gu7Q z6yfYLj@l$eIM-Pqfyo}@s7=lQlh?*MAW2OgW6T9bIJY=^G7U@~a@K$%oSUNzxhcZA zV)m?Pt`-pv$8yuaAyN zaBhvei<*-Z;oRaRYYLb=VnU!vig0dm7HJBY+~+J3jUYMVB#WkyT;Z6O=8){)&fx)= z{8mmCQ-srdCG!P}aBgvuMG;Pq<0y)7F29bU1=VnFGOpYtg*Ziq@_;LC943HFlTpwd#5aGugqMvaZe+oY?KQA@^ z(SQMnI=F-T0uXid+1wWhQ7_`Y0EX$lk^2HLdBkZT3O^1Rx4TT?$MuoJJ6(0hGKC-g zmsDTra)Qbfeq4FIn-*mXKdy|rX;G%|*D<2~2hwYfz@} zN3Okz!Q>q9u)wVVG~8mWL78HMqt`JjQ1#>Jc6UQjnPP)3lW8tfapN+_aiX|!8zWfc z`X4doqD-#;ZjlizDsEhQAtPAi`d?@4Nts;#gEzU&MOnE1$KB?lOs@aU0s|zu{<};< ztW2)|!Sgv7AXvA?I2eG*-8XSCkcxU9!w=;8e;X&e)R}mR6D)H5FTI%IdUE}*GX=LY zx&GhD!9cG6<<~MyORoPVCVN>X&;E!B?90?ZdE@omE`X>#7DyoKaFh{V^6Yn+0H#cy z{n2d$Dn3lS{ zkB&1;OOE@^mom~#j{7%pcp%69$_p5VA;A@I+bv8=S!*ulmOA4A+y>e8}yRoaP%R7>1&Z z`_T&+hN6u7!OIwi5*hbn?j=gXVJ*0qD3QZ@jfo9P^1bF(aL#1!=oLoi2Mte-_C9RB-|XD;*k-i% z{kA7(A8mBDFe%jbEPiyu6pGdp*#BZ`nsL097UsY9UQ+$;oI+f#Z`C0gqsAcxyuNRy z3|4SBLUiHoT`_$t8~}rLdbuQ&LU8;CH(t}zleJ@*fb`2|Zgr*8z<2h?qU$+WcWBRX z!!6P4+Ut!swlXhVK5o3w6c-`TUw2IoSwV~amN-VSck`s7Dr&U%4v_d7LmxNVZT$W! zBhQS+T>QbM*BcmF*=(=ZvB_&@K9txLfAkR>&8f|J@7l5cU*>w0alVJPw0noKP@~>n zyZ8tlPukmkwegf1hxfWKGk))Ep929*NfC#9_PS;&x{2*ua(y@mvGg|gU zZ>(Jea!wf71Op3%_FrHChDYGmYquLs(>TOgF+L<3m8Wsy$#`8nLHG59qsLmQFU7+h zaRS5Eea#=0>A&z@+0w$&TBE)ZGcnF{9I8_?m-Ts$iKOkH@sOs;@ORVmrDKUw-pMo> ze)GIrtORZ6Ea=cm(U2F}jBa-1h$m(0JI{+Lj%6OcIJfK6Ik3*^=Jwk1-E?p?8o!~= zvwT>edr0;#rg`VLMG^M(5qFYrT7B|7$pVax7w33o6oQa|4yt2lo7dGbufPu-?Y3NYs;XDB{8I_{3RXDB|pcFdj1 znxWFj(FwN;HA4YZkBLoYD1h2$dJ<-+G_rrf&BHTP8o9zGqGl+7>N17T8494TF&zan z6hJL9Ac(?;$p?zdXQ=RT#2gfuq4;Uu;70uc3Oo)uG*MK5M0ftoo&Ewj{kz;3C>y_f zoY^HM+qp9vGn8z?Ke1v6NedYGpw7&1H}zLb(Rl*THc^ zXvlRpU#GKyTX5j^O&Qs2Hvv-bxB;qA`|NQvOEh(L%y6KVn>JTSMF&o;zx&3V*6-9; z8V}XiapGEyBhV+VlQU?0W-%Pg7Yv4%*2p|KNW&T4lwX;~L%cJN{l*WKAM(xG50Qq( zawKgADe#jABg#EgY&t`YHBd^=&$;NS7X%M6&mjm^g9Y^8Q&PEQ5H|Iktc&I3>h{*= z)_UuGr5Vb`nx3Kl0J$HRIn_^@(nUrmibSc&lzIh9lxo!vXMeNZIZg9JXh6ZHhC-8OrQ{W?3%BOh#oCeri&zFeT(_YN#EIgU zt7eNR9n&-@2j1-7nd8lryNoz-3DZyM{d|VfUrg3`hDxOi^6zD$E6!zoa>QVKWS>?IXrcVZ+{({BUcho} zI6h5%^fou|J+`^I{BZ5A_R^}zij1#H9-L6lxSTy;<^*uf%!HxF5M;VRH;)<%5S_;4 zXgUWvT@Lf~Q{~h+nUVrDN`mT9hX1HO!*LIlXT}V2Xy&2lqr`n5+-D*x_4nWnrUhme zfkUl2o7?mQod-9U>T7XIAsTN<8dcTSr5R<$2+WdEVAyt+bbi&!wgVYrk$ya% zdMO=I^-t6VWpP$<1yh^v${|ZoRg@X99X0E!pp;8h8X^X4ic||WupI-kkjgf7mD-Tu zE3_NpI_Q*=g>YN;R=hX2xA^w8!{d@jmvpeC?5o>8&XM2G*uOclzhnikl+ESKLYpn)Q-TdPelp# z?>+ESs{#A>9{N!SF!%S=M!><3gyPjPBL#&SoKb2xb1eC|kdI%=Luv$5R}02cxml#~ zQiw3q7Y@chu6mXSrYGFJ2y@gU%(S)7Q5;o~?w*I9;=Tn zeHG&u&%C#Z!a#ck9!2r}UzVEEq!pxeUN}lpj)J4)j8NqHuG&G+TRY4^k8!UC>=xyo zghPW9j5^@h4WW)X7A@xT5@5}O@uPE>HYTq1=1n4%XWom*bbD#5`2J$O7ze4JUp!Yl zx4F4ieC9->UPW$?XjQ~^j_3C1+)iq8xs-|8!UO5u5Yc>lQB%8$%0eeZ+#5AetNELH zKTUe1o(spsnP-@z&QBH>VBj$W7lPiw2(r=JHaqy2M!p%deSc;Ig=+C{e)jJ#jr=m6 z{QMnwUMqc(atT`XHm-s`P5w@8bGwZYVf>mZXKyKN&MSXM=RA`?Rp=^_W?o1+UgitH z=LGixX{@c(jk?AcsEpD|U8-xo0P9;w-J6`e5MQ0VD3xJ8TUkjtPRU-I#r&nGBZv zjBH1O|EkY$%7@fPR6AP8qi5n&{KB25V|P|*0BwR2AN|fq69OAAboFJ>$r^-@(MXGV z@-s~!c5Tl>f1+b%)UMot+TN&Zdy9{_w@1@#lN;;Dq{psvC@M-bsf?M2`^IO%*P36ap_93z@mhFOlgz^^1ZR{*D70)U`#VGVvVbjb@juV8)af^>E-np z+pbQpBmjs86=Pv)|483RZoU9BIG^(3%@^Q?SGX6bWj}p;yzvF<$S(W=- zn=in=RZ~Z!k{3jyW+`Lq(9>7OCr>&{ps2{H8&b02qEPGIZVFK&WxWks zqerHuqR<6tY*P2O8+)S@{44>ehiH`}0QC^13+l!a)FX5-lJf7(H$Z_)BdIM|&U5 z`%a?6+d;2++A%=r`5U!i%dyMFx_g(&7gGs$?TN@Lz#wbwGi$Zl$T2+HrlLivu>+&i z*Qij2tZaf)Q8!Pvu5n2R)z79*NSH4`9(p5;+AUM(T9whdWttV7?%^=j5QDHrI4GzZ zf5bvT<@gB>3hI9AryHhBFtF7{#)_3Gk93nWFlFk0yL^l>FlCC|Ean)k9q3cmC&&}v zTAR?wqn2$sRp@e_E4O0SP{O7|BPndfR2P|n6v}c=a7dxnYo7c_{*9TwsSE?tHKt_s z_0D6i{T(#&``g~IR=}m(oE{BeY>v*Xl{ns}95KsPND@2r!|qBRQXPs>nXnX%A1Nya zdnUy-2yklbUElzx#$MLp5=SGeoXk;YZ;M?6*z2+4K&`!;=UArJ-g%C@sI_<1!vC_r ztBfjxg8<#f-2_0xc4vFNkyPTWMMJ5l(|N0efzTfww-$~r{?BUWZSrgh6Zzv-aFgW` zY3@D|3e?-%o7*ikg)1IeP%I(^cdXyddvRK`Q`l7MaxZ|s3+@eoF2*0n?m)UJB#)6o z>VR4nBc#YozseaERX5y-BJoKTPm2mMQg$p0X~a-VAwyKS7P>1my9ILm{#X@7lV>=# zcizQ+^Ot`cI}MN7~>Bv?w@3@ieSX#A|q``8*YOqPog zW&AEoDq3Dfi%+XjGzkv3=teL*t_tUU@ZEzHSaajCRDoaPDv7$T7ESs{3vVH*I50z5 z)WJZlUhsihYpge|Zg-*@95^^&K3vDeHMnKPx_ikf={COvE6IZYS(a5*})8pAMjx0!PQQTkX0#J zWrGt&nY@*l7gsXfC%s*oOTi_!#K5?sW4n9hRM%9p-A$ZWy*g_C0WTJz z+*_gMxMJ_em>00uF_Q+3wJi$yjie|BJy03SaH-bLA$LN3pI-wF65*ZvIt!`LR8$y9EhEhf4W^HJcQ~PJY z14Yhe)8I^t&;GVv_h-Y~|biTZv6vOS-+9oYKOvVE_d{6DG(+t*frz2l44WwA%fMXM=*$4aio! z&3$!l^@cV!r2tbtMRmAU#=oDU7PSTT1yH?WDk!Dgrl^KiWM6>nTuL7oO$?E!O_^#l zv1r#B8+BvEPCMij9o7hKpoRhm81;2Z4VtpnSX*nhI?c|*q?zw^88*`!7=Hteu!u$(mDtiCU%Aw9|*}?aFw*HRB*6QYR zjV2I|Usn!b%d&f8Wv$`p*lwwNo3kc1MY9^lOidP#H>^H0#9Fdzao~&#;*Btq;wJM~ z;e4E}8j3H8oc3DJy@y`9>LJhr@*qphpuCg*be=mjjp&LQi|$Lk03vcu`VT8rz;IOyl=YuoV9EnM|Pk9?A{t;5|OESIEhQp7oAKdIcw2P zpU5w)*_uZAO{6Y$hY_LkB&iqRzm2gkAl)#}z91w=-y3f%L5;ix?hAAkSIOs_L!%S&2bQrCsXQq5~FG9$aY- zI8gsvUMjR3;p!;1=lx1g`Sykc-xF~OlhLBg1}9t_v>2Quj{~RGzCoum)V=1}hV%m; zMp&7y`r6X{Kb1$W;+|?O_Som2FGHVU$S*AfT zmh6zMtd92FMWAUa6grAP2)+%ERmrOP2pf0EY2UL8(&BfCo`&Wo+BYpJNxhX{cQZJ( zo?1W_d~EssnQW#1bDpg{u(90OdAMC$Yf=NY%5&YNyaT!TYI>D&*lcE zM0Ny^phMPhyrlBrQi#*k30pEzpw%QbsahmnDg#SVP-dNwk#nT6Y{~t^RlX5#_Z*7mm%}jNchgKdYAn#DLKa!kFW}CgK}(p$PkJDS<%ii^d$$PhYy{MLmWpt$wURu7K+cJ)?03owgQMmpit^#!gOd z{jM7iBEDQ`H`j6DMJ&7u5jxCNhKET+Ow%=wV@!=x46n8r9^vs@boIbyhw;%%f9S!$ zyEfGRb((ZXae_jCSvyy{XNF?8Qt!8%nti53rkQ;K*`OUq>a5Z;Qe>p4ZDD+pgj=<# zioKTEXugTh%$wFjWab#58?4`Q|4-Z`K&Sgco5~19DTJd6^-`<4y3Q@fLX?b{TNRI- zQGW4H-7v<97;!O7EGK$$iSBvP8sn;)4Jh*Ex?E@IT;y4kc$(AbT%<*%AVuJkuXz&{ zMD_HLY_Y-iX`GG0Oy82ZJmk@(kEqIN*173RgGbYU;UPhc{AXq+2IJTRA1LUHO~v%O zdqA?RvnSR>F3*>(n;xV95^2X&j^R0kr|_2^cxsrIyVi)adVSSk@y8k@Ehs0>XgqNcX=w%ZuV3l6j{7DDEM_iAkf-r=^h+0sWEQ$K7C16K{o6 z{B&k@vHLtXm}0PDub*E6ZvXWWQ*$Qc)tvj_9-#&D=MV(!xKuW@$cwLP}rwljtuYNu-d> zB)zf=rml(yJK2Mt(qDVHoiZP>T2fgtUF2ZufY`vOBeCE%QGeqB=IxuY*r@=;){gMg zc}CLQOr=^@rf76e!2}zF3+(J8+z3n+$(Kxcm3R2Jo_*fiSZTBaw)&&)tx{c^-Ksct z`kZgI_xGNyKGHxt%!YHXlEW-1HS{i61UjZj?|L3HJVlOfdBD6IC4;5a7|b2%$m#5r zw2IuE5OFz)rTZO;Da)LYL}ghLAF=D&`$6jtg-8PtW~SgoS(cz;-Zg(|K{GRP_PfIkJax&3 z7R}pO>ond+Hqa=$#g#3~DJVLl{UDBM8%f~CsX?=xtz+-bojun{6Tt!Z zpuPN_wfZ)i%=LX6RmBBb%#A9#q_tt<6AzlpBF}>Sh{f+su~_zoDji(MN^O6{L`4VD%%bIIAg<@|i)~t* zx8l1m^6(2CoR{LQ2VJ1QQy#>UYJRlm4&7$SNvtpd%`BCvc1(HKw4^fCgeBsTR&SQh z!Ob(#;VgBITDo6iEo9+_L<@Btan8OgXu+s0!$P&`iex4>049UVt=L zT^@s_#4DwF(Iw2QW^gHm*_Hkr?fvp#$lZOV2f6oeCQ*w%<#<&KmsZBt^6P5EP|2a# z`$gsjV6MdEMP@6I9nQ0urE__fY~Kz|fiajp>1VZgBBG!5l0%>-T(rGxInbiq!K)Uv ztI`d~^_X5Q_G(kB(6(1>uS4DL4o%%Iyw1Z8iD6b!wxFa;vw}OpC9Xl3=>52p6~sLV zW9$o*n_}uZb2Pe<>tUUvE9(~6FHjMYeE~SHvM-P_>HS;hHfQN-RcEAY;R%-q*n3N! zUd;~b`ORf{n~>@jnl=e#rj?Y;&Qa2zJNG>&h9R1BXHs7P9i~(F?Ru$Df?rgq$-BG-q^^`JOH|+tF6)qkr7L4y+Ex_ zRqh3Hwa=Q&qQ4+qZT1C<>CrA8B-j~M%|Y&n#Kq@*_H?o8kuIbHMS zQ8!H}It;Q}bsv_S6Nf>})3~WGATDb$O&W95f`xF{n1zx01Z3(g3k3WD48~=|lBT}z zn9g`=4M)tIdc*0UTHMfhBEq7%D^#e@!+9}J5yFgudCcFX1s(JpY2l2Af9U)`tO+## z=>8KGb93sF8gRH$<{VwxXPF|ekxG{pj`e;rFHETyK$n8~!m^lYf7a#CbEh;{O&kOF zbaou+0f&Bu`(T{5jw!ilo_|fQcW9aHCX~v8L#K?IyA-r{W{g|^+(Y4*x~npr))`Z& ztoNQ&a5*vJ6yt^*wZ978PPlK0JyUN$ zwRQP7fW&Io7|O3dF$qGp*cXKEGtsF(L3dG2urEN+cSkr{QwPymhSrrb_AzfU`IOZ% zp(h0ZiM?UzD@YDjUvY%gxP-(df##)5yaXQHpJyC2;x9e@R0%ht>r);R$|gr~v~qGn zU(lg(4A(M!xzg#C7Vc3pAxixLSi^E)KlK7ITIf#YdpyR)jm$-J@-*GtG!Yr>I*uz{ ztMjg%PDbOpe^K|PRa9W+9!^}L%TJ5UaN-L2ltAXq+wau9QcCtPEN zanY?2y~e}jQ(sG>TGBMN{sZ~VC)Z`2P7zZ4fr{7eeEO-C^;D}?qe{ zSEDA}rA3weQyb}J?V&=K5{;VLG4%zwr|cK#ln46-YEI$5042|V0Xm-l0#p|N1>Y{v zER?yAHo@eRkcHIUj>)h28)*%+<4g_@Fse$KJ86?Iw5Z6fZ?sQ-MG7o^D{b=YDilb< zEmW*KeR{RtS;Zxs?}ZVddwX*2rMizxMQ|+HeMCceg&i1;egp2H^|#jrypuuxG(uB8n=jiLODQ)mS_4;{sYocRcX=u3*!GrY+pNafG}}NLU8A4@xRa; zF={HG#0+CTKypE4exYT$x=G!?n13p6VT@e6z}r!6@tt-YnE*bDK0#bVgbDFyC7`-- zNv7x2O`3U7&TS)&Qk0fE|5PH>xzB)|v>tKoM6A|m-+B5yZ5+768Fdv2^mW1|LG{V8 zJZwrwm(bI2a+P^J7oEH^!aSdiPR=urXQGprxIdqYPWHLyut5`16uXP=WoX7+G2k^A zEHJoBSR&a7cDyasP3vNQ!G&RU@GBr%>&O?~LQk z{4*SPbg~^TbLqXu%T{!C0@zBY__ZIMs1lB=Fy;7UB@dKlI>Z$x&oYle&P6|Br(wB^ zemYUaTMhUcJl#B+YolJ3NdTw!A*_1IwSU3Zh<=?;ffP@tU%zqFQS)bf5p&ilpa& zG?jAlXt_~Y%g+mmL}TQ70gh;@(=f9%DEa{N&faPdU?;??~n6bf(jx zO#aL1kSzZUf!R?8HiR|#cQj-bxkK&o$pA<72j%}-8R0T=u!v$Dj3{Cm$1~sNWL%S9 z8li7(|C|@|;?Jmt$RXZkhkdYhlj1=hHXwd~DGizh@d~hKhj*NmyE^8ApYZN_=Gz;G z_l1T_rx->bUJBWMYo<^#zEim=tKUB!7h&>_kSCJMt-Hnxm;U{9yWLBsvxS zv*>xz=ivW7cjQwe2l)A$MErY{Y@~x*l~30i^)?#W^}GbF=MzYEYDfG5h6ky(5b*;% z1eF~UKQuuAX}HA?QsIwAGpoW&7r!F#i!!glt?I7CI2JF&pv8tLeLz-2sKU#`KaHJu z@pno-OSqC1p+Vw9WI$1^PU2S_po^l9#L-IpiKrGmmIg(HxMHZ1!kA)VZTb^VLB(Qv&E^JO{DlEXHP9)=N;;J!HI;JS#CL4;$WrWFoc zC=^$C*Q%>26m*&^Tla2WfY+@yt|3telrqR(T5Zz37g=U#Z*C$tk^OCL(+U6*18Lf= zG~1Nc$nIse32Wa>!MWO~w_=Q)mAYM*Y9z+8-@uUbESKP;Ij8|4`U1Vs0J9cE=5|}h zRiKZjAYN}QH|rY@uROZiZlt|*&F6OXt|PL~Ze$&CS{AeGkbo@QsF!B{D3luxpGd*n zxlnJ#M|1UX?a_QSB&Ru`7qXzhi+^UIEUcwKS>9Y|o(E6qLqrt?h*S_+2?0-L*TtZM zECZa&@aZOcR#xMhfUE$gWLS$Q|Be84?fHA=i|g=EJKNzB3)NF-N1 z!!-*RnKiTilg6^l6WVrRxYyBZqu(3(_2@6*Mt}4K`PlSt#>tM~82Jr6`!)QJMmO`N+IkbsgORTP5c{sS z&uDL$uFb5X!`G)@+5f3De}Oa~fd zO33!Ag0}juCq=ksdua^@{mTNNZ8aKCSgWZ@#SH_L-4IaD;Wo!@y8%sC4IRkv7Y=XTwC>Uc#Z7CaMfRfTOPnKu!$sBbeB$10ro{q;*ps!?OUV6#~v$ zbEEOl_WC(W0#?m9Ae0Mf?1OYcY#@iKio+0?Q4rc}ucR)VDk`a|BqfJpm`Gp@*40w? z&N!jrgj4r2)qFzGQBK)v9XAELUEp3_i>_9==VC9@;0l?8vvEZm zqtQW3)|9U`R`80tW8U_eCKZ37R=B0ajr6td2i%xb_P$LzWlVB})+x$+<@OCTeaI{V z@;nNzi^g|V?~A1i-s4crq66h%#D)n?K-`ym@|y1*WUp2^hSZ;%fhWnbcj{Gq_3}vA zXQ?rnrM~{`Gz4siqp*IJ=K9?j;i-fp&JqE?=ratM`8NCJP8$b z^H>)q?K*1xa&?ULM>Cv81hhCAYkGAGM8O0mx?jY%?;tssRkNp^BR>{T+8 zfl=mU37_qcgn1!kQ*Q)HInAz`2y;TtKzU#oJ)7U(`~4A*02jPL1D$bYQ`5M4#2dXH z^xRygvLyAbM;q;RT&p22NK|F|6M5UTcfzwNRZzBRw$PN=!S}d9M!=2xl3_wsmTyqs zVUk9ihUtPyI@j|V@f{YvkKM9NM(-=X;Yh21u+VRkl1M%kFbluovPT7A($UGYHu5SL zd6KMam@hCngGd|V9O8LT;!qEH=^^FXNlHc?g^B(od5AYhf@FV^W?6;#7?TJAp(cWS zj7bUwTVW7TBzVcAeTHL~5B`mtDV6G=5d)Gv-DOoY)+N!1jdPZpk2P_59tx|;m9Ms! zLbb=?RX5bo9`D@Vq~nUuTz$-eRDtS)4yb=d)W_lvvU`4{e&Jbfo3dx2+lGSujBLC2 zG55Bcox9drt97tuqus=%R+buoa$>z~M_FRt^3@7I#Y`@g46lpG3Cr8J~MdqyO{c=95XSAoGHdKejuI-Wz$UP#Etq} z@u_y(bCi*aKkVj?G}N+V36s8)fzMrS=%ueeW?MvA-zn-;3hODFqM@<#K^AJN1Vgzz=*`z+v( zqJ$l*OsRZSc}X{3NzlWZC8y{nwXrb0LeW?$Os}8-5h!ZCo9<3Q*pS|ja+K5vAyLC* z3#E(oQ5cDj(eD3Pa+)+vN-DEV$OFH;>`Xz=7C87*U!~F`$N7puxbM-#=^x|pvCzbI z%RZZ`^iKDK0m^&|u@OLj$Za#}x`jHOVvoA#-EYCu+5Pb_*d=qL130m)3rcA!YDWJ( zgqjqys)H#!HD_Q7=fjjHl{Ch>K>$!79H@#Z4h~es6b2Vqnov>v({9N+j|hPa^L+ha zid{VKVkS1*rLgA^IMl`theIe5aeKJrbd+ysIE-0qHqF+a^GYlY#9@=%9?xTPx3 z{s_zdiAq9ViDyvcoH_WYyOc6RUa#gRi#+Q$jDY426If#BR=+arbq?{#PWs$It28E5&WpJ=M)@vi5 z66$HH7^)MW{Hv7X7~@=D!U*3b8SIUC(7O0^Fj`}Iv4!mtseueJNoF_<|I`K*<||H9 zG9b)XoTiy_6JGq!^Qa37?3ow=dAGpuhxrKR9UXq0qoD5FN$fyl3%Oixva?WKaK|k| z^@+w&Pi6zi)!Z06OL)*Ga7*@x(JuwzC}tT;d0qMqquka7FvI{ua*?^UfaYCxPY*TMV&ySJx)=Y% zO?S-2>V*L`RJwaW>W6{kr#rXKu<6dN1vD@GvYVG-6O(3Ai>*iuqNj&(nldzj>JAxN zOdUCNbA><+Uh>*QUd&^wS}XpFd*>6U#KwnhFzLRzK!Ztb(SZh&a%-%?3=Wz&m_?D7o(eAq&6CAp|Xt&5f9a?ppRVHH0|?xELBv z%{$y73MQSg4kZpUpf|i$_*5X=QoE|gt7q&h(xHSv)~8dIfvitC`{A%YkJZ}2K_JG4 z#`@H{70CK@C3S(@fM$K1LkVPk?t2KokA9s)$laTpiNhc{XefSJ?+@I@0pr%HzYzvg zOd}PxzSJx!atkF^Xz!(51KL)58yV1H`EDFI*!K~$Z`g3z=&299e_XdGRpO}x9y30J zEZ@m4-(x&eg4~`BYV@6<3-xdd!tDW3<_xtvRfBpBW~kliN?5P)4D~x*3IzdnyC2qT zJWaj!v+wcdZ=^g}ErvAymzF_)~lauKD07TS-!xi?&? z!J(>F{e#ezhpI0S6>Cg&#Kh7a#V!?`^JTvRMaKdhqb}>S55?>p{+ZkCAo*7K zLyovkazc1_yS}lsnpNc1o66+w zOV!u7X9231fxLk>ZT!M(PIGb@NohSCL78d8d%+dEaA|BNG?7;QgX+RY%o z38dW&r7*gG`cId3+}?3%QR&Y)+P$Z_m8i>Mi5>NU29gfPkCAx&PycjD$L;+BZaDc1 zj&zSE6R@+^ZeO)osj=yTnDxT^HQVB>LT zXfog;H?koS9DW9bn4t@|lpUiIIAeDa*M-r4YzzSQ+W*gf?1auY_bk;9UTV^t3S{RC zZ_$}_4=_i;z~Gt?Pkw8HBRB!WLrb-G546?)(@&*%ApS6T7y;b>r+9exul(4d8Q2fu z%CmU7-h%AP(|!4a3i=rzSvQ}cTWWojE&Ufi>_pjN!Y+dH7E}C?Cf(lE-PL;tGtdxN;Ku zPA=Putp@u!rP(<-RMN_h_`{SQY^_1(;5{4@{e38+9^Pm?jEh2S*pe4Zu-i*v3%WN1 zTdeOWutk;oAZ!)5`o6>#btZ+p7ve$(pj8Z0ipgZfYSI{kYHLWkWp)yZZXzh%GCK)H z7uL`+i*sOs=7V?S!@Q>Gzxuhc-B{W@Pt%a+rK4IVU-S_bQxOPQ36^nVs(U<4iERWV;G^nP;9oE;c z(x4jFi%Y#qZKq)dhlbxTaIYo?Cu}sL&qn+=KP3|?YTRmDn&jK|0-2ernUyeRrujHU zKda&(E6b`^12Tc^7w8J*-`6Yy0TZq$F9$rmIC1;q?<*|F@q9>eOSd zra)B;;R^IC>3mu-C^Va;^J$eZzY^!u(0;)2fuQ1O5QTi&s2jbmnsr zQ`q_(g)Lp44w-K^OQV9q+S+GnR8Ux3`|LEd*5~w^Zd0kX7EKl6&(tg59`*671+HmX zICbP+ac9JFW+*!0#;?pa#Q!Cv24KESiNCn zoZZuWNd^6*V{8WnKE?ux{Pf=00Q++D7^_%lOth~chHGzlp2y@LZV`0ZKZ?#Cc00@B zy0NPTb|FzZ8j==#exQ`z+gNFCBx7z5m3IbTg0fC)7@Cmy^`W6q1&VGbEEJ+sLAzne zy;(XI#5!G?`Kb0?;_ysEX89`-l7^|F*rU>m{FI==T09{1K#>50TqFqwRGAgvHBedL zL=az7(P*V%YL`YlGF|n{+6YG)l_bbK)868)j~#9&aZAS~zX^NR z6bz^ybYJc#9_>j0J$`tbl$Xo5nVKwUfa4qm4uRK4%u#>ue%SqWbJXB_EzJ9yqnH>z zQb=WMj#_aqg~EWng%#K4D38%S7UWgV(VVHvY&WpdM{|_6#Pxv8yg~ggl@Y>>${Y=d zz8Q8w$Q;#uE}sY!J1YEK3G+bbXxdo!wy^Kg(Zx$)b0lvZXM29(1)lJW^8vdDa(q3m zG01j}#aXPf_b%PW&5t=RFX=+}IEN@|Q9wxHU+}J#t%kn*YVQ`i&GVr9ZC=CFJLB&_f~`0Bv5d1ok6FaYf@rRV{+~Fa zyKnR(`T`CS1Ti$%@BU95&%1B(;~BY!5HyEX^XKTG#sqg3Q&0pZWLSrcd?Nkk01V)W zl|q5;XwW4K8RCWF0FLPdcj8ds0El9HhGNb48A4O{Eq*j1Bh*@}Z)sHBQsFQHW0@Hm z5La|6gN+omzc2Fc+!+9YR(Sfjwc2O6_gX%~4HwkwA@He=4$Xq++*s)ov$0W<_~Tq7 zvG0IX$HIi4$nwgJ)NKbi>MDsVGp~WJ;u#1+;7pUbGjKZ&!cwnul!{smi+^cO$*r&o z%p46W32g10qnYaSLG_|JI_VIY@u7?+vI`*>Smy{jdZiFZH8&%~Rp2HZ51pYzIm-RA#7{^9neeg*?&#pgz|rJ6;%rWfZQynw;t}Q&u23GS zmi#<|#K3wqenZuRKdkG)l0m|>T!qqc-7pnXnS$mDOR-g`ouw4UchvtAR*|ky(kyV& zRfTR~3slJ!%CN!Oh2$hFW$X+k>5yi&3N>tp^$J%gao1%_o=Q$Cl#IJH!p({iyaqt8 z9OGI_<8ns#IQLFG-)8q1H#JSHhOK`1IM)ynPjNdq<`u`?<3(ngtym1mLJgVe@sG!n z?(J~zbdWMT=692BjIe{0w%5<0gOkehjNuz*&1e7f{Q6RdcDHbRsLD zqt$!eEuxy?=*s5;=a!~k1=o!QzKSO0F^*#rQuFD?*v0ha8W%s`kF?fi3&Y(}qA$uy zi$+-DJD%h(9<5A^`}r9EJ)kVq4*+$$(*UT^I4XI@Rc@uE-#^d*&}`hWljRkfjav$8 zQL9jc%|g)N`wBI;1ab^rJ2xN3T$Jdou<3fFNWJEo4ySP{L^d|~@~A%cEPR2RJ*k}} z8dsgwdR$zT5PCEWBbe!1D}14QorzPp)Z@<7EzN4lNO_-$7@)PB*|88?is<@Z<-W%G z^ww&V?pp8zl)k9h0@7%5(lBJTVl~-5UD$jYN^z5T?u z0#D4YIh!KURzKQ*+}&=7Lu^r(xf*yCW&I4CjVBo>)fhnyWun~uQ1pv#<==Rc&Z98f z#B&cCYNfk4ZX+z;d0Gw#vrtxgvVr_f8J0jJMRPCM%UQ9x$b+50{`v}aQ3isACQ6)z zWjxDg&sw}KRg%jQK9Sr*mbf&5g{INnncRzRA+OdYA$OwpXWSB(K-9XMV>jvti|4`& zb4ng_=XnBEHxMc)-=uBOb9^LF_xd5*4TLPMfIYCWm%vMv&nzp6lyHq_wTW&J=e*fH zO*R2(KLn&;0!@S&M?YBo5U>WKj(^PqW=*uC!&(kqh`46Igg}RZPzBQ{Oo##?I|_ts z5HbZU8{Om9b&^QK6r$?5SBMHBAO#aBOo#%&Du#eH2z3J1EHP_NoXXxHHbiU0g*%BL zRT;?Aa1E1p`fv5}&H@8g9$~>O6ei;VNLyr}%OEWnv@q@tKwOIfEswZCm^=V0U1sSF zRt8x&V9UGAx)Y}|_s%Tl#>pVd25k63(T4m zr_vY4579JnCub5dS`3COm`-7W6aZT*7`8!(6|iuZSy+=QOqhy6!c=|SD@?m#Kn0VD zZ9Z1{z5u{_VSo)pBR@L!<*Izf{( zKYWJ+!8efX_!mE77SEDxs57nzkOPO00% zgHaO3#oSfaiIkPX02>4y0jpM-RTE^Siq&3?6H>759d}Q;PjImi0M#If2v~BFS#si( zx=nn@e8Kf#CAesX0X7Ia0#@xZt0u@8I$xad^2KfdRD&R*=U=kNESb4;dx)_HcZYMr z75kxJ4VhsBKRd=I@8R5X1=Nr66_%H~jU>Z#Xh3$PmTt`804ML!R zMWeU7JrZR5^xfk_6eX_bJQ1ZrC|JQ{3iJt>cK8IeVkl^XP$~c=C1zbkr!Y~f1Vtgy znpc#nK`;f=s1hVf0dOq@!8H(p{K#08i}De>ywseJ)w!agb7w%{>pOxPnC_Oos)))(?hl5IG50 z_<&hhlPXM)Ed=SYUgb$=!+k=j!!V$N$rN(B6w`hEfE|SaHVBOZR*n8;T01z;I>i0= z{;COg+Au`^J-Tc+1FgdoOT)_OGVkdNk1o18#%)$8!#{K9gHSQ)KFH}Zy^G=MG6tqZ zLUx1U3Ko(;UFL_a7Yy4Va>5Z(DtKmLO{y?mRtnN({dKQT)(-%Ir!WI3ZcPeCM;O;~gMbp|ISK=85Of5r8ok4tJp+E5TjM3TC`n1>HbQz$s$Qrhe^&@PTfh~owV8Fs` zVF1#43}9KL4Z_+1EVR!ooWe->s)1)&&(J*Pu(PaZ=vt|;gS%&F9CP4TCozE_^sAWv z68hC?90%s^)r8MKq~pM6Xr6Q^STucr1MAtxU00(3KJPQ^h6b>e*v7`bvhNb@+Ck9A zhNzOciLr^XJ`92>SiyvOmjQ4c1;G_A=3wGK_S&cDA-8iG(|VY;Y4NMQ02TZI1(POB z_Xhw~^aC{rT>@4tF)L1-dV~i14kU=x(C-aV7P+Cqi7YOJf)z~jFmVh3Z7~$IK`0-v zZi`u0(S4Xg+54bZD7!&01=A=@E(74&4T5VB0tGDEV-}q_^&X6Z9!N6x13x!J!Q`e; zCxY1zgesWkVR9J&*+C#=gHSzS*+XVoN%LV!<>A+OrSd2Qq+kMt31t9S(Zg<+LSbqU z>IAG=kZba#+((nK&?KOIF_)X&{Old^S}y~yqX3eHmMMXZanMo)gL@vb8&3(P)>?3r zoW_X6!?UXHewQ~jwI2#r zFtNh)S^#MMP|(6D6`I|kn`#5o2-CC3Zg4k94l%odTXBQILeizcffb^L_^L9p8-D&e zkVMpm;)|!=>mCcJv~EF7MI3BU-5DB98Av_xuT2x$y67=jCYj!i_a;$9%Qxvc6~-0P*QAZ z<>fXYi1aKs=p|CkAkr6~dGE8^rk2(Ll@(pq9mwIhtQ#8rHP0#a3y-F8L(1wIVrD_= zv7%DrN{?|2pe9|Pp?RZYfv-Z3vG=j*uZE8cJwxL{$2fcwvvSXepi!nqqG%*K75%g5 zdC}+K|2{W*%gAqz{8kiA{kz-Huva@u=(W+K;CPb36-FK4{>O`nzJjkUup$tBoCBG2-f|oIWo9Oe|4`d00#a_{s-M zQ7w9Rc8Tqcpe6EO;+9y`>PQq&mgEt)e>lhu+_UusKisIPo9xqP!d}zr!}N} z{5YnMSHC+}h4QzploF7?HKV=H%OewJd0}n4lbVVy-^TR#3G3#kpb6xha{02tii;*D zPD<~!&_wbCV>0cWC*;UnWH+~niT1k{+9#3`=M&Pkl$!&7ix&LeotL(y)IDYLZ-Mh_ z{(BJRdp5T>K%!FqQKwa3!nI-a(2e9Mk9|z}E?5y?+h5EgdE(T&It@5pE1P$orvD{o z%8&cbv**`SvfjJ7kr9sVsCK}txKQtOE^M}O-H>NRbyI^xqZBT;p01#AG!L|X>0EaG#~NFmrPandl7EZR6zQw;stNlU%WCPLLPx?xo*1deP!3~@ z&(GQ`{h0b0D)O%zWEneR*89^>L7kQIqK+5nUe}yRwdz}|V7C0v$+lq1a__h67hs8_ zTB(smMW?k!7Y$g%d_EbmuOQ8^0OEK90fIN6l!|%XwzR#qWC0ex8E`^JFRo-kT%g;4 zqw!TqDSbbOR1~9m-$3JypA89yZaiS2$?Xoq#T-_wx z77W{g?^rMe&Pk9_JJ`x13wHI92lWLLXCr|3Vh1ch}dT4^F?mk-pN!rVnzoa~j(x8W#yIe;3yVC8XzZhscg~Vn(|#>DbAnyHXa)POWq2qGY*X)#F>t{^ zJ$txXUt)#p-UhCvx10-i2C>eK_j3yfTPK1dt4;P;jyyxGTVw~8seLi3Ro|c8nNTvx z!hNM+c9edRoWh`d3er=_D+$dhbUENz<}uWd+eDNnVL?{ie?4ilKQSBX>)<4F3u@S{ z|7d=R7+t2Utw*(mugIb>k@EXCmPA?kma@S6`Ziid`5>{QFVB*oYV=V8eJ3BKq#gr( z>TYK9ugM197?D?VS)SvL#UphGvE@0?zvy0l2JS)0EsVGz4VJd}7cM12b*-~jy^D*# zays#Rw0G0AQtie{a|hQ09?Ju99uf7vx(`uq>n!0P+?Shr*I^nZ<_%(&kfWi!p>B?TyeCt1_dwMT391!2l>n8CWXs9l1 zlX%php92Z2d0MU2Vb$qw>l_UmYmN12ua)0xr;WgUeFpoHY$B{ zdiSEFvzuC*$5%O4$Sv6Yo{=;SLTqPUzw1f|IG!B4f*@u;zq?I5As;Z zD-PGX7AzcoYkJu<7HClp0r^D<0r}rtfY=aF{PsNe#ctxALyrcd-^xaV2{TqNy8sYD zp}tFYUgyJ94!bv*lHJ>-s${U!Z!(9`3tDm^zMpQ=bI1&>^Fgs}c=0L#iM_dRH z;iX1E)j)td*qNL{z~S1V;Rij(J6!k<*A7LXI*4i$p;6?(Wb~b`b!5!rUP|}YNM)tD zWg3Q4bsJb7mk`S5SrKxn4(G`~fwt$Cq4<+$<9-HxZVUP1|^rkb0lA8K59q)}gPv}?^Tu{&>xaRqiB zi<4XNA1V@*N`&L=Lt*8FgPq)L9sf;-)q_t^JLbcx1yBq-W}PCzlqF*zHZEX4q5enh%Q7ro<$ zL=HqpIY4Z{W_N|rJc}Q71AF(yEy#=ochVs(WT_*-7?l<07__*MmF8p+tNQ)+Mc=hS zd=W2e@!hr8nba9lw1JQsw5b(-z`hPq;t}*Wq%x?Q8i|QFsexWzlN!@d11evZqK49@ z@o%we7%iTQyFua~K{ONQ;uSm0F>Ye0Ex768KZ#g_B?Ix(b*y#w_6o(j{u+3W`Q75# zbF4&^sI4_Au-;dS%B|R;#SIfNB5bfVzTRA`pId|0^_tL( zicyBmSgPk(3Y`1wOsKKazGEdpC6rVYbt;NFE}dOQo7Krmo;s6I%cc`)A&uc`lIx#` zH*b&NYgT{SP8P9)*y}4wS=ai{;cRO8%@|_xH}jy>3O~av9J^Eta$&7xT#jIQS`^ST zK31ZQGfX4H!MqMIyujMg&ob~y)6kL-YWh0W;0yu>gT6B;gXQT9%DL2K*2qe98_0zM zP0CL(KcP#l|8w^3kk4~}dvkp-l|Bn>=U^1r&gpY9H@V2$#tH{NpN1_i6HG|VYNm^l zGQq(wq+gHYSE&}`_?lNFwIk*OZQ$cRe-K@puo+#1gp_L(mP`xCVT<|_grUUVG! zz7QmXh3jrE5pV=aPs#U{P&Q${Lp&QB3lD)>nUBz)iH)?A{HG;-RY+2QQS=+>Xg#S4 z^<3X;*3}MNtHp}l5)W1r=v6m-YeGZP8)hA4|ow#g{jGW;pS}{=kWd{b* zHflgWm9mr8#TH$Q5xQepEScM6qwuWX7CWH@Gx2Bz=fDL{xJ?|4{Y$^%KsN0^v7X^F z5c`E$0f=)V1$(;Ajsy-SXU>il16R&2Ck-*Ic1~%1lEGAB+&|NpD*P$~le7Vr!e?YY1r!xQ_R;i4(*PEIZb!(=-F93p9SJ4Amw z^6$~l@HT38z(1K@2RyrhpTF@qJ*0ngPor7<{(Isn{hNC_^1FEYZPZ0kEB<;+m-Xg) z<8-t0Xsy*)YS!(CH>AU?+I+s? zP<82vcQlrpb(+I+Z?n_d>@>HUn;X&i4V4b<>62i^*mXWx5Rj_8bcx35wB#YX+_M>U zKU7@LL`E$+%$ol@d{dq2$UUQ}Q0i1({u#QbR8MS2oB)<5@_MRU91NE}8LN+fh>yjm z@l+ThepAGf**ftnl66PFo#F%0gRKw>ES``A`_Kt9tDJ?rT$+kb_KxL$M4fi`c>YJ= zrhhz26k7IS=?qGI=yZ2H1U0TW{}Ku8BXyu5|5=n3ZycA$Jn|1gkW1i`hr@aw53@rZ;1(WWv>WAYBY5pOARp<1? zGjT{Sb?i)5N$#90h6P2*lxWsmR5njcD&f*)O6uvbij(zQ2~*ajV%_YP_S~ z!WoJz#pyJ|Lv@^AhZJT0V4Yq*$bu#$W$!Tig`^qtDEq2tRJ?Se`^gj#OPd>8&5iB4 zP&ss9Ht|=)PMWE10`Ws^C9*)(+x2xciYu!nUR)=QM*ZP17&%PVj{ajxTtNYxr<$Cc zDx=FVH9KZP$!enU^x0Rjz!H>k2j?F5CS;$g__=dF4~boC;B?RapQgZQb{^W?dUTjt z{wV!cAX#e9q^cp_-x6z^ z)F}RW3JnRIqKP?efWAu`pajyBV>u|MA<_#OC^UrVFaj&5IZHpI`zLU+$?*^(o)cO9 zm(+&5>R6GkWKa#fIY`UUcRTX$vgYZ#MlzaUqp`E~K<7a!A;YbJElfk%T;3s#EA@|9 z1RfhorqSMaj$|B)H8^DN+}=bhS^%M9*)<8(`?N_YVdtQP>L^ILXtnEMbU6nz3SL%Q9fHhpbL$2{_G-6^>FHYc<+Sjg77O#*UsFq}!^R zYHN}Wn>nz_CKdYskkW9PVdxBIF}mIU45(PJ8>BLZpyg1{|p@A{5#^LjKphLCZUd<{A2RLn`9BA9yFe<734iHNBcZLX+Y}#4 z9|IFVtTMZp!TGSii#aKEFwHg6FIFrxep2O#%?Uv+j8Qj$Yg;(8j6{7hxKIEcvaMS2 z@6(_&vj{cd3sUcDYc5@u(G1Bn`_OsqEICupz>>~QfsU&EAxC5MOQ3L)-Y{4s00Vg@ zvW4=$H}W44bbmMI0>=O5L-OAn`F%XOB|>)k*L?m5c>Y%>=jJ5r(D6&>2CmKVZL>H`YHB@9o->Ex95v%f|D zjQ=eN^p#_2En)u{bQj{Ul>1_YL$+1I#9oI!oevbxZgeA`*d90-t3%S z@l15;o{%r+R!5H$B5CAJUS_4j3XIw16S6*%`&)$a^A5hE&x)~rxqMBEB=O^G$7L}+ z_i+lQ_pTo=etz6wn|s>AB#h$@u-5B4B1DU8X4Fk?=dcx0le&_eTR{Z#1=pX#32?9e zj>h^X=FH%9_^-vsQgfe12DNniS(|K3oVp)CkrrRyJm0vBj(1^xhB@&n>B`+3t=?L) zeMhTv%5F}0RV#%$8Pl1fQ|en__HHJLW`7OZOP!d>ZCzkhwfW{A3b&r>KTfRI_D5ZK z1H;WHHt^vVo@b4$fViTQ&Ik#un6AkcfIkuyby%%t9eYEo^AIE}dR^i$Y;Rk8+t z*<68WLL06gCZz)W))vCr>i({kwS{o2QL1TuaMqy?sO{XbAsH!+Mz4s6Wac)kQ0|uh zTH%FOoOc>alolh0#_rgmzLp?iDEAMJrw~Af;BagEDc7QjO?ihwzBh zp!Sz_$7dolx}DX93a84c6<%b;gjyav_*^c(%P$X4u!FI!8(YW_WJ)C}oYcq|l^s&< z&6Zwl-K;ur>lnu8_b`!BKe?Jiz7{E*9XeTYKSkejcf|b|b{4so*ep8VnuClkxMiv6 zP}_n*(SVi7MWi&~IZVu5t_#KQa0uE$LE#+6ORT8fXj~vZPNhI~w5Nh52f;J~&%moH zINmykFwdp?PQMOu>;e0)^?4XcpIMs;j1H0x*)gTnY$WBI;^@299M z8DX9yQj1QR@11qhNq0Ks{_xpwMeq4mo85w-^~bDiAq6e5#1_S`t)RyWJGWX}e6?fk zm?7`POopAUSdn$rLDQeqH4>@HGKuIE#WX8X9E=)5Dkp7!4gS@&5ic{**pjN3eJLTD zNrPLLq%qb#|B`g#YSq6a;2-nulEyrq^=@(!eyeI6w(w%=uypRJXvEw5$xMwWwf9&| zVEqMUc`E`d!CDdW@f}u#jL2tu_^a8uzqwIgQ?hS6Kq@_b)h(UdZBmzUXa#BOTsk}H z<8Z+M7K7T9IB1SL>pCP zr|I&eq54J-8c4C;E$V^~bnaVkZC#8NM@t61#@L2uxDOvig@Si-B~i5XX6sfuPc&N( zzNfYj_di*VG97iJ&5XNs?|X=K)BtYft-GYItNFk z!IxFQdYkMl)yb;GLtH=+i zL%ul(6Zgag9#S!OZh6wJ6wo|Uov?1I*?H#z0@I~>d-*-9Pl+1^-s`l%8|w2oVP|D!k)RO|77Jn56uTHpSGxTC?+)Rio} zH`>30uk1`wWk-$S&kfO}QfFHaI*&B-wkUrjAm=s2tW}cawC1557=xfm9>fyzCVE`kK&0Sd z_b3UEZlgp7bJtmlmb-;S|~v(g}cz(^h)g0VMuVvY^wk)g&FOBDWNXs(Pb9 zR0k38i>NQaMHv|EqfoG89<&fxI<~4~D+P4AD1s2;>8HqBOyT;%Dh=Cy`YD1uTP;D` zY7o|E0@1CU-a`uwj`7s?;+1R;tt^T=?bjVFxy*lz5Hqu$H}J z(KefX-ZJus(JeINd@hQv^iQ@`2Tw=-2oJtjv;xt;#`EY0@ch5iMWNzfWALU7}fA>a=EdnWTkPjfTlS zjVI|Ierc@Nv(GT6dw{~n~EeAJ>L7fz)zb@9KDKjn}GovP?Eh{!(itLj}3U@?uBD}^<2aj+~_C#fJQ`vq~WnrriMY3`o*;&G>~+P%+48AK@5G$i+ZR@Png zl*IX%Ch^6o8fMLFbcMlK^d@~BjO`_KWnZnh%@~|}9&?#{b@c)%%w;a<|cXsZ}4aAuns_H5QdU(A;ArA##Agl)GFy#XXKq41qUVU*zB3Bgog|pe6)& zRWiv-mDWnOM|Gq4ymNMY0*QMswcGj>4ONJj{qw|!vwr$BfStv6@YuO`GwH=)$MmY< zmD#=dHCObIefed%tjsN_9F10}k}e1bY%c6Ma2$iz;X zX**2F!|IV*qxR_0?v`u~;nAN9mrQnnD8MF@=5Er-?%f?hUQ}$2>R+9z>e1Lv*gxF1Rlnb_PMtb+-shAuB$ATv-ks6> znyv+Ru-o{YmfU>0UF5%x!txMi_!qETU^7c(R+S+NTQ#h5y*)ho|b_FN2wQRv^hM#&tRq>N<#49|S`htTq74?yx} zP`ynO946)1xa{p+cK-xN$ViO+dzlzl7jS&lS9SF+@LInby{eb)vbXtiN{z zhXH*gWSw#E5Jocm2&7PU&f4g=O-{cfZh~OwIXY&Mi25KJC<8u-hRI1lSG+6EqUnWu zpOmuGvm$ErV5~=3M|wT|6A1j0;q@RZV3=PI?E^pJU#WA$?HKPD2L5Q^j}c{kGX-Js z(;I`O(Lce!dk1Nle(mulMm~R##_87{{|rVx`#c(_Uwiz|G4kJDK;!glkMCjR4_->+ z^lOj*B}RVoLk2Rv47)b#dy1~kCT{{nb)K}Iz^CC#>HbyhLNi_!1cHPNmFQ)R#d>P7W>M9X)kc%LrIs^~ zTZ?EmmnL%$pFA}lXGjg(Co%DPjU~PbV@h=rnKi%;FL~y}oVd+OWn6c4COhKemB#sI zG%{?=q;WY*8k&@=qY8 zd)E5|#qEj=y6cFiS69xjL9MAXTp-~dXPL1EdPw4q;;kYx)+Ci@j2W1(ov$|6P?!Vm z!te0zibYXi?|DB(CA?j!00x>gMcL;D6qQ|d&nGDAY(l^~bXE6~({Zp{4q*v0IfNz1 z6DP2<#iN>ux=aEVU&%=Vr|y| zL2MfsWYqeQHMUrJlA^B+hkUBCvW5%>8>q3Ph}bXG&L0^^YYXtv2UltcOmG=ILtZK? zAYn4w%~&95j1|BYirtr3%v(Q!dL|shskkkMv1D|_*lSqm)Q~qSE5WP3AW&qHmhoYI z7THO2P0yrj=q$!o8YF(Vq22QhD2Gwh|Ad>q31gK;5Dr2kj5Vz$W+)@D(mmhA=c{X{ zpv=}5;M`uTqWMVN{6mFD$CPW=vX6|V>ushxbvapUJVC^i1X7G|;LgkH5)9kn;@4Y* zCRUg?+$qL;q6d?Uv|3MkcKN>b+R{9&_mNct2S(kVR*2;JK%vJwEa24AsJXa*@pSbo z`U=T3Ut14BTt-lR1pWSe3FKqSnKlEw|?d2XC(8x&a231Y<)<5Yw1X9d>@o`gbxI zfD~9cGXBsi;#Wwh#+(d;QFFFlX)Q&~+4=8r1m1uL{JZO(lbV37RiBMXGw*UP6i)v8 zVQh*(@F+tqiA|uQy~c9XRx=D%+`V(Vd3d=LYxF%xxN|vYFz(nfBi!JhA1buh>prcX!%K0A18Jbha z%Xg$5^Ur>_7j?CjxiV}ZE*34tmUCs<@9};aZ566(;@eEhZRp!|``ZoC60lU6pLfMI z3z7@xk~;A8(S&l$xsZ}$%ej&2m5WQO@I94xzSp~2TvR|VzG$?o?D}8RcD>v{-mItA z6*{5SfLY6R>X1LnP^Nxj67H1NKqMRdvLAt$yuHC#XG_G|$%3SYF1CY>@V-_R<0VFM zKo3k5691*;u9=J4zorWE4R~P4(*}Oa>MBZ*k=kLaGvr*Nnl;=k!hn-($kttq3smeR zb~(d15!Ej92L++7w_DaE`V(}2z}j~#;gQw*fVK;<=ct}21X|xM`Ankxacrl`EVFR~ zM+dJ8q9tadv5w@k0)vab|Mz z6gRHhMgCx1XWx;WhI$p-hXNGAo=zdOo};5s|6ykL1?e0a2e%h>rn%%SXeX3(n>d(X z0b%oqJ$g8i93INMelW;c5sl6|;m}1j#>tzntX0TDN+|7#ZBD2P5GzU(UYIy)+Su;qWWPFTbJ* z7_U0h)>xS^fjDMp=GYp~Bh2XldXEEIGbc0)5Mh)ixO?wAmm97(D3r4T>lXU zhZ>xPMzt#8Ve})@*XNkPC9pRA^ET^CwKX}hPQug93TetZb}^4EQ8r>QA$nAB*h5Bi zmifCt9~{ubt}znhj`PT4+=Y{GsJXR!34?J(5js zPcukWKS39Qs6t|4x;MuuRYUYaR<%sVtAZctJ7bIy2!dL4*7B7i$A)g9;av>4YsRKu z?2Af+HNKyyNkhye!dDC@4{OHmeb|ZSW_4x$B!#^nf_8$|GnyZ2jY*=~L3ebY;8=9f z?LM2B0*bTVZ9krfQM!?cEe=zV6=?x<`uhM=sNKVJy++97GQ3!b)#8AQg*yhQ#R{ zxp2Jsubnt1Mlyq7Lvyim0oun6E(Kq5R^5%3MJjbK-bnh@@=w6YyXb!cNWG*ksbD`s z?W8UT9>L}nz4M?|HMP@}&2{;C5YMgqpTN=H415G<8``gT9tsTjpCB8W(bY9QQ$M`n z$j&?fEzYpCrMu-CYmZe)Rd8>NDAvlDB}$ucFxQ`PlAgT%S!ZI*C>_(Qkxf!KfiomE zLa2io7mSAt;t+zu3RO#$UN)pTr{pP=FdIXqR6I61KkvjwtetKo+P~Jf{kX`Bk|2ll z%<+tfTkFkgv+gyPt~%G4ZaJmX5T&098HV;!MBdqH3OINp13boyzu<(%V0*sE00U8g z=1afmoRhS-`1XbJ8X}K|LNTj|e=(M7?b+_TtXNi4yamy24+VhQ{3Rz)Z$4En=^9Zc zGLy)CE`upBZT1t+Y2Q+9)D|wztTxv~FjHG*n)a3C@hPd3bODlAjh&nj!djN9q}13z z>`T66u!TiH>^$MwPde8-w^XAWAhoc){?g>M|Brjr?#q+FtCLf><7?#dVFMV&^QI^# zYVQU75cR7($PdALb^T6$2yFJsV6Q*ft=-#-hkcJgknY{V zFj8Y8Z1EM&`D8o-aCZ+!S>HrpmY45hB%<*Z(m-zWK0|b8e3&Nu})E>Dz!w_&(d0@AffLw}ODCd6y3&JIM z9Lt<3E=yPCoPXI4h)eU(pMNzl* zOLsEye2qG^YHxS%VyrIX5!z`^G1HGw5&X`Jyx65Hq%XhF{|NEa7yBOpc41cAp;!YJ zV0Y)RchTgXx#3?l5`f!#>W)PgyA-PI`bmmzirc>14=%8KW6(=dbm?vPdET#(H|e?` zb##wk_mKZ9gx!1mj}UhK+ek6{Zs04x?se6>fW_`HVD}I2VS?3qr>R**_YNQPo+KaI zj+ehrP64}@{ivG)cAtKMcaKm?(BARyG~J$i;{cO(tye_8+^6sKZU8xRTX*|mA=>3E zSz{t#w{s7Zi)B0l?6&UmVs{GIz2@I(x^b8D2IzUHG~&uZ?}Eq(=p1J9x{a>@x!pmp zlpuZh%I&QWS|+dl3hBd0*|2jsM@156`^NJazCv;4_KoK=JXB^!wSVs(PkL1Q#vOdn zrrmlWlYZU6-rmXPd$%vCJ2#9IC9P+;MQx_J0h}G~T($%ryn0t($n1!?e)7tpgeFpE zE^b|A=0IKsY;dT#L!BS9CW_PNabr)dxhVSXbHXZqXr|J{eY4wlFlde+h*R7E`3snd zkd`2)_!Ew&EL4`3&Q*{e0(Wb&Is=E|dO48#;m!xFCE$**HBmc`({dX_9f?g&(C@HB zB8>I~`fbh{kW~h60eBpW<0&4*@HI|K#BWnumG)ImM#ry<@oSuXh~F1kPA!g4#_x;q z>zrg*t~7ChQ5jiaxG$*P8f1v1Sv$W%`+tqI(c^j}2#mWrn-==%T*hu5ynS2eN9+eK zfXa6{Z3|gH5BGp}?M2L4Xf9GR)?o(dxeAVAhOx|+sueV5-Q{dd0{4-Nb!2e;4~`B| z*mLs93eqClJ9l<|*j@|XK0|F8{(yU#zKzj!6lW1GU8(4gtdk1Uh_v=e^d;bIqvz|8kJ6(!n~^d9P&@uGZJ^PUnRT5@UwD$q{U& zxst!1!c^_c&tuFb^hLUS2V+ZZv^6op6a%P;7B(0VgI z9W&J>v{1pF)C_xCrte;PF~d*ECEnf{VoZ+3_?cFgbgnZiLF*t)qo_4$h(j1E(xAH^uXUSo- z;eP_8$p!1cv7tBG8rFC6S&|UNTm>n3?+%yY2omo}Gh}ZL3 z7{`!6>7t;5xSosu9_XaY;STscwT=`@2ocr?0in9fy(e*wtPLg$1K-ret@v_>`$B9; zh%!dXfZkFaZ;b_r-J?^?kYOBncO2x>-ORokVy$nEV++T9a~$SVXe#%TJ^)qZx2?zz zT_2IeT|p5f3bZ^;1dbD1Ve9vg6InX$x$8|L&zT>02HZQEx2zG<8JR8(%=+c&t1!nyo;ukbxVB8uA@NDgjmd<3SM zIlG=>zVG!Iw5Bq+boq{#p`U={_L2>EG!jLPg?opC+hB&2@U`CTn`~?c&c4Zp`4nBa z$)K4B_ZG;8+DaCpm%0PUCn%eSCoJ}eYT{v6wRx=XRox2lP~S$sB;}xE7bIw^ymy>| z+tBjwUtOu1q%)Q%FuIk4Jiq(%A#hQKa`8l;Kq&%YO28AaxbvhplbwIN-}#NL43s4K zHjRTYIq@ufI~;tT-eMNq*>7UNRn~Ohdu+!u_r1r=r_k&1n}cAgO@3M#Mc@gE z&FtT1tnj=rsLaMgKJZlgYHtP6CFA?qQHqiJk&Lgcjgd=!GR*%cMbeXqzM?3>j( z3rHmN5)OA96Jv#iyYmPGH(E=Sal<8Imygs?;7&;v{e`dJZ)IBSn{Jp-!Kw9VztHZV zY$#3PX31tvph*Z)ZU+R}unX#bd%p|16{T2kQQ_MDtA#SLA6h8$XDqby9SpANUPE!`FxGlD(FU2d`hpJyDgX$q72-3nR#-DgnGS z(0bhMW1S}F{bg?mdYX#ryb9?w)zr;032z1_5ua)eFsHb=UazkCIwaXt z0iq~xp6`2y=N7AT7tml@e6qeqS2}2(r4z$st1%>oaU{ipsi@Ea-(6&tn5 zx?Q>kGC6ZDAekJ>5Rjz{Hv!}W>q|=ph`R?9ez)y)6X)4^> z@YU8$Q&j(kw)NKtii5cp!Oj8rTqIVv0lI$L6eV;oeZu&URKFXp!Wq#9CO|{Eq zb!$*a6kZwZj9NOK@d%jYWiGqjcmxaT`X8ZEDK0}(e}pQfz^Rxf5J_d-H047q`YgTa zW7y?uT$+n94-m&TqibLlmsCPVx`v|5ebvfTF9b5-_Xb><@STCku5PKXpF{5QAd~$r z@{lPs1ipKKu_Vb8BQnxa+iIg!uzaw6ebB??y`tK|BQs;f0A=jbfrR^jRVMz>ghO)8 zm}3nfsU+cUl8R$7$rBun$KRk@k}>84#G?SukpUTx#|?3r*W>BM@FiZz`n4ekinFc0 zQB3NPDmOB&%GUaBf?%#(DTZIY-yUYXnaT$bg_tF=eJyeO`}$rYb(HHdxua3-S)Z{8 zsgV6@t1JU_h|V$XVu!QX+B47Kvi|p*T9(56sP>rVtrg{c-9o0Rgnq~?&!~c)BYw@> zr@`AZ-YT=)Gl!$iclV7W_~7T@Y&iuE*L!I!!tpQK{E1RhLspg@oVaa8F_uzU|#X{v>cU!HH8N%cv+~jI!GqYoDf)`Jk|; zT_#n1lQ~CmuhX^0MI#BH^*WhdXLC%6n1Bzyu?%B)D&y3cgaG9+!(F9N!yRp7j3J4F zpc+iRxi?=x2I~8)_0c_HM%mu@`RYow0oGm?w^m^&$sh?X*|}Y~jy20Dcmf@8Fb^{c zzj1BbR)#4niUn+3Oo#Zrt*Hv-4VZHq;@r(=7b;P?7)DRRK83ra2Rql5gUC?DX1olP zERm9zSHz`qhnZ70M4bus*5w0PX)9x^z^L?MYT9&0y;Gac z#IsNaE^eE|w%aKybErCfhPS)^{@`hl+szz?Vxo9!wNOe+Tu$xVFzOoOYG&+i0O>eG zRErBwwtd}HdyC{Ktq&AGi#U ze2&~3InUw9ItYyo;>zn8sBW6O2jr%XMvj?S9}T-kP>c!D;o54hn6rmf?q?@wf85&1 z<@sZDcdaNaHjD-%9mm(2KcAb%mXy5856bS?;t{RcP}8U!qk$MtKnq*+&jKxsOT{t1 z0Z365eWn57*dr`Sq%gc`u2M0$&l-*C6A#%eETQTC|4VY~9? zIm;Hu|A^I>w|}N@GW6)hHxDyzAon8ZZ5lgsqz5WX}YR)`>E0#t#70bS=kIJl1JWotOljpe^ z>G2$wlfBAjn6Vf_uz0rLOA`Z^ImRh&;XX-`89FLg2OPM3_s2JJY zHi&umzYp18=Jo+P%jk|GQNtzX-v`t=@hoeC@@sS5$nBkt@=60jFZBnunW4{)?=LU)l z+YSX9DHPtboWeUnDX*6Xy6$@1{KOO)*8V3b{^5TDip?zZ#Hct4ZLYaestw^lcJo5I zol(895N&a#J&Ew(?u3bzk2A<7Tt!|z=NF9yMe@WDbAHoO61>q)O-nTFa_K)<8-D>A z1GMcu4GsA{hpyr7fs>ygy@I>O4kPHM#BVxj97Sd~l=VG9-ta~L6WDWZM~!b_&+E)L zw$FajQ=q=2McTfWP^8t*GIA-108hT~18VO|gEc=RQ zr&NipMTTJF*Tpa!u6t5w*k>6Y2aJd@uBrr`Y{l5KMdm$6&`;yLPg^vOQi3D_Al8!f zy-wPjEVZQej3aEo3jqtV zi7l;uT;6S^LKV79eZ?z0BL6R|y^{O4-1;v* zw26NnXNC=f|x`R}zb=Dk6|Ny<{^R3?o}D%j%0lW^6l&rc$>yX7l0=B%2e?vEvh?LTH# z5~pLyV0>IK8jWfvJ$yfjxGea@?!boI)lbFB7Mb0LZrv&QC#5Ib`fqUieZy z&i*NK&DFaZw+Ne}AZXV2gt*md(dEbA9^e=`-Achp4k-Cl^4AnH(e{Pbo+JaFAz33u z0ttWii{P(`E7+atg4)as^KPOM4{=lRZui5lDpUjtY-FC z!9_1uxi4#iVd(+{!{#Q6J;i=!nS~_#&2K8p7&ZBobDv@M9CZ_Dl3i^a89zBUSFNu_ zqwdxwY!RG<7n0DKTnG>Qd#u3o94=gioOBsmL)BpkWmCn3 zjSbU}Q0mjH7ZQpfcKyIo5o6XDot`=lSg&&&M?*s8hse{iOUuMnL^~?Iy}8z?t(pGft} zpYD1LJ|2Ih`55Uw_xlL;7*#TiF_>30aEv+`6%!tk+EA~iF&zDG)`lv{!=P@y+K9@# zU$QWE6l&>0?fm$daag2xc%`;>&lM z@!NFA;PWZ(MBkB)UyL0UH<=$9kDFH*6KJ4@W1vulX5Tw4kRyzbhpa1^$JZ8X$V03T zxMw}xXskj$sZ~8=lV%33NyS3tIzRRC8g=%U7URv$IuM<(Xk;8+*&w#MuXiD#A*$6lUM#!b0wVwJYYd6r32_9Ni$FB0bE^$(OqMyiP27sbs*Q0N_`Y=n_9FLES_he>tSvS3&jbdGZ+2lYdz*J! zfx!)%uD@&ubg!gzJF}8h`H?p>nPD15spB~+dj2uxtM0zjG8-g6%^d0naqetYW#s7d zB|~7(PIjj&9}{N1t6IyO8s)*v&`n^boP=9-MH>?tlN5E+lp`u}zHBLpZWQhHg(6Sh z;XbM7D=ojygQ3F~5v912yIexZai#&8Q3~4rUw}7t-r!PzvX@+3D|bf_tuB@&u)0sW z8)GEDP*kXup(kU;nMJ-|uC*VW?evW^iL*YFYHWcDi*njo_=QtIc61pCint+8U-Tb^?=nS=9X$hT# z!no*}B=KE)+GJAqoMTeP4EyGsU3aR(cQZ7b%z9+})Y57b9yqUul8JCsR#sQ?5T{I} zP_DIQ&zsEZnN%&7iAX2}yBE77CpBaPqA%-nYuR^YD_LW=g^TtZvgfjKa3=fRUKC_n zk6CiuLv;L!DBhDg5q(4EIVCPNho^fe9`-_n;$i=}4ljNW#DbT+ZDQgbHxGA4#crgB zKM+Ddp1-$abDnNb-pWLG-1@GxUXt3Cn_8i=d-MvWN*Gun1yp@Ksq@DuscD#5A#E4) zXAe2@v@kgkMFY{%=rz&p(QEO~>!KG8d~x7QQ8f8~9z^U${MzGxkCC6a4ddm~OJl?# z_hEG&@y&bB)mAEvi{neRwY8<{>6Q6fWo10>mCkCXiRwI@*v9D(spFm)*69b%p~AHv zAWG|Nw*m)JNK`D70U=%vz9$H`32MA@662RiYu-bHX3X6*z8p-!F*|)4dQ`2=F)19lG ze~u1(_T@ZwH3ZM@X>SGRCswoHBi7GR&wO>C7}zfm0s8I)=O+y8_i*)tft^?MiGlqB z5x~IS*M#POrp{X?8=C2vJKH(OTyZwYnC%;gV!Nc=b-Xxs)KmqIC|!Vwrb?}UBuewS zB+&+)Rz+VwnO&BCETI}@+@~KnM>2dnPOeIiNqc4UYk6F!mtpXieXiuV5fDfN1Jb*d zMa+I(e~U<%)IL`L#A!5u1B`LYc5$21IFl`nU{w!s+C*^w|_#23A>+lZ^It_)$>kh8qme}*HEu%Ho2T3W`z3-JgyL*v2(#IlV)-6`RC`jsD+!FV`wY{kK zvkb-A_q~#5cQ1DOSwzhEUDRY+)nT4_YdGKQ2i%1DeUkK`bC`u zlVatU(C?Hs!bvD+C3a?q!4yLD9d0?br0V3uM?c8bcr8qbcsKD(?O@ zbYI)Y8Wii__cEYMIPH&H+=cGz`dGoUud@5m+#2r#NX6BCXm*&8s5MF4l*!;l3fqxjJsQkZBzdf;e8jpSe;~zah zPtmVE{%MSS`Ysx$Uu%322?3Lzc@d4%uRV^bCqH_R_&$EE@qybh{zosRar(8!2LaUN zjbV(JXXR!zs^_a4^?REaSJo;UaP+LrEk1-+3FCB6AsZZ(vKG0K7vkj2-Y+OaqVq(Y z4%Iu19Epg35#0^C0hk1IUZ9-c2DmbC(F@O$X#BV}m3kf5DY77` zU^>5CfhY1Fy5@EvcnL4LmYI*r(J>C)8$YPMjs+*?!$K@!sTaP)yVnWuNPDgY#| ziE7Lz z-55>?HJW{6tS|Mx-Ka+8%n1&cV@Ky=Y@(M)9GTDa%01kRHcba~eOaOVg*k=}jE7LWuR4u7zl4?z zswbuMA!Kung{Gr>6=srjY1fygfNRy}%lQy`Q>esi*F)$6gw6!Ac-r|8V7fHG@9hP& z0YiTaey~ZmGH*Ht&o!t~J3lu%yKnHHq{GCI=+ojLC>U4HbF_J1h}LQ=Xmn^)gX?~v zlFq{C2$=@qb3`3(X809`*FMx)i0fH;w{n$an)96Po(ipf1s^c38rB{CW&M44>2za! zkT284ByJYslNC02I!=z05{zZ9H*uHwLa-$YmFhv*6* zIydIs%zOVwk=J$55()ajw}f_Ou7ab;B%>>Z#C9Orqxw~Ba2akN2Z*{jIgd&EtYg`fLG0FeNSAXRAP-VJNG^9D3~lfe>(o~E z)-aZbOb)Re+`IOyU@Vi|blb~^Q4Vpwf$KBSGJQWZSl)hP2ywXg95pGoL}_rChVe!h z=RFIQ_AKG8^Kb}n^`-S@G|KpZ`eZ5365yFPg#fQE*VoVii_`D>6%l#5DLtg$qsQ*E zA|i%%t2eK)blx07OJjWnrsNgHac33BmHjeyxjLh_|Rip9*&Reea{TwOlhmKR( zmmlBzT6Fz8{PeP1xp=OMLU*B_YTl#GB}p;PwNIc?;7Gx-_K6&n^lWsef9-Th>UMP0~?u0d#@BOA^^@cYH?ZC;)?L8|HX;3-8y6x^?@E}}%o zgz#bqAHtWip@)#m*8WouQ^@g5LAXpE4&arj{pkTOtDW`48K8ueW?3ymoWtXEnKC=P zgvJ+VV&Xt25B8CB)rD1rBhW*fbtNxXHb^4#V}e2KgP_p^kA=%!T;xG#KR!PfnV^o3`2-M&Z+8(g6I;R_U7Tx zQ`DKGb%^Kp`ddV3+lPZsfzmDy@HjQT1yZ~2;F!i!P}HBkEjS}6vKxjAynXXP5EH;^ zCyXzg%iTl4Zvpo^LAdDVgWd2`bjU+UJpt5T3nGK29FTD6YWbuOpx^4xjlplx_{#7ASUPv zik$-?Oi*3cd)O|gS3E;jE`V`&HyA$L%$B5$`3?Y?t zyB!A?*GoJG)ZYkhHl>(!f`~W<)b9p2o3zPYbyJ>;kK@YgcI$9xvvK`3u4)Nl6{v3o zF+q;Z1a2Xx# z&mDH^O6_Y7(k8R8eciF!wS`)Pt`@!K7?;COJBFd%wJ$qlS95(~p@yk<9I61ak1jc0 z#Wm;R)xSQ>+u^l15YxVKJ0EXB-f9Cx;^09D3|(%r@#87AJ_akql`VZH@8JCBSF+ zbxXo_8`CZ;oN_O_0pJ_e<<%#v5A`lVhXr&l>Y(x2ZfVf}BHC zOu-2Wj}6OX61+LR3?9U|JUuJ8{PTT%?e`fObz>q|Nzn1xi0?!{;)kwhLlYSFU3P~5 zD7d3^8+K>FwK3#{ycDvDr%*5EbFhTA*1_S(EOzg@BM=lv8q3)q;}9sF^a;YYmBVdb zS++rZkzP>X&#)4QQ5%nZ-(5^l`Hj@z%Y@8`CtL^rCz^?zI9b@=gvYHvcWC%XS^q&w)K zMm3oT&bejhPCdkw@bk`dPLbL^U4=f{pKzND*!q%qj(=J{9(DbzczK?GXbS6u7SF`o91AB@==)1K|ENs6Wz{`7lpOl za#VE}>E%pd&^sUNW38oXW9b2r@-^C3;`CjLWf!EQIMe%eB?ONNaT++u$0l)-9T7wQ zB@%+6Sm?0{oc7_+bY#rFi{GGTiELR)ntEUz#jZ?@)K%VwuvhA9JGlAIH zF}Sx~@!5I!nOyd4voVK6(O>f8rukH*-h-M_0$@QMu^@mHQgwteMdn_?wX3i&9A$JO z_3ABLL@&G(-B0@09LwC=`NcID57iYjMOJ$@Bt1Ai8^_5%QR-!nijN$Jf5Mp!d7Se1 zLc!(Z=!j-&ntB*OCZFfMm~r4L-5ZbICEJ-3uVe}f_(slbf51p09j z!-dd7$v+)jD0!aWz#FVkE?qouv5G;5h$WWGV@^myKhNbM@g?tJn^?{d-KzBKee8qa zF~n@5QFV-UCS)n*Gwq=evQb&9?=S78aItI$vSLv)=3KTz_&&9`x>Sw1qgzMtU?%sU z`@jroonnrJR6B}Pi;7gw26WHk6bLHvTcnRZ)m7xOzs1$zpO3a?_}63H<#N6v{_qK;`+krq0JD zo%$vZNRZ>6AUR&*IfEu|^1nG)ukjGhz-)-YQ<77b-xneSq}Q;hT|l0_^Q;QYxhzV$ zAs%4?eueM~E%IIpVI2QsIGa1a-v_}+O6eR(H0+-qRHCO4V5KJ@RYqE_sLKiXBuB2g zN5O_e8rBJFrxD6AKS9X^i#*{d5hhK|k|e&_B9@|j#23}hUfK!mXU(}NLvR^ilZ ze{7IfHYvQ3^tU-_Dhj3s#D{B3@dqq@zRh^gXQVu$8b|mX^6kshl>#yc+Wtq<1 z@gShQyXRh}qiU(Gn#x{__@t1B;;~n`51Gw{7Zh+rZJ&&4> z#MDsiU^+@?cSuA%UF_szWt;I3059;Hgq(r<`4OaW)#f30XZT^_T0R~Q zcIdDLyj(i>x9&ZZ1o;eXWr6gZ&{h`mKwD@l3#1E$wz5E7VM1G3AP1x)FsQb&Kn_Uv zRyy`7*~;Q`x|PxAxUF0fTt%`$We~qyokp1*5)`-v%4vEzzaVPl`4B{>!>HEUjl+3U z-u*lWdV{ot=J-QZ3K39-sj+(gh-yir)T^xGgz}s?V_gNRKFLPE%C?=w)q{?( zg*w-+F1+Q|0Ef#2;^u`~{Y})bfMF~8XtRBal5HH~oAuR+tej9~26?C+L?6u~;|_p& zcDKWJI#T#>^;Rku9W%!}h-f2a@QUvqSZ6b+WC5L6DygsS zI;X_LJ))WVVDS8C2WP-SY`O`>> zK{S%VG(+W?B z&2xB`jR|wkn1*_&Fb&WzJG{llQ-IwO8iEuhD{>M{{Z8&ItRsDc zYd)E98lP%Fsw^*`!R)&1bVQ%T?$Dr3DFwTS()5YoR)8W-fCP6AgeZc#gBDm-tDLQ<4Cf<5ndxOu^V0^$i90h zv_>j;E{2dwmCQE|gg6PM1#|{OoP;WwQQXS2NySO1M)}(9p>3obgY6(IAzNwpU}#3F zKJFX}t&!U5cMpWtNU15U+k-O#6T62(YotusvCu9eQ?`BmKyX4J;__f{iJ+U#ZJ{Mn zgz{=|iBw5-Wgs*oC5S(LFgPR7wRtGCMyj~FdLVQfDb4NrZK2ahHCI=IGfn^#t%1;t zqVoG-Xhw2wT@GTE(%^RogEN9~y1_M4m*&0jjKIWRc#WW(rw@eImEI z%C|=_&JJ^eaqQ?BQ3{GSv`?&4ug96hYSS8HVnz%FuGW~Q9zr3Fahf{ehcw1%G=vJ8 zCVY$2w% z=!UIxnB9E<*9`!NTzUx{kpp7rwUzfTUk7W6MA)!?_Q!{&rura)!>8$;9(;) zA?Y4Bf}f&JYS$bk%Ni`|krwDOl+OusdLRTARdm-wXdruZH~1;h4r?%^H;@ro)TqmR;xD686apfYI^wC(7eBpvfGT6kf%A~b~^=htyF+7(BoHq?mA zuCG#S2!~G42iM$rJ;z9zl6~aO;-i9M9|^Y{4$wfJT#}(vm8Wi0A;QF2M>YVDSFy?| zClUzj2>rT*+SZ^qQ89|xY*$39%H20`sEcn`ymUC>x?LTtj$}rgBi~<9@Yg!G{2RH;7bf zgV_xtm842Hh*Xj)-5^rQ{n`y8mD){qgGfD2&Tnp1#wS)&Q=ijq_MVwyG2BH#$ zgq!MItt1k13s*Y-DR&q2_}XF(IWV0wLD1yQ&R*E|aep&{H$K3M_X z{TDntkV@A$dtzK(xOZ8&)lQ3zc3q)<%X@t=dNmi+!PVjO6f9#e1($?Se1yZdhFkoX z09++Ba74NvLbwH}TLGwJ5)ojJ*=Ot7q>@`$)DF9-v7_pKFrAI%Ih4N8DU{4;_O;yQ zWReJvOT zOwNkhV;-C*pfmF$en7if&LxXF#q#D`xPvryG)~GrBC~RtjZ={FUOl1ygE2Y0GXAXG z&SyL_p!n?}h>@Gi0IYJTc#Bn8W!}km1Cz(uxy`m zL{7=zm&hp@{t{dn;V(fA34aMLgYcK2ssz78VZq>+5Ea}S<^yIpN|Eze^f7%O9>)nZ z^1yjza}xaL)x}tz`QtP>5Jdyg(daeN?a^!T&+DR}9y~aBTNF*cIEsJl(c3Zb-h(tu zzxMbcjQoxmr(b(~2;=_|Kk=_Uei$SFWx+)3NqC`mmKEQ`w8=l ziXWcGG*Ofq7mbXD9fP8iQRb~IVCSnVxJPZR`ao@?IxovXPp_bb0GcnGoqfJlIfaIj zdcEDZ#+42!P!e{Ln;?T~%(0-jRQOwqQeR4aV{Q@AkJg9SrBZtX*tL$e(&&A)wI;%y z4)_*vOdUg#W0&{7BaEvzFDx{xYtIy_sEfxxN>t6hoki8y(M7acU#_eO1XXdR>bct5 zL)De@lv&Hr|CprzY)jr4nIZ_WGnDt6RCK1s7aCAKocjv>Y4;}JJhi&M0t(VyKyr%s ziwW^ZuVjf+6F)g$UYkT9Q_zAlJox}Y+|CsF?<~Pp>Uepn`eYTu!wv}M7Av(Ch`X%g z%WG8kKj!#0+J=oeFr09ptm9R*^cUxDYpD1h7Bx%gfbZR+*-D?Jgidg1`N{Yx&w8iYFUeQiLoFW9dcTkhtYdkp{W6{cW>sQ?`zg}6lB5OaQxq9e!4CIRn6czw zq8cs=Ae}9~JMNm4`qqkIm^sI`%q_03T!`9lcWf(;E%8zZ0O-B>P8SQOS)JzelV)S<%24nAhlE}_23`*EGy9AB`fw12bEkh9ulSCB*q;F1gtxk5QKT> zf}gTz+@Npv3%aumGACt|dy@S@T`rzycejZxz3-xs54xqX&aaSm-;uNmSb>Stc~5NS zrjVkrT~Ujv`>JuH5TAgtBuBbeeJ=O`udvi z;v^T{t8@{qmP=eC?kb~$Da5Lyll_UuIkg-a9337CG_j?tIF~{YBu)`kU+RLO>x3Zl zIEx2LYO2hO`H^JVXwc<@^~6W0v#=xzU>Wl$(6ohkKp0W28y6gi+H-*^HOc#{q}xN2 zj3ci%bb*cT10}h6duVqt_5-J|wYq>(z0Co~C~p7hsDhHzn@cs4lH0Cf1nw^lv_8w8 zD++DIM$1)|wUGLHJd9!#nX#1`URhs$2=hY_cLyD?6MRDdGHPN{UlErsZ4Wx2oFk}wvPeP16Tk3xX57G0#B0zhfWj-3?a0*$;Kj}!*a+IH9aTHC3mRl3uI zaRzICCM)DQ@X0yu#&2i6FBlrY?@Vk0nz_rHI(J#Z;z2Yrx<<~XAk^#zOXk=vl1b-nAQ*Y5ZC zwZJ)e=4J@jh8bB@tCOC7H?4}hxSZ5TmvK3%5!+vM>@K-r^v2kq5)n7jev?J}9m*MNO=;#d}ymY&-?6vfwy0)kech zPy2)BX%uo ztBg~V-3YuDKE3n9eZfe4x_oijP@Z&J;#lIlbo0?+$C*gf8W)RB)EYM#fRQ;>!|Y~X zYg<@aZ^C=5oC}&h!t5D&Pe{W5IBOI%*C5z^^s)Iq7QW@m1ypBMV3S0eA~d=s(Ly4g zXLVJ5JW+hQm1*t8=?JN_r7&Ck6IQcEzs%VmVZnP-^{E6pr3o_7IS%gV0>PAJ9g2Ox zwE3efOz?YGao?OURJbrePZt=6V=z?Sv&F0}W{H&WD#^Po2ZAl`}uaLbE zogs?(Ou6*_cqv8>O$t?pAJaJ3`b%nE4(~nbM@cSC>eFU2O=<|nXtxJ6WYeS`=>d#E zcn_U=AV|^yQlF<-)v#kt7|J+?kc%FDfF+Nyqdop4<XR5B$TzF)cHnfA>bBR;S;cG#2*L7QLr`TLR-g{iJ$G zr?OJmIL6MqgZF*_`>N7^|-?U4%o}o(?MOgQriQHj*v1fh8wHB!9Xt zA_&F@l`5U1imD6)&RT^$tI-{CfYW$YGQV>1!`9-*j?UN6MixB_lAhAG zH;@Y^q55ALe+K1}t!I-Y(Li~}2JcY`9>XqkGW7eLfHvFlkl?pdFA(Ek=u=ooU`%Xx z0~f-VrQG1g0NoGhKq*hEdp_XG>&w)~EU>?-nWzDWJbtbN5`Dyj63lAkXz9k(5+Mj1 z+ccv&1*LV2BqpQ*k?{l^jxYB=fu!k|d7q%xIbY>}0tv-g2GWFqa@!_)!aE z@$ox_d!8%jS5}v5EEP%T&{o!U2+5*l!1Nr#@{SElEW;RCB4t>)^ep2!MD1Pao-kge2@~tV_;YLy+7d$O4fdbw5ijYH znLPQ;B*^z9^u`o(YWK_K(+JcD&gzkD0}|j!rv4a(r;ZHOBcz+qeW=f{l^6SH?207ZTKxGYMYr- z!%sE*JpAfn96dAQo_8l{h5D~#!r2(`uc~_`y(*}R<<)iS^P~4ddp8p!ZK!oF_F(Gi zN9h79xQ)IpJ&-Wms3lX7^*haKm9(`j1_(B4Ca2%Z*juD#u>lZi`W`$a|mn`ei+R7R!4~$Gu3$u@gf3{iYY*-q4 z1bQd4Db_z($2XaOs>EW@l;)pm*EiMiNwZ3gJqu~RL>WQwHd^#9pvdEt*h3WSW65df zCtW)%aBjlpX#}n@5yR%#41&!ba>Ca6m8rNlO)swDAkEkxjD9G!oI!EMxyQ zq12n%i_*VI?*%B7J*YBDuj4fu9Ep(fruDJ0qm;f@osY%Sk#T(d=DDdLEmsrl$f7Uyp#HVLQhHWYO<$)>J z|808C*iun0Y^^6rO9jc+7PhpWM6IufZ4s{@K-cSX{paFI4O>SOm`Ox_gU5!$w0HCu zO>;;8m1?7U;DEKGM|+`Q_@w1B)$f|tj{d7Kc5INz*0KLe!I7W0ko2~RW5?gIK&m(~ zG6j_O6)N@5W-fXMs2`8=)NA`1 zA6jjw2(9*CooFTFc6{(9QE}j>VNk-2FMh;d249N*fwR5G_N0dghok6aC_rWhCQ($( z4!rCYjsdE&=HK{g$H3%E$nGskgf@@{UR$o-J9mC{9RI|vWFJ{Qy-?|~wY2%6G^N%z z$9rmifh>NA&!o4S@$IJV2@u$L8PEhn++M;+^ac!l4yEAHalYcE)tFU8i8A>jdu$p2B!T#bpX=QAu*R&T>=5>=w*lKE!6 zf;-QR*_Ck7$dnq#NR~XeN1}Q(lA(*btgrMlx#ejQq}c+BUPBum{X)E`xyEV}O?a2k z^e5mIvOoCR!LN?~3?FO>*A4yl?h1`RjqyJau9cFU@%-w&m~aJ!=W*RhQhicN)I^Ps z8R^_EBqU_Kt7LlT^KsRaF^0mM(l5sAGyW=D$UKBR-y`EE=V4ASCR1w7v=~o`dkxER zpvm}v77ldfe72a0bGG;=;4#fHU@tex{}6pL4n-NS)>lblMt^M0N>cEb{ELwx8x?BR z>PkXU!^TW{8Sv-0rtI2NihwR*udjMT)fv~AS?w8vTr6|PH>a~eZ%h(N#C}xQ4H|I3 z3B`ej1gzOlSeQ1K-ILd#HIAGlnxW{iSlKn^Ldj8v`7^3x$CBi3<7t5*kdBJl7-LST z5kIks75MD@vS%@rQeyPg*M~0Q=#GzOKWTlm=U|{%zdT-avpsxCpGMw0ZssWP;}sMTCC>vy3rk80{rgjkob4m2oh~7WdYZ zjN{Mk?!UKirKw5$mzf`4ROpc;jiQ0)$ELUeheiTjcQMwwGZwr26Hs!C#rJuhK-U`_ z1u3A7Zv;+i=~w&-`lq0ikxj+1uw}RaDnUuwvdb%P|6e{>h5CpV9&4z{te#q3Uape+XiqV@ zZC&Fgfgj<8FZ#xgEE;&y%b|7->RLAT3F-iQNnNDGKLQoyin({DlW=@Jv9Dl|8+p*S&5thxW}Tlhk4 z1#O*Hs;B85(6MCUcGNOc{C$ruJB?%s70NR}!#d%JmzQW8e-D7X{a-AQYt4tMYbc5L z*<|jiNQ>pSp`7`z%v|@^&J#=ay4)SB@=P^rPi05}BEbje!7FMDHCm^#cC_i?rNVp; zRLDuIeN#^Hzgeh3azkzHEp*>f$b-W0RI%$G{B-R3Quuke0`xSSD4O$a4Kww*3M!sm ztYI%W@0;R+5G{Z5iZe)^h35>oW*}Gd0u5#IpFUfPj@PQ}RSLvc#)dI`_RCKpvh!~Z?s{M`e_`c8g=Km8~SaMMmqd5nb2D;}|WY^O6y@u{JYYok{ zMy(DpsyV18z{Cz$xqk*8krvARIXN||wW9F~5=J+F#{wXA9?n#rO7N&iI-h;DL+ZEu;`HQ33wp9hI<|%&YLnZYAelZW360Wh7rXn5X5s_l!Zex z`$uurpFxYUUz#^Q>ens0GOA~pqoSAvBmabuD0l5ohALmmx&Il1VMNl61xP=ea*k`( zC50Tk7PcqfjPn{FBd{(qBFgC!ai1GHPt*w@BUsZ5cvV}u}VZUK(V_%l+mHyN{z&Buma73qPp(fq_Z;<;r@C~ZEV`#~k1+p^mjo?~vqaQfj^DSu#4yTe_jN=BL z6`In_05aaxVB?B;a8G+m5BFqc0}j4y3u8 z8~l6ttQ( zyw#~u(5Y&?jlH5#(2+^p^e1>A3WlG7{#5U^^~Im?x2g1FbFR5U|v_edxNSHP*L17>UG1KX!7)>wEjCIPzna*zdlek$?M_1@i9+)@( zst4xs#g)~16PIlnV4qEcJ(7_CX>jRUy&30D(M5S<-FGN%(7RN+Dz)UK0qV_u);%hs zf^xOwY*;zp9B+Q=;{eA@L!k-fRiHhgrvP$Vf8B$eShYQyXfWE75hWP~E;tLvQtYb- z0|jDT!(DBA&}fQN(x1{?GWC&^a7c|(-=fqMDb7eQq%>yw6T&0T^IPb-RXI%+1-hFq zeSQ?p6j0h$-ut^4!-g^Nwu#(3u#@X^YuR^YE7^Eczae`rdv0}gDf`|1C6QX7P|J8X zD2SP$wnE3&Xx;r{r`)+=u0dpt23DYSZyioZIKogg%O8_za$gU-M}cb7)zq{5(>dSj zr*k+h&Mls%3!R;qn?|6c$Hq!1#sz4Bu6}kdqku-C?qw9FfdVHeg=u(hhNA;L=))<> zr2gdCSHqH`HINn6`kcA3ao+9JGf$h-Iq-VtvZitEH`XA#Buct=tijM{;(aLRK5s68 zXfv>YeUWA!lJ|vPR>DL~ACC2|H)w`B6Ux=|i*SJ_;Ta7DHNoaiPe=ad=7U zD0k&chKw{}Q8d8j87FpihC{r`M$Au|T7da?IL=A~@d{#Kz);L_0~AH=+JPrU9PT+~ zsGSZq_jezN$?-Np0N>`$_^SqAjZ^xw;uOQ_lv4_`nARf z$Wr?vY&f83uxFDi)#f;iB%%e;CgxkvWKAV^j40iDMjq395~W|Rie5KZ0p#OL{ZBwf zsy-L|H=rsE`@aExuKI28-vCd4iT@j>H^cZw!;p2xpI7jARaS5OeJuy3(M@g_iw_i` zWCMp*Sx?6E;&L@*5*Y&`v8{fmwKZsI|IBR71d!(68fs(W-x}(h?BALR7!v-ip*AM| zt)aflO5Zb3^kvJd%I7vQb8Cq>JIQ?>dc z0m-O5L)3t#y1s98vkJy)$;yWML`**iR6~pkl?tx}WQ@RfrkHkvLZG zidxW%I>I{IwLybTeX@zB0}OLFDr=93W<=%amDbWs^6ckB!*ocGWava58G;INB!b>i z?%E$VDQ^ECZoSHeIFV_6eU)U=kqpVQBSR#(1iZ_o(fG5E#T5A%Mjk^&Z3vCaE$+SP z31o2k@xQ#ozj!YAV&>~@NKp_To-xb67@U!#!Lh+3puuxc&FLqtxsMGV#lRJz`O~jG zPL{#{C&ua59!G`dX4b z6^&j|frMFQH6*t1Q1t59@74RNRtCrem^Oap_l<|3e$FJm80VLufzGBRyZn+A{3uh9 z-TZpL@dVX3u_LhZ#`qN^dPatSvGye7d`bn8z#tzmd!*<5$pO->?mH#LJZV@;o70{d zrD5?<87QNas^VY9`S`udy(Q3dM>){Pj?SH%Q;^?^qGawE=}OVJ_NZ}kcmqxD`vT+? zX(>W&L+D81Q;VlWaZ;rsy{L*+Bo_>px+S3#Cf&|!IYh;KEVZXw-QzrBC(p(n@4k)$ zUF@-f{F&V2?1PRy-s=mHo;_xwU~-Rf^Gj@v$X(KB1tQ8)kmW-$0k{D45ck|hdkp+SY3f12CFOaBZAd^tj7$L^WFl#pw=%CACnv= zKu>G9tncib&yX6p)~KQt&ge{{K{70l7XW6RSMLVLd&lDvJ22{KWQQRI^o{?DIvt^*BTe@yQ@M7=Z^KjG!Ok&tXFV1GY3@@R4Mk| zDaxmJG}$ADF;bK$>m8xM&sg`RJ(4^11iX1O{wLs6QqdJ-7Nk9tl6nl|&yCvo#kHvY z5Hqw?T|m0&Op?lOydg}0m;;R1-^J={Tx(QBuo@fSg1BNdZQVc zmLx8N^A(n%72^yH3-ocR2ieO~J z*b&XDCZXHUcy}Bv2vFYr5)VyGfMq!t(kz1wvFiep*nuW21m+pyOvWRv0cM*djgY(8 z)-nj~pu77-a1iCEZ;Q+O3>?7syZen6>hZB#@%_@YLaGaIWUtT{AfbiHH(8UC>LPu= zDvHL4X?78ouU3J;_-fTy9`wj?b~>r$);C)K_7J2vls9+vfq`~~9dGIzm$qYQK+gbBn2oQE|%YB)gWL5_IAvp?S@?Q7vzD@z8IY z;fT+&DNy&?T33T zCNV;JR}a~+h4>ohC&>-wL14$pPlBJcA0#(8fq@y~Je}SN8*@|Rx2O%%Clt9Af2zj? zMq}_`WgqTYCH>W}4XbTPF^c$mc3NKo0%^m$y)JJB9-{_`&yhA9z1aeA>}ag?Pzt8& zE-p!wTM;uS-PGdyYOmvtu{EV)Wf2tt9qXj*tQPyE=Y_GmXM+uFtI)jVNJM0JWQd6ANM?mi$ebEHhUveD_z-^5d}wMA%xUu7 zuusLb~i?$_1Z(1i|&J{}H-OYBnXL#8;pRrgca0cUE_d-w=*U zmM|?DAYMRo+00wLbVRrFT^>x%Qdc_?(?+}ap2jHJYK$!M7)3vgk;?;)F&G3hjv<6I zHoCGB%kc=Z6h1Z(y{1P`N&!Zxw&}=9`Vo94uxXS^TleoPV#Dnc_sA&BGit}ko%+%F zsNEgt4%jP@7uL0NDG#TB9W5GdqeqM+Mo(I=6ocXhLJo}i96~Vfun8k5>^J30w!jq= z%0<8nEj`nW#O2^&M6UQAQ;s11PD1ycG5Ber+XIJU%9^gF)NK!>qFv%WgT4{59_BzL z$;|!Tw}g~z7E?Kd^VHx8$iLr-<=Ptp4*kdJ@u@%u6IQB;AUAhpqh?Tur(X*gU?p-oQ-<)=qb z_r5a!mTH6gLe7^e4HUp5+=9r9q;y^TJ|^oqhLeksBr_9V)D%Y1lCk19&0}s=Vw8S_ zq)SS4q#pshQ>EdKiNNl1+*jZ&RhKoHuh!-2aI@Io_c)Qn+;hMPRN?GwkA5VE5ZLXk z`>}|A{)EzKbVp$hW%5b%D$$q%sH2+d89#QZ06ACuULSTR;bxjG{`H(^1E_gaokN}8 zM(Q4QX&~?n_VH{|BX43lZoJzX;Ktw-co5QJk^4010sIDd_N<)!&cNQ(>(v#pJwA2(aP_Hf%Q4qK1S5+>(%MUt&qK{YS z=tMGRa$;x=buZZfBVg^GHv3)nw2g(i{M5wc$t7I9G7o<6WEJL8Gz!&8a)J#-&KoI@ zlvu1L9o#OZT%hS8#sw-Kq4xGEKc@J5qCTW^kHjFwo!c8JYeS464I573S?-HMvw*i` zh8t{FD9E2q3K5^ISDMYIRvYucYIm4nAMiAPkBwDu)MmBx##7~d2`GgvDUfHe}w z1@!vWMsu9{V^f<7%S9!=E0q7??i+jZ^~4DH0Z__q2B;9?>-#-OEtp8%RY)~BuT=Nj znWR;o$)*%mC#bveM$#*feI!2()mdF;;CMt(w|8%-;Qy?DZwi=bxa&eZ(GM|Z9{KID z-2t0=h#k+LT5mjAee;9&gY$F9J{M;aq%AjN^I9i+wEKQGFY{0B&1+sn;?MG#)z!5o zDIjdKW#wJu*kl$&=&Ge7Mj#zQ?V+Ue3`>R+l!WJ3uO`rf0bE30$l&-2H8SGx zZ=4!p5!@pU+FjV_KV)yeV2GzrnFp5%LP=)m}Yjr0l3ax;nDPCE$1J0v*}nh3JO^3IRg z6iOuZY$sIOh@L0n+h(lyRv)e4C0?KTkDwOs}X zgN5JB{HpgFi-h7|+cF*VM<1|}kP?8kCazPcA*BK;kyPU~;S{Ao&yuVroa4}qRIf7= zKK%&Y0F*AXN)ZmO01A=cF_52Xju&^yvRa>+^Utp?Lj*%zPqjMHn>R_G0LEAbzad8l zI_uN>L)@t#cfcbTanr!o*v$+0?H>>BOrn%%VS_xB#9sjSOQmtX2_e8~9vbh{5aVZ~ zm)qRicm!JmL)61kgYP-0(hwnJy1Rw|Sod8}hqB zCa8hmJ8u_1xzd9+zMPd0X)qrNJ&5<1Imo>Ch- z@3rNiUv1p{NRX<|t=E?31zE#ou&d%9twBXvXC-9~d0ljqbO)YaL7bexUb0>sh2Kf? z1rNG2gWlX^9?_|l-d8ZpM)o=sh8?XW-=0ECJ@aY3k{@OYmgOT#F(rS)}Fg9^K z9Izku+W8gx0L@kA7U@zH4p!uk>}}bkjw__+789)q9H8LV7{yK6T3ppBMAD1G!ASbu>VH@*zk!+Ily)&e&S zE7j@yz^{Hy(6fQbCSw8jPgGL6~%M@!#LQt$c)n|;n+$`Gk zBWNGmei`R#tu;?Bq26!)q5{XUP=N)?d*YT#$&sy}vR9c>o?;Q5P#pNFA~-`-Cloi_ zVKh~}BD(Lr?k7s>Da#Uz{>lk(<;yG^FrEQzZw~mOIYHvnYc5QlKy)R*-A|Cy%&S>U z!W9gQLi(yqYFi?5sv-_B%NY~3Iw_0HYq&Hcmdg*85Xa=Wnc8@svq0HnK1=C{KWozi zSk&AFAx$3;$wNZq8&@&u9L>Z#Fw7|n>rzw5aTJ{#SN2Uq&4}FcrCj_u8}{?nwQ}wJ zN@Z=mQ6--~ETY9_3V)CbkSl0Uq6x#r@38%R3aj1M+os4W3=CZ8&B9PxKetqygCF7M zVAy@@eqbp5q78%gefkzJPcii@wzabG;!B^fCx$y5%N8V~W(MDoBI~T;nh68RX8)&+ zT6L_a$ZJ$8B0D}EnKB*;GLR`!>&|+Q>=dbWMGlsFr3R&zl{pjv8=gID?^*T2I(V>? zXj;E)iTv$nIu_lfmx5Y~FU3*VoZL_NuyF z*QDko>bl6rR)v1?3fm<{LD$%2Qgl+z7#DkLCW4CGHNDmK0*y2dT>(LMMl@9*+}uQ$ z`?dav?$nuw)bTPTye^MOj+O@o&v_{_uIRbOk{j;KuiJ1xy0QrMX9=M^2y;ZZmQHWr zvWh0EjQjLWv&yjGTsc4z{f*5tpcv&CNJP*?iS}spnmVV3r=h=q_EZ5UEO1Uqd0zCN zLAsIJA5@t-0oxv)Fz-<&eRU?fVdu__LL-HL!4Y*Wa?y^9Q5&I?-d@XsoHw9+b9#nW zRigIJKsb6qp0wB43IR5!vJ3;VHOQT%c=Z0tT7?dOYn*wXf=0|KtTb2h;ypepC+LVA zt{j&WgD^^mip+%2a^vqtoZ2VOce(YO_IVIgXhds}@%y|)zxu^Hl!7HsuBzqh<;=%$ zz4plVZ6^0qEcqBh@gq+kaEukAkxREb#!&maJLnig&UW{pV+{VXU$}!ih#Dp$V@RYA z+lSS72FBY=#Gu-E1ZV2fA+IWUj84OigMnut*g8X9#z(5>I!NwDI<@UfcaLRQ39*ASd!E#!M1MmRNR|lgXw9kjJE};48LxE?2=iS@ zT07m8)d|2%cMt6a@Ju>SYlt&b^|~llbN%+fGr;ri5U1H2-vOSt4|9yncm{Yb__qRA zZ?*q_?%oA3itD@=-oJ1jMyG;`cZi^QoK<;xTUV_*lTYiv7V+jyQF?v`M zSoq%dFTqH=daSgPK!C(!dD+5G*^XmkCywkm3AuSxZPJ7`?Z0Z9Hcrzv+$OoDNn`zg z-+yK~N&Ss-q6|HgorGjq;&zSsF)=bTv|RwWzkjgU7fD5^A7=uHZ;)2`?~?*Ppg zd{~T(xg%lkc~OXQu22@{bI?OE#v?`cx+B*bbS&~4nomDK^GiOOh1`ORc{3-xG|LL$ zFi|igF*Y5TsQ`7xhgDYqhnIX<75h0St`x*PRSQ+J`pt`KGOmPU*?Zhv;zbvob`^OV z2P?7D7FBN&pD1JM#D@9a%10a0q4Ae}a7dY@i#}{f2ghG1@`i^hZH|Pz z#fvI!j`)Z&mD)`C@CK!^5=GwXhtgP4Z*Zsr?6U67hPZ=eVm1`;ssUXY1vs->`nN=1 z&mk$5PF~2Hxy^%p%BXhoN}ea0%P5zf_STqXbk)*q&{ImwaB0#+b=NP8;4E%!K`643 zE>r2s3q&L@zz{_!b0Qs_k$sL8xH)24i?5{H=t^XRFQ!5oMNzmtr4r96$&k-|(VE!*5hvyf>8?S>u%jLk9_-HHbzm3r zxPyqOyjg8?MNj{xhpJmm#u#|oD}u0^jHpCVB@q{biip}&P&UnuZS6!Kx@{U^aRhrv z&M)M}{-0JM4Uq9FtgoP~(!Q;|j>>KW=MiO;STQWJE3FMjq{=#IZtL8xth=L_6@^3F z8{1ICAConrB#%m{21L!&R=>C9K?JifLFBSaWMKnVONyYu-)9|^zy@X4Pbov{(?1ot z!rTP9#Ab14hhe}Ze@*0P;zvtv&Da;SG;?DNYP76ej?A38wZPJ!%DV+GBSX2?$aaKbL_rxA0*74 z+ae#4vAenZMq1IEvHK<+5FHfj+>Gd(G74s>xXgmyYdOEenFB>k=dus*V2u_evlb-c zhGO=XT~x4+R!r|}&LVG$%zyRNsEN&+sB!NrmVv{!7dxD71<`~PMA+xV1g^cn>^XSy ze2ENxJTI0#$G-kq3(idbTykp`zOJ8evav0~wFdrB(5*{umDUztKO6xyD;H}rINasM zIe;(`kkvq<_DWg_!Q_*8dq%=`7K)}Npt%7vGZL@8*yy+I<{H6E|E`#9Ue=2AIJS~W zs--Q+=OmEBSm1VccE&jeGTA_Z zLbgig>v7&h z4HnLtKwhS_EvrIJz%uhxCy7;2Y?aiw3|Hq+y>wQY0Ub(~mh_)}P?f`9cEwIXw$tU+ zeQj6-zhZA)^CTo9&y!q&>Pr`(ctoO*<(DfmOQV=5v%U~8T392%S0s~ zuu!24_@?$OsZ^{lW0wNNcsP3k5Ak=8-iHX>{4+o{|Lb*&lu(;Yo! zVf5;zfv`HfM9KWNvnvDWSP9SBxFTI_HWcNmnR%NqogL=oqxN(Hi!bmXPAd-w)|!05 z>qV$Xhabw2!BSCUqT0pd^eHwDxr1u-xUspFPA{pFOdOmb6zS3@D6*|~1@7oEV-OjO zGCpuC5cV_{o&qhK^=C`!Qn!|7PYjt)$eTVqzYFNZB(ksP8`1~hC-ajt>0-N>Ws=WOR{Z| z+w3+NlGngVvG)qZFgN5l3WH^tZoH4=OdJ*W=MzC$Lvg$`sj_;77&fa+$-d*f z;;!mt(9uTMB{FeBRkBdcOJCUBQlR9PfNFt?zE5C@)(5w@FUJyJ1s>ekyc5@|*V?Kj z%2i9uTItIEi{&NQ|9b)$@a1;q?KDpE^kK*PSna;$m4_KUK6J*D3SARf& zWy!71$uCQnvBL>ybL(OVu$4`jc0{=(7rHH{5};aF&2ARmmQ!&LN+v~AbK))*30175ydhx) zD?YDaK2-{dz$%tq{7fJsqen?`C@8UQ2O73Yo^Nky-qp4Tr3Yy5l(aXs?AWt=4;H5a ziFM=zw6o71vw(q}n7&ouQjA3x_eh=bh{=@L?-gO^#t$U~7RcoH9)RSy3vYAS~HERL~JGr2;+~sVoFk zr++Oo9>b_><1H#7SrfENt>ifZ%m@p}5!Z_CymH~)*0^gOsaBC=+Q`loAJZm7_bGIQ z5$5K|s0P83k)KY1RS{F^z+hipP3>xd&}Iznf^3&dfODrVa3?48isfttl9)*uuV8(- zsCCU}?LEn2g%woRCvzB`PUu{>3))P`0~88Zydg6JGkO6-m3Vgoy+7^K38p;j0}2-1 zPA{aCQsE%Z75A7=Db)>jxwpDx;jI+K6cfd31%$w6F6c^ z;bX|6hIi<9BARs|2;Ij1bVs}H&^M!{s}SuqUB8#bo%OqSH@0Fk7#-b!9239CY2jF8{4-uGx#!g);h+gYSrSy-~ z_zRt&j#~-v#(mg$$1##xhn$?|q;QKmR zWTrySA}(~}i17^X)?pQHXs9Os$Z|R(O@S50D{$|WXk#y+oI!~=CSI!UJ0W{YitYno zN*?V*qn~iiROW=ax*az>DaaqT5GG zAHl~;rh8;LxEg1~sJ_N}P_1g*hsLO?5i1Gu7m99~EZ}4W<+$tx+)k^cE_(sBoyzes zYqczrs3}oGqNZd_(gDS)XrJ$1~q~yMB^|b9<$-Q;ETN~;ibxKBIFL(&g zuDYfs44@?9j{4mIK+XJ&hS#+i`Lc+C9yBwR_Vnhl{t6>k^8QKO)7EX zp2;dzHm5lGcFVF>uNQ2hUTX$>fvhkOO!ygLDaCv?)Hm0+A-K<~1*&c69lLd_&F8M* z7RNN0gjJ3S^#uG4786pcGZ0G2BcPKzmC1WW+zft1u`7Gbo2{KEt`j_Xv*j4iZk1E{ zPHehrpcAGX(O2In&pUO*3P%9)1g5MRGVG2)@YmYvJIE|j$s|OMC6|3RiN>_bP7UIQ+x zcgnkNMb|7|nQI`mK@|qHsD^mk?_^z?z$M69FKT@u$%vuilr76_MBZFDG#mum2% zB#WP2=9okAkc~O8khuXkqCyAa>3n4wScM>{{FNbF^ zY6C_yn=4mDVJ*YDV~z5Wg;62K;5Iotm!P>oJkH7WU=__3z-VZY&} zBU=S#>dwKk=}vXmtRN4;T;~+rX~(v-b%9XQ$wd_Dw=PX(l%vS|vU1JeNmV#X8*e8p z&sp`iP`fGhx6mm{Li-b9_K(%r!VWkb@4g-Q>a-cusnoWxTIW<@P&D zZw`zzqa-i#&wr)ljJCkU*`R9WLLOP|1%i|3lw%@K{GZA(DY5;!a!|@_e_Hu1C7BK7 zx0Gd8`$1-w`8&$5S(^ELOr@nMSzE4Zq-1SW)kw+OC8|cUdLpVuO4gRB8p#V#t|@S0 z)uI6>R;>Wx#MVp?swKnprySv!;THZ8M-xUZ;qYSFD@rOOa(zMBXyql3D4EYpe5yIu zN?cx2j$maj|L-DMYD7&kD&~bM-hq?kTbd~!Az6}bbD>zJt5BKW(S|#m)ttlZM6Z>k zCOWDHGSh2Bq|1tV^*El1t#Au`bERyDM~Nyx?yMgxP=@Qi8jNdi=QTRSb*&05NL(R_ zK8Fj==s)*bW#>M7v|7*Pr`joc1PV{dsrwM9+o4k5o$!j3=^@+eR5E#E^M^eYQ)4rt zcuLLG*u2$4HGxggwUSTJjJ~~$zpe0d4yhUGo)){-a*C@a1X1mfk5zplY@3h}eg$kU zwYkP(sOtC*<^k$-Db*C(JH0}Fb_wL1lKN&1q_O~m`HM)6m#9J(>;)_Z>P5tZOz_8* zG(uTv?O{2Aa8*@lc_q#;rBc#$&8Tve=pw5sLfC7_Nn}GFQAs6x0n4s?BOC8w+a4UK zQKAyt_J+ot@G+{7$R|M=1A@O2`yLlp*{aHMy|{a$!o0s#9h*=OeNPJ;m>=NzyPUUk zFsW%zd!%bY)}{fD6-Vcl!Ib*lnIeT&BjgpRCdY6O+eFD8bVh09n0$Wb?h6S|*jc_- z#fM97<$0W?%VgEcl0Gx4<7-km^_%Gx_;fg(ONZ|IF`qtXbLrFG4uB}DwTLA6Gug{FS*uaR-hiW^MiYAjo`M=xUYPPilrNrSdnmW))z~BXKjClFAMPELTlBlo z(4(QbW;PqiO*>ZNFs8dyCfYAwMV}WxX@S7(zdRv+>3$iOm zGkRA|t=MbOO1R&+)btT~J}47$*D!L#YvlWJfg(nQx)Q8m%QoW~2%02!fucAygV&L| zT2=-Ym0O`6R|_Hr4Kwe`@~&KOAX5|Ze1k4xsgpG>y-k;^WX1_v*sx0v&0$ohxO(r^arPZ?!x=g5A^2TBoIqK3Rv_Xa#q3_xs3k+o6 z(i(MD2h+TE<5aNo?m}*AVCn!%k&N6d1R;T72h>OLlL8<3`Q>soeK!>Gb4(G}id}9a zmEfmGmln4^K=WH#&>C1802ahe_1Zi18vP!O^dlOH{h75Su=ab=5@$zD(w}1ceQ5t~ zA$?DOitYEKG|-Xn`eM(6vp(LG>qH$hL7%-*GQ)6(_(X zR+9yo2L${|G7d7csoj`)1ekF{faM%0ksdA02`$Wz&s;Xi;un>Z3@qlGZ5$WNe|jQ~ z3BdwXAbeUeHidBgnJhMHDl(2mPbQmHj8#+LVGbv8!i4BS_E1duxq+zL)=p-pgqX1l za!gm?3(sTLh0bh(%8)7_JEa(VGi2qh9{aLlY!=nxab`!dt;n28vPU&MZK!*b@k7nrD{|~rHa533HB$bXD*}(x(6}O4ye(swv-1=nsrgg{7TZL{ zX_193kPM5$^k?NWxN8rJNM%v6x10geGjfRT#*w4{JrH%hDu)O-QUWCe4>>uRzC{cp zB9Mc%Aa)@VyG>?;T$NbOye6N+T5KwHETTf5pR@I*D7cH;0uzPyt{Oh8eGf28Nd%ou z3i|Xq)k5lXa`^9TL1Na)W;ppHYXXZ(IEaqF3}b6imFzj3t!P)Rd6yh-M{c}9c!-2} zwLrjqsPa=|Ktv@hH7Q!8lG^ooIR-#MB@!$ylp=v`+2xaTkh2;aK&42il_8-)ii9P? z(`(^+I-64H=&Eow`$aj<)}YGS+uXK-6dXU0K#?kdMFbFwf7eC%ur(cRaIZW^=GR~G zks0Q|ShC@3TEFBPX?p`*p9!OWtG#wR`?zf{r`SFkm5&IL@egjPKB~UJHr7*sv~aCYCA4p34Gawgoi1RM&}bWw$i~a92L&#Uv_B?&sOoN zVyWkaR{Y`imOXHkF#IiMAd@%1JQuOaE(fTYc0*-3d^lkZp9dB@)rfy98ZyN*KXv&d z4vE;&f|`9DA_pbo1w?bU#zxc~fQCqg+~9IjGdh3@K)KLDbq}C&)N2HU4jb&iAcqhU zBVOvpA0lM3s{>WIe=GXlIF5RIBi-x(w<`1WaQ-cSAtMaQ8`~OpHQ=+0{HS2w@(AJ^ zbUf>v*t8pmQOg(<;T(3GF(O_tLFqrqph2$b)DiRMPW)-@McxEei)IOz{Ps~=?{3w^~78oiKK|8Z=u-c1s-i9MX zAlk8CHLr{2eMuE74AbbJ%jbvuHRi`XlL)t1thEl+a@I|_dCaKmw#x&9Fb#&W+|uPT!EQS;r)QzA`LOexo^tnXa%YyfiWJJ5nL3{Wg_-1 z`9OB$$!jD#jLT=^IZ|3N5=7Wu{nY2YQpQB0z#+=0E0dKjk8X;+*c56R*JyX)Fff9#yO#^0uf ztr_R7@dmsts%*R&74&!|ErM?7Dl$%E;e9d!!kv{mGE!{Ia41S0@FWi%p!t zEnG{;XXB+HeTRAM2uFAu`jVha3KK9>{10-N;0g1K2zco2Y9JFS)+(bIU1cVtSXu$s z9dw5x*UVQ1kdSHvPDB=h7Lx)L{YN>X?k0e^74=^T(B<#S0mAAb1&DL9fCt7*E4K3Sn#bygG>~U1BBOi~@TnrM)q#&? z&&Gt*tH*p(~p= z#Q+wWqQdK#UNk6~UVDAV{Vi=+tR*!)ISei-qLL3D2+0Sx13T9?yb$ssHj&M}I8Q!& zMoQ5!EvxMPMM6&;=|YQY;5pgAb#xWQ3=a!z<+`=j99gPcvCD8#IXB&SsIU~<3Kwma zJgV9 z&u$bS-G6^Z&^^LAZ>tCAt-`7*A`(m!lQRvXSLK3Y0Q^zmA>bD$r4pr?V%MY)^={nG z>VKU24=0IeNwHLx%25kl%~9*fQaP<^Giz1pq|((WP!_Wc&iAX4lq?rmE~8z_lJK~s zJeE6Zx^8x%=0V(J)q%_7>sYy2nyZ>BPH>CUr07B7PF8kM3iE4GRDw2`UD#^p_G7UQ z@Gq|7s<(Huma}F_0C}C9jX}w7GL3~9pT&~`_u#v23=7O zOkdO`6DY?HiVK>o0eb?D1Z54VA-N=N0FD}D9{@*Jq+`RTdm}jWaaUfEv-gT}EIC&+ zVNrHoAo;lv^m+jTln8mf00}Dh0AV$B)g@05-~uE(Uns*FO}ZBd$jyoJ>P(W(HtEs? z)tK=DMyU2`2cB{An7h2k>4056s|zo*vGb$cpCL{^9TeW(ha7iW9HSGDXM%z#BL|Ix z(%e0xifE!MBt8cCY4LF<-o{yM?oM#z(nOayVly=HoaFI!tIEp}mzcsBtDq_et|Oh& zEDs%7hP^7XC8TUQbf-kB%CK`qX1$aVEycwZx>HoB6qyt7hcK8-%hm*b%{9-ax=yLd zk-1S!j0W0PpcsWG+e2U!io&}G=4%m4x=DT zaM4k@9` z01aLmwu~S{I(e&ABK7_f|T3vE?p>V~L_w4DVQQ<=g^_nNG)qsK6XrmjiR< z0!f^9GP(Kv9^9J2M3)F3*}AMmlrRLNgontE$kc63x=b?B9gTb8SV>AMEXV46wcz}~ zBN8X}kX)ThA(1*%HJ4Y(!IRgd^Ai_31#|(vTHzt!6GH{K?ng9;DBmo6P6rFfk^0+m zsI3EUFY{$%)Y;8#!@j71)1C9hO7Ml$id{*1{z^#p1@!zI64QDm3XKlOr zv|hOyru7@rFKB6yj)5r75$P9E3@#gE6$}vBdbJXZ#G;F`2}1YFoT8Ph0PU1?2mm!D zS;$sWC}v7F1jSrXdgyiq9kQ&1;vFdvlKmMkVEwri6oe(?1*|`pL^YW40!+tCqDIVk z0V+k*4o*95RBjMhH=`Yj_@c)uypr}YAMx-pR>Da1bd*-oKIdXVBRL?D)i~$jimhA@ zJkN%`dH|j;d%_4j&*Xdc06bsL^Pn~5050cykP=CNiIf*2>BjahFBs^?<2et1aV2G> zy2P!g4kn|7Nqt7?)UKqQ)tn~`z+~DB)l|%x@`M4HtoA@8opOIU?19KA5IOCEhBCSc z{))#W%BWU*T2~KIMya=1&mMrtlm{BhDEXEU?R!p&vfF{k8O;j@ATpgV)K_Hm07Opb zsYSQ!c3^T;R6ooz!06MW;-O1qrbXP7L6;Iof&qCXUl_j=`a+Zg95H=Ke2OaVy>~aD z?tbD8u@T1}PaF|}As>1+Bp|Mhb#q00{~^{eE9yubPkk{gfWMcz&lAvYp6EDnL7Xr3 zzZc(#3qcc}ie@Ri-Q3L&(Wro>A+srDHpxZ|C9_{@X77~PAKR=#(TMFzI<|*h$0G7G zymT=q#~6$<-n z%i|xrxqWWA%U+f0D{qJD@ksfvEQi!Dv8$F{DfbD{C`SCLN|+RdE+%S)$H<~#`^a`z zIC2~IrZ$LADKPKO@6$Oi6T4-YI$tfkZ0QKxrs=kBSPPOKq7BSiVDgqocM}M_fLP8F zp?6l>Uo(5Zi${oZJFx8p7n}(7>P}k6stQ|FEU{imAM-s1vUW_V#HJi?XH!yfa_d$J zlxB&1VDTHA!&*6qc|_P&(V;yeI=Hf5NyQ#pyWA%cbfDgpU484O63*&2x5kK!L@W~% zYCPKM@^yDFaPMWz1-iNS&M-tFtstV%-ufoj2E`9ZaEOz__tv+uR6Q#9uW(G(a!j_W z6L_m&49a4UtCj=9V(bx9+$zi)8=q>0hmFlU>LHn8EE}$)iZT*M80eQsl})enF^MoE zI_k!^2Uf|cmXNn5vQvWU`p#C$kvb{G5{}~>;uWi4nR|pDBEnoK1u8sLr9i89xd2Ak zp|KsCgEF(}LXK~upvyWwi%T(=qE)5P0%F(~JP;Gq6RzFfRS%81L?v{hYQz@*i10R( z3{>Ka^CnIZf#IA`ARvljGy+>T;VPRZ7ou=yO5<+p$RL!^0%4M3^kP$nuJ+WR)@IjW zq?^S7y{rhqxFRb;c<8BnBP|jr+8YoGcMbxMaaOMOP#0y02S^GnR{t)Q5Oxut15VD?UaMaN|$9qZGkD} z3<^oggc`{zImg5VNq;NnI{S!Zu2f3y=9Qj{Fdj9G0Ul+j}~u31AqP>?WgmaV1$ zu&ACh+Tr{h@$3Nn-rzL=+5W$i$H`$RQmJklgT!eXdV-wbkni)gFMlj|#qu%~X(AMd5&aE|_Y7=NR9lUc%lBZd{ z3Iy#G)ywKtNYlu2{;O$479&m$AyW~2Zcd0ug^Ct+95#Pl9#(P2{qSI0 z9L|n-ZLMml^NHe__hp>7 zL5g@;d)sz)s6tFI-++C&LW&B6YHnIVWk(a!67Jm7($QFt<8mfi1ZfAo zC3M?no)003J(pV!vWRD8ZJH2wp{-LjfyX7|VlRqyG=yX~NR>UbFbzI&=}?k+V=qkY z6Rz?74r8vFaeuMoR=D{~?Y%~ly*mXK!~sF}?duAjbOB*?X>K`^^cb;vERf@XqOz*7 z0#C`uGIt(H@NEeu&X{yFu#Im~D`G8I0x+Whz-t3i4loE72t^H4Na%W6js(Equ@5N+ zD1WP|wMMV!L-dWJZj@Kx2#e0FsofI;$Ak*~C+8o3u`9u*zFU!v0<&$P29{!o#a3 z-^}xJOtDhj1`*Q#5}um*gc2yLD3OPH92`b19Eyf0leSU>s0C?97)(;$;X&Q57vzwc zRfHat6>}k=-x5Lmk?{CA5HuWD4fwyW3oea-^$qcCUK%4{BE~usuc}YG6yDULsAr#vdf?xZLfy>Ea@4sp<`N8+a16Q=jJ_DG{j_{g zI|1&oVu(p%HrjHqj7OqVHT%eC` zfG2OoGc3q;QB5@VihQD04)@yByL2@a9(oxwfzQgp5_5tQ2IL|vIElUtm{yF-vVdDf za>p!Q7Z(s)8pTWt$RTPmFJyGh$dS?Bfav~z7f`jYDuA-mZXQdp7-C|`BI8P+81cIB z5U%poVX*o&Ij}5ECgC7kg^8!dait;yN-1TL&&kJU*)orXL0sE8TM4WFRa=~q*Ofr2 zj`sO4F*+lkm%~Nboc}gleL)TrOELYo0rf>WP-f=Gi>(D+4C7KP4WR^rYTcMojBO`? zu1)*}n+q177(Ox66}S#sI9bq4dZ=KYz9`3+mEwTyEu1piVCi?!^0rl$D540Wi^kbi zOXuY;c>wD~-G8xwj(%AVv@4G7#hS{ftQah_qOvM-&nkeig0mjBq!@jm6-N;qRSlo| ziX0bCj8?MO&5Be>@+Ee<3I|&wC@z+GWwfInK}1$YJ3``~-y^f?^?fN4t6tw@>*)Cs z;b1Fxs)3n^D=kxxP`>9-($YF-Dy4K9tuRz8h$U=CAtSi!LD%>VGEwDA{M8X$xNMMJ z@%JHI!IugKa0OrOS6%#o$PSfB7KmCWqdKTJjM3LN^6CN&tN=$5m?X&Je@A?>=9ssTu=&Ym@9X`S?M68K@%{56x zAFrdkId^vio&QwJ70|W*i3GZ9@2+^(-Ce`(`|kC{9YGguH}OU|v~kxecGq?t-OakY zGXtOZ<-jU2Kxjd=v>a?>QyI|KME=w@X^`a3J-hGAkt}w%nO(NJyCjCrp}!bFv->Lt zBSyf8C7rmIli-|ocWTFceB`ZwzV8$-^bGt||FHfMNb|EAq?!Ghb>Sv!|0r6Xp$k20 zX073^i)7my>PlCx%ITWt$e)=A&i?YMZ+fo%Us*RjTL9p)=NW1LzV|(=`onF$>$0wV zwnk!F6xX&^e_b{m3|9)}?UWEZm4cS{j&(sX1HTdHq$4^Ayrv7EvuA~pX$5dK#ov(4 z*BSlV@0`vVgoqCaS8@5YHKx7dMx(S5Vrw>QW;CMa$G(DE{1Rr1`xa{PC90)#-A*jL zM7u$2ZC4>17WfP9>!_{IX{QpxW>y)B>nlpTswnChe%T+<)zshgrgaV7PK|09%dJQ_ zbupHm$1nL7=C}e|(D^mgVk=5CJF~%Ys6cmHPwC256gyST6q|;S@+FXA$;=|}m*~Fg zt-de8*z_eR)$(;|eq^UD-|m~M1Bn#+G9L$hzCOKi^ktYcqm{jy~Zb?ptyvWK-e(fbBn=?atS+hq5d z>EL9y;NG;ZEQsnKQoyssR#i?u&#ss$kuxLQx?*{YH>9>Jm<=iXLBWlJVfBY};_r&% zWO&ugSu?Rdtlz$)y^f*yo)&h)HFxWad4*im4C26|7&a>lv%YPk8^^dmo7IG4ee2sQ zX|EGj71_5;h)dz_&g5rFzX{cLFqcdC9dN;1f1AZzX48H3ZH+tkWhRH6^EjR0fD9It z*73vtvt~gX?d9OpuJ>~3#P&c4tK}{DhToi#H4Z9RqtZ{Oi*n`tRhU@mG0g0jY7 z2#3=zpAYC1kwU=2o7rkOgAz~y%Ui))fk4(+ttgzSDgH+ZkxT^;5rrjSa#~H=`bty) z=CIX!w(V}*{=s?>TG9*8KFGn!h;C%TD^UQ}Br%QeW@;oy{snL(d-@y=Aj1+<0I~*& z{F|c@oG$S<8zB8PGZvs(Gh1>iN7&M36;x!!rQA_emULiWtBcik?`~}EXxzRGAy|QJ z>^7v|1kSPBaDIhzt%ePk-H7ufocl7|jgUO&{uXy5gipbER&itO4GHUIp<-a+^J{fHL163PHEpcZEWAtyk<|^UQEktHBxJb6<)x5(Zh!vmwiF6#*x8I*cV$O zDh8gCPJdgXX>40iu7@mkhVgIX1A6?wID!9lq>@w;X!aW zH)GF=C-mtYp*JC~5-}LFGBLt>WlJI;SBgF$=iApMkPGV>@AJ9@IPy;tig8V*RAklG zOshN;SxnW2nW`}aU8P158kOpi6q%YWNRdUpF5zp7bJN~<@X%t{OZ2yBLV@pl64qOV z@pZ~mg{dL;qJ$42YQ5q1&|iEx@z!6ST;M%;4$8|e&Q&r$RDhECX@z$ia!=t!9(!lUQrQO8d2~ac^Bmy{`c~bDKmfcp8Rw ziq6*3rh5ki_FqgAm=FmDYz92sG;|z5%YuaiC^J-@$Qd2&TkQ7^9lIf&*F!Koqz#@E zR$9Wd){L_-0rQVf_5Ww4uoQLnKA(S;2w*lYJXR5|ygUT3MAZfXybklgYf{txlk#3k zxMSwIlBl8gF^0Wh5B$KFARenpj@Gaj05N|6a#&H`Qghe~{OMf5SFS48YZ|>p_OREa zqn9O274;dyPKrGkOjx?0UV$B_7tLC*~sm z=1p=RtGL#(inpp3URcG|sy6a+J>XVz%Jqn?n3=d)e?YHAX5ug_`Ixp4Qco9?;-IwK zTI-vZ?W*s%qp=ymES!U4rGcGOcr0OFRFd_HV~^qvrU^bz)jNpPM`DF$LR0Y$9l*TR z#+T|Hj1{xf<5}Rh0>HMs*9757j`m?&K5vl$zWg{~E>7eRM(A7C5UG)<3u$TFDB&wHKLe@@jt6l=D zP4N>qR4*YvG|g{lQN4s@ZG+EfIGvx)KeqOeDLNvLtx8Ht2l+Ty1}EzKyhO+Dcg9wD ziV+<&BbNkcFgoEct@(6>3ny{%kGIUOKu2%*LA?S~tCh}-w*0LsTT7CLb7iD*jgwMR z@&WeN?WQYiq#Zwqq!rG^k+wD0cOsXX2ud57MnL*r+DL9a)00k+CX3>>s*w>0?zNYm ziRllp++J3H*u{wJnb)C9STJSx=_l#>_0voe7F zY7S(JQ=PsIi_^DQ+B_0;VF4#(vvNdfnk8T^&azIo>yVKZ-wFe#?9c2X$eZ=;T02^P zl27gQr_ipW{A9&v7oxpp+6`1)d-L*TIE;DE_KrPmb-NjTmZ_-}v22K9K})cX7$KrS zb|BxZP~>EJ#5yeWH+;o#L^FOyl0@$8=|`#cQtfW>~7rEoS{J-j9F=p zi2{40WcJYJ)dv!7&uGOZR|R*?$i7o+<_Ch8h19pPhGQJU#P}$V6 zdA4Ncw|8eRo(x$n9Su0e8dV(fRxr=B6hKBEH zoS#A^wCvo89cZLurGjs1GHDyxAX}`@y>S$~S&5^2?^$zCV-p-Zjv!}o;|P+k=OB$I zLFaav<$c*~kb^i?-=YL}Lw$2SERn`X>UWr6OE&FUV82DcMc<(W4zW{MDkuRm7m1AR z(Mvef*?QPll2*bgDT!G-Q;D;X!}+;W3FgsT zgSJ443~dbdd+K&oH1EJEkh?k>gW2F$oV&*DnYtpWW%((jbXwt6tDydRa|Ii+AVEvYzh%WMy|D(>yptUwp{18wM z(Jv49I23d*c(w0Kz_&s_Al#r>sI4VwqBGEK=1j8X3M@!vb%=Dy5si?8fE zZ-PC9&yQ+$b|Jg_?JZ5MEqj`G+=CE=Qg7ji0GL)-1L}5BSXyn2#);HGgrbBv*ZCmR{H}NH+)8vyy#o37Ax_bHT zII{VTLS-x6aha!V#j(zF3skM;IBosX4a!!8P3N4*D3dw|s&d3l-zZXki@@o0zOof@ z!`X#C+`POTQPH^@XMQTP6EomIq;6KTccCjsq_}8NY{aK8sK+B=A9-C)H}<9$$`?on zE?m<(apXqdw;9fG_v1o}t0xxB{NO=}PIE@YMYj`I7WzR?XS}DxB!vsB6r{gcn zYkp+J9Tdow_`O9p>Q3vvZvkD2d_Pr4JDF!ge!>w2R=W!P1dXn^y-+x}R2J2BFhTd+ z&IDuc^jwCbblL4}zRzM6r7KY`_$l%zU3=RV_Q6Dyt|I)Np9n?i!o`2_e+#&e_^jH| z+kyHE`97<56qe7#Or9?yfch(izEcG1FD&p`U!t&xCjM2ihLTG$@lT5RGw&3WnijKt zOpP)t((>UlZk^87L)gqrJ|1p5mTMr}RG%qQ+rZe_D@Vm%tegdMW_L_nnEAE!GB*Gb zO<1rKM~dW-!M&K{S7~QYs<9a{94l}&arp+X=-$NT8x;Vuq?G9+Tvkwk`N}&gTUwAk zP3Uq$o2k{CmRNmH-m0% zkRv$L1)BJw0tGF&hGAAgA-jV$yX)Ek=f5et0GK~gG-f+%34V4|Ho^BaH{!0(_PX8V zu1#FLNltOb7Up#cxN=%f_QstkLNTd+ByTPy_w!l3$;72XrF%NNK;AoJY16T5P!bIn zk;n;R$>RBPPq!ISN#9_un5kwO!wh(1UzgOS-HW~0_sjfEgqPRW@2o=+j&%hy&#yc2 zeJcxth=9Crq%F?J4l_wv4<(6fQi9dAUBF}$5#5|9`M3krdp}12bIni_5f7@4kqX^iJIC6 zWuPKWyQ<92pGnGivXYMqV()1(ZB-m&Dy`f?)kRu5xJ_59x=B(KW7AYDZq2X*os(j+ zSH9*u8=LpEqwdNJnI0%}PRMZei$fHfWyrMVW25uuPk1>2dAErO?ee$ zH8axDElg#nZ$4;-IlRLIc9e*Kouz5U~d^swRr#~ zmM3ks5hiMOzbeeqa>RTTSx@kjSAC`@zU5KTmPQ=!+1lYTIbH%`mm)aFhsU`6w8XZb zeB!vJr1hvK zu-5~V8$HW8az-Hnnr{K*#SeQxe(yc&%Wd*=&)g9^3-q@Ds1hDXDdE3(ID4e$QclGHQp| zRC?eW#92WVZ?pWC@oZ~3qc5zb)$#=|<0Wv{McrqCUxBOIC%S^ZZ^6b%>2ed$8Ifi9 zgYrc><1OgQ%l>@<`lwHWZv~~b)0m=X_-sWPu=R%Kli*uXh5l*lOs zgw7tuoS>7}v*Z9>Ba-j>zC{aXSYcxu_pl>e(n>70h{(wVhffhdx0zJo4p0;) za95Lri7bT9obd%&y7SF3Q>|#4b5>^dO3mr&2}bK#IT-Hn1c+;H^73%yB66k8F(nrl zdz06k=0V`-ITOqdBx9_T&a-C=wV$zdAY#jhgDs2D&^e{Dl{)k6wCtYAd$&)E%WlDW z=dD?A;kdZ$H?pCUM8s?wmdK%ch;-yNz-u4&mJJP^dpw&3Fgr3n`z2N@keRyl!e!tZ zU{m6<_R&ll3%C>jQ==2xXQj3QSGr|%6NEyrotKuw(DLnxoGkyIU~c;N1mn-YCuGt6 zdxAaf-xF+7(8!aIUrlfH`12ywn0&Rk`O2%q_YICm92u5W9>1vWk% z2Bvaj6hh$Ld*~=6pAI8e(V-p4^yxB|bCI+{w z#}4mpZUaqn9RNyy2S71uk>JmAExl?I=#}w6viWZ7 zYcH1h0a^P*4pbu`E7?N6M5LUZui$CkY(PtDKW>(Vnvb`?_99t+o&=q_8koTLSC2hT zY!fItw2Q&z0(M6|F5%7viBIN;MAOtL7m*k<0|CzA3fV|pVi&`hk0BL|+JA2*waka$ z3twu_}S@6OKv6cWKRfac?NoG8KAwIpIy^Ke*wxuE)~9Fc0TAy<#qh#jIf zp}Jl+n9B`fW_%TkJYdHNyoICq=^W5vqom3n#aR%n%y-6VoY_I$GUN)N?WD!7xh(|K zxj^Wcc|YI9;Bqd5XPSh3&2*LopW=Yrun>JF2RfO6n8Nl}0n(ZaAeQ-g^_ukOwGIWQ zb3j*yS)0p3lpR`PWMeD2dqMJD$*Xe)?wa%_fO6?gOTi0D(^tXIzJu8iJ(TkC_3oy(To zy1A~Ye(AFHjk|Y~J$3im&Gs2F*y+Mgh)FqhEyY%rr6h3F4899}ayKYSTh2Rkc@L4$ zsvO?K`DHkiA(t1C)5G~1{t#kY4z{TKzen-oR4yIT`P;Rz0bkTaQEG5Wi$(okM2FZJ zYO%5hvT4hADyJ8LoC|yhj?g1=vZ#TX=+fs7n>jDxjk*rx-U|XM*xPnAx5F!mR4YD5 zQPtebrksggx3<pcefn_OPd;1$Qq$5RI@toTjP+ zx=30r-i$xmai8=n3L26|S$0oLmMXc(X<5r@c}25`SseSBuNY8u#MT+BGDnz@qjFY5 zP|I@=Xey+L)7;H2%#-R7Uss@g$*pVZQBt?F zkpjMVG`4pvT~<}szOJ*iv8~=W4RM|)e1$P>3!N8l3U4$c0fSwsR?=5!-VU$`9_-Nj zyaIN=qpE9KRbSc*n2X=K_|oNgB34w)$+-!TI&4IzM)0(o*Lxr*ZgN(z??V)vi6|P8 z!p#j7EC4xy0?W5p2})*8PnZv>Ydd`?G@_=rz=vOzs@{xd%IuQ{y%E;Q5W5AV^$S^S zLAP_;cUo_?eQxn|$^zF-AN1K?(!AMs`O;&$nwlTAY)z0o#|q)Tl82r@LKqjj0hhb4 zn5MUxfPfEVJpr=?b}TewU`o~#&OeaF8`K%yAPomb92^^5XTBuh$rK!k{}wQHYfbh4 zGQW9X`>vJ;R_-jVFWb5Dc9?&453DKOiR91&*dJTBV+S_w?(~oJr`4UYzIL|N`=^?w zbLb>zh-Q2`+f~>2Kzm0U0=;x#~!TJBx z`snBR)B0z$r?e+^Ji>qdq4?H=zh(BUqvz1LHmH3@oBvmRIAefA`gb)9GM_?6&uQ~x zX1CwQzmoWUTKl|a=#T3^(C5=P7+cbBr$JNNd|I1-y&{ca9@mcI$)Gmh6Z#gx@Na

    /[a-z0-9A-Z_.\-/]+)*$`) // GetLaunchpadDoc downloads tarball from launchpad.net. -func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH string, node *Node, cmdFlags map[string]bool) ([]string, error) { +func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH string, nod *node.Node, cmdFlags map[string]bool) ([]string, error) { if match["project"] != "" && match["series"] != "" { rc, err := httpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) @@ -40,15 +41,15 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH // bundle and snapshot will have commit 'B' and 'S', // but does not need to download dependencies. - isCheckImport := len(node.Value) == 0 + isCheckImport := len(nod.Value) == 0 var downloadPath string // Check if download with specific revision. - if isCheckImport || len(node.Value) == 1 { + if isCheckImport || len(nod.Value) == 1 { downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball", match) - node.Type = "commit" + nod.Type = "commit" } else { - downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+node.Value, match) + downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+nod.Value, match) } // Scrape the repo browser to find the project revision and individual Go files. @@ -59,7 +60,7 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH projectPath := expand("launchpad.net/{repo}", match) installPath := installGOPATH + "/src/" + projectPath - node.ImportPath = projectPath + nod.ImportPath = projectPath // Remove old files. os.RemoveAll(installPath + "/") diff --git a/doc/struct.go b/doc/struct.go index 47e911c7e..89eaebd1a 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -8,15 +8,9 @@ import ( "go/token" "os" "time" + "github.com/GPMGo/node" ) -// Node represents a node. -type Node struct { - ImportPath string `json:"import_path"` - Type, Value string - Deps []*Node // Dependencies. -} - // Bundle represents a bundle. type Bundle struct { Id int64 @@ -24,7 +18,7 @@ type Bundle struct { Name string `json:"bundle_name"` Timestamp int64 Comment string - Nodes []*Node + Nodes []*node.Node } // source is source code file. diff --git a/gopm.go b/gopm.go index 26bf5cb3d..81f7eccf3 100644 --- a/gopm.go +++ b/gopm.go @@ -263,9 +263,9 @@ func main() { } // Check commands and run. - for _, cmd := range commands { - if cmd.Name() == args[0] && cmd.Run != nil { - cmd.Run(cmd, args[1:]) + for _, comm := range commands { + if comm.Name() == args[0] && comm.Run != nil { + comm.Run(comm, args[1:]) exit() return } @@ -335,9 +335,9 @@ func help(args []string) { arg := args[0] - for _, cmd := range commands { - if cmd.Name() == arg { - tmpl(os.Stdout, helpTemplate, cmd) + for _, comm := range commands { + if comm.Name() == arg { + tmpl(os.Stdout, helpTemplate, comm) // not exit 2: succeeded at 'go help cmd'. return } From cde2cbe612d8fc27a0939e60a54fd60a2b52fc23 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 26 May 2013 05:54:23 -0400 Subject: [PATCH 108/287] clean code: --- cmd/install.go | 75 +++++++++++++++++++----------------- cmd/remove.go | 68 +++++++++++++++++--------------- cmd/search.go | 2 +- i18n/en-US/prompt.txt | 6 +-- i18n/en-US/usage_install.txt | 4 +- i18n/en-US/usage_remove.txt | 4 ++ i18n/zh-CN/prompt.txt | 6 +-- i18n/zh-CN/usage_install.txt | 4 +- i18n/zh-CN/usage_remove.txt | 4 ++ 9 files changed, 98 insertions(+), 75 deletions(-) diff --git a/cmd/install.go b/cmd/install.go index d77a9431e..7bbc88bf1 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -37,6 +37,7 @@ func init() { "-d": false, "-u": false, // Flag for 'go get'. "-e": false, + "-b": false, "-s": false, } } @@ -51,8 +52,6 @@ func printInstallPrompt(flag string) { fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadOnly"])) case "-e": fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadExDeps"])) - case "-s": - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadFromSrcs"])) } } @@ -123,12 +122,43 @@ func runInstall(cmd *Command, args []string) { installGOPATH = utils.GetBestMatchGOPATH(AppPath) utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["DownloadPath"]), installGOPATH)) - // Generate temporary nodes. - nodes := make([]*node.Node, len(args)) - for i := range nodes { - nodes[i] = new(node.Node) - nodes[i].ImportPath = args[i] + var nodes []*node.Node + // Check if it is a bundle or snapshot. + switch { + case CmdInstall.Flags["-b"]: + bundle := args[0] + // Check local bundles. + nodes = checkLocalBundles(bundle) + if len(nodes) > 0 { + // Check with users if continue. + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["BundleInfo"]), bundle)) + for _, n := range nodes { + fmt.Printf("[%s] -> %s: %s.\n", n.ImportPath, n.Type, n.Value) + } + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueDownload"])) + var option string + fmt.Fscan(os.Stdin, &option) + if strings.ToLower(option) != "y" { + os.Exit(0) + return + } + } else { + // Check from server. + // TODO: api.GetBundleInfo() + fmt.Println("Unable to find bundle, and we cannot check with server right now.") + } + case CmdInstall.Flags["-s"]: + fmt.Println("gopm has not supported snapshot yet.") + // TODO: api.GetSnapshotInfo() + default: + // Generate temporary nodes. + nodes = make([]*node.Node, len(args)) + for i := range nodes { + nodes[i] = new(node.Node) + nodes[i].ImportPath = args[i] + } } + // Download packages. downloadPackages(nodes) @@ -197,33 +227,8 @@ func checkLocalBundles(bundle string) (nodes []*node.Node) { func downloadPackages(nodes []*node.Node) { // Check all packages, they may be bundles, snapshots or raw packages path. for _, n := range nodes { - // Check if it is a bundle or snapshot. - switch { - case strings.HasSuffix(n.ImportPath, ".b"): - l := len(n.ImportPath) - // Check local bundles. - bnodes := checkLocalBundles(n.ImportPath[:l-2]) - if len(bnodes) > 0 { - // Check with users if continue. - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["BundleInfo"]), n.ImportPath[:l-2])) - for _, bn := range bnodes { - fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) - } - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueDownload"])) - var option string - fmt.Fscan(os.Stdin, &option) - if strings.ToLower(option) != "y" { - os.Exit(0) - } - downloadPackages(bnodes) - } else { - // Check from server. - // TODO: api.GetBundleInfo() - fmt.Println("Unable to find bundle, and we cannot check with server right now.") - } - case strings.HasSuffix(n.ImportPath, ".s"): - // TODO: api.GetSnapshotInfo() - case utils.IsValidRemotePath(n.ImportPath): + // Check if it is a valid remote path. + if utils.IsValidRemotePath(n.ImportPath) { if !downloadCache[n.ImportPath] { // Download package. nod, imports := downloadPackage(n) @@ -246,7 +251,7 @@ func downloadPackages(nodes []*node.Node) { } else { fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipDownloaded"]), n.ImportPath) } - default: + } else { // Invalid import path. fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipInvalidPath"]), n.ImportPath) } diff --git a/cmd/remove.go b/cmd/remove.go index 3cb6d4df8..82567dda5 100644 --- a/cmd/remove.go +++ b/cmd/remove.go @@ -35,11 +35,41 @@ func runRemove(cmd *Command, args []string) { return } - // Generate temporary nodes. - nodes := make([]*node.Node, len(args)) - for i := range nodes { - nodes[i] = new(node.Node) - nodes[i].ImportPath = args[i] + var nodes []*node.Node + // Check if it is a bundle or snapshot. + switch { + case CmdRemove.Flags["-b"]: + bundle := args[0] + // Check local bundles. + nodes = checkLocalBundles(bundle) + if len(nodes) > 0 { + // Check with users if continue. + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["BundleInfo"]), bundle)) + for _, n := range nodes { + fmt.Printf("[%s] -> %s: %s.\n", n.ImportPath, n.Type, n.Value) + } + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueRemove"])) + var option string + fmt.Fscan(os.Stdin, &option) + if strings.ToLower(option) != "y" { + os.Exit(0) + return + } + } else { + // Check from server. + // TODO: api.GetBundleInfo() + fmt.Println("Unable to find bundle, and we cannot check with server right now.") + } + case CmdRemove.Flags["-s"]: + fmt.Println("gopm has not supported snapshot yet.") + // TODO: api.GetSnapshotInfo() + default: + // Generate temporary nodes. + nodes = make([]*node.Node, len(args)) + for i := range nodes { + nodes[i] = new(node.Node) + nodes[i].ImportPath = args[i] + } } // Removes packages. @@ -65,31 +95,7 @@ func removePackages(nodes []*node.Node) { // Check all packages, they may be bundles, snapshots or raw packages path. for _, n := range nodes { // Check if it is a bundle or snapshot. - switch { - case strings.HasSuffix(n.ImportPath, ".b"): - l := len(n.ImportPath) - // Check local bundles. - bnodes := checkLocalBundles(n.ImportPath[:l-2]) - if len(bnodes) > 0 { - // Check with users if continue. - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["BundleInfo"]), n.ImportPath[:l-2])) - for _, bn := range bnodes { - fmt.Printf("[%s] -> %s: %s.\n", bn.ImportPath, bn.Type, bn.Value) - } - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueRemove"])) - var option string - fmt.Fscan(os.Stdin, &option) - if strings.ToLower(option) != "y" { - os.Exit(0) - } - removePackages(bnodes) - } else { - // Check from server. - // TODO: api.GetBundleInfo() - fmt.Println("Unable to find bundle, and we cannot check with server right now.") - } - case strings.HasSuffix(n.ImportPath, ".s"): - case utils.IsValidRemotePath(n.ImportPath): + if utils.IsValidRemotePath(n.ImportPath) { if !removeCache[n.ImportPath] { // Remove package. nod, imports := removePackage(n) @@ -102,7 +108,7 @@ func removePackages(nodes []*node.Node) { removeNode(nod) } } - default: + } else { // Invalid import path. fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipInvalidPath"]), n.ImportPath) } diff --git a/cmd/search.go b/cmd/search.go index db2347909..d8db58ff3 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -72,7 +72,7 @@ func runSearch(cmd *Command, args []string) { isWindws := runtime.GOOS == "windows" var buf bytes.Buffer // Print split line for more clear look. - splitLine := "<-----------------------------search results--------------------------->\n" + splitLine := fmt.Sprintf("<-----------------------------%s--------------------------->\n", PromptMsg["SearchResult"]) if !isWindws { splitLine = strings.Replace(splitLine, "<", fmt.Sprintf(utils.PureStartColor, utils.Magenta)+"<", 1) splitLine = strings.Replace(splitLine, ">", ">"+utils.EndColor, 1) diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index 960524453..ce4c36b62 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -4,7 +4,7 @@ LoadLocalData=Fail to load local data[ %s ] ParseJSON=Fail to parse JSON[ %s ] OpenFile=Fail to open file[ %s ] RemoveFile=Fail to remove file[ %s ] -UnknownCommand=gpm: Unknown command %q. Run 'gpm help' for usage. +UnknownCommand=gopm: Unknown command %q. Run 'gopm help' for usage. MoveFile=Fail to move file from $GOPATH(%s) to current directory(%s). UnknownFlag=Unknown flag: %s. DownloadError=Fail to download package(%s)[ %s ] @@ -17,7 +17,6 @@ MovedFile=Moved file from $GOPATH(%s) to current directory(%s). PureDownload=You enabled download with version control. DownloadOnly=You enabled download without installing. DownloadExDeps=You enabled download dependencies in example. -DownloadFromSrcs=You enabled download from sources. NoPackage=Please list at least one package/bundle/snapshot. DownloadPath=Packages will be downloaded to GOPATH(%s). InstallStatus=Installing package: %s. @@ -33,4 +32,5 @@ NoKeyword=Cannot search without a keyword. ContinueRemove=Continue to remove?(Y/n). InvalidPath=Cannot find package in current path. MissingImports=Following packages are missing: -CheckExDeps=You enabled check dependencies in example. \ No newline at end of file +CheckExDeps=You enabled check dependencies in example. +SearchResult=search results \ No newline at end of file diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt index fe68a7df3..384ca9eb7 100644 --- a/i18n/en-US/usage_install.txt +++ b/i18n/en-US/usage_install.txt @@ -15,8 +15,10 @@ The install flags are: force to update pakcages. -e download dependencies for examples. + -b + download and install bundle. -s - download from sources. + download and install snapshot. The list flags accept a space-separated list of strings. diff --git a/i18n/en-US/usage_remove.txt b/i18n/en-US/usage_remove.txt index 0ac596717..740de80c8 100644 --- a/i18n/en-US/usage_remove.txt +++ b/i18n/en-US/usage_remove.txt @@ -4,6 +4,10 @@ along with their dependencies. The remove flags are: + -b + remove bundle. + -s + remove snapshot. The list flags accept a space-separated list of strings. diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index bfaa7eb6a..0ed3c27d2 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -4,7 +4,7 @@ LoadLocalData=无法加载本地数据 [ %s ] ParseJSON=JSON 解析失败 [ %s ] OpenFile=文件打开失败 [ %s ] RemoveFile=移除文件失败 [ %s ] -UnknownCommand=gpm: 未知命令 %q. 运行 'gpm help' 获取帮助. +UnknownCommand=gopm: 未知命令 %q. 运行 'gopm help' 获取帮助. MoveFile=从 $GOPATH(%s) 拷贝文件到当前目录 (%s) 失败. UnknownFlag=未知参数: %s. DownloadError=下载包 (%s) 失败 [ %s ] @@ -17,7 +17,6 @@ MovedFile=成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). PureDownload=已激活版本控制下载模式. DownloadOnly=已激活无安装模式. DownloadExDeps=已激活下载示例代码依赖. -DownloadFromSrcs=已激活从用户源下载. NoPackage=请列出至少一个包、集合或快照. DownloadPath=所有包将会被下载至 GOPATH(%s). InstallStatus=正在安装包: %s. @@ -33,4 +32,5 @@ NoKeyword=没有关键字,无法搜索. ContinueRemove=是否继续删除?(Y/n). InvalidPath=无法在当前目录中找到包. MissingImports=下列依赖包未找到: -CheckExDeps=已激活示例代码依赖检查. \ No newline at end of file +CheckExDeps=已激活示例代码依赖检查. +SearchResult=搜索结果 \ No newline at end of file diff --git a/i18n/zh-CN/usage_install.txt b/i18n/zh-CN/usage_install.txt index f478d629b..786b73237 100644 --- a/i18n/zh-CN/usage_install.txt +++ b/i18n/zh-CN/usage_install.txt @@ -13,8 +13,10 @@ Install 命令下载并安装 Go 包及其依赖包. 强制更新包. -e 下载示例代码中的依赖包. + -b + 下载并安装集合. -s - 通过用户源下载. + 下载并安装快照. 多个参数通过空格来间隔. diff --git a/i18n/zh-CN/usage_remove.txt b/i18n/zh-CN/usage_remove.txt index 9f9d530c1..c75e9c69a 100644 --- a/i18n/zh-CN/usage_remove.txt +++ b/i18n/zh-CN/usage_remove.txt @@ -6,6 +6,10 @@ Remove 命令删除 Go 包及其依赖包. 多个参数通过空格来间隔. + -b + 删除集合. + -s + 删除快照. 获取更多有关包的信息,参见 'go help packages'. 获取更多有关集合的信息,参见 'gopm help bundle'. From 469738ab184e87503f85f63a87b6f8d4f191087b Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 26 May 2013 17:30:48 -0700 Subject: [PATCH 109/287] remove feature related to go get --- README.md | 1 + cmd/install.go | 58 +++++++++++-------------------------------- i18n/en-US/prompt.txt | 4 +-- i18n/zh-CN/prompt.txt | 4 +-- 4 files changed, 17 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 7c05be963..f348d06c0 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.3.* +- Command `install` add flag `-u` for force update pakcages, and need to check if has downloaded same package with same version already. - Command `install` and `remove` give number to let user choose operate one package. - Command `check` add feature to update or generate gopack.json. - Command `install` generates dependencies configuration file. diff --git a/cmd/install.go b/cmd/install.go index 7bbc88bf1..fec538be6 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -33,9 +33,8 @@ func init() { downloadCache = make(map[string]bool) CmdInstall.Run = runInstall CmdInstall.Flags = map[string]bool{ - "-v": false, "-d": false, - "-u": false, // Flag for 'go get'. + "-u": false, "-e": false, "-b": false, "-s": false, @@ -46,10 +45,10 @@ func init() { // let them know what's going on. func printInstallPrompt(flag string) { switch flag { - case "-v": - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["PureDownload"])) case "-d": fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadOnly"])) + case "-u": + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ForceUpdate"])) case "-e": fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadExDeps"])) } @@ -117,7 +116,7 @@ func runInstall(cmd *Command, args []string) { } // Check version control tools. - checkVCSTool() + // checkVCSTool() // Since we don't user version control, we don't need to check this anymore. installGOPATH = utils.GetBestMatchGOPATH(AppPath) utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["DownloadPath"]), installGOPATH)) @@ -162,7 +161,8 @@ func runInstall(cmd *Command, args []string) { // Download packages. downloadPackages(nodes) - if !CmdInstall.Flags["-d"] && !CmdInstall.Flags["-v"] { + // Check if need to install packages. + if !CmdInstall.Flags["-d"] { // Remove old files. uninstallList := make([]string, 0, len(downloadCache)) for k := range downloadCache { @@ -277,47 +277,17 @@ func saveNode(n *node.Node) { // downloadPackage downloads package either use version control tools or not. func downloadPackage(nod *node.Node) (*node.Node, []string) { - // Check if use version control tools. - switch { - case CmdInstall.Flags["-v"] && - ((nod.ImportPath[0] == 'g' && isHasGit) || (nod.ImportPath[0] == 'c' && isHasHg)): // github.com, code.google.com - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["InstallByGoGet"]), nod.ImportPath) - args := checkGoGetFlags() - args = append(args, nod.ImportPath) - executeCommand("go", args) - return nil, nil - default: // Pure download. - if CmdInstall.Flags["-v"] { - CmdInstall.Flags["-v"] = false - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["NoVCSTool"])) - } - - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadStatus"]), nod.ImportPath) - // Mark as donwloaded. - downloadCache[nod.ImportPath] = true + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadStatus"]), nod.ImportPath) + // Mark as donwloaded. + downloadCache[nod.ImportPath] = true - imports, err := pureDownload(nod) - - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", PromptMsg["DownloadError"]), nod.ImportPath, err)) - return nil, nil - } + imports, err := pureDownload(nod) - return nod, imports - } -} - -func checkGoGetFlags() (args []string) { - args = append(args, "get") - switch { - case CmdInstall.Flags["-d"]: - args = append(args, "-d") - fallthrough - case CmdInstall.Flags["-u"]: - args = append(args, "-u") + if err != nil { + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", PromptMsg["DownloadError"]), nod.ImportPath, err)) + return nil, nil } - - return args + return nod, imports } // service represents a source code control service. diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index ce4c36b62..74ea739ed 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -14,8 +14,8 @@ PackageNotFound=Cannot find package: %s. CheckImports=Fail to check dependencies[ %s ] MovedFile=Moved file from $GOPATH(%s) to current directory(%s). -PureDownload=You enabled download with version control. DownloadOnly=You enabled download without installing. +ForceUpdate=You enabled force update. DownloadExDeps=You enabled download dependencies in example. NoPackage=Please list at least one package/bundle/snapshot. DownloadPath=Packages will be downloaded to GOPATH(%s). @@ -24,8 +24,6 @@ BundleInfo=Bundle(%s) contains following nodes: ContinueDownload=Continue to download?(Y/n). SkipDownloaded=Skipped downloaded package: %s. SkipInvalidPath=Skipped invalid import path: %s. -InstallByGoGet=Installing package(%s) through 'go get'. -NoVCSTool=No version control tool is available, pure download enabled! DownloadStatus=Downloading package: %s. RemovePackage=Removing package: %s. NoKeyword=Cannot search without a keyword. diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index 0ed3c27d2..445e19e69 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -14,8 +14,8 @@ PackageNotFound=无法找到包: %s. CheckImports=一百遍检查失败 [ %s ] MovedFile=成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). -PureDownload=已激活版本控制下载模式. DownloadOnly=已激活无安装模式. +ForceUpdate=已激活强制更新. DownloadExDeps=已激活下载示例代码依赖. NoPackage=请列出至少一个包、集合或快照. DownloadPath=所有包将会被下载至 GOPATH(%s). @@ -24,8 +24,6 @@ BundleInfo=集合 (%s) 包含以下结点: ContinueDownload=是否继续下载?(Y/n). SkipDownloaded=忽略已下载包: %s. SkipInvalidPath=忽略无效的导入路径: %s. -InstallByGoGet=正在通过 'go get' 安装包 (%s). -NoVCSTool=未找到合适的版本控制工具,已激活纯净下载模式! DownloadStatus=正在下载包: %s. RemovePackage=正在删除包: %s. NoKeyword=没有关键字,无法搜索. From dbd5fd116efd87f7d5695504367148f255b562ef Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 27 May 2013 03:11:51 -0700 Subject: [PATCH 110/287] add feature auto-generate package config file for command check --- README.md | 8 +++--- cmd/check.go | 67 +++++++++++++++++++------------------------ cmd/install.go | 20 +++++++++++-- cmd/remove.go | 8 ++++++ cmd/search.go | 2 +- cmd/struct.go | 5 ++++ conf/gopm.toml | 2 +- gopm.json | 16 +++++++++++ i18n/en-US/prompt.txt | 4 ++- i18n/zh-CN/prompt.txt | 4 ++- utils/utils.go | 41 ++++++++++++++++++++++++++ 11 files changed, 129 insertions(+), 48 deletions(-) create mode 100644 gopm.json diff --git a/README.md b/README.md index f348d06c0..9ec503acb 100644 --- a/README.md +++ b/README.md @@ -35,18 +35,18 @@ This application still in experiment, any change could happen, but it doesn't af ### v0.3.* -- Command `install` add flag `-u` for force update pakcages, and need to check if has downloaded same package with same version already. -- Command `install` and `remove` give number to let user choose operate one package. -- Command `check` add feature to update or generate gopack.json. +- Command `check` add feature to update gopm.json. - Command `install` generates dependencies configuration file. - Command `install` save tarball add support for packages in code.google.com, bitbucket.org, launchpad.net, git.oschina.net, gitcafe.com, *.codeplex.com. -- Command `build` use dependencies configuration file to build with specific versions of dependencies, if VCS tools are available, simply use `checkout`. +- Command `build` use dependencies configuration file to build with specific versions of dependencies. - Command `clean` is for cleaning empty directories and backup. - Add gpm working principle design. - Complete documentation. ### Future +- Command `install` and `remove` give number to let user choose operate one package when using snapshot. +- Figure out how to use tool chian directly in order to compile only with `.a` files. - Command `search` compares version. - Command `home` and `doc`. - Command `remove` add flag `-d` for removing dependencies at the same time. diff --git a/cmd/check.go b/cmd/check.go index c82ef0818..cd6405e52 100644 --- a/cmd/check.go +++ b/cmd/check.go @@ -5,6 +5,7 @@ package cmd import ( + "encoding/json" "fmt" "os" "strings" @@ -61,25 +62,28 @@ func runCheck(cmd *Command, args []string) { return } + pkgConf := new(gopmConfig) importsCache := make(map[string]bool) uninstallList := make([]string, 0) isInstalled := false // Check if dependencies have been installed. - paths := utils.GetGOPATH() for _, v := range imports { // Make sure it doesn't belong to same project. if utils.GetProjectPath(v) != utils.GetProjectPath(importPath) { - for _, p := range paths { - if checkIsExistWithVCS(p + "/src/" + v + "/") { + if !importsCache[v] { + importsCache[v] = true + pkgConf.Deps = append(pkgConf.Deps, &node.Node{ + ImportPath: v, + }) + + if _, ok := utils.CheckIsExistInGOPATH(importPath); ok { isInstalled = true - break } - } - if !isInstalled && !importsCache[v] { - importsCache[v] = true - uninstallList = append(uninstallList, v) + if !isInstalled { + uninstallList = append(uninstallList, v) + } } } isInstalled = false @@ -121,8 +125,24 @@ func runCheck(cmd *Command, args []string) { cmdArgs[1] = k executeCommand("go", cmdArgs) } + } + + // Generate configure file. + if !utils.IsExist("gopm.json") { + fw, err := os.Create("gopm.json") + if err != nil { + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runCheck -> %s\n", PromptMsg["OpenFile"]), err)) + return + } + defer fw.Close() - // Generate configure file. + fbytes, err := json.MarshalIndent(&pkgConf, "", "\t") + if err != nil { + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runCheck -> %s\n", PromptMsg["ParseJSON"]), err)) + return + } + fw.Write(fbytes) + utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("$ %s\n", PromptMsg["GenerateConfig"]), importPath)) } } @@ -155,32 +175,3 @@ func checkImportsByRoot(rootPath, importPath string) (imports []string, err erro return imports, err } - -// checkIsExistWithVCS returns false if directory only has VCS folder, -// or doesn't exist. -func checkIsExistWithVCS(path string) bool { - // Check if directory exist. - if !utils.IsExist(path) { - return false - } - - // Check if only has VCS folder. - dirs, err := utils.GetDirsInfo(path) - if err != nil { - utils.ColorPrint(fmt.Sprintf("[ERROR] checkIsExistWithVCS -> [ %s ]", err)) - return false - } - - if len(dirs) > 1 { - return true - } else if len(dirs) == 0 { - return false - } - - switch dirs[0].Name() { - case ".git", ".hg", ".svn": - return false - } - - return true -} diff --git a/cmd/install.go b/cmd/install.go index fec538be6..939f20aff 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -12,6 +12,7 @@ import ( "os" "os/exec" "regexp" + "strconv" "strings" "github.com/GPMGo/gopm/doc" @@ -131,12 +132,19 @@ func runInstall(cmd *Command, args []string) { if len(nodes) > 0 { // Check with users if continue. utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["BundleInfo"]), bundle)) - for _, n := range nodes { - fmt.Printf("[%s] -> %s: %s.\n", n.ImportPath, n.Type, n.Value) + for i, n := range nodes { + fmt.Printf("%d.[%s] -> %s: %s.\n", i+1, n.ImportPath, n.Type, n.Value) } fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueDownload"])) var option string fmt.Fscan(os.Stdin, &option) + // Chekc if it is a index. + num, err := strconv.Atoi(option) + if err == nil && num > 0 && num <= len(nodes) { + nodes = nodes[num-1 : num] + break + } + if strings.ToLower(option) != "y" { os.Exit(0) return @@ -229,6 +237,14 @@ func downloadPackages(nodes []*node.Node) { for _, n := range nodes { // Check if it is a valid remote path. if utils.IsValidRemotePath(n.ImportPath) { + if !CmdInstall.Flags["-u"] { + // Check if package has been downloaded. + if _, ok := utils.CheckIsExistInGOPATH(n.ImportPath); ok { + fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipInstalled"]), n.ImportPath) + continue + } + } + if !downloadCache[n.ImportPath] { // Download package. nod, imports := downloadPackage(n) diff --git a/cmd/remove.go b/cmd/remove.go index 82567dda5..fe06d4392 100644 --- a/cmd/remove.go +++ b/cmd/remove.go @@ -9,6 +9,7 @@ import ( "fmt" "os" "runtime" + "strconv" "strings" "github.com/GPMGo/gopm/utils" @@ -51,6 +52,13 @@ func runRemove(cmd *Command, args []string) { fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueRemove"])) var option string fmt.Fscan(os.Stdin, &option) + // Chekc if it is a index. + num, err := strconv.Atoi(option) + if err == nil && num > 0 && num <= len(nodes) { + nodes = nodes[num-1 : num] + break + } + if strings.ToLower(option) != "y" { os.Exit(0) return diff --git a/cmd/search.go b/cmd/search.go index d8db58ff3..8b840e557 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -84,7 +84,7 @@ func runSearch(cmd *Command, args []string) { buf.WriteString("-> " + k) // Check if has been installed. for _, path := range paths { - if checkIsExistWithVCS(path + "/src/" + k + "/") { + if utils.CheckIsExistWithVCS(path + "/src/" + k + "/") { installStr := " [Installed]" if !isWindws { installStr = strings.Replace(installStr, "[", diff --git a/cmd/struct.go b/cmd/struct.go index c1cbc8326..909639aaa 100644 --- a/cmd/struct.go +++ b/cmd/struct.go @@ -25,6 +25,11 @@ var ( LocalBundles []*doc.Bundle ) +// gopmConfig represents the package config file in correspoding directory. +type gopmConfig struct { + Deps []*node.Node +} + type tomlConfig struct { Title, Version string Lang string `toml:"user_language"` diff --git a/conf/gopm.toml b/conf/gopm.toml index 5fea79884..e2b5e27fc 100644 --- a/conf/gopm.toml +++ b/conf/gopm.toml @@ -1,7 +1,7 @@ # This is a configuration file for gpm with toml format. title = "gpm(Go Package Manager)" -version = "v0.2.4 Build 0525" +version = "v0.2.6 Build 0527" user_language = "en-US" #user_language = "zh-CN" auto_backup = true diff --git a/gopm.json b/gopm.json new file mode 100644 index 000000000..d9592c63d --- /dev/null +++ b/gopm.json @@ -0,0 +1,16 @@ +{ + "Deps": [ + { + "import_path": "github.com/BurntSushi/toml", + "type": "", + "value": "", + "deps": null + }, + { + "import_path": "github.com/GPMGo/node", + "type": "", + "value": "", + "deps": null + } + ] +} \ No newline at end of file diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt index 74ea739ed..5543be5bf 100644 --- a/i18n/en-US/prompt.txt +++ b/i18n/en-US/prompt.txt @@ -21,7 +21,8 @@ NoPackage=Please list at least one package/bundle/snapshot. DownloadPath=Packages will be downloaded to GOPATH(%s). InstallStatus=Installing package: %s. BundleInfo=Bundle(%s) contains following nodes: -ContinueDownload=Continue to download?(Y/n). +ContinueDownload=Continue to download?(Y/n or index). +SkipInstalled=Skipped installed pakcage: %s. SkipDownloaded=Skipped downloaded package: %s. SkipInvalidPath=Skipped invalid import path: %s. DownloadStatus=Downloading package: %s. @@ -30,5 +31,6 @@ NoKeyword=Cannot search without a keyword. ContinueRemove=Continue to remove?(Y/n). InvalidPath=Cannot find package in current path. MissingImports=Following packages are missing: +GenerateConfig=Auto-generated configuration file for package: %s. CheckExDeps=You enabled check dependencies in example. SearchResult=search results \ No newline at end of file diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt index 445e19e69..f4b88adb3 100644 --- a/i18n/zh-CN/prompt.txt +++ b/i18n/zh-CN/prompt.txt @@ -21,7 +21,8 @@ NoPackage=请列出至少一个包、集合或快照. DownloadPath=所有包将会被下载至 GOPATH(%s). InstallStatus=正在安装包: %s. BundleInfo=集合 (%s) 包含以下结点: -ContinueDownload=是否继续下载?(Y/n). +ContinueDownload=是否继续下载?(Y/n 或索引). +SkipInstalled=忽略已安装包: %s. SkipDownloaded=忽略已下载包: %s. SkipInvalidPath=忽略无效的导入路径: %s. DownloadStatus=正在下载包: %s. @@ -30,5 +31,6 @@ NoKeyword=没有关键字,无法搜索. ContinueRemove=是否继续删除?(Y/n). InvalidPath=无法在当前目录中找到包. MissingImports=下列依赖包未找到: +GenerateConfig=已自动生成包配置文件: %s. CheckExDeps=已激活示例代码依赖检查. SearchResult=搜索结果 \ No newline at end of file diff --git a/utils/utils.go b/utils/utils.go index 362919d6b..2627a7de3 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -46,6 +46,47 @@ func IsExist(path string) bool { return err == nil || os.IsExist(err) } +// CheckIsExistWithVCS returns false if directory only has VCS folder, +// or doesn't exist. +func CheckIsExistWithVCS(path string) bool { + // Check if directory exist. + if !IsExist(path) { + return false + } + + // Check if only has VCS folder. + dirs, err := GetDirsInfo(path) + if err != nil { + ColorPrint(fmt.Sprintf("[ERROR] CheckIsExistWithVCS -> [ %s ]", err)) + return false + } + + if len(dirs) > 1 { + return true + } else if len(dirs) == 0 { + return false + } + + switch dirs[0].Name() { + case ".git", ".hg", ".svn": + return false + } + + return true +} + +// CheckIsExistInGOPATH checks if given package import path exists in any path in GOPATH/src, +// and returns corresponding GOPATH. +func CheckIsExistInGOPATH(importPath string) (string, bool) { + paths := GetGOPATH() + for _, p := range paths { + if CheckIsExistWithVCS(p + "/src/" + importPath + "/") { + return p, true + } + } + return "", false +} + // GetGOPATH returns all paths in GOPATH variable. func GetGOPATH() []string { gopath := os.Getenv("GOPATH") From fec823e0a7aeca3d0ec6f5a1da6f85833f8bf654 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 7 Aug 2013 22:17:15 +0800 Subject: [PATCH 111/287] New version. --- .gitignore | 25 -- .travis.yml | 13 - LICENSE | 45 --- README.md | 81 ---- README_ZH.md | 36 -- cmd/build.go | 79 ---- cmd/check.go | 177 --------- cmd/install.go | 347 ----------------- cmd/remove.go | 188 --------- cmd/search.go | 115 ------ cmd/struct.go | 114 ------ conf/gopm.toml | 19 - conf/sources.txt | 0 doc/bitbucket.go | 193 ---------- doc/error.go | 36 -- doc/github.go | 197 ---------- doc/google.go | 236 ------------ doc/http.go | 143 ------- doc/launchpad.go | 143 ------- doc/struct.go | 43 --- doc/vcs.go | 238 ------------ doc/walker.go | 138 ------- docs/Quick_Start.md | 135 ------- docs/Quick_Start_ZH.md | 0 gopm.go | 361 ------------------ gopm.json | 16 - i18n/en-US/prompt.txt | 36 -- i18n/en-US/usage.tpl | 18 - i18n/en-US/usage_build.txt | 19 - i18n/en-US/usage_check.txt | 10 - i18n/en-US/usage_install.txt | 29 -- i18n/en-US/usage_remove.txt | 18 - i18n/en-US/usage_search.txt | 7 - i18n/zh-CN/prompt.txt | 36 -- i18n/zh-CN/usage.tpl | 18 - i18n/zh-CN/usage_build.txt | 19 - i18n/zh-CN/usage_check.txt | 9 - i18n/zh-CN/usage_install.txt | 27 -- i18n/zh-CN/usage_remove.txt | 18 - i18n/zh-CN/usage_search.txt | 7 - repo/bundles/install_test.json | 22 -- repo/bundles/test_bundle.json | 58 --- utils/utils.go | 679 --------------------------------- utils/utils_test.go | 77 ---- 44 files changed, 4225 deletions(-) delete mode 100644 .gitignore delete mode 100644 .travis.yml delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 README_ZH.md delete mode 100644 cmd/build.go delete mode 100644 cmd/check.go delete mode 100644 cmd/install.go delete mode 100644 cmd/remove.go delete mode 100644 cmd/search.go delete mode 100644 cmd/struct.go delete mode 100644 conf/gopm.toml delete mode 100644 conf/sources.txt delete mode 100644 doc/bitbucket.go delete mode 100644 doc/error.go delete mode 100644 doc/github.go delete mode 100644 doc/google.go delete mode 100644 doc/http.go delete mode 100644 doc/launchpad.go delete mode 100644 doc/struct.go delete mode 100644 doc/vcs.go delete mode 100644 doc/walker.go delete mode 100644 docs/Quick_Start.md delete mode 100644 docs/Quick_Start_ZH.md delete mode 100644 gopm.go delete mode 100644 gopm.json delete mode 100644 i18n/en-US/prompt.txt delete mode 100644 i18n/en-US/usage.tpl delete mode 100644 i18n/en-US/usage_build.txt delete mode 100644 i18n/en-US/usage_check.txt delete mode 100644 i18n/en-US/usage_install.txt delete mode 100644 i18n/en-US/usage_remove.txt delete mode 100644 i18n/en-US/usage_search.txt delete mode 100644 i18n/zh-CN/prompt.txt delete mode 100644 i18n/zh-CN/usage.tpl delete mode 100644 i18n/zh-CN/usage_build.txt delete mode 100644 i18n/zh-CN/usage_check.txt delete mode 100644 i18n/zh-CN/usage_install.txt delete mode 100644 i18n/zh-CN/usage_remove.txt delete mode 100644 i18n/zh-CN/usage_search.txt delete mode 100644 repo/bundles/install_test.json delete mode 100644 repo/bundles/test_bundle.json delete mode 100644 utils/utils.go delete mode 100644 utils/utils_test.go diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 8f42af935..000000000 --- a/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -# Compiled Object files, Static and Dynamic libs (Shared Objects) -*.o -*.a -*.so - -# Folders -_obj -_test - -# Architecture specific extensions/prefixes -*.[568vq] -[568vq].out - -*.cgo1.go -*.cgo2.c -_cgo_defun.c -_cgo_gotypes.go -_cgo_export.* - -_testmain.go - -*.exe - -gopm -data/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 254edb187..000000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: go - -notificaitons: - email: - recipients: gpmgo.com@gmail.com - on_success: change - on_failure: always - -before_script: -- go get github.com/BurntSushi/toml - -script: - - go build -v diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 87feceb7f..000000000 --- a/LICENSE +++ /dev/null @@ -1,45 +0,0 @@ -Copyright (c) 2013 GPMGo Members. All rights reserved. - -MIT +no-false-attribs License - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -Distributions of all or part of the Software intended to be used -by the recipients as they would use the unmodified Software, -containing modifications that substantially alter, remove, or -disable functionality of the Software, outside of the documented -configuration mechanisms provided by the Software, shall be -modified such that the Original Author's bug reporting email -addresses and urls are either replaced with the contact information -of the parties responsible for the changes, or removed entirely. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - -Except where noted, this license applies to any and all software -programs and associated documentation files created by the -Original Author, when distributed with the Software. - -Packages published in the gpm registry (other than the Software and -its included dependencies) are not part of gpm itself, are the sole -property of their respective maintainers, and are not covered by -this license. - -"gpm Logo" created by "Earl of Hell" and used with permission. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 9ec503acb..000000000 --- a/README.md +++ /dev/null @@ -1,81 +0,0 @@ -gopm - Go Package Manager -=== - -![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) - -gopm(Go Package Manager) is a Go package manage tool for search, install, update, share and backup packages in Go. - -[![Build Status](https://travis-ci.org/GPMGo/gopm.png?branch=master)](https://travis-ci.org/GPMGo/gopm) [![Build Status](https://drone.io/github.com/GPMGo/gpm/status.png)](https://drone.io/github.com/GPMGo/gpm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gpm/badge.png)](https://coveralls.io/r/GPMGo/gpm) - -(Travis CI hasn't support Go 1.1 yet) - -This application still in experiment, any change could happen, but it doesn't affect download and install packages. - -## Main features - -- Download packages from popular project hosting with/without version control tools. -- Remove packages from local file system. -- Check package dependencies and download missing ones. -- More specific examples, see [Quick Start](docs/Quick_Start.md). - -## Main commands - -- `build` compiles and installs packages and dependencies: basically, it calls `go install` and moves executable to current path from `GOPATH` if any, the executable name is the folder name which is default by `go install`. -- `search` searchs packages in [Go Walker](http://gowalker.org) database by keyword. -- `install` downloads and installs packages and dependencies: you can download packages without version control tools like git, hg, svn, etc. It downloads and installs all packages including all dependencies automatically(except when you use bundle or snapshot). For now, this command supports `code.google.com`, `github.com`, `launchpad.net`, `bitbucket.org`. -- `remove` removes packages and dependencies: it removes all packages including all dependencies(except when you use bundle or snapshot). -- `check` checks dependencies of packages, and install all missing as a choose. - -## Known issues - -- When you use commands like `gopm install bitbucket.org/zombiezen/gopdf` where is project root path but the directory doesn't contain any source files, you will get error in the installation step, you have to use `gopm install bitbucket.org/zombiezen/gopdf/pdf` in order to go through all steps correctly. -- Cannot remove `.git` with error `access is denied`. - -## Todo - -### v0.3.* - -- Command `check` add feature to update gopm.json. -- Command `install` generates dependencies configuration file. -- Command `install` save tarball add support for packages in code.google.com, bitbucket.org, launchpad.net, git.oschina.net, gitcafe.com, *.codeplex.com. -- Command `build` use dependencies configuration file to build with specific versions of dependencies. -- Command `clean` is for cleaning empty directories and backup. -- Add gpm working principle design. -- Complete documentation. - -### Future - -- Command `install` and `remove` give number to let user choose operate one package when using snapshot. -- Figure out how to use tool chian directly in order to compile only with `.a` files. -- Command `search` compares version. -- Command `home` and `doc`. -- Command `remove` add flag `-d` for removing dependencies at the same time. -- Command `remove` add feature check for dependencies, make sure other packages don't import this one, and give choose for users. -- Command `update` is for checking updates. -- Command `sync` is for sync packages in two computers, support client and server mode through ssh. -- Command `init` is for auto-configuring Go develop environment. -- Command `install` and `remove` and `update` backup data(up to 50 records) before executing. -- Command `rollback` is for rolling back to certain operation. -- Add feature "struct generator". -- Command `install` add flag `-all` for re-installing everything in GOPATH, usually use this after upgraded Go version. -- Command `daemon` is for auto-compile web applications when debug it locally. -- Collect download and installation results and report to users in the end. -- Add user system to create, edit, upload, and download bundles or snapshots through gpm client program. -- Develop user source API server template application to support user sources in bundles. -- Add support for downloading tarballs from user sources. -- After downloaded all packages in bundles or snapshots, need to check if all dependencies have been downloaded as well. -- Download package from code.google.com only support hg as version control system, probably support git and svn. -- Command `install` add support for downloading code from git.oschina.net, gitcafe.com, *.codeplex.com. -- Command `install` add support for downloading by tag and branch for packages in git.oschina.net, gitcafe.com. -- Command `install` and `remove` add bundle parse code for getting data from server. -- Command `install` and `remove` add snapshot parse code for downloading or removing snapshot. -- Add built-in application version in order to backup data when users update. - -## Credits - -- Source files that contain code that is from [gopkgdoc](https://github.com/garyburd/gopkgdoc) is honored in specific. -- Idea that support packages build revision is inspired by [gopack](https://github.com/d2fn/gopack). - -## License - -[MIT-STYLE](LICENSE). diff --git a/README_ZH.md b/README_ZH.md deleted file mode 100644 index 09b111013..000000000 --- a/README_ZH.md +++ /dev/null @@ -1,36 +0,0 @@ -gopm - Go 包管理工具 -=== - -![GPMGo_Logo](https://raw.github.com/GPMGo/gpm-site/master/static/img/gpmgo2.png?raw=true) - -gopm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享以及备份功能 Go 包的管理工具。 - -[![Build Status](https://travis-ci.org/GPMGo/gpm.png)](https://travis-ci.org/GPMGo/gpm) [![Build Status](https://drone.io/github.com/GPMGo/gpm/status.png)](https://drone.io/github.com/GPMGo/gpm/latest) [![Coverage Status](https://coveralls.io/repos/GPMGo/gpm/badge.png)](https://coveralls.io/r/GPMGo/gpm) - -(Travis CI 暂未支持 Go 1.1) - -该应用目前扔处于实验阶段,任何改变都可能发生,但这不会影响到您下载和安装 Go 包。 - -## 主要功能 - -- 无需安装各类复杂的版本控制工具就可以从源代码托管平台下载并安装 Go 包。 -- 从本地文件系统中删除 Go 包。 -- 检查并下载缺失的依赖包。 -- 更多示例,参见 [快速入门](docs/Quick_Start_ZH.md) - -## 主要命令 - -- `build` 编译并安装 Go 包以及其依赖包:该命令从底层调用 `go install` 命令,如果为 main 包,则会将可执行文件从 `GOPATH` 中移至当前目录,可执行文件的名称是由 `go install` 默认指定的当前文件夹名称。 -- `search` 通过关键字在 [Go Walker](http://gowalker.org) 数据库中查找相关包。 -- `install` 下载并安装 Go 包以及其依赖包:您无需安装像 git、hg 或 svn 这类版本控制工具就可以下载您指定的包。该命令也会自动下载相关的依赖包(当您使用集合或快照下载时,不会自动下载依赖包)。目前,该命令支持托管在 `code.google.com`、`github.com`、`launchpad.net` 和 `bitbucket.org` 上的开源项目。 -- `remove` 删除 Go 包及其依赖包:该命令可删除 Go 包及其依赖包(当您使用集合或快照删除时,无法自动删除依赖包)。 -- `check` 检查当前包的依赖包是否全部安装,如果发现未安装的依赖包会提示您是否选择安装。 - -## 已知问题 - -- 当您使用命令例如 `gopm install bitbucket.org/zombiezen/gopdf` 时,你会在安装步骤时得到错误,虽然这是项目的根目录,但是并没有包含任何 Go 源代码,因此您必须使用 `gopm install bitbucket.org/zombiezen/gopdf/pdf` 才能正确完成安装。 -- 删除目录 `.git` 会因为权限不足而失败。 - -## 授权许可 - -[MIT-STYLE](LICENSE) \ No newline at end of file diff --git a/cmd/build.go b/cmd/build.go deleted file mode 100644 index 6ca16867e..000000000 --- a/cmd/build.go +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package cmd - -import ( - "fmt" - "os" - - "github.com/GPMGo/gopm/utils" -) - -var CmdBuild = &Command{ - UsageLine: "build [build flags] [packages]", -} - -func init() { - CmdBuild.Run = runBuild - CmdBuild.Flags = map[string]bool{ - "-v": false, - "-r": false, - } -} - -// printBuildPrompt prints prompt information to users to -// let them know what's going on. -func printBuildPrompt(flag string) { - switch flag { - - } -} - -func runBuild(cmd *Command, args []string) { - // Check flags. - num := checkFlags(cmd.Flags, Config.AutoEnable.Build, args, printBuildPrompt) - if num == -1 { - return - } - args = args[num:] - - var cmdArgs []string - cmdArgs = append(cmdArgs, "install") - if CmdBuild.Flags["-v"] { - cmdArgs = append(cmdArgs, "-v") - } - - executeCommand("go", cmdArgs) - - // Find executable in GOPATH and copy to current directory. - wd, _ := os.Getwd() - proName := utils.GetExecuteName(wd) - paths := utils.GetGOPATH() - - for _, v := range paths { - if utils.IsExist(v + "/bin/" + proName) { - if utils.IsExist(wd + "/" + proName) { - err := os.Remove(wd + "/" + proName) - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", PromptMsg["RemoveFile"]), err)) - return - } - } - err := os.Rename(v+"/bin/"+proName, wd+"/"+proName) - if err == nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("$ %s\n", PromptMsg["MovedFile"]), v, wd)) - // Check if need to run program. - if CmdBuild.Flags["-r"] { - cmdArgs = make([]string, 0) - executeCommand(proName, cmdArgs) - } - return - } - - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["MoveFile"]), v, wd) - break - } - } -} diff --git a/cmd/check.go b/cmd/check.go deleted file mode 100644 index cd6405e52..000000000 --- a/cmd/check.go +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package cmd - -import ( - "encoding/json" - "fmt" - "os" - "strings" - - "github.com/GPMGo/gopm/doc" - "github.com/GPMGo/gopm/utils" - "github.com/GPMGo/node" -) - -var CmdCheck = &Command{ - UsageLine: "check [check flags] [packages]", -} - -func init() { - CmdCheck.Run = runCheck - CmdCheck.Flags = map[string]bool{ - "-e": false, - } -} - -// printCheckPrompt prints prompt information to users to -// let them know what's going on. -func printCheckPrompt(flag string) { - switch flag { - case "-e": - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["CheckExDeps"])) - } -} - -func runCheck(cmd *Command, args []string) { - // Check flags. - num := checkFlags(cmd.Flags, Config.AutoEnable.Check, args, printCheckPrompt) - if num == -1 { - return - } - args = args[num:] - - wd, _ := os.Getwd() - // Guess import path. - gopath := utils.GetBestMatchGOPATH(wd) + "/src/" - if len(wd) <= len(gopath) { - fmt.Printf(fmt.Sprintf("runCheck -> %s\n", PromptMsg["InvalidPath"])) - return - } - - importPath := wd[len(gopath):] - imports, err := checkImportsByRoot(wd+"/", importPath) - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("runCheck -> %s\n", PromptMsg["CheckImports"]), err)) - return - } - - if len(imports) == 0 { - return - } - - pkgConf := new(gopmConfig) - importsCache := make(map[string]bool) - uninstallList := make([]string, 0) - isInstalled := false - // Check if dependencies have been installed. - - for _, v := range imports { - // Make sure it doesn't belong to same project. - if utils.GetProjectPath(v) != utils.GetProjectPath(importPath) { - if !importsCache[v] { - importsCache[v] = true - pkgConf.Deps = append(pkgConf.Deps, &node.Node{ - ImportPath: v, - }) - - if _, ok := utils.CheckIsExistInGOPATH(importPath); ok { - isInstalled = true - } - - if !isInstalled { - uninstallList = append(uninstallList, v) - } - } - } - isInstalled = false - } - - // Check if need to install packages. - if len(uninstallList) > 0 { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["MissingImports"])) - for _, v := range uninstallList { - fmt.Printf("%s\n", v) - } - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueDownload"])) - var option string - fmt.Fscan(os.Stdin, &option) - if strings.ToLower(option) != "y" { - os.Exit(0) - } - - installGOPATH = utils.GetBestMatchGOPATH(AppPath) - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["DownloadPath"]), installGOPATH)) - // Generate temporary nodes. - nodes := make([]*node.Node, len(uninstallList)) - for i := range nodes { - nodes[i] = new(node.Node) - nodes[i].ImportPath = uninstallList[i] - } - // Download packages. - downloadPackages(nodes) - - removePackageFiles("", uninstallList) - - // Install packages all together. - var cmdArgs []string - cmdArgs = append(cmdArgs, "install") - cmdArgs = append(cmdArgs, "") - - for _, k := range uninstallList { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["InstallStatus"]), k) - cmdArgs[1] = k - executeCommand("go", cmdArgs) - } - } - - // Generate configure file. - if !utils.IsExist("gopm.json") { - fw, err := os.Create("gopm.json") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runCheck -> %s\n", PromptMsg["OpenFile"]), err)) - return - } - defer fw.Close() - - fbytes, err := json.MarshalIndent(&pkgConf, "", "\t") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runCheck -> %s\n", PromptMsg["ParseJSON"]), err)) - return - } - fw.Write(fbytes) - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("$ %s\n", PromptMsg["GenerateConfig"]), importPath)) - } -} - -// checkImportsByRoot checks imports of packages from root path, -// and recursion checks all sub-directories. -func checkImportsByRoot(rootPath, importPath string) (imports []string, err error) { - // Check imports of root path. - importPkgs, err := doc.CheckImports(rootPath, importPath) - if err != nil { - return nil, err - } - imports = append(imports, importPkgs...) - - // Check sub-directories. - dirs, err := utils.GetDirsInfo(rootPath) - if err != nil { - return nil, err - } - - for _, d := range dirs { - if d.IsDir() && - !(!CmdCheck.Flags["-e"] && strings.Contains(d.Name(), "example")) { - importPkgs, err := checkImportsByRoot(rootPath+d.Name()+"/", importPath) - if err != nil { - return nil, err - } - imports = append(imports, importPkgs...) - } - } - - return imports, err -} diff --git a/cmd/install.go b/cmd/install.go deleted file mode 100644 index 939f20aff..000000000 --- a/cmd/install.go +++ /dev/null @@ -1,347 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package cmd - -import ( - "encoding/json" - "errors" - "fmt" - "net/http" - "os" - "os/exec" - "regexp" - "strconv" - "strings" - - "github.com/GPMGo/gopm/doc" - "github.com/GPMGo/gopm/utils" - "github.com/GPMGo/node" -) - -var ( - isHasGit, isHasHg bool - downloadCache map[string]bool // Saves packages that have been downloaded. - installGOPATH string // The GOPATH that packages are downloaded to. -) - -var CmdInstall = &Command{ - UsageLine: "install [install flags] ", -} - -func init() { - downloadCache = make(map[string]bool) - CmdInstall.Run = runInstall - CmdInstall.Flags = map[string]bool{ - "-d": false, - "-u": false, - "-e": false, - "-b": false, - "-s": false, - } -} - -// printInstallPrompt prints prompt information to users to -// let them know what's going on. -func printInstallPrompt(flag string) { - switch flag { - case "-d": - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadOnly"])) - case "-u": - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ForceUpdate"])) - case "-e": - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadExDeps"])) - } -} - -// checkFlags checks if the flag exists with correct format. -func checkFlags(flags map[string]bool, enable []string, args []string, print func(string)) int { - // Check auto-enable. - for _, v := range enable { - flags["-"+v] = true - print("-" + v) - } - - num := 0 // Number of valid flags, use to cut out. - for i, f := range args { - // Check flag prefix '-'. - if !strings.HasPrefix(f, "-") { - // Not a flag, finish check process. - break - } - - // Check if it a valid flag. - if v, ok := flags[f]; ok { - flags[f] = !v - if !v { - print(f) - } else { - fmt.Println("DISABLE: " + f) - } - } else { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["UnknownFlag"]), f) - return -1 - } - num = i + 1 - } - - return num -} - -// checkVCSTool checks if users have installed version control tools. -func checkVCSTool() { - // git. - if _, err := exec.LookPath("git"); err == nil { - isHasGit = true - } - // hg. - if _, err := exec.LookPath("hg"); err == nil { - isHasHg = true - } - // svn. -} - -func runInstall(cmd *Command, args []string) { - // Check flags. - num := checkFlags(cmd.Flags, Config.AutoEnable.Install, args, printInstallPrompt) - if num == -1 { - return - } - args = args[num:] - - // Check length of arguments. - if len(args) < 1 { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["NoPackage"])) - return - } - - // Check version control tools. - // checkVCSTool() // Since we don't user version control, we don't need to check this anymore. - - installGOPATH = utils.GetBestMatchGOPATH(AppPath) - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["DownloadPath"]), installGOPATH)) - - var nodes []*node.Node - // Check if it is a bundle or snapshot. - switch { - case CmdInstall.Flags["-b"]: - bundle := args[0] - // Check local bundles. - nodes = checkLocalBundles(bundle) - if len(nodes) > 0 { - // Check with users if continue. - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["BundleInfo"]), bundle)) - for i, n := range nodes { - fmt.Printf("%d.[%s] -> %s: %s.\n", i+1, n.ImportPath, n.Type, n.Value) - } - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueDownload"])) - var option string - fmt.Fscan(os.Stdin, &option) - // Chekc if it is a index. - num, err := strconv.Atoi(option) - if err == nil && num > 0 && num <= len(nodes) { - nodes = nodes[num-1 : num] - break - } - - if strings.ToLower(option) != "y" { - os.Exit(0) - return - } - } else { - // Check from server. - // TODO: api.GetBundleInfo() - fmt.Println("Unable to find bundle, and we cannot check with server right now.") - } - case CmdInstall.Flags["-s"]: - fmt.Println("gopm has not supported snapshot yet.") - // TODO: api.GetSnapshotInfo() - default: - // Generate temporary nodes. - nodes = make([]*node.Node, len(args)) - for i := range nodes { - nodes[i] = new(node.Node) - nodes[i].ImportPath = args[i] - } - } - - // Download packages. - downloadPackages(nodes) - - // Check if need to install packages. - if !CmdInstall.Flags["-d"] { - // Remove old files. - uninstallList := make([]string, 0, len(downloadCache)) - for k := range downloadCache { - uninstallList = append(uninstallList, k) - } - removePackageFiles("", uninstallList) - - // Install packages all together. - var cmdArgs []string - cmdArgs = append(cmdArgs, "install") - cmdArgs = append(cmdArgs, "") - - for k := range downloadCache { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["InstallStatus"]), k) - cmdArgs[1] = k - executeCommand("go", cmdArgs) - } - - // Save local nodes to file. - fw, err := os.Create(AppPath + "data/nodes.json") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runInstall -> %s\n", PromptMsg["OpenFile"]), err)) - return - } - defer fw.Close() - fbytes, err := json.MarshalIndent(&LocalNodes, "", "\t") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runInstall -> %s\n", PromptMsg["ParseJSON"]), err)) - return - } - fw.Write(fbytes) - } -} - -// chekcDeps checks dependencies of nodes. -func chekcDeps(nodes []*node.Node) (depnodes []*node.Node) { - for _, n := range nodes { - // Make sure it will not download all dependencies automatically. - if len(n.Value) == 0 { - n.Value = "B" - } - depnodes = append(depnodes, n) - depnodes = append(depnodes, chekcDeps(n.Deps)...) - } - return depnodes -} - -// checkLocalBundles checks if the bundle is in local file system. -func checkLocalBundles(bundle string) (nodes []*node.Node) { - for _, b := range LocalBundles { - if bundle == b.Name { - nodes = append(nodes, chekcDeps(b.Nodes)...) - return nodes - } - } - return nil -} - -// downloadPackages downloads packages with certain commit, -// if the commit is empty string, then it downloads all dependencies, -// otherwise, it only downloada package with specific commit only. -func downloadPackages(nodes []*node.Node) { - // Check all packages, they may be bundles, snapshots or raw packages path. - for _, n := range nodes { - // Check if it is a valid remote path. - if utils.IsValidRemotePath(n.ImportPath) { - if !CmdInstall.Flags["-u"] { - // Check if package has been downloaded. - if _, ok := utils.CheckIsExistInGOPATH(n.ImportPath); ok { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipInstalled"]), n.ImportPath) - continue - } - } - - if !downloadCache[n.ImportPath] { - // Download package. - nod, imports := downloadPackage(n) - if len(imports) > 0 { - // Need to download dependencies. - // Generate temporary nodes. - nodes := make([]*node.Node, len(imports)) - for i := range nodes { - nodes[i] = new(node.Node) - nodes[i].ImportPath = imports[i] - } - downloadPackages(nodes) - } - - // Only save package information with specific commit. - if nod != nil { - // Save record in local nodes. - saveNode(nod) - } - } else { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipDownloaded"]), n.ImportPath) - } - } else { - // Invalid import path. - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipInvalidPath"]), n.ImportPath) - } - } -} - -// saveNode saves node into local nodes. -func saveNode(n *node.Node) { - // Node dependencies list. - n.Deps = nil - - // Check if this node exists. - for i, v := range LocalNodes { - if n.ImportPath == v.ImportPath { - LocalNodes[i] = n - return - } - } - - // Add new node. - LocalNodes = append(LocalNodes, n) -} - -// downloadPackage downloads package either use version control tools or not. -func downloadPackage(nod *node.Node) (*node.Node, []string) { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["DownloadStatus"]), nod.ImportPath) - // Mark as donwloaded. - downloadCache[nod.ImportPath] = true - - imports, err := pureDownload(nod) - - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] %s\n", PromptMsg["DownloadError"]), nod.ImportPath, err)) - return nil, nil - } - return nod, imports -} - -// service represents a source code control service. -type service struct { - pattern *regexp.Regexp - prefix string - get func(*http.Client, map[string]string, string, *node.Node, map[string]bool) ([]string, error) -} - -// services is the list of source code control services handled by gopkgdoc. -var services = []*service{ - {doc.GithubPattern, "github.com/", doc.GetGithubDoc}, - {doc.GooglePattern, "code.google.com/", doc.GetGoogleDoc}, - {doc.BitbucketPattern, "bitbucket.org/", doc.GetBitbucketDoc}, - {doc.LaunchpadPattern, "launchpad.net/", doc.GetLaunchpadDoc}, -} - -// pureDownload downloads package without version control. -func pureDownload(nod *node.Node) ([]string, error) { - for _, s := range services { - if s.get == nil || !strings.HasPrefix(nod.ImportPath, s.prefix) { - continue - } - m := s.pattern.FindStringSubmatch(nod.ImportPath) - if m == nil { - if s.prefix != "" { - return nil, - doc.NotFoundError{fmt.Sprintf("%s", PromptMsg["NotFoundError"])} - } - continue - } - match := map[string]string{"importPath": nod.ImportPath} - for i, n := range s.pattern.SubexpNames() { - if n != "" { - match[n] = m[i] - } - } - return s.get(doc.HttpClient, match, installGOPATH, nod, CmdInstall.Flags) - } - return nil, errors.New(fmt.Sprintf("%s", PromptMsg["NotFoundError"])) -} diff --git a/cmd/remove.go b/cmd/remove.go deleted file mode 100644 index fe06d4392..000000000 --- a/cmd/remove.go +++ /dev/null @@ -1,188 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package cmd - -import ( - "encoding/json" - "fmt" - "os" - "runtime" - "strconv" - "strings" - - "github.com/GPMGo/gopm/utils" - "github.com/GPMGo/node" -) - -var ( - removeCache map[string]bool // Saves packages that have been removed. -) - -var CmdRemove = &Command{ - UsageLine: "remove [remove flags] ", -} - -func init() { - removeCache = make(map[string]bool) - CmdRemove.Run = runRemove -} - -func runRemove(cmd *Command, args []string) { - // Check length of arguments. - if len(args) < 1 { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["NoPackage"])) - return - } - - var nodes []*node.Node - // Check if it is a bundle or snapshot. - switch { - case CmdRemove.Flags["-b"]: - bundle := args[0] - // Check local bundles. - nodes = checkLocalBundles(bundle) - if len(nodes) > 0 { - // Check with users if continue. - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("%s\n", PromptMsg["BundleInfo"]), bundle)) - for _, n := range nodes { - fmt.Printf("[%s] -> %s: %s.\n", n.ImportPath, n.Type, n.Value) - } - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["ContinueRemove"])) - var option string - fmt.Fscan(os.Stdin, &option) - // Chekc if it is a index. - num, err := strconv.Atoi(option) - if err == nil && num > 0 && num <= len(nodes) { - nodes = nodes[num-1 : num] - break - } - - if strings.ToLower(option) != "y" { - os.Exit(0) - return - } - } else { - // Check from server. - // TODO: api.GetBundleInfo() - fmt.Println("Unable to find bundle, and we cannot check with server right now.") - } - case CmdRemove.Flags["-s"]: - fmt.Println("gopm has not supported snapshot yet.") - // TODO: api.GetSnapshotInfo() - default: - // Generate temporary nodes. - nodes = make([]*node.Node, len(args)) - for i := range nodes { - nodes[i] = new(node.Node) - nodes[i].ImportPath = args[i] - } - } - - // Removes packages. - removePackages(nodes) - - // Save local nodes to file. - fw, err := os.Create(AppPath + "data/nodes.json") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runRemove -> %s\n", PromptMsg["OpenFile"]), err)) - return - } - defer fw.Close() - fbytes, err := json.MarshalIndent(&LocalNodes, "", "\t") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] runRemove -> %s\n", PromptMsg["ParseJSON"]), err)) - return - } - fw.Write(fbytes) -} - -// removePackages removes packages from local file system. -func removePackages(nodes []*node.Node) { - // Check all packages, they may be bundles, snapshots or raw packages path. - for _, n := range nodes { - // Check if it is a bundle or snapshot. - if utils.IsValidRemotePath(n.ImportPath) { - if !removeCache[n.ImportPath] { - // Remove package. - nod, imports := removePackage(n) - if len(imports) > 0 { - fmt.Println("Check denpendencies for removing package has not been supported.") - } - - // Remove record in local nodes. - if nod != nil { - removeNode(nod) - } - } - } else { - // Invalid import path. - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["SkipInvalidPath"]), n.ImportPath) - } - } -} - -// removeNode removes node from local nodes. -func removeNode(n *node.Node) { - // Check if this node exists. - for i, v := range LocalNodes { - if n.ImportPath == v.ImportPath { - LocalNodes = append(LocalNodes[:i], LocalNodes[i+1:]...) - return - } - } -} - -// removePackage removes package from local file system. -func removePackage(nod *node.Node) (*node.Node, []string) { - // Find package in GOPATH. - paths := utils.GetGOPATH() - for _, p := range paths { - absPath := p + "/src/" + utils.GetProjectPath(nod.ImportPath) + "/" - if utils.IsExist(absPath) { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["RemovePackage"]), nod.ImportPath) - // Remove files. - os.RemoveAll(absPath) - // Remove file in GOPATH/bin - proName := utils.GetExecuteName(nod.ImportPath) - paths := utils.GetGOPATH() - var gopath string - - for _, v := range paths { - if utils.IsExist(v + "/bin/" + proName) { - gopath = v // Don't need to find again. - os.Remove(v + "/bin/" + proName) - } - } - - pkgList := []string{nod.ImportPath} - removePackageFiles(gopath, pkgList) - - return nod, nil - } - } - - // Cannot find package. - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["PackageNotFound"]), nod.ImportPath) - return nil, nil -} - -// removePackageFiles removes package files in $GOPATH/pkg. -func removePackageFiles(gopath string, pkgList []string) { - var paths []string - // Check if need to find GOPATH. - if len(gopath) == 0 { - paths = utils.GetGOPATH() - } else { - paths = append(paths, gopath) - } - - pkgPath := "/pkg/" + runtime.GOOS + "_" + runtime.GOARCH + "/" - for _, p := range pkgList { - for _, g := range paths { - os.RemoveAll(g + pkgPath + p + "/") - os.Remove(g + pkgPath + p + ".a") - } - } -} diff --git a/cmd/search.go b/cmd/search.go deleted file mode 100644 index 8b840e557..000000000 --- a/cmd/search.go +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package cmd - -import ( - "bytes" - "fmt" - "runtime" - "strings" - - "github.com/GPMGo/gopm/doc" - "github.com/GPMGo/gopm/utils" -) - -var CmdSearch = &Command{ - UsageLine: "search [search flags] ", -} - -func init() { - CmdSearch.Run = runSearch -} - -// printSearchPrompt prints prompt information to users to -// let them know what's going on. -func printSearchPrompt(flag string) { - switch flag { - - } -} - -func runSearch(cmd *Command, args []string) { - // Check flags. - num := checkFlags(cmd.Flags, Config.AutoEnable.Search, args, printSearchPrompt) - if num == -1 { - return - } - args = args[num:] - - // Check length of arguments. - if len(args) < 1 { - fmt.Printf(fmt.Sprintf("%s\n", PromptMsg["NoKeyword"])) - return - } - - // Search from server, and list results. - results, err := doc.HttpGetBytes(doc.HttpClient, "http://gowalker.org/search?raw=true&q="+args[0], nil) - if err != nil { - utils.ColorPrint(fmt.Sprintf("[ERROR] runSearch -> [ %s ]\n", err)) - return - } - - pkgsCache := make(map[string]string) - paths := utils.GetGOPATH() - pkgs := strings.Split(string(results), "|||") - for _, p := range pkgs { - i := strings.Index(p, "$") - if i > -1 { - // Do not display standard library. - if !utils.IsGoRepoPath(p[:i]) { - pkgsCache[utils.GetProjectPath(p[:i])] = p[i+1:] - } - } - } - - if len(pkgsCache) == 0 { - fmt.Printf("No result is available for keyword: %s.\n", args[0]) - return - } - - isWindws := runtime.GOOS == "windows" - var buf bytes.Buffer - // Print split line for more clear look. - splitLine := fmt.Sprintf("<-----------------------------%s--------------------------->\n", PromptMsg["SearchResult"]) - if !isWindws { - splitLine = strings.Replace(splitLine, "<", fmt.Sprintf(utils.PureStartColor, utils.Magenta)+"<", 1) - splitLine = strings.Replace(splitLine, ">", ">"+utils.EndColor, 1) - } - buf.WriteString(splitLine) - - for k, v := range pkgsCache { - // Package import path. - buf.WriteString("-> " + k) - // Check if has been installed. - for _, path := range paths { - if utils.CheckIsExistWithVCS(path + "/src/" + k + "/") { - installStr := " [Installed]" - if !isWindws { - installStr = strings.Replace(installStr, "[", - fmt.Sprintf("[\033[%dm", utils.Green), 1) - installStr = strings.Replace(installStr, "]", - utils.EndColor+"]", 1) - } - buf.WriteString(installStr) - break - } - } - buf.WriteString("\n") - - if len(v) > 0 { - buf.WriteString(" " + v + "\n") // Synopsis。 - } - } - - resultStr := buf.String() - - if !isWindws { - // Set color highlight. - resultStr = strings.Replace(resultStr, args[0], - fmt.Sprintf(utils.PureStartColor, utils.Yellow)+args[0]+utils.EndColor, -1) - } - - fmt.Print(resultStr) -} diff --git a/cmd/struct.go b/cmd/struct.go deleted file mode 100644 index 909639aaa..000000000 --- a/cmd/struct.go +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package cmd - -import ( - "fmt" - "io" - "os" - "os/exec" - "strings" - - "github.com/GPMGo/gopm/doc" - "github.com/GPMGo/node" -) - -var ( - Config tomlConfig - AppPath string // Application path. -) - -var ( - LocalNodes []*node.Node - LocalBundles []*doc.Bundle -) - -// gopmConfig represents the package config file in correspoding directory. -type gopmConfig struct { - Deps []*node.Node -} - -type tomlConfig struct { - Title, Version string - Lang string `toml:"user_language"` - AutoBackup bool `toml:"auto_backup"` - Account account - AutoEnable flagEnable `toml:"auto_enable"` -} - -type flagEnable struct { - Build, Install, Search, Check []string -} - -type account struct { - Username, Password string - Github_Access_Token string `toml:"github_access_token"` -} - -// Use for i18n, key is prompt code, value is corresponding message. -var PromptMsg map[string]string - -// A Command is an implementation of a go command -// like go build or go fix. -type Command struct { - // Run runs the command. - // The args are the arguments after the command name. - Run func(cmd *Command, args []string) - - // UsageLine is the one-line usage message. - // The first word in the line is taken to be the command name. - UsageLine string - - // Short is the short description shown in the 'go help' output. - Short string - - // Long is the long message shown in the 'go help ' output. - Long string - - // Flag is a set of flags specific to this command. - Flags map[string]bool -} - -// Name returns the command's name: the first word in the usage line. -func (c *Command) Name() string { - name := c.UsageLine - i := strings.Index(name, " ") - if i >= 0 { - name = name[:i] - } - return name -} - -func (c *Command) Usage() { - fmt.Fprintf(os.Stderr, "usage: %s\n\n", c.UsageLine) - fmt.Fprintf(os.Stderr, "%s\n", strings.TrimSpace(c.Long)) - os.Exit(2) -} - -// Runnable reports whether the command can be run; otherwise -// it is a documentation pseudo-command such as importpath. -func (c *Command) Runnable() bool { - return c.Run != nil -} - -// executeCommand executes commands in command line. -func executeCommand(cmd string, args []string) { - cmdExec := exec.Command(cmd, args...) - stdout, err := cmdExec.StdoutPipe() - if err != nil { - fmt.Println(err) - } - stderr, err := cmdExec.StderrPipe() - if err != nil { - fmt.Println(err) - } - err = cmdExec.Start() - if err != nil { - fmt.Println(err) - } - go io.Copy(os.Stdout, stdout) - go io.Copy(os.Stderr, stderr) - cmdExec.Wait() -} diff --git a/conf/gopm.toml b/conf/gopm.toml deleted file mode 100644 index e2b5e27fc..000000000 --- a/conf/gopm.toml +++ /dev/null @@ -1,19 +0,0 @@ -# This is a configuration file for gpm with toml format. - -title = "gpm(Go Package Manager)" -version = "v0.2.6 Build 0527" -user_language = "en-US" -#user_language = "zh-CN" -auto_backup = true - -[account] -username = "" -password = "" -github_access_token = "" - -[auto_enable] -build = [] -install = [] -search = [] -remove = [] -check = [] \ No newline at end of file diff --git a/conf/sources.txt b/conf/sources.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/bitbucket.go b/doc/bitbucket.go deleted file mode 100644 index 1da2376da..000000000 --- a/doc/bitbucket.go +++ /dev/null @@ -1,193 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package doc - -import ( - "archive/tar" - "bytes" - "compress/gzip" - "errors" - "io" - "net/http" - "os" - "path" - "regexp" - "strings" - - "github.com/GPMGo/gopm/utils" - "github.com/GPMGo/node" -) - -var ( - BitbucketPattern = regexp.MustCompile(`^bitbucket\.org/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) - bitbucketEtagRe = regexp.MustCompile(`^(hg|git)-`) -) - -// GetBitbucketDoc downloads tarball from bitbucket.org. -func GetBitbucketDoc(client *http.Client, match map[string]string, installGOPATH string, nod *node.Node, cmdFlags map[string]bool) ([]string, error) { - // Check version control. - if m := bitbucketEtagRe.FindStringSubmatch(nod.Value); m != nil { - match["vcs"] = m[1] - } else { - var repo struct { - Scm string - } - if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}", match), &repo); err != nil { - return nil, err - } - match["vcs"] = repo.Scm - } - - // bundle and snapshot will have commit 'B' and 'S', - // but does not need to download dependencies. - isCheckImport := len(nod.Value) == 0 - - switch { - case isCheckImport || len(nod.Value) == 1: - // Get up-to-date version. - tags := make(map[string]string) - for _, nodeType := range []string{"branches", "tags"} { - var nodes map[string]struct { - Node string - } - if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { - return nil, err - } - for t, n := range nodes { - tags[t] = n.Node - } - } - - // Check revision tag. - var err error - match["tag"], match["commit"], err = bestTag(tags, defaultTags[match["vcs"]]) - if err != nil { - return nil, err - } - - nod.Type = "commit" - nod.Value = match["commit"] - case !isCheckImport: // Bundle or snapshot. - // Check downlaod type. - switch nod.Type { - case "tag", "commit", "branch": - match["commit"] = nod.Value - default: - return nil, errors.New("Unknown node type: " + nod.Type) - } - } - - // We use .tar.gz here. - // zip : https://bitbucket.org/{owner}/{repo}/get/{commit}.zip - // tarball : https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz - - // Downlaod archive. - p, err := HttpGetBytes(client, expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) - if err != nil { - return nil, err - } - - projectPath := expand("bitbucket.org/{owner}/{repo}", match) - installPath := installGOPATH + "/src/" + projectPath - nod.ImportPath = projectPath - - // Remove old files. - os.RemoveAll(installPath + "/") - // Create destination directory. - os.MkdirAll(installPath+"/", os.ModePerm) - - gzr, err := gzip.NewReader(bytes.NewReader(p)) - if err != nil { - return nil, err - } - defer gzr.Close() - - tr := tar.NewReader(gzr) - - isCodeOnly := cmdFlags["-c"] - var autoPath string // Auto path is the root path that generated by bitbucket.org. - // Get source file data. - dirs := make([]string, 0, 5) - for { - h, err := tr.Next() - if err == io.EOF { - break - } else if err != nil { - return nil, err - } - - fn := h.FileInfo().Name() - - // In case that we find directory, usually we should not. - if strings.HasSuffix(fn, "/") { - continue - } - - // Check root path. - if len(autoPath) == 0 { - autoPath = fn[:strings.Index(fn, "/")] - } - absPath := strings.Replace(fn, autoPath, installPath, 1) - - // Create diretory before create file. - dir := path.Dir(absPath) - if !checkDir(dir, dirs) && !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { - dirs = append(dirs, dir) - os.MkdirAll(dir+"/", os.ModePerm) - } - - if isCodeOnly && !utils.IsDocFile(path.Base(absPath)) { - continue - } else if strings.HasPrefix(fn, ".") { - continue - } - - // Get data from archive. - fbytes := make([]byte, h.Size) - if _, err := io.ReadFull(tr, fbytes); err != nil { - return nil, err - } - - // Write data to file - fw, err := os.Create(absPath) - if err != nil { - return nil, err - } - - _, err = fw.Write(fbytes) - fw.Close() - if err != nil { - return nil, err - } - - // Set modify time. - os.Chtimes(absPath, h.AccessTime, h.ModTime) - } - - var imports []string - - // Check if need to check imports. - if isCheckImport { - for _, d := range dirs { - importPkgs, err := CheckImports(d+"/", match["importPath"]) - if err != nil { - return nil, err - } - imports = append(imports, importPkgs...) - } - } - - return imports, err -} - -// checkDir checks if current directory has been saved. -func checkDir(dir string, dirs []string) bool { - for _, d := range dirs { - if dir == d { - return true - } - } - return false -} diff --git a/doc/error.go b/doc/error.go deleted file mode 100644 index dc12c93f1..000000000 --- a/doc/error.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package doc - -import ( - "errors" -) - -var ( - errNotModified = errors.New("package not modified") - errUpdateTimeout = errors.New("update timeout") -) - -type NotFoundError struct { - Message string -} - -func (e NotFoundError) Error() string { - return e.Message -} - -func isNotFound(err error) bool { - _, ok := err.(NotFoundError) - return ok -} - -type RemoteError struct { - Host string - err error -} - -func (e *RemoteError) Error() string { - return e.err.Error() -} diff --git a/doc/github.go b/doc/github.go deleted file mode 100644 index 27cc4452d..000000000 --- a/doc/github.go +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package doc - -import ( - "archive/zip" - "bytes" - "errors" - "io" - "net/http" - "os" - "path" - "regexp" - "strings" - - "github.com/GPMGo/gopm/utils" - "github.com/GPMGo/node" -) - -var ( - githubRawHeader = http.Header{"Accept": {"application/vnd.github-blob.raw"}} - GithubPattern = regexp.MustCompile(`^github\.com/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) - githubCred string -) - -/*func SetGithubCredentials(id, secret string) { - //githubCred = "client_id=" + id + "&client_secret=" + secret -}*/ - -func SetGithubCredentials(token string) { - if len(token) > 0 { - githubCred = "access_token=" + token - } -} - -// GetGithubDoc downloads tarball from github.com. -func GetGithubDoc(client *http.Client, match map[string]string, installGOPATH string, nod *node.Node, cmdFlags map[string]bool) ([]string, error) { - match["cred"] = githubCred - - // JSON struct for github.com. - var refs []*struct { - Ref string - Url string - Object struct { - Sha string - Type string - Url string - } - } - - // bundle and snapshot will have commit 'B' and 'S', - // but does not need to download dependencies. - isCheckImport := len(nod.Value) == 0 - - switch { - case isCheckImport || len(nod.Value) == 1: - // Get up-to-date version. - err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) - if err != nil { - return nil, err - } - - tags := make(map[string]string) - for _, ref := range refs { - switch { - case strings.HasPrefix(ref.Ref, "refs/heads/"): - tags[ref.Ref[len("refs/heads/"):]] = ref.Object.Sha - case strings.HasPrefix(ref.Ref, "refs/tags/"): - tags[ref.Ref[len("refs/tags/"):]] = ref.Object.Sha - } - } - - // Check revision tag. - match["tag"], match["sha"], err = bestTag(tags, "master") - if err != nil { - return nil, err - } - - nod.Type = "commit" - nod.Value = match["sha"] - case !isCheckImport: // Bundle or snapshot. - // Check downlaod type. - switch nod.Type { - case "tag", "commit", "branch": - match["sha"] = nod.Value - default: - return nil, errors.New("Unknown node type: " + nod.Type) - } - } - - // We use .zip here. - // zip : https://github.com/{owner}/{repo}/archive/{sha}.zip - // tarball : https://github.com/{owner}/{repo}/tarball/{sha} - - // Downlaod archive. - p, err := HttpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) - if err != nil { - return nil, err - } - - shaName := expand("{repo}-{sha}", match) - if nod.Type == "tag" { - shaName = strings.Replace(shaName, "-v", "-", 1) - } - - projectPath := expand("github.com/{owner}/{repo}", match) - installPath := installGOPATH + "/src/" + projectPath - nod.ImportPath = projectPath - - // Remove old files. - os.RemoveAll(installPath + "/") - // Create destination directory. - os.MkdirAll(installPath+"/", os.ModePerm) - - r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) - if err != nil { - return nil, err - } - - isCodeOnly := cmdFlags["-c"] - dirs := make([]string, 0, 5) - // Need to add root path because we cannot get from tarball. - dirs = append(dirs, installPath+"/") - for _, f := range r.File { - absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) - // Create diretory before create file. - os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) - - compareDir: - switch { - case strings.HasSuffix(absPath, "/"): // Directory. - // Check if current directory is example. - if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { - for _, d := range dirs { - if d == absPath { - break compareDir - } - } - dirs = append(dirs, absPath) - } - case isCodeOnly && !utils.IsDocFile(path.Base(absPath)): - continue - case !strings.HasPrefix(f.FileInfo().Name(), "."): - // Get file from archive. - rc, err := f.Open() - if err != nil { - return nil, err - } - - // Write data to file - fw, _ := os.Create(absPath) - if err != nil { - return nil, err - } - - _, err = io.Copy(fw, rc) - // Close files. - rc.Close() - fw.Close() - if err != nil { - return nil, err - } - - // Set modify time. - os.Chtimes(absPath, f.ModTime(), f.ModTime()) - } - } - - var imports []string - - // Check if need to check imports. - if isCheckImport { - for _, d := range dirs { - importPkgs, err := CheckImports(d, match["importPath"]) - if err != nil { - return nil, err - } - imports = append(imports, importPkgs...) - } - } - - /*fpath := appPath + "repo/tarballs/" + node.ImportPath + "-" + node.Value + ".zip" - // Save tarball. - if autoBackup && !utils.IsExist(fpath) { - os.MkdirAll(path.Dir(fpath)+"/", os.ModePerm) - f, err := os.Create(fpath) - if err != nil { - return nil, err - } - defer f.Close() - _, err = f.Write(p) - }*/ - - return imports, err -} diff --git a/doc/google.go b/doc/google.go deleted file mode 100644 index 9282f05aa..000000000 --- a/doc/google.go +++ /dev/null @@ -1,236 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package doc - -import ( - "errors" - "net/http" - "os" - "path" - "regexp" - "strings" - - "github.com/GPMGo/gopm/utils" - "github.com/GPMGo/node" -) - -var ( - googleRepoRe = regexp.MustCompile(`id="checkoutcmd">(hg|git|svn)`) - googleRevisionRe = regexp.MustCompile(`

    (?:[^ ]+ - )?Revision *([^:]+):`) - googleEtagRe = regexp.MustCompile(`^(hg|git|svn)-`) - googleFileRe = regexp.MustCompile(`
  • [a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) -) - -func setupGoogleMatch(match map[string]string) { - if s := match["subrepo"]; s != "" { - match["dot"] = "." - match["query"] = "?repo=" + s - } else { - match["dot"] = "" - match["query"] = "" - } -} - -func getGoogleVCS(client *http.Client, match map[string]string) error { - // Scrape the HTML project page to find the VCS. - p, err := HttpGetBytes(client, expand("http://code.google.com/p/{repo}/source/checkout", match), nil) - if err != nil { - return err - } - m := googleRepoRe.FindSubmatch(p) - if m == nil { - return NotFoundError{"Could not VCS on Google Code project page."} - } - - match["vcs"] = string(m[1]) - return nil -} - -// GetGoogleDoc downloads raw files from code.google.com. -func GetGoogleDoc(client *http.Client, match map[string]string, installGOPATH string, nod *node.Node, cmdFlags map[string]bool) ([]string, error) { - setupGoogleMatch(match) - // Check version control. - if m := googleEtagRe.FindStringSubmatch(nod.Value); m != nil { - match["vcs"] = m[1] - } else if err := getGoogleVCS(client, match); err != nil { - return nil, err - } - - // bundle and snapshot will have commit 'B' and 'S', - // but does not need to download dependencies. - isCheckImport := len(nod.Value) == 0 - if len(nod.Value) == 1 { - nod.Value = "" - } - - rootPath := expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) - - // Scrape the repo browser to find the project revision and individual Go files. - p, err := HttpGetBytes(client, rootPath+"?r="+nod.Value, nil) - if err != nil { - return nil, err - } - - // Check revision tag. - if m := googleRevisionRe.FindSubmatch(p); m == nil { - return nil, - errors.New("doc.GetGoogleDoc(): Could not find revision for " + match["importPath"]) - } else { - nod.Type = "commit" - nod.Value = string(m[1]) - } - - projectPath := expand("code.google.com/p/{repo}{dot}{subrepo}{dir}", match) - installPath := installGOPATH + "/src/" + projectPath - nod.ImportPath = projectPath - - // Remove old files. - os.RemoveAll(installPath + "/") - // Create destination directory. - os.MkdirAll(installPath+"/", os.ModePerm) - - isCodeOnly := cmdFlags["-c"] - // Get source files in root path. - files := make([]*source, 0, 5) - for _, m := range googleFileRe.FindAllSubmatch(p, -1) { - fname := strings.Split(string(m[1]), "?")[0] - if isCodeOnly && !utils.IsDocFile(fname) { - continue - } else if strings.HasPrefix(fname, ".") { - continue - } - - files = append(files, &source{ - name: fname, - rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + nod.Value, - }) - } - - // Fetch files from VCS. - if err := fetchFiles(client, files, nil); err != nil { - return nil, err - } - - // Save files. - for _, f := range files { - absPath := installPath + "/" - - // Create diretory before create file. - os.MkdirAll(path.Dir(absPath), os.ModePerm) - - // Write data to file - fw, err := os.Create(absPath + f.name) - if err != nil { - return nil, err - } - - _, err = fw.Write(f.data) - fw.Close() - if err != nil { - return nil, err - } - } - - dirs := make([]string, 0, 3) - // Get subdirectories. - for _, m := range googleDirRe.FindAllSubmatch(p, -1) { - dirName := strings.Split(string(m[1]), "?")[0] - if strings.HasSuffix(dirName, "/") { - dirs = append(dirs, dirName) - } - } - - err = downloadFiles(client, match, rootPath, installPath+"/", nod.Value, dirs) - if err != nil { - return nil, err - } - - var imports []string - - // Check if need to check imports. - if isCheckImport { - dirs, err := utils.GetDirsInfo(installPath + "/") - if err != nil { - return nil, err - } - - for _, d := range dirs { - if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { - absPath := installPath + "/" + d.Name() + "/" - importPkgs, err := CheckImports(absPath, match["importPath"]) - if err != nil { - return nil, err - } - imports = append(imports, importPkgs...) - } - } - } - - return imports, err -} - -func downloadFiles(client *http.Client, match map[string]string, rootPath, installPath, commit string, dirs []string) error { - for _, d := range dirs { - p, err := HttpGetBytes(client, rootPath+d+"?r="+commit, nil) - if err != nil { - return err - } - - // Create destination directory. - os.MkdirAll(installPath+d, os.ModePerm) - - // Get source files in current path. - files := make([]*source, 0, 5) - for _, m := range googleFileRe.FindAllSubmatch(p, -1) { - fname := strings.Split(string(m[1]), "?")[0] - files = append(files, &source{ - name: fname, - rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) + d + fname + "?r=" + commit, - }) - } - - // Fetch files from VCS. - if err := fetchFiles(client, files, nil); err != nil { - return err - } - - // Save files. - for _, f := range files { - absPath := installPath + d - - // Create diretory before create file. - os.MkdirAll(path.Dir(absPath), os.ModePerm) - - // Write data to file - fw, err := os.Create(absPath + f.name) - if err != nil { - return err - } - - _, err = fw.Write(f.data) - fw.Close() - if err != nil { - return err - } - } - - subdirs := make([]string, 0, 3) - // Get subdirectories. - for _, m := range googleDirRe.FindAllSubmatch(p, -1) { - dirName := strings.Split(string(m[1]), "?")[0] - if strings.HasSuffix(dirName, "/") { - subdirs = append(subdirs, d+dirName) - } - } - - err = downloadFiles(client, match, rootPath, installPath, commit, subdirs) - if err != nil { - return err - } - } - return nil -} diff --git a/doc/http.go b/doc/http.go deleted file mode 100644 index 34e6b3e3f..000000000 --- a/doc/http.go +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package doc - -import ( - "encoding/json" - "flag" - "fmt" - "io" - "io/ioutil" - "net" - "net/http" - "time" -) - -var userAgent = "go application" - -var ( - dialTimeout = flag.Duration("dial_timeout", 10*time.Second, "Timeout for dialing an HTTP connection.") - readTimeout = flag.Duration("read_timeout", 10*time.Second, "Timeoout for reading an HTTP response.") - writeTimeout = flag.Duration("write_timeout", 5*time.Second, "Timeout writing an HTTP request.") -) - -type timeoutConn struct { - net.Conn -} - -func (c *timeoutConn) Read(p []byte) (int, error) { - return c.Conn.Read(p) -} - -func (c *timeoutConn) Write(p []byte) (int, error) { - // Reset timeouts when writing a request. - c.Conn.SetWriteDeadline(time.Now().Add(*readTimeout)) - c.Conn.SetWriteDeadline(time.Now().Add(*writeTimeout)) - return c.Conn.Write(p) -} -func timeoutDial(network, addr string) (net.Conn, error) { - c, err := net.DialTimeout(network, addr, *dialTimeout) - if err != nil { - return nil, err - } - return &timeoutConn{Conn: c}, nil -} - -var ( - httpTransport = &http.Transport{Dial: timeoutDial} - HttpClient = &http.Client{Transport: httpTransport} -) - -// HttpGetBytes returns page data in []byte. -func HttpGetBytes(client *http.Client, url string, header http.Header) ([]byte, error) { - rc, err := httpGet(client, url, header) - if err != nil { - return nil, err - } - p, err := ioutil.ReadAll(rc) - rc.Close() - return p, err -} - -// httpGet gets the specified resource. ErrNotFound is returned if the -// server responds with status 404. -func httpGet(client *http.Client, url string, header http.Header) (io.ReadCloser, error) { - req, err := http.NewRequest("GET", url, nil) - if err != nil { - return nil, err - } - req.Header.Set("User-Agent", userAgent) - for k, vs := range header { - req.Header[k] = vs - } - resp, err := client.Do(req) - if err != nil { - return nil, &RemoteError{req.URL.Host, err} - } - - if resp.StatusCode == 200 { - return resp.Body, nil - } - resp.Body.Close() - if resp.StatusCode == 404 { // 403 can be rate limit error. || resp.StatusCode == 403 { - err = NotFoundError{"Resource not found: " + url} - } else { - err = &RemoteError{req.URL.Host, fmt.Errorf("get %s -> %d", url, resp.StatusCode)} - } - return nil, err -} - -// fetchFiles fetches the source files specified by the rawURL field in parallel. -func fetchFiles(client *http.Client, files []*source, header http.Header) error { - ch := make(chan error, len(files)) - for i := range files { - go func(i int) { - req, err := http.NewRequest("GET", files[i].rawURL, nil) - if err != nil { - ch <- err - return - } - req.Header.Set("User-Agent", userAgent) - for k, vs := range header { - req.Header[k] = vs - } - resp, err := client.Do(req) - if err != nil { - ch <- &RemoteError{req.URL.Host, err} - return - } - defer resp.Body.Close() - if resp.StatusCode != 200 { - ch <- &RemoteError{req.URL.Host, fmt.Errorf("get %s -> %d", req.URL, resp.StatusCode)} - return - } - files[i].data, err = ioutil.ReadAll(resp.Body) - if err != nil { - ch <- &RemoteError{req.URL.Host, err} - return - } - ch <- nil - }(i) - } - for _ = range files { - if err := <-ch; err != nil { - return err - } - } - return nil -} - -func httpGetJSON(client *http.Client, url string, v interface{}) error { - rc, err := httpGet(client, url, nil) - if err != nil { - return err - } - defer rc.Close() - err = json.NewDecoder(rc).Decode(v) - if _, ok := err.(*json.SyntaxError); ok { - err = NotFoundError{"JSON syntax error at " + url} - } - return err -} diff --git a/doc/launchpad.go b/doc/launchpad.go deleted file mode 100644 index 849883079..000000000 --- a/doc/launchpad.go +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package doc - -import ( - "archive/tar" - "bytes" - "compress/gzip" - "io" - "net/http" - "os" - "path" - "regexp" - "strings" - - "github.com/GPMGo/gopm/utils" - "github.com/GPMGo/node" -) - -var LaunchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) - -// GetLaunchpadDoc downloads tarball from launchpad.net. -func GetLaunchpadDoc(client *http.Client, match map[string]string, installGOPATH string, nod *node.Node, cmdFlags map[string]bool) ([]string, error) { - - if match["project"] != "" && match["series"] != "" { - rc, err := httpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) - switch { - case err == nil: - rc.Close() - // The structure of the import path is launchpad.net/{root}/{dir}. - case isNotFound(err): - // The structure of the import path is is launchpad.net/{project}/{dir}. - match["repo"] = match["project"] - match["dir"] = expand("{series}{dir}", match) - default: - return nil, err - } - } - - // bundle and snapshot will have commit 'B' and 'S', - // but does not need to download dependencies. - isCheckImport := len(nod.Value) == 0 - - var downloadPath string - // Check if download with specific revision. - if isCheckImport || len(nod.Value) == 1 { - downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball", match) - nod.Type = "commit" - } else { - downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+nod.Value, match) - } - - // Scrape the repo browser to find the project revision and individual Go files. - p, err := HttpGetBytes(client, downloadPath, nil) - if err != nil { - return nil, err - } - - projectPath := expand("launchpad.net/{repo}", match) - installPath := installGOPATH + "/src/" + projectPath - nod.ImportPath = projectPath - - // Remove old files. - os.RemoveAll(installPath + "/") - // Create destination directory. - os.MkdirAll(installPath+"/", os.ModePerm) - - gzr, err := gzip.NewReader(bytes.NewReader(p)) - if err != nil { - return nil, err - } - defer gzr.Close() - - tr := tar.NewReader(gzr) - - isCodeOnly := cmdFlags["-c"] - var autoPath string // Auto path is the root path that generated by bitbucket.org. - // Get source file data. - dirs := make([]string, 0, 5) - for { - h, err := tr.Next() - if err == io.EOF { - break - } else if err != nil { - return nil, err - } - - fn := h.FileInfo().Name() - // Check root path. - if len(autoPath) == 0 { - autoPath = fn[:strings.Index(fn, match["repo"])+len(match["repo"])] - } - absPath := strings.Replace(fn, autoPath, installPath, 1) - - switch { - case h.FileInfo().IsDir(): // Directory. - // Check if current directory is example. - if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { - dirs = append(dirs, absPath) - } - case isCodeOnly && !utils.IsDocFile(path.Base(absPath)): - continue - case !strings.HasPrefix(fn, "."): - // Create diretory before create file. - os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) - - // Get data from archive. - fbytes := make([]byte, h.Size) - if _, err := io.ReadFull(tr, fbytes); err != nil { - return nil, err - } - - // Write data to file - fw, err := os.Create(absPath) - if err != nil { - return nil, err - } - - _, err = fw.Write(fbytes) - fw.Close() - if err != nil { - return nil, err - } - } - } - - var imports []string - - // Check if need to check imports. - if isCheckImport { - for _, d := range dirs { - importPkgs, err := CheckImports(d+"/", match["importPath"]) - if err != nil { - return nil, err - } - imports = append(imports, importPkgs...) - } - } - - return imports, err -} diff --git a/doc/struct.go b/doc/struct.go deleted file mode 100644 index 89eaebd1a..000000000 --- a/doc/struct.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package doc - -import ( - "go/token" - "os" - "time" - "github.com/GPMGo/node" -) - -// Bundle represents a bundle. -type Bundle struct { - Id int64 - UserId int64 `json:"user_id"` - Name string `json:"bundle_name"` - Timestamp int64 - Comment string - Nodes []*node.Node -} - -// source is source code file. -type source struct { - rawURL string - name string - data []byte -} - -func (s *source) Name() string { return s.name } -func (s *source) Size() int64 { return int64(len(s.data)) } -func (s *source) Mode() os.FileMode { return 0 } -func (s *source) ModTime() time.Time { return time.Time{} } -func (s *source) IsDir() bool { return false } -func (s *source) Sys() interface{} { return nil } - -// walker holds the state used when building the documentation. -type walker struct { - ImportPath string - srcs map[string]*source // Source files. - fset *token.FileSet -} diff --git a/doc/vcs.go b/doc/vcs.go deleted file mode 100644 index 8a1628249..000000000 --- a/doc/vcs.go +++ /dev/null @@ -1,238 +0,0 @@ -// Copyright 2012 Gary Burd -// -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package doc - -import ( - "bytes" - "io/ioutil" - "log" - "os" - "os/exec" - "path" - "regexp" - "strconv" - "strings" -) - -var ( - appPath string - autoBackup bool -) - -func SetAppConfig(path string, backup bool) { - appPath = path - autoBackup = backup -} - -// TODO: specify with command line flag -const repoRoot = "/tmp/gddo" - -var urlTemplates = []struct { - re *regexp.Regexp - template string - lineFmt string -}{ - { - regexp.MustCompile(`^git\.gitorious\.org/(?P[^/]+/[^/]+)$`), - "https://gitorious.org/{repo}/blobs/{tag}/{dir}{0}", - "#line%d", - }, - { - regexp.MustCompile(`^camlistore\.org/r/p/(?P[^/]+)$`), - "http://camlistore.org/code/?p={repo}.git;hb={tag};f={dir}{0}", - "#l%d", - }, -} - -// lookupURLTemplate finds an expand() template, match map and line number -// format for well known repositories. -func lookupURLTemplate(repo, dir, tag string) (string, map[string]string, string) { - if strings.HasPrefix(dir, "/") { - dir = dir[1:] + "/" - } - for _, t := range urlTemplates { - if m := t.re.FindStringSubmatch(repo); m != nil { - match := map[string]string{ - "dir": dir, - "tag": tag, - } - for i, name := range t.re.SubexpNames() { - if name != "" { - match[name] = m[i] - } - } - return t.template, match, t.lineFmt - } - } - return "", nil, "" -} - -type vcsCmd struct { - schemes []string - download func([]string, string, string) (string, string, error) -} - -var vcsCmds = map[string]*vcsCmd{ - "git": &vcsCmd{ - schemes: []string{"http", "https", "git"}, - download: downloadGit, - }, -} - -var lsremoteRe = regexp.MustCompile(`(?m)^([0-9a-f]{40})\s+refs/(?:tags|heads)/(.+)$`) - -func downloadGit(schemes []string, repo, savedEtag string) (string, string, error) { - var p []byte - var scheme string - for i := range schemes { - cmd := exec.Command("git", "ls-remote", "--heads", "--tags", schemes[i]+"://"+repo+".git") - log.Println(strings.Join(cmd.Args, " ")) - var err error - p, err = cmd.Output() - if err == nil { - scheme = schemes[i] - break - } - } - - if scheme == "" { - return "", "", NotFoundError{"VCS not found"} - } - - tags := make(map[string]string) - for _, m := range lsremoteRe.FindAllSubmatch(p, -1) { - tags[string(m[2])] = string(m[1]) - } - - tag, commit, err := bestTag(tags, "master") - if err != nil { - return "", "", err - } - - etag := scheme + "-" + commit - - if etag == savedEtag { - return "", "", errNotModified - } - - dir := path.Join(repoRoot, repo+".git") - p, err = ioutil.ReadFile(path.Join(dir, ".git/HEAD")) - switch { - case err != nil: - if err := os.MkdirAll(dir, 0777); err != nil { - return "", "", err - } - cmd := exec.Command("git", "clone", scheme+"://"+repo, dir) - log.Println(strings.Join(cmd.Args, " ")) - if err := cmd.Run(); err != nil { - return "", "", err - } - case string(bytes.TrimRight(p, "\n")) == commit: - return tag, etag, nil - default: - cmd := exec.Command("git", "fetch") - log.Println(strings.Join(cmd.Args, " ")) - cmd.Dir = dir - if err := cmd.Run(); err != nil { - return "", "", err - } - } - - cmd := exec.Command("git", "checkout", "--detach", "--force", commit) - cmd.Dir = dir - if err := cmd.Run(); err != nil { - return "", "", err - } - - return tag, etag, nil -} - -var defaultTags = map[string]string{"git": "master", "hg": "default"} - -func bestTag(tags map[string]string, defaultTag string) (string, string, error) { - if commit, ok := tags["go1"]; ok { - return "go1", commit, nil - } - if commit, ok := tags[defaultTag]; ok { - return defaultTag, commit, nil - } - return "", "", NotFoundError{"Tag or branch not found."} -} - -// expand replaces {k} in template with match[k] or subs[atoi(k)] if k is not in match. -func expand(template string, match map[string]string, subs ...string) string { - var p []byte - var i int - for { - i = strings.Index(template, "{") - if i < 0 { - break - } - p = append(p, template[:i]...) - template = template[i+1:] - i = strings.Index(template, "}") - if s, ok := match[template[:i]]; ok { - p = append(p, s...) - } else { - j, _ := strconv.Atoi(template[:i]) - p = append(p, subs[j]...) - } - template = template[i+1:] - } - p = append(p, template...) - return string(p) -} - -// checkImports checks package denpendencies. -func CheckImports(absPath, importPath string) (importPkgs []string, err error) { - dir, err := os.Open(absPath) - if err != nil { - return nil, err - } - defer dir.Close() - - // Get file info slice. - fis, err := dir.Readdir(0) - if err != nil { - return nil, err - } - - files := make([]*source, 0, 10) - for _, fi := range fis { - // Only handle files. - if strings.HasSuffix(fi.Name(), ".go") { - f, err := os.Open(absPath + fi.Name()) - if err != nil { - return nil, err - } - - fbytes := make([]byte, fi.Size()) - _, err = f.Read(fbytes) - f.Close() - - if err != nil { - return nil, err - } - - files = append(files, &source{ - name: fi.Name(), - data: fbytes, - }) - } - } - - // Check if has Go source files. - if len(files) > 0 { - w := &walker{ImportPath: importPath} - importPkgs, err = w.build(files) - if err != nil { - return nil, err - } - } - - return importPkgs, err -} diff --git a/doc/walker.go b/doc/walker.go deleted file mode 100644 index 6c305dde8..000000000 --- a/doc/walker.go +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright 2012 Gary Burd -// -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package doc - -import ( - "bytes" - "errors" - "go/ast" - "go/build" - "go/parser" - "go/token" - "io" - "io/ioutil" - "os" - "path" - "runtime" - "strings" - - "github.com/GPMGo/gopm/utils" -) - -type sliceWriter struct{ p *[]byte } - -func (w sliceWriter) Write(p []byte) (int, error) { - *w.p = append(*w.p, p...) - return len(p), nil -} - -func (w *walker) readDir(dir string) ([]os.FileInfo, error) { - if dir != w.ImportPath { - panic("unexpected") - } - fis := make([]os.FileInfo, 0, len(w.srcs)) - for _, src := range w.srcs { - fis = append(fis, src) - } - return fis, nil -} - -func (w *walker) openFile(path string) (io.ReadCloser, error) { - if strings.HasPrefix(path, w.ImportPath+"/") { - if src, ok := w.srcs[path[len(w.ImportPath)+1:]]; ok { - return ioutil.NopCloser(bytes.NewReader(src.data)), nil - } - } - panic("unexpected") -} - -func simpleImporter(imports map[string]*ast.Object, path string) (*ast.Object, error) { - pkg := imports[path] - if pkg == nil { - // Guess the package name without importing it. Start with the last - // element of the path. - name := path[strings.LastIndex(path, "/")+1:] - - // Trim commonly used prefixes and suffixes containing illegal name - // runes. - name = strings.TrimSuffix(name, ".go") - name = strings.TrimSuffix(name, "-go") - name = strings.TrimPrefix(name, "go.") - name = strings.TrimPrefix(name, "go-") - name = strings.TrimPrefix(name, "biogo.") - - // It's also common for the last element of the path to contain an - // extra "go" prefix, but not always. TODO: examine unresolved ids to - // detect when trimming the "go" prefix is appropriate. - - pkg = ast.NewObj(ast.Pkg, name) - pkg.Data = ast.NewScope(nil) - imports[path] = pkg - } - return pkg, nil -} - -// build gets imports from source files. -func (w *walker) build(srcs []*source) ([]string, error) { - // Add source files to walker, I skipped references here. - w.srcs = make(map[string]*source) - for _, src := range srcs { - w.srcs[src.name] = src - } - - w.fset = token.NewFileSet() - - // Find the package and associated files. - ctxt := build.Context{ - GOOS: runtime.GOOS, - GOARCH: runtime.GOARCH, - CgoEnabled: true, - JoinPath: path.Join, - IsAbsPath: path.IsAbs, - SplitPathList: func(list string) []string { return strings.Split(list, ":") }, - IsDir: func(path string) bool { panic("unexpected") }, - HasSubdir: func(root, dir string) (rel string, ok bool) { panic("unexpected") }, - ReadDir: func(dir string) (fi []os.FileInfo, err error) { return w.readDir(dir) }, - OpenFile: func(path string) (r io.ReadCloser, err error) { return w.openFile(path) }, - Compiler: "gc", - } - - bpkg, err := ctxt.ImportDir(w.ImportPath, 0) - // Continue if there are no Go source files; we still want the directory info. - _, nogo := err.(*build.NoGoError) - if err != nil { - if nogo { - err = nil - } else { - return nil, errors.New("doc.walker.build(): " + err.Error()) - } - } - - // Parse the Go files - - files := make(map[string]*ast.File) - for _, name := range append(bpkg.GoFiles, bpkg.CgoFiles...) { - file, err := parser.ParseFile(w.fset, name, w.srcs[name].data, parser.ParseComments) - if err != nil { - //beego.Error("doc.walker.build():", err) - continue - } - files[name] = file - } - - w.ImportPath = strings.Replace(w.ImportPath, "\\", "/", -1) - var imports []string - for _, v := range bpkg.Imports { - // Skip strandard library. - if !utils.IsGoRepoPath(v) && - (utils.GetProjectPath(v) != utils.GetProjectPath(w.ImportPath)) { - imports = append(imports, v) - } - } - - return imports, err -} diff --git a/docs/Quick_Start.md b/docs/Quick_Start.md deleted file mode 100644 index 17764d9ec..000000000 --- a/docs/Quick_Start.md +++ /dev/null @@ -1,135 +0,0 @@ -# Quick Start - -Full documentation please visit [GPMGo Documentation]()(Haven't done yet!). - -## Index - -- [When and why](#when-and-why) -- [Installation](#installation) -- [ **Install** package, or packages](#install-package-or-packages) -- [ **Build** and run it](#build-and-run-it) -- [ **Remove** package, or packages](#remove-package-or-packages) -- [ Use **check** to check dependencies](#use-check-to-check-dependencies) -- [ **Search** and find more](#search-and-find-more) - -## When and why - -### Lightweight version control - -Unlike large version control system like git, hg, or svn, you don't have to install any version control tool for using gpm; you are still able to download and install packages that you prefer to. - -### Not only project, but dependencies! - -With gpm, it's much easier to control dependencies version of your packages specifically. All you need to do is that indicate version either by tag, branch or commit of your dependencies, and leave rest of work to gpm! - -### Killer feature over `go get`? - -- `go get` gives great advantages of package installation in Go, but the only thing it's missing is version control of dependencies. -- Every time you use `go get`, you may download unstable version of your package dependencies, and you may waste your time to find last version in almost unreadable commit history. -- Not only main package, dependencies also have their dependencies, in a big project, small things like this should not waste your attention for building awesome applications. - -### How's configuration file looks like? - -In gpm, we call `bundle` for this kind of files, here is an example of a [bundle](https://github.com/GPMGo/gpm/blob/master/repo/bundles/test_bundle.json), don't get it? It's fine, we'll talk about it more just one second. - -## Installation - -You can install gpm either from source or download binary. - -### Install from source - -- gopm is a `go get` able project: execute command `go get github.com/GPMGo/gopm` to download and install. -- Run test: switch work directory to gopm project, and execute command `go test` to build and test commands automatically(for now, tested commands are `gopm install`, `gopm remove`). -- Add gopm project path to your environment variable `PATH` in order to execute it in other directories. - -**Attention** If you install from source, you can actually put binary in any path that has already existed in $PATH, so you don't need to add a new path to $PATH again. - -### Download binary - -At this time, we recommend you install from source. - -Because we don't have all kinds of operating systems, we need your help to complete following download list!(I'm just too lazy to cross compiling -_-|||) - -- darwin-386: -- darwin-amd64: -- freebsd-386: -- freebsd-amd64: -- linux-386: -- linux-amd64: -- windows_386: -- windows_amd64: - -**Attention** Because we use API to get information of packages that are hosted on github.com, but it limits 60 requests per hour, so you may get errors if you download too much(more than 50 packages per hour). We do not provider access token for security reason, but we do have configure option `github_access_token` in configuration file `conf/gopm.toml`, so you can go to [here](https://github.com/settings/applications) and create your personal access token(up to 5000 request per hour), and set it in `gopm.toml`. - -## Install package, or packages - -Command `install` downloads and installs packages along with all dependencies(except when you use bundle or snapshot). - -Suppose you want to install package `github.com/GPMGoTest/install_test`, here two ways to do it: - -### Install like `go get` - -- Execute command `gpm install github.com/GPMGoTest/install_test`, and you do not need to install version control tool. In case you want to, `gpm install -v github.com/GPMGoTest/install_test` calls `go get` in underlying. - -### Install through bundle - -- It's still not cool enough to download and install packages with import path, let's try execute command `gopm install test.b`, see what happens? -- Where is the `test.b` comes from? We actually created a bundle for you in directory `repo/bundles/`, and all bundles should be put there. -- This is how bundle works, you can open it and see what's inside, it includes import path, type, value and dependencies. -- The `test.b` means the bundle whose name is `test`, if you want to use bundle, you have to add suffix `.b`. You may notice that our file name is `install_test.json`, why is `test`? Because we use `bundle_name` inside file, file name doesn't mean anything unless you leave `bundle_name` blank, then the file name becomes bundle name automatically, but be sure that all bundle file name should use JSON and suffix `.json`. -- For `code.google.com`, `launchpad.net`, type is **ALWAYS** `commit`, and you can leave value blank which means up-to-date, or give it a certain value and you will download the same version of the package no matter how many times. -- For `github.com`, `bitbucket.org`, type can be either `commit`, `branch` or `tag`, and give it corresponding value. -- Now, you should have two packages which are `github.com/GPMGoTest/install_test` and `github.com/GPMGoTest/install_test2` in your computer. - -### Share? - -Copy and paste your bundle files to anyone else, nothing much! - -## Build and run it - -Command `build` compiles and installs packages along with all dependencies. - -Let's switch work directory to package `github.com/GPMGoTest/install_test`. - -- Execute command `gopm build -r`. -- After built, you should see string `Welcome to use gopm(Go Package Manager)!` was printed on the screen. -- Then, gpm calls `go install` in underlying, so you should have binary `$GOPATH/bin/install_test`, then gpm moves it to current directory. -- Flag `-r` means run after built, so you saw the string was printed. - -### Why we do this? - -In some cases like building web applications, we use relative path to access static files, and `go build` compiles packages without saving, so it's a shortcut for `go install` + `go build` + `go run`, and you don't need to compile packages again for those have not changed. - -## Remove package, or packages - -Command `remove` removes packages from your local file system. - -Suppose you want to remove package `github.com/GPMGoTest/install_test2/subpkg`. - -- Execute command `gopm remove github.com/GPMGoTest/install_test2/subpkg`, gopm finds this project in all paths in your GOPATH environment. -- You may notice this is not project path, it's OK because gpm knows it, and deletes directory `$GOPATH/src/github.com/GPMGoTest/install_test2/`, this command delete files in `$GOPATH/bin` and `$GOPATH/pkg` as well. -- You can also use `gopm remove test.b` to remove all packages are included in bundle, but we don't need here because we have one more cool stuff to try. - -## Use check to check dependencies - -Command `check` checks package dependencies and installs missing ones. - -Suppose you want to check package `github.com/GPMGoTest/install_test`. - -- Switch work directory to package path. -- Execute command `gopm check`. -- That's it! - -## Search and find more - -Command `search` is for searching packages in [Go Walker](http://gowalker.org) database. - -- Execute command `gopm search mysql`. -- Try it by yourself. - -## Go further - -- Online full documentation is still working, I'm sorry about that. -- Give us your feedback, these things matters. -- Join us and get better together. -- Contact: [gpmgo.com@gmail.com](mailto:gpmgo.com@gmail.com). \ No newline at end of file diff --git a/docs/Quick_Start_ZH.md b/docs/Quick_Start_ZH.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/gopm.go b/gopm.go deleted file mode 100644 index 81f7eccf3..000000000 --- a/gopm.go +++ /dev/null @@ -1,361 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -// gpm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. - -package main - -import ( - "encoding/json" - "fmt" - "io" - "os" - "os/exec" - "path" - "path/filepath" - "runtime" - "strings" - "sync" - "text/template" - "unicode" - "unicode/utf8" - - "github.com/BurntSushi/toml" - "github.com/GPMGo/gopm/cmd" - "github.com/GPMGo/gopm/doc" - "github.com/GPMGo/gopm/utils" -) - -// Commands lists the available commands and help topics. -// The order here is the order in which they are printed by 'gpm help'. -var commands = []*cmd.Command{ - cmd.CmdBuild, - cmd.CmdSearch, - cmd.CmdInstall, - cmd.CmdRemove, - cmd.CmdCheck, -} - -// getAppPath returns application execute path for current process. -func getAppPath() bool { - // Look up executable in PATH variable. - cmd.AppPath, _ = exec.LookPath(path.Base(os.Args[0])) - // Check if run under $GOPATH/bin - if !utils.IsExist(cmd.AppPath + "conf/") { - paths := utils.GetGOPATH() - for _, p := range paths { - if utils.IsExist(p + "/src/github.com/GPMGo/gopm/") { - cmd.AppPath = p + "/src/github.com/GPMGo/gopm/" - break - } - } - } - - if len(cmd.AppPath) == 0 { - utils.ColorPrint("[ERROR] getAppPath ->[ Unable to indicate current execute path. ]\n") - return false - } - - cmd.AppPath = filepath.Dir(cmd.AppPath) + "/" - if runtime.GOOS == "windows" { - // Replace all '\' to '/'. - cmd.AppPath = strings.Replace(cmd.AppPath, "\\", "/", -1) - } - - doc.SetAppConfig(cmd.AppPath, cmd.Config.AutoBackup) - return true -} - -// loadPromptMsg loads prompt messages according to user language. -func loadPromptMsg(lang string) bool { - cmd.PromptMsg = make(map[string]string) - - // Load prompt messages. - f, err := os.Open(cmd.AppPath + "i18n/" + lang + "/prompt.txt") - if err != nil { - utils.ColorPrint(fmt.Sprintf("[ERROR] loadUsage -> Fail to load prompt messages[ %s ]\n", err)) - return false - } - defer f.Close() - - // Read prompt messages. - fi, _ := f.Stat() - promptBytes := make([]byte, fi.Size()) - f.Read(promptBytes) - promptStrs := strings.Split(string(promptBytes), "\n") - for _, p := range promptStrs { - i := strings.Index(p, "=") - if i > -1 { - cmd.PromptMsg[p[:i]] = p[i+1:] - } - } - return true -} - -// loadUsage loads usage according to user language. -func loadUsage(lang string) bool { - if !loadPromptMsg(lang) { - return false - } - - // Load main usage. - f, err := os.Open(cmd.AppPath + "i18n/" + lang + "/usage.tpl") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadUsage -> %s\n", cmd.PromptMsg["LoadCommandUsage"]), "main", err)) - return false - } - defer f.Close() - - // Read main usages. - fi, _ := f.Stat() - usageBytes := make([]byte, fi.Size()) - f.Read(usageBytes) - usageTemplate = string(usageBytes) - - // Load command usage. - for _, command := range commands { - f, err := os.Open(cmd.AppPath + "i18n/" + lang + "/usage_" + command.Name() + ".txt") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadUsage -> %s\n", cmd.PromptMsg["LoadCommandUsage"]), command.Name(), err)) - return false - } - defer f.Close() - - // Read usage. - fi, _ := f.Stat() - usageBytes := make([]byte, fi.Size()) - f.Read(usageBytes) - usages := strings.Split(string(usageBytes), "|||") - if len(usages) < 2 { - utils.ColorPrint(fmt.Sprintf( - fmt.Sprintf("[ERROR] loadUsage -> %s\n", cmd.PromptMsg["ReadCoammndUsage"]), command.Name())) - return false - } - command.Short = usages[0] - command.Long = usages[1] - } - - return true -} - -// loadLocalNodes loads nodes information from local file system. -func loadLocalNodes() bool { - if !utils.IsExist(cmd.AppPath + "data/nodes.json") { - os.MkdirAll(cmd.AppPath+"data/", os.ModePerm) - } else { - fr, err := os.Open(cmd.AppPath + "data/nodes.json") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalNodes -> %s\n", cmd.PromptMsg["LoadLocalData"]), err)) - return false - } - defer fr.Close() - - err = json.NewDecoder(fr).Decode(&cmd.LocalNodes) - if err != nil && err != io.EOF { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalNodes -> %s\n", cmd.PromptMsg["ParseJSON"]), err)) - return false - } - } - return true -} - -// loadLocalBundles loads bundles from local file system. -func loadLocalBundles() bool { - // Find all bundles. - dir, err := os.Open(cmd.AppPath + "repo/bundles/") - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", cmd.PromptMsg["OpenFile"]), err)) - return false - } - defer dir.Close() - - fis, err := dir.Readdir(0) - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", cmd.PromptMsg["OpenFile"]), err)) - return false - } - - for _, fi := range fis { - // In case this folder contains unexpected directories. - if !fi.IsDir() && strings.HasSuffix(fi.Name(), ".json") { - fr, err := os.Open(cmd.AppPath + "repo/bundles/" + fi.Name()) - if err != nil { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", cmd.PromptMsg["OpenFile"]), err)) - return false - } - - bundle := new(doc.Bundle) - err = json.NewDecoder(fr).Decode(bundle) - fr.Close() - if err != nil && err != io.EOF { - utils.ColorPrint(fmt.Sprintf(fmt.Sprintf("[ERROR] loadLocalBundles -> %s\n", cmd.PromptMsg["ParseJSON"]), err)) - return false - } - - // Make sure bundle name is not empty. - if len(bundle.Name) == 0 { - bundle.Name = fi.Name()[:strings.Index(fi.Name(), ".")] - } - - cmd.LocalBundles = append(cmd.LocalBundles, bundle) - } - } - return true -} - -// We don't use init() to initialize -// bacause we need to get execute path in runtime. -func initialize() bool { - // Try to have highest performance. - runtime.GOMAXPROCS(runtime.NumCPU()) - - // Get application execute path. - if !getAppPath() { - return false - } - - // Load configuration. - if _, err := toml.DecodeFile(cmd.AppPath+"conf/gopm.toml", &cmd.Config); err != nil { - fmt.Printf("initialize -> Fail to load configuration[ %s ]\n", err) - return false - } - - // Set github.com access token. - doc.SetGithubCredentials(cmd.Config.Account.Github_Access_Token) - - // Load usages by language. - if !loadUsage(cmd.Config.Lang) { - return false - } - - // Create bundle and snapshot directories. - os.MkdirAll(cmd.AppPath+"repo/bundles/", os.ModePerm) - os.MkdirAll(cmd.AppPath+"repo/snapshots/", os.ModePerm) - // Create local tarball directories. - os.MkdirAll(cmd.AppPath+"repo/tarballs/", os.ModePerm) - - // Initialize local data. - if !loadLocalNodes() || !loadLocalBundles() { - return false - } - - return true -} - -func main() { - // Initialization. - if !initialize() { - return - } - - // Check length of arguments. - args := os.Args[1:] - if len(args) < 1 { - usage() - return - } - - // Show help documentation. - if args[0] == "help" { - help(args[1:]) - return - } - - // Check commands and run. - for _, comm := range commands { - if comm.Name() == args[0] && comm.Run != nil { - comm.Run(comm, args[1:]) - exit() - return - } - } - - // Uknown commands. - fmt.Fprintf(os.Stderr, fmt.Sprintf("%s\n", cmd.PromptMsg["UnknownCommand"]), args[0]) - setExitStatus(2) - exit() -} - -var exitStatus = 0 -var exitMu sync.Mutex - -func setExitStatus(n int) { - exitMu.Lock() - if exitStatus < n { - exitStatus = n - } - exitMu.Unlock() -} - -var usageTemplate string -var helpTemplate = `{{if .Runnable}}usage: gopm {{.UsageLine}} - -{{end}}{{.Long | trim}} -` - -// tmpl executes the given template text on data, writing the result to w. -func tmpl(w io.Writer, text string, data interface{}) { - t := template.New("top") - t.Funcs(template.FuncMap{"trim": strings.TrimSpace, "capitalize": capitalize}) - template.Must(t.Parse(text)) - if err := t.Execute(w, data); err != nil { - panic(err) - } -} - -func capitalize(s string) string { - if s == "" { - return s - } - r, n := utf8.DecodeRuneInString(s) - return string(unicode.ToTitle(r)) + s[n:] -} - -func printUsage(w io.Writer) { - tmpl(w, usageTemplate, commands) -} - -func usage() { - printUsage(os.Stderr) - os.Exit(2) -} - -// help implements the 'help' command. -func help(args []string) { - if len(args) == 0 { - printUsage(os.Stdout) - // not exit 2: succeeded at 'gpm help'. - return - } - if len(args) != 1 { - fmt.Fprintf(os.Stderr, "usage: gopm help command\n\nToo many arguments given.\n") - os.Exit(2) // failed at 'gpm help' - } - - arg := args[0] - - for _, comm := range commands { - if comm.Name() == arg { - tmpl(os.Stdout, helpTemplate, comm) - // not exit 2: succeeded at 'go help cmd'. - return - } - } - - fmt.Fprintf(os.Stderr, "Unknown help topic %#q. Run 'gopm help'.\n", arg) - os.Exit(2) // failed at 'go help cmd' -} - -var atexitFuncs []func() - -func atexit(f func()) { - atexitFuncs = append(atexitFuncs, f) -} - -func exit() { - for _, f := range atexitFuncs { - f() - } - os.Exit(exitStatus) -} diff --git a/gopm.json b/gopm.json deleted file mode 100644 index d9592c63d..000000000 --- a/gopm.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "Deps": [ - { - "import_path": "github.com/BurntSushi/toml", - "type": "", - "value": "", - "deps": null - }, - { - "import_path": "github.com/GPMGo/node", - "type": "", - "value": "", - "deps": null - } - ] -} \ No newline at end of file diff --git a/i18n/en-US/prompt.txt b/i18n/en-US/prompt.txt deleted file mode 100644 index 5543be5bf..000000000 --- a/i18n/en-US/prompt.txt +++ /dev/null @@ -1,36 +0,0 @@ -LoadCommandUsage=Fail to load command(%s) usage[ %s ] -ReadCoammndUsage=Unacceptable command(%s) usage file. -LoadLocalData=Fail to load local data[ %s ] -ParseJSON=Fail to parse JSON[ %s ] -OpenFile=Fail to open file[ %s ] -RemoveFile=Fail to remove file[ %s ] -UnknownCommand=gopm: Unknown command %q. Run 'gopm help' for usage. -MoveFile=Fail to move file from $GOPATH(%s) to current directory(%s). -UnknownFlag=Unknown flag: %s. -DownloadError=Fail to download package(%s)[ %s ] -NotFoundError=Import path prefix matches known service, but regexp does not. -ErrNoMatch=Unsupported project hosting. -PackageNotFound=Cannot find package: %s. -CheckImports=Fail to check dependencies[ %s ] - -MovedFile=Moved file from $GOPATH(%s) to current directory(%s). -DownloadOnly=You enabled download without installing. -ForceUpdate=You enabled force update. -DownloadExDeps=You enabled download dependencies in example. -NoPackage=Please list at least one package/bundle/snapshot. -DownloadPath=Packages will be downloaded to GOPATH(%s). -InstallStatus=Installing package: %s. -BundleInfo=Bundle(%s) contains following nodes: -ContinueDownload=Continue to download?(Y/n or index). -SkipInstalled=Skipped installed pakcage: %s. -SkipDownloaded=Skipped downloaded package: %s. -SkipInvalidPath=Skipped invalid import path: %s. -DownloadStatus=Downloading package: %s. -RemovePackage=Removing package: %s. -NoKeyword=Cannot search without a keyword. -ContinueRemove=Continue to remove?(Y/n). -InvalidPath=Cannot find package in current path. -MissingImports=Following packages are missing: -GenerateConfig=Auto-generated configuration file for package: %s. -CheckExDeps=You enabled check dependencies in example. -SearchResult=search results \ No newline at end of file diff --git a/i18n/en-US/usage.tpl b/i18n/en-US/usage.tpl deleted file mode 100644 index e34116a55..000000000 --- a/i18n/en-US/usage.tpl +++ /dev/null @@ -1,18 +0,0 @@ -gopm(Go Package Manager) is a Go package manage tool for search, install, update, share packages. - -Usage: - - gopm command [arguments] - -The commands are: -{{range .}}{{if .Runnable}} - {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} - -Use "gopm help [command]" for more information about a command. - -Additional help topics: -{{range .}}{{if not .Runnable}} - {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} - -Use "gopm help [topic]" for more information about that topic. - diff --git a/i18n/en-US/usage_build.txt b/i18n/en-US/usage_build.txt deleted file mode 100644 index 8d4b27526..000000000 --- a/i18n/en-US/usage_build.txt +++ /dev/null @@ -1,19 +0,0 @@ -compile and install packages and dependencies||| -Build compiles and installs the packages named by the import paths, -along with their dependencies. - -If the package is main, the output file -name is the base name of the containing directory. - -The build flags are shared by the build and test commands: - - -v - print the names of packages as they are compiled. - -r - run program after built. - -The list flags accept a space-separated list of strings. - -For more about specifying packages, see 'go help packages'. - -See also: gopm install. diff --git a/i18n/en-US/usage_check.txt b/i18n/en-US/usage_check.txt deleted file mode 100644 index c6b45bb19..000000000 --- a/i18n/en-US/usage_check.txt +++ /dev/null @@ -1,10 +0,0 @@ -check packages dependencies||| -Check checks packages dependencies if have been installed -and generate configure file. - -The check flags are: - - -e - check dependencies for examples. - -The list flags accept a space-separated list of strings. \ No newline at end of file diff --git a/i18n/en-US/usage_install.txt b/i18n/en-US/usage_install.txt deleted file mode 100644 index 384ca9eb7..000000000 --- a/i18n/en-US/usage_install.txt +++ /dev/null @@ -1,29 +0,0 @@ -download and install packages and dependencies||| -Install downloads and installs the packages named by the import paths, -along with their dependencies. - -This command works even you haven't installed any version control tool -such as git, hg, etc. - -The install flags are: - - -v - download packages with version control. - -d - download without installing packages. - -u - force to update pakcages. - -e - download dependencies for examples. - -b - download and install bundle. - -s - download and install snapshot. - -The list flags accept a space-separated list of strings. - -For more about specifying packages, see 'go help packages'. -For more about bundle, see 'gopm help bundle'. -For more about snapshot, see 'gopm help snapshot'. - -See also: gopm remove. diff --git a/i18n/en-US/usage_remove.txt b/i18n/en-US/usage_remove.txt deleted file mode 100644 index 740de80c8..000000000 --- a/i18n/en-US/usage_remove.txt +++ /dev/null @@ -1,18 +0,0 @@ -remove packages and dependencies||| -Remove removes the packages named by the import paths, -along with their dependencies. - -The remove flags are: - - -b - remove bundle. - -s - remove snapshot. - -The list flags accept a space-separated list of strings. - -For more about specifying packages, see 'go help packages'. -For more about bundle, see 'gopm help bundle'. -For more about snapshot, see 'gopm help snapshot'. - -See also: gopm install. diff --git a/i18n/en-US/usage_search.txt b/i18n/en-US/usage_search.txt deleted file mode 100644 index 7f9076eca..000000000 --- a/i18n/en-US/usage_search.txt +++ /dev/null @@ -1,7 +0,0 @@ -search packages||| -Search searchs packages by keyword. - -The search flags are: - - -The list flags accept a space-separated list of strings. diff --git a/i18n/zh-CN/prompt.txt b/i18n/zh-CN/prompt.txt deleted file mode 100644 index f4b88adb3..000000000 --- a/i18n/zh-CN/prompt.txt +++ /dev/null @@ -1,36 +0,0 @@ -LoadCommandUsage=加载命令 (%s) 说明失败 [ %s ] -ReadCoammndUsage=不可用的 (%s) 说明文件. -LoadLocalData=无法加载本地数据 [ %s ] -ParseJSON=JSON 解析失败 [ %s ] -OpenFile=文件打开失败 [ %s ] -RemoveFile=移除文件失败 [ %s ] -UnknownCommand=gopm: 未知命令 %q. 运行 'gopm help' 获取帮助. -MoveFile=从 $GOPATH(%s) 拷贝文件到当前目录 (%s) 失败. -UnknownFlag=未知参数: %s. -DownloadError=下载包 (%s) 失败 [ %s ] -NotFoundError=合法的源代码托管平台,但正则匹配失败. -ErrNoMatch=不被支持的源代码托管平台. -PackageNotFound=无法找到包: %s. -CheckImports=一百遍检查失败 [ %s ] - -MovedFile=成功将文件从 $GOPATH(%s) 移动至当前目录 (%s). -DownloadOnly=已激活无安装模式. -ForceUpdate=已激活强制更新. -DownloadExDeps=已激活下载示例代码依赖. -NoPackage=请列出至少一个包、集合或快照. -DownloadPath=所有包将会被下载至 GOPATH(%s). -InstallStatus=正在安装包: %s. -BundleInfo=集合 (%s) 包含以下结点: -ContinueDownload=是否继续下载?(Y/n 或索引). -SkipInstalled=忽略已安装包: %s. -SkipDownloaded=忽略已下载包: %s. -SkipInvalidPath=忽略无效的导入路径: %s. -DownloadStatus=正在下载包: %s. -RemovePackage=正在删除包: %s. -NoKeyword=没有关键字,无法搜索. -ContinueRemove=是否继续删除?(Y/n). -InvalidPath=无法在当前目录中找到包. -MissingImports=下列依赖包未找到: -GenerateConfig=已自动生成包配置文件: %s. -CheckExDeps=已激活示例代码依赖检查. -SearchResult=搜索结果 \ No newline at end of file diff --git a/i18n/zh-CN/usage.tpl b/i18n/zh-CN/usage.tpl deleted file mode 100644 index e3a71cb94..000000000 --- a/i18n/zh-CN/usage.tpl +++ /dev/null @@ -1,18 +0,0 @@ -gopm(Go 包管理工具) 是一款涵盖搜索、安装、更新、分享功能 Go 包的管理工具。 - -用法: - - gopm 命令 [参数] - -命令列表: -{{range .}}{{if .Runnable}} - {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} - -使用 "gopm help [命令]" 来获取相关命令的更多信息. - -其它帮助主题: -{{range .}}{{if not .Runnable}} - {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} - -使用 "gopm help [主题]" 来获取相关主题的更多信息. - diff --git a/i18n/zh-CN/usage_build.txt b/i18n/zh-CN/usage_build.txt deleted file mode 100644 index 475036805..000000000 --- a/i18n/zh-CN/usage_build.txt +++ /dev/null @@ -1,19 +0,0 @@ -编译安装 Go 包及其依赖包||| -Build 命令编译并安装 Go 包以及其依赖包. - -如果被安装的包为 main 包,则可执行文件的名称是根据包含该包的 -文件夹目录的名称决定的. - -下列参数可用于 build 和 test 命令: - - -v - 打印被编译包的名称列表. - -r - 完成构建后运行程序. - -多个参数通过空格来间隔. - -获取更多有关包的信息,参见 'go help packages'. - -相关主题: gopm install. - diff --git a/i18n/zh-CN/usage_check.txt b/i18n/zh-CN/usage_check.txt deleted file mode 100644 index 52e267b30..000000000 --- a/i18n/zh-CN/usage_check.txt +++ /dev/null @@ -1,9 +0,0 @@ -检查安装依赖包||| -Check 命令用于检查并安装缺失的依赖包,并生成依赖配置文件. - -下列参数可用于 check 命令: - - -e - 检查示例代码的依赖包. - -多个参数通过空格来间隔. diff --git a/i18n/zh-CN/usage_install.txt b/i18n/zh-CN/usage_install.txt deleted file mode 100644 index 786b73237..000000000 --- a/i18n/zh-CN/usage_install.txt +++ /dev/null @@ -1,27 +0,0 @@ -下载并安装 Go 包及其依赖包||| -Install 命令下载并安装 Go 包及其依赖包. - -即使您没有安装像 git、hg 这类版本控制工具,该命令依旧有效. - -下列参数可用于 install 命令: - - -v - 使用版本控制工具下载. - -d - 下载但不安装包. - -u - 强制更新包. - -e - 下载示例代码中的依赖包. - -b - 下载并安装集合. - -s - 下载并安装快照. - -多个参数通过空格来间隔. - -获取更多有关包的信息,参见 'go help packages'. -获取更多有关集合的信息,参见 'gopm help bundle'. -获取更多有关快照的信息,参见 'gopm help snapshot'. - -相关主题: gopm build. diff --git a/i18n/zh-CN/usage_remove.txt b/i18n/zh-CN/usage_remove.txt deleted file mode 100644 index c75e9c69a..000000000 --- a/i18n/zh-CN/usage_remove.txt +++ /dev/null @@ -1,18 +0,0 @@ -删除 Go 包及其依赖包||| -Remove 命令删除 Go 包及其依赖包. - -下列参数可用于 remove 命令: - - -多个参数通过空格来间隔. - - -b - 删除集合. - -s - 删除快照. - -获取更多有关包的信息,参见 'go help packages'. -获取更多有关集合的信息,参见 'gopm help bundle'. -获取更多有关快照的信息,参见 'gopm help snapshot'. - -相关主题: gopm install. \ No newline at end of file diff --git a/i18n/zh-CN/usage_search.txt b/i18n/zh-CN/usage_search.txt deleted file mode 100644 index 9a35ac1f2..000000000 --- a/i18n/zh-CN/usage_search.txt +++ /dev/null @@ -1,7 +0,0 @@ -搜索 Go 包||| -Search 命令通过关键字搜索 Go 包. - -下列参数可用于 search 命令: - - -多个参数通过空格来间隔. diff --git a/repo/bundles/install_test.json b/repo/bundles/install_test.json deleted file mode 100644 index 50fb082ae..000000000 --- a/repo/bundles/install_test.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 0, - "user_id": 0, - "bundle_name": "test", - "comment": "just a test", - "timestamp": 0, - "nodes": [ - { - "import_path": "github.com/GPMGoTest/install_test", - "type": "branch", - "value": "master", - "deps": [ - { - "import_path": "github.com/GPMGoTest/install_test2", - "type": "branch", - "value": "master", - "deps": null - } - ] - } - ] -} \ No newline at end of file diff --git a/repo/bundles/test_bundle.json b/repo/bundles/test_bundle.json deleted file mode 100644 index e8bbceb01..000000000 --- a/repo/bundles/test_bundle.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "id": 0, - "user_id": 0, - "bundle_name": "bundle_test", - "comment": "just a test", - "timestamp": 0, - "nodes": [ - { - "import_path": "github.com/astaxie/beego", - "type": "tag", - "value": "v0.6.0", - "deps":[ - { - "import_path": "github.com/russross/blackfriday", - "type": "commit", - "value": "", - "deps": null - }, - { - "import_path": "code.google.com/p/vitess/go/memcache", - "type": "commit", - "value": "", - "deps": null - }, - { - "import_path": "github.com/garyburd/redigo/redis", - "type": "commit", - "value": "aa31b4b202d4ea44ca45b3c93d71575c02ba35dc", - "deps": null - }, - { - "import_path": "github.com/go-sql-driver/mysql", - "type": "tag", - "value": "v1.0", - "deps": null - } - ] - }, - { - "import_path": "github.com/coocood/qbs", - "type": "commit", - "value": "afbf6b7370d76dc479f8d3f9ce9e802ce2c34cf2", - "deps": null - }, - { - "import_path": "bitbucket.org/zombiezen/gopdf/pdf", - "type": "branch", - "value": "default", - "deps": null - }, - { - "import_path": "launchpad.net/goamz/aws", - "type": "commit", - "value": "", - "deps": null - } - ] -} \ No newline at end of file diff --git a/utils/utils.go b/utils/utils.go deleted file mode 100644 index 2627a7de3..000000000 --- a/utils/utils.go +++ /dev/null @@ -1,679 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package utils - -import ( - "fmt" - "os" - "path" - "regexp" - "runtime" - "strings" -) - -const ( - PureStartColor = "\033[%dm" - Gray = uint8(90) - Red = uint8(91) - Green = uint8(92) - Yellow = uint8(93) - Blue = uint8(94) - Magenta = uint8(95) - //NRed = uint8(31) // Normal - EndColor = "\033[0m" -) - -// ColorPrint prints colorful log print, doesn't work in windows. -// content in () with yellow, content in [] with read. -func ColorPrint(log string) { - // Make sure it's not windows. - if runtime.GOOS != "windows" { - log = strings.Replace(log, "[", fmt.Sprintf("[\033[%dm", Red), -1) - log = strings.Replace(log, "]", EndColor+"]", -1) - log = strings.Replace(log, "(", fmt.Sprintf("(\033[%dm", Yellow), -1) - log = strings.Replace(log, ")", EndColor+")", -1) - log = strings.Replace(log, "<", fmt.Sprintf("[\033[%dm", Green), -1) - log = strings.Replace(log, ">$", EndColor+"]", -1) - } - fmt.Print(log) -} - -// IsExist returns if a file or directory exists -func IsExist(path string) bool { - _, err := os.Stat(path) - return err == nil || os.IsExist(err) -} - -// CheckIsExistWithVCS returns false if directory only has VCS folder, -// or doesn't exist. -func CheckIsExistWithVCS(path string) bool { - // Check if directory exist. - if !IsExist(path) { - return false - } - - // Check if only has VCS folder. - dirs, err := GetDirsInfo(path) - if err != nil { - ColorPrint(fmt.Sprintf("[ERROR] CheckIsExistWithVCS -> [ %s ]", err)) - return false - } - - if len(dirs) > 1 { - return true - } else if len(dirs) == 0 { - return false - } - - switch dirs[0].Name() { - case ".git", ".hg", ".svn": - return false - } - - return true -} - -// CheckIsExistInGOPATH checks if given package import path exists in any path in GOPATH/src, -// and returns corresponding GOPATH. -func CheckIsExistInGOPATH(importPath string) (string, bool) { - paths := GetGOPATH() - for _, p := range paths { - if CheckIsExistWithVCS(p + "/src/" + importPath + "/") { - return p, true - } - } - return "", false -} - -// GetGOPATH returns all paths in GOPATH variable. -func GetGOPATH() []string { - gopath := os.Getenv("GOPATH") - var paths []string - if runtime.GOOS == "windows" { - gopath = strings.Replace(gopath, "\\", "/", -1) - paths = strings.Split(gopath, ";") - } else { - paths = strings.Split(gopath, ":") - } - return paths -} - -// GetGOPATH returns best matched GOPATH. -func GetBestMatchGOPATH(appPath string) string { - paths := GetGOPATH() - for _, p := range paths { - if strings.HasPrefix(p, appPath) { - return strings.Replace(p, "\\", "/", -1) - } - } - return paths[0] -} - -// GetProjectPath returns project path of import path. -func GetProjectPath(importPath string) (projectPath string) { - projectPath = importPath - - // Check project hosting. - switch { - case strings.HasPrefix(importPath, "github.com"): - projectPath = joinPath(importPath, 3) - case strings.HasPrefix(importPath, "code.google.com"): - projectPath = joinPath(importPath, 3) - case strings.HasPrefix(importPath, "bitbucket.org"): - projectPath = joinPath(importPath, 3) - case strings.HasPrefix(importPath, "launchpad.net"): - projectPath = joinPath(importPath, 2) - } - - return projectPath -} - -func joinPath(importPath string, num int) string { - subdirs := strings.Split(importPath, "/") - if len(subdirs) > num { - return strings.Join(subdirs[:num], "/") - } - return importPath -} - -// GetExecuteName returns work directory and possible execute name according work directory. -func GetExecuteName(wd string) string { - wd = strings.Replace(wd, "\\", "/", -1) - execName := path.Base(wd) - if runtime.GOOS == "windows" { - execName += ".exe" - } - return execName -} - -var ( - readmePat = regexp.MustCompile(`^[Rr][Ee][Aa][Dd][Mm][Ee](?:$|\.)`) - licensePat = regexp.MustCompile(`^[Ll][Ii][Cc][En][Nn][Ss][Ee]`) -) - -func IsDocFile(n string) bool { - if (strings.HasSuffix(n, ".go") || strings.HasSuffix(n, ".h") || strings.HasSuffix(n, ".c")) && - n[0] != '_' && n[0] != '.' { - return true - } - - return readmePat.MatchString(n) || licensePat.MatchString(n) -} - -// GetDirsInfo returns os.FileInfo of all sub-directories in root path. -func GetDirsInfo(rootPath string) ([]os.FileInfo, error) { - rootDir, err := os.Open(rootPath) - if err != nil { - return nil, err - } - defer rootDir.Close() - - dirs, err := rootDir.Readdir(0) - if err != nil { - return nil, err - } - - return dirs, err -} - -var validTLD = map[string]bool{ - // curl http://data.iana.org/TLD/tlds-alpha-by-domain.txt | sed -e '/#/ d' -e 's/.*/"&": true,/' | tr [:upper:] [:lower:] - ".ac": true, - ".ad": true, - ".ae": true, - ".aero": true, - ".af": true, - ".ag": true, - ".ai": true, - ".al": true, - ".am": true, - ".an": true, - ".ao": true, - ".aq": true, - ".ar": true, - ".arpa": true, - ".as": true, - ".asia": true, - ".at": true, - ".au": true, - ".aw": true, - ".ax": true, - ".az": true, - ".ba": true, - ".bb": true, - ".bd": true, - ".be": true, - ".bf": true, - ".bg": true, - ".bh": true, - ".bi": true, - ".biz": true, - ".bj": true, - ".bm": true, - ".bn": true, - ".bo": true, - ".br": true, - ".bs": true, - ".bt": true, - ".bv": true, - ".bw": true, - ".by": true, - ".bz": true, - ".ca": true, - ".cat": true, - ".cc": true, - ".cd": true, - ".cf": true, - ".cg": true, - ".ch": true, - ".ci": true, - ".ck": true, - ".cl": true, - ".cm": true, - ".cn": true, - ".co": true, - ".com": true, - ".coop": true, - ".cr": true, - ".cu": true, - ".cv": true, - ".cw": true, - ".cx": true, - ".cy": true, - ".cz": true, - ".de": true, - ".dj": true, - ".dk": true, - ".dm": true, - ".do": true, - ".dz": true, - ".ec": true, - ".edu": true, - ".ee": true, - ".eg": true, - ".er": true, - ".es": true, - ".et": true, - ".eu": true, - ".fi": true, - ".fj": true, - ".fk": true, - ".fm": true, - ".fo": true, - ".fr": true, - ".ga": true, - ".gb": true, - ".gd": true, - ".ge": true, - ".gf": true, - ".gg": true, - ".gh": true, - ".gi": true, - ".gl": true, - ".gm": true, - ".gn": true, - ".gov": true, - ".gp": true, - ".gq": true, - ".gr": true, - ".gs": true, - ".gt": true, - ".gu": true, - ".gw": true, - ".gy": true, - ".hk": true, - ".hm": true, - ".hn": true, - ".hr": true, - ".ht": true, - ".hu": true, - ".id": true, - ".ie": true, - ".il": true, - ".im": true, - ".in": true, - ".info": true, - ".int": true, - ".io": true, - ".iq": true, - ".ir": true, - ".is": true, - ".it": true, - ".je": true, - ".jm": true, - ".jo": true, - ".jobs": true, - ".jp": true, - ".ke": true, - ".kg": true, - ".kh": true, - ".ki": true, - ".km": true, - ".kn": true, - ".kp": true, - ".kr": true, - ".kw": true, - ".ky": true, - ".kz": true, - ".la": true, - ".lb": true, - ".lc": true, - ".li": true, - ".lk": true, - ".lr": true, - ".ls": true, - ".lt": true, - ".lu": true, - ".lv": true, - ".ly": true, - ".ma": true, - ".mc": true, - ".md": true, - ".me": true, - ".mg": true, - ".mh": true, - ".mil": true, - ".mk": true, - ".ml": true, - ".mm": true, - ".mn": true, - ".mo": true, - ".mobi": true, - ".mp": true, - ".mq": true, - ".mr": true, - ".ms": true, - ".mt": true, - ".mu": true, - ".museum": true, - ".mv": true, - ".mw": true, - ".mx": true, - ".my": true, - ".mz": true, - ".na": true, - ".name": true, - ".nc": true, - ".ne": true, - ".net": true, - ".nf": true, - ".ng": true, - ".ni": true, - ".nl": true, - ".no": true, - ".np": true, - ".nr": true, - ".nu": true, - ".nz": true, - ".om": true, - ".org": true, - ".pa": true, - ".pe": true, - ".pf": true, - ".pg": true, - ".ph": true, - ".pk": true, - ".pl": true, - ".pm": true, - ".pn": true, - ".post": true, - ".pr": true, - ".pro": true, - ".ps": true, - ".pt": true, - ".pw": true, - ".py": true, - ".qa": true, - ".re": true, - ".ro": true, - ".rs": true, - ".ru": true, - ".rw": true, - ".sa": true, - ".sb": true, - ".sc": true, - ".sd": true, - ".se": true, - ".sg": true, - ".sh": true, - ".si": true, - ".sj": true, - ".sk": true, - ".sl": true, - ".sm": true, - ".sn": true, - ".so": true, - ".sr": true, - ".st": true, - ".su": true, - ".sv": true, - ".sx": true, - ".sy": true, - ".sz": true, - ".tc": true, - ".td": true, - ".tel": true, - ".tf": true, - ".tg": true, - ".th": true, - ".tj": true, - ".tk": true, - ".tl": true, - ".tm": true, - ".tn": true, - ".to": true, - ".tp": true, - ".tr": true, - ".travel": true, - ".tt": true, - ".tv": true, - ".tw": true, - ".tz": true, - ".ua": true, - ".ug": true, - ".uk": true, - ".us": true, - ".uy": true, - ".uz": true, - ".va": true, - ".vc": true, - ".ve": true, - ".vg": true, - ".vi": true, - ".vn": true, - ".vu": true, - ".wf": true, - ".ws": true, - ".xn--0zwm56d": true, - ".xn--11b5bs3a9aj6g": true, - ".xn--3e0b707e": true, - ".xn--45brj9c": true, - ".xn--80akhbyknj4f": true, - ".xn--80ao21a": true, - ".xn--90a3ac": true, - ".xn--9t4b11yi5a": true, - ".xn--clchc0ea0b2g2a9gcd": true, - ".xn--deba0ad": true, - ".xn--fiqs8s": true, - ".xn--fiqz9s": true, - ".xn--fpcrj9c3d": true, - ".xn--fzc2c9e2c": true, - ".xn--g6w251d": true, - ".xn--gecrj9c": true, - ".xn--h2brj9c": true, - ".xn--hgbk6aj7f53bba": true, - ".xn--hlcj6aya9esc7a": true, - ".xn--j6w193g": true, - ".xn--jxalpdlp": true, - ".xn--kgbechtv": true, - ".xn--kprw13d": true, - ".xn--kpry57d": true, - ".xn--lgbbat1ad8j": true, - ".xn--mgb9awbf": true, - ".xn--mgbaam7a8h": true, - ".xn--mgbayh7gpa": true, - ".xn--mgbbh1a71e": true, - ".xn--mgbc0a9azcg": true, - ".xn--mgberp4a5d4ar": true, - ".xn--mgbx4cd0ab": true, - ".xn--o3cw4h": true, - ".xn--ogbpf8fl": true, - ".xn--p1ai": true, - ".xn--pgbs0dh": true, - ".xn--s9brj9c": true, - ".xn--wgbh1c": true, - ".xn--wgbl6a": true, - ".xn--xkc2al3hye2a": true, - ".xn--xkc2dl3a5ee0h": true, - ".xn--yfro4i67o": true, - ".xn--ygbi2ammx": true, - ".xn--zckzah": true, - ".xxx": true, - ".ye": true, - ".yt": true, - ".za": true, - ".zm": true, - ".zw": true, -} - -var ( - validHost = regexp.MustCompile(`^[-a-z0-9]+(?:\.[-a-z0-9]+)+$`) - validPathElement = regexp.MustCompile(`^[-A-Za-z0-9~+][-A-Za-z0-9_.]*$`) -) - -// IsValidRemotePath returns true if importPath is structurally valid for "go get". -func IsValidRemotePath(importPath string) bool { - - parts := strings.Split(importPath, "/") - - if len(parts) <= 1 { - // Import path must contain at least one "/". - return false - } - - if !validTLD[path.Ext(parts[0])] { - return false - } - - if !validHost.MatchString(parts[0]) { - return false - } - for _, part := range parts[1:] { - if !validPathElement.MatchString(part) || part == "testdata" { - return false - } - } - - return true -} - -var standardPath = map[string]bool{ - "builtin": true, - - // go list -f '"{{.ImportPath}}": true,' std | grep -v 'cmd/|exp/' - "cmd/api": true, - "cmd/cgo": true, - "cmd/fix": true, - "cmd/go": true, - "cmd/godoc": true, - "cmd/gofmt": true, - "cmd/vet": true, - "cmd/yacc": true, - "archive/tar": true, - "archive/zip": true, - "bufio": true, - "bytes": true, - "compress/bzip2": true, - "compress/flate": true, - "compress/gzip": true, - "compress/lzw": true, - "compress/zlib": true, - "container/heap": true, - "container/list": true, - "container/ring": true, - "crypto": true, - "crypto/aes": true, - "crypto/cipher": true, - "crypto/des": true, - "crypto/dsa": true, - "crypto/ecdsa": true, - "crypto/elliptic": true, - "crypto/hmac": true, - "crypto/md5": true, - "crypto/rand": true, - "crypto/rc4": true, - "crypto/rsa": true, - "crypto/sha1": true, - "crypto/sha256": true, - "crypto/sha512": true, - "crypto/subtle": true, - "crypto/tls": true, - "crypto/x509": true, - "crypto/x509/pkix": true, - "database/sql": true, - "database/sql/driver": true, - "debug/dwarf": true, - "debug/elf": true, - "debug/gosym": true, - "debug/macho": true, - "debug/pe": true, - "encoding/ascii85": true, - "encoding/asn1": true, - "encoding/base32": true, - "encoding/base64": true, - "encoding/binary": true, - "encoding/csv": true, - "encoding/gob": true, - "encoding/hex": true, - "encoding/json": true, - "encoding/pem": true, - "encoding/xml": true, - "errors": true, - "expvar": true, - "flag": true, - "fmt": true, - "go/ast": true, - "go/build": true, - "go/doc": true, - "go/format": true, - "go/parser": true, - "go/printer": true, - "go/scanner": true, - "go/token": true, - "hash": true, - "hash/adler32": true, - "hash/crc32": true, - "hash/crc64": true, - "hash/fnv": true, - "html": true, - "html/template": true, - "image": true, - "image/color": true, - "image/draw": true, - "image/gif": true, - "image/jpeg": true, - "image/png": true, - "index/suffixarray": true, - "io": true, - "io/ioutil": true, - "log": true, - "log/syslog": true, - "math": true, - "math/big": true, - "math/cmplx": true, - "math/rand": true, - "mime": true, - "mime/multipart": true, - "net": true, - "net/http": true, - "net/http/cgi": true, - "net/http/cookiejar": true, - "net/http/fcgi": true, - "net/http/httptest": true, - "net/http/httputil": true, - "net/http/pprof": true, - "net/mail": true, - "net/rpc": true, - "net/rpc/jsonrpc": true, - "net/smtp": true, - "net/textproto": true, - "net/url": true, - "os": true, - "os/exec": true, - "os/signal": true, - "os/user": true, - "path": true, - "path/filepath": true, - "reflect": true, - "regexp": true, - "regexp/syntax": true, - "runtime": true, - "runtime/cgo": true, - "runtime/debug": true, - "runtime/pprof": true, - "sort": true, - "strconv": true, - "strings": true, - "sync": true, - "sync/atomic": true, - "syscall": true, - "testing": true, - "testing/iotest": true, - "testing/quick": true, - "text/scanner": true, - "text/tabwriter": true, - "text/template": true, - "text/template/parse": true, - "time": true, - "unicode": true, - "unicode/utf16": true, - "unicode/utf8": true, - "unsafe": true, -} - -// IsGoRepoPath returns true if package is from standard library. -func IsGoRepoPath(importPath string) bool { - return standardPath[importPath] -} diff --git a/utils/utils_test.go b/utils/utils_test.go deleted file mode 100644 index bd53ad634..000000000 --- a/utils/utils_test.go +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (c) 2013 GPMGo Members. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package utils - -import ( - "runtime" - "testing" -) - -var remotePaths = []string{ - "github.com/coocood/qbs", - "code.google.com/p/draw2d", - "launchpad.net/goamz", - "bitbucket.org/gotamer/conv", -} - -func TestIsValidRemotePath(t *testing.T) { - for _, p := range remotePaths { - if !IsValidRemotePath(p) { - t.Errorf("Invalid remote path: %s", p) - } - } -} - -var importPaths = []string{ - "github.com/coocood/qbs/test", - "code.google.com/p/draw2d/test", - "launchpad.net/goamz/test", - "bitbucket.org/gotamer/conv/test", -} - -func TestGetProjectPath(t *testing.T) { - // Should return same path. - for _, p := range remotePaths { - if p != GetProjectPath(p) { - t.Errorf("Fail to get projet path: %s", p) - } - } - - // Should return same path for remote paths. - for i, p := range remotePaths { - if remotePaths[i] != GetProjectPath(p) { - t.Errorf("Fail to verify projet path: %s", p) - } - } -} - -func TestGetExecuteName(t *testing.T) { - // Non-windows. - if runtime.GOOS != "windows" && GetExecuteName("gtihub.com/astaxie/beego") != "beego" { - t.Errorf("Fail to verify execute name in non-windows.") - } - - // Windows. - if runtime.GOOS == "windows" && GetExecuteName("gtihub.com/astaxie/beego") != "beego.exe" { - t.Errorf("Fail to verify execute name in windows.") - } -} - -var docFiles = []string{ - "Readme", - "readme.md", - "README", - "README.MD", - "main.go", - "LICENse", -} - -func TestIsDocFile(t *testing.T) { - for _, v := range docFiles { - if !IsDocFile(v) { - t.Errorf("Fail to verify doc file: %s", v) - } - } -} From 2061835c7cae3b03e402cf37733e3dc94320ac57 Mon Sep 17 00:00:00 2001 From: lunny Date: Thu, 8 Aug 2013 00:43:55 +0800 Subject: [PATCH 112/287] Create usage.md --- usage.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 usage.md diff --git a/usage.md b/usage.md new file mode 100644 index 000000000..54c69df3c --- /dev/null +++ b/usage.md @@ -0,0 +1,27 @@ +gopm +==== + +gopm(Go Package Manager) is a Go package manage tool for search, install, update, share packages in Go. + +usage: + +gopm help show this document +gopm sources list all package source servers or add or rm a source +gopm list list all packages local or list all versions of a package +gopm get get a package or according to a gopmfile +gopm upgrade upgrade a package or all packages and gopm self +gopm rm remove a package +gopm search search a package according keywords +gopm doc show a package's document on console or web browser +gopm serve run as a package source server +gopm sync sync all packages from first avilable source server to local +gopm build build project according to gopmfile +gopm run build project according to gopmfile and run +gopm import import a package into local +gopm gen generate a .gopmspec file according current dir's source codes + + +.gopmspec file format: + +beego = tag:0.1 +xorm >= branch:0.2 From c7956532e4ecdda33b47ea9236b5290ed72154c8 Mon Sep 17 00:00:00 2001 From: lunny Date: Thu, 8 Aug 2013 00:57:07 +0800 Subject: [PATCH 113/287] Create features_CN.md --- features_CN.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 features_CN.md diff --git a/features_CN.md b/features_CN.md new file mode 100644 index 000000000..4ccad6e61 --- /dev/null +++ b/features_CN.md @@ -0,0 +1,10 @@ +gopm +==== + +gopm(Go Package Manager) is a Go package manage tool for search, install, update, share packages in Go. + +1. 支持版本管理 +2. 支持文档管理 +3. 支持本地源服务器 +4. 本地源服务器同时支持公共包和私有包 +5. 支持依赖管理 From d94c870602235c8eb31a36d743781d25a5250427 Mon Sep 17 00:00:00 2001 From: lunny Date: Thu, 8 Aug 2013 09:08:21 +0800 Subject: [PATCH 114/287] Update usage.md --- usage.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usage.md b/usage.md index 54c69df3c..4acb58f55 100644 --- a/usage.md +++ b/usage.md @@ -15,13 +15,16 @@ gopm search search a package according keywords gopm doc show a package's document on console or web browser gopm serve run as a package source server gopm sync sync all packages from first avilable source server to local -gopm build build project according to gopmfile -gopm run build project according to gopmfile and run gopm import import a package into local gopm gen generate a .gopmspec file according current dir's source codes +gopm build build project according to gopmfile +gopm run build project according to gopmfile and run +gopm test test project like go test .gopmspec file format: - +[production] beego = tag:0.1 xorm >= branch:0.2 + +[test] From ad5c7aeb0f1b0d456ede7b13bd1664e6505f8551 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 9 Aug 2013 13:20:38 +0800 Subject: [PATCH 115/287] improved features and architecture document --- arch.png | Bin 0 -> 222252 bytes features_CN.md | 144 +++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 141 insertions(+), 3 deletions(-) create mode 100644 arch.png diff --git a/arch.png b/arch.png new file mode 100644 index 0000000000000000000000000000000000000000..357deed357e3480230134d900d6a1f3b5a89947f GIT binary patch literal 222252 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 +#总体设计目标 + +1. 支持go语言的版本管理 2. 支持文档管理 3. 支持本地源服务器 4. 本地源服务器同时支持公共包和私有包 -5. 支持依赖管理 +5. 支持依赖管理 +6. 支持从github, code.google.com, gitLab, 等常见的源码托管服务下载 + + +#Go包版本说明 + +版本分为四种: + +* []: 表示的是当前最新版本即trunk +* branch: 表示的是某个分支 +* tag: 表示的是某个tag +* commit: 表示的是某个reversion + + +#各命令的目标和作用 + + +###gopm help + +显示当前可用的命令,以下命令中,[]表示可选,{}表示是参数 + + +###gopm sources [add|rm [{url}]] + +* [] 列出当前可用的所有源,默认为http://gopm.io/ +* add url 添加一个源到本地 +* rm url 删除一个源到本地,如果没有任何源,则自己成为一个独立的服务器,类似gopm.io + + +###gopm list [{packagename}[:{version}]] + +* [] 列出所有本地的包 +* packagename 显示指定名称的包的详细信息 + + +###gopm get [-u] [{packagename}[:{version}]] [-f {gopmfile}] + +* [] 查找当前目录下的所有.gopmfile文件,根据文件的描述下载所有的包 +* packagename 从源中下载某个包 +* -u packagename 从源中更新某个包 +* -f gopmfile 根据指定的文件来下载包 + + +###gopm rm {packagename}[:{version}] + +去除一个包,如果不加版本标示,则删除该包的所有版本 + + +###gopm search {keyword} + +根据关键词查找包 + + +###gopm doc [-b] {packagename}[:{version}] + +* [] 显示一个包的文档 +* -b 在默认浏览器中显示该包的文档 + + +###gopm serve [-p {port}] + +将本地仓库作为服务对外提供,如果没有-p,则端口为80,如果有,则端口为指定端口,该服务是一个web服务,通过浏览器也可以进行浏览。 + + +###gopm sync [-u] + +[] 如果当前配置了源,则从可用的源中同步所有的包信息和包内容的最新版本到本地仓库; + 如果当前没有配置任何源,则将所有已有的包从源头进行更新 +-u 仅更新本地仓库已经有的包,不包含本地仓库没有的包 + + +###gopm import [{url}|{filepath}] + +将某个地址或者本地的包导入到本地仓库中,url应为可支持的源码托管站点或者gitLab + + +###gopm gen [{gopmfile}] + +扫描当前目录下的go工程,并自动生成一个.gopmspec的文件依赖文档,如果未指定,则文件名为.gopmspec,如果指定了,则为指定的文件名 + + +###gopm build [-u] + +此命令依赖于go build + +1. 如果当前没有.gopmspec文件,则扫描当前的go工程的依赖,自动生成.gopmspec文档 +2. 根据.gopmspec文件自动下载所有需要的包,如果加了-u参数,则同时更新所有的包 +3. 根据.gopmspec文件自动切换gopath中的相关版本 +4. 调用go build对工程进行编译 + + +###gopm run [{gofile}] + +此命令依赖于go run + +调用gopm build在临时文件夹生成可执行文件,并设置程序当前目录为当前目录,并执行 + + +###gopm test + +此命令依赖于go test + +调用gopm build在临时文件夹生成可执行的测试文件,并设置程序当前目录为当前目录,并执行 + + +#gopmspec文件格式 + +.gopmspec文件的格式类似一个ini文件,当前分为两个section。 +build段内的依赖保存的是go build所需要依赖的所有包,一行一个,可用 =, >=等等,如果什么符号都没有,就是取最新版本 + +``` +[build] +xweb +beego = tag:0.1 +xorm >= branch:0.2 + +[test] +testing +``` From 7976d86d333a0325812117ccdad0405c2118aed6 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 13 Aug 2013 10:09:37 +0800 Subject: [PATCH 116/287] reinit --- gen.go | 6 + get.go | 143 ++++++++++++ go11.go | 10 + main.go | 685 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ repos.go | 11 + 5 files changed, 855 insertions(+) create mode 100644 gen.go create mode 100644 get.go create mode 100644 go11.go create mode 100644 main.go create mode 100644 repos.go diff --git a/gen.go b/gen.go new file mode 100644 index 000000000..d830434fc --- /dev/null +++ b/gen.go @@ -0,0 +1,6 @@ +package main + +// scan a directory and gen a gopm file +func gen(dir string) { + +} diff --git a/get.go b/get.go new file mode 100644 index 000000000..f7f535afa --- /dev/null +++ b/get.go @@ -0,0 +1,143 @@ +package main + +import ( + "fmt" + "io" + "net/http" + "os" + "os/user" + "path" + "path/filepath" + "strings" +) + +var cmdGet = &Command{ + UsageLine: "get [-u] [packages]", + Short: "download and install packages and dependencies", + Long: ` +Get downloads and installs the packages named by the import paths, +along with their dependencies. + +The -d flag instructs get to stop after downloading the packages; that is, +it instructs get not to install the packages. + +The -fix flag instructs get to run the fix tool on the downloaded packages +before resolving dependencies or building the code. + +The -u flag instructs get to use the network to update the named packages +and their dependencies. By default, get uses the network to check out +missing packages but does not use it to look for updates to existing packages. + +Get also accepts all the flags in the 'go build' and 'go install' commands, +to control the installation. See 'go help build'. + +When checking out or updating a package, get looks for a branch or tag +that matches the locally installed version of Go. The most important +rule is that if the local installation is running version "go1", get +searches for a branch or tag named "go1". If no such version exists it +retrieves the most recent version of the package. + +For more about specifying packages, see 'go help packages'. + +For more about how 'go get' finds source code to +download, see 'go help remote'. + +See also: go build, go install, go clean. +`, +} + +var getD = cmdGet.Flag.Bool("f", false, "") +var getU = cmdGet.Flag.Bool("u", false, "") + +func init() { + cmdGet.Run = runGet +} + +func runGet(cmd *Command, args []string) { + if len(args) > 0 { + getDirect(args[0], "trunk") + } +} + +func dirExists(dir string) bool { + d, e := os.Stat(dir) + switch { + case e != nil: + return false + case !d.IsDir(): + return false + } + + return true +} + +func fileExists(dir string) bool { + info, err := os.Stat(dir) + if err != nil { + return false + } + + return !info.IsDir() +} + +func download(url string, localfile string) error { + resp, err := http.Get(url) + if err != nil { + return err + } + defer resp.Body.Close() + + localdir := filepath.Dir(localfile) + if !dirExists(localdir) { + err = os.MkdirAll(localdir, 0777) + if err != nil { + return err + } + } + + if !fileExists(localfile) { + f, err := os.Create(localfile) + if err == nil { + _, err = io.Copy(f, resp.Body) + } + if err != nil { + return err + } + } + + return nil +} + +func getPackage(pkgName string, ver string, url string) error { + curUser, err := user.Current() + if err != nil { + return err + } + + reposDir = strings.Replace(reposDir, "~", curUser.HomeDir, -1) + localdir := path.Join(reposDir, pkgName) + localdir, err = filepath.Abs(localdir) + if err != nil { + return err + } + + localfile := path.Join(localdir, "trunk.zip") + + return download(url, localfile) +} + +func getDirect(pkgName string, ver string) error { + urlTempl := "https://codeload.%v/zip/master" + //urlTempl := "https://%v/archive/master.zip" + url := fmt.Sprintf(urlTempl, pkgName) + + return getPackage(pkgName, ver, url) +} + +func getFromSource(pkgName string, ver string, source string) error { + urlTempl := "https://%v/%v" + //urlTempl := "https://%v/archive/master.zip" + url := fmt.Sprintf(urlTempl, source, pkgName) + + return getPackage(pkgName, ver, url) +} diff --git a/go11.go b/go11.go new file mode 100644 index 000000000..4d76df32e --- /dev/null +++ b/go11.go @@ -0,0 +1,10 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.1 + +package main + +// Test that go1.1 tag above is included in builds. main.go refers to this definition. +const go11tag = true \ No newline at end of file diff --git a/main.go b/main.go new file mode 100644 index 000000000..7db3f2ffc --- /dev/null +++ b/main.go @@ -0,0 +1,685 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import ( + "bytes" + "flag" + "fmt" + "go/build" + "io" + "log" + "os" + "os/exec" + //"path" + "path/filepath" + "regexp" + "runtime" + "strings" + "sync" + "text/template" + "unicode" + "unicode/utf8" +) + +var ( + config map[string]interface{} + reposDir string = "~/.gopm/repos" +) + +// A Command is an implementation of a go command +// like go build or go fix. +type Command struct { + // Run runs the command. + // The args are the arguments after the command name. + Run func(cmd *Command, args []string) + + // UsageLine is the one-line usage message. + // The first word in the line is taken to be the command name. + UsageLine string + + // Short is the short description shown in the 'go help' output. + Short string + + // Long is the long message shown in the 'go help ' output. + Long string + + // Flag is a set of flags specific to this command. + Flag flag.FlagSet + + // CustomFlags indicates that the command will do its own + // flag parsing. + CustomFlags bool +} + +// Name returns the command's name: the first word in the usage line. +func (c *Command) Name() string { + name := c.UsageLine + i := strings.Index(name, " ") + if i >= 0 { + name = name[:i] + } + return name +} + +func (c *Command) Usage() { + fmt.Fprintf(os.Stderr, "usage: %s\n\n", c.UsageLine) + fmt.Fprintf(os.Stderr, "%s\n", strings.TrimSpace(c.Long)) + os.Exit(2) +} + +// Runnable reports whether the command can be run; otherwise +// it is a documentation pseudo-command such as importpath. +func (c *Command) Runnable() bool { + return c.Run != nil +} + +// Commands lists the available commands and help topics. +// The order here is the order in which they are printed by 'go help'. +var commands = []*Command{ + /*cmdBuild, + cmdClean, + cmdDoc, + cmdEnv, + cmdFix, + cmdFmt,*/ + cmdGet, + /*cmdInstall, + cmdList, + cmdRun, + cmdTest, + cmdTool, + cmdVersion, + cmdVet, + + helpGopath, + helpPackages, + helpRemote, + helpTestflag, + helpTestfunc,*/ +} + +var exitStatus = 0 +var exitMu sync.Mutex + +func setExitStatus(n int) { + exitMu.Lock() + if exitStatus < n { + exitStatus = n + } + exitMu.Unlock() +} + +func main() { + _ = go11tag + flag.Usage = usage + flag.Parse() + log.SetFlags(0) + + args := flag.Args() + if len(args) < 1 { + usage() + } + + if args[0] == "help" { + help(args[1:]) + return + } + + // Diagnose common mistake: GOPATH==GOROOT. + // This setting is equivalent to not setting GOPATH at all, + // which is not what most people want when they do it. + if gopath := os.Getenv("GOPATH"); gopath == runtime.GOROOT() { + fmt.Fprintf(os.Stderr, "warning: GOPATH set to GOROOT (%s) has no effect\n", gopath) + } else { + for _, p := range filepath.SplitList(gopath) { + // Note: using HasPrefix instead of Contains because a ~ can appear + // in the middle of directory elements, such as /tmp/git-1.8.2~rc3 + // or C:\PROGRA~1. Only ~ as a path prefix has meaning to the shell. + if strings.HasPrefix(p, "~") { + fmt.Fprintf(os.Stderr, "go: GOPATH entry cannot start with shell metacharacter '~': %q\n", p) + os.Exit(2) + } + if build.IsLocalImport(p) { + fmt.Fprintf(os.Stderr, "go: GOPATH entry is relative; must be absolute path: %q.\nRun 'go help gopath' for usage.\n", p) + os.Exit(2) + } + } + } + + /*if fi, err := os.Stat(goroot); err != nil || !fi.IsDir() { + fmt.Fprintf(os.Stderr, "go: cannot find GOROOT directory: %v\n", goroot) + os.Exit(2) + }*/ + + for _, cmd := range commands { + if cmd.Name() == args[0] && cmd.Run != nil { + cmd.Flag.Usage = func() { cmd.Usage() } + if cmd.CustomFlags { + args = args[1:] + } else { + cmd.Flag.Parse(args[1:]) + args = cmd.Flag.Args() + } + cmd.Run(cmd, args) + exit() + return + } + } + + fmt.Fprintf(os.Stderr, "gopm: unknown subcommand %q\nRun 'gopm help' for usage.\n", args[0]) + setExitStatus(2) + exit() +} + +var usageTemplate = `Gopm is a tool for managing Go source code and versions. + +Usage: + + gopm command [arguments] + +The commands are: +{{range .}}{{if .Runnable}} + {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} + +Use "gopm help [command]" for more information about a command. + +Additional help topics: +{{range .}}{{if not .Runnable}} + {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} + +Use "gopm help [topic]" for more information about that topic. + +` + +var helpTemplate = `{{if .Runnable}}usage: go {{.UsageLine}} + +{{end}}{{.Long | trim}} +` + +var documentationTemplate = `// Copyright 2013 The Gopm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// DO NOT EDIT THIS FILE. GENERATED BY mkdoc.sh. +// Edit the documentation in other files and rerun mkdoc.sh to generate this one. + +/* +{{range .}}{{if .Short}}{{.Short | capitalize}} + +{{end}}{{if .Runnable}}Usage: + + gopm {{.UsageLine}} + +{{end}}{{.Long | trim}} + + +{{end}}*/ +package main + +// NOTE: cmdDoc is in fmt.go. +` + +// tmpl executes the given template text on data, writing the result to w. +func tmpl(w io.Writer, text string, data interface{}) { + t := template.New("top") + t.Funcs(template.FuncMap{"trim": strings.TrimSpace, "capitalize": capitalize}) + template.Must(t.Parse(text)) + if err := t.Execute(w, data); err != nil { + panic(err) + } +} + +func capitalize(s string) string { + if s == "" { + return s + } + r, n := utf8.DecodeRuneInString(s) + return string(unicode.ToTitle(r)) + s[n:] +} + +func printUsage(w io.Writer) { + tmpl(w, usageTemplate, commands) +} + +func usage() { + printUsage(os.Stderr) + os.Exit(2) +} + +// help implements the 'help' command. +func help(args []string) { + if len(args) == 0 { + printUsage(os.Stdout) + // not exit 2: succeeded at 'gopm help'. + return + } + if len(args) != 1 { + fmt.Fprintf(os.Stderr, "usage: gopm help command\n\nToo many arguments given.\n") + os.Exit(2) // failed at 'gopm help' + } + + arg := args[0] + + // 'go help documentation' generates doc.go. + if arg == "documentation" { + buf := new(bytes.Buffer) + printUsage(buf) + usage := &Command{Long: buf.String()} + tmpl(os.Stdout, documentationTemplate, append([]*Command{usage}, commands...)) + return + } + + for _, cmd := range commands { + if cmd.Name() == arg { + tmpl(os.Stdout, helpTemplate, cmd) + // not exit 2: succeeded at 'go help cmd'. + return + } + } + + fmt.Fprintf(os.Stderr, "Unknown help topic %#q. Run 'gopm help'.\n", arg) + os.Exit(2) // failed at 'go help cmd' +} + +// importPathsNoDotExpansion returns the import paths to use for the given +// command line, but it does no ... expansion. +/*func importPathsNoDotExpansion(args []string) []string { + if len(args) == 0 { + return []string{"."} + } + var out []string + for _, a := range args { + // Arguments are supposed to be import paths, but + // as a courtesy to Windows developers, rewrite \ to / + // in command-line arguments. Handles .\... and so on. + if filepath.Separator == '\\' { + a = strings.Replace(a, `\`, `/`, -1) + } + + // Put argument in canonical form, but preserve leading ./. + if strings.HasPrefix(a, "./") { + a = "./" + path.Clean(a) + if a == "./." { + a = "." + } + } else { + a = path.Clean(a) + } + if a == "all" || a == "std" { + out = append(out, allPackages(a)...) + continue + } + out = append(out, a) + } + return out +}*/ + +/* +// importPaths returns the import paths to use for the given command line. +func importPaths(args []string) []string { + args = importPathsNoDotExpansion(args) + var out []string + for _, a := range args { + if strings.Contains(a, "...") { + if build.IsLocalImport(a) { + out = append(out, allPackagesInFS(a)...) + } else { + out = append(out, allPackages(a)...) + } + continue + } + out = append(out, a) + } + return out +}*/ + +var atexitFuncs []func() + +func atexit(f func()) { + atexitFuncs = append(atexitFuncs, f) +} + +func exit() { + for _, f := range atexitFuncs { + f() + } + os.Exit(exitStatus) +} + +func fatalf(format string, args ...interface{}) { + errorf(format, args...) + exit() +} + +func errorf(format string, args ...interface{}) { + log.Printf(format, args...) + setExitStatus(1) +} + +var logf = log.Printf + +func exitIfErrors() { + if exitStatus != 0 { + exit() + } +} + +func run(cmdargs ...interface{}) { + cmdline := stringList(cmdargs...) + /*if buildN || buildV { + fmt.Printf("%s\n", strings.Join(cmdline, " ")) + if buildN { + return + } + }*/ + + cmd := exec.Command(cmdline[0], cmdline[1:]...) + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + if err := cmd.Run(); err != nil { + errorf("%v", err) + } +} + +func runOut(dir string, cmdargs ...interface{}) []byte { + cmdline := stringList(cmdargs...) + cmd := exec.Command(cmdline[0], cmdline[1:]...) + cmd.Dir = dir + out, err := cmd.CombinedOutput() + if err != nil { + os.Stderr.Write(out) + errorf("%v", err) + out = nil + } + return out +} + +// envForDir returns a copy of the environment +// suitable for running in the given directory. +// The environment is the current process's environment +// but with an updated $PWD, so that an os.Getwd in the +// child will be faster. +func envForDir(dir string) []string { + env := os.Environ() + // Internally we only use rooted paths, so dir is rooted. + // Even if dir is not rooted, no harm done. + return mergeEnvLists([]string{"PWD=" + dir}, env) +} + +// mergeEnvLists merges the two environment lists such that +// variables with the same name in "in" replace those in "out". +func mergeEnvLists(in, out []string) []string { +NextVar: + for _, inkv := range in { + k := strings.SplitAfterN(inkv, "=", 2)[0] + for i, outkv := range out { + if strings.HasPrefix(outkv, k) { + out[i] = inkv + continue NextVar + } + } + out = append(out, inkv) + } + return out +} + +// matchPattern(pattern)(name) reports whether +// name matches pattern. Pattern is a limited glob +// pattern in which '...' means 'any string' and there +// is no other special syntax. +func matchPattern(pattern string) func(name string) bool { + re := regexp.QuoteMeta(pattern) + re = strings.Replace(re, `\.\.\.`, `.*`, -1) + // Special case: foo/... matches foo too. + if strings.HasSuffix(re, `/.*`) { + re = re[:len(re)-len(`/.*`)] + `(/.*)?` + } + reg := regexp.MustCompile(`^` + re + `$`) + return func(name string) bool { + return reg.MatchString(name) + } +} + +// allPackages returns all the packages that can be found +// under the $GOPATH directories and $GOROOT matching pattern. +// The pattern is either "all" (all packages), "std" (standard packages) +// or a path including "...". +/*func allPackages(pattern string) []string { + pkgs := matchPackages(pattern) + if len(pkgs) == 0 { + fmt.Fprintf(os.Stderr, "warning: %q matched no packages\n", pattern) + } + return pkgs +}*/ + +/*func matchPackages(pattern string) []string { + match := func(string) bool { return true } + if pattern != "all" && pattern != "std" { + match = matchPattern(pattern) + } + + have := map[string]bool{ + "builtin": true, // ignore pseudo-package that exists only for documentation + } + //if !buildContext.CgoEnabled { + have["runtime/cgo"] = true // ignore during walk + //} + var pkgs []string + + // Commands + cmd := filepath.Join(goroot, "src/cmd") + string(filepath.Separator) + filepath.Walk(cmd, func(path string, fi os.FileInfo, err error) error { + if err != nil || !fi.IsDir() || path == cmd { + return nil + } + name := path[len(cmd):] + // Commands are all in cmd/, not in subdirectories. + if strings.Contains(name, string(filepath.Separator)) { + return filepath.SkipDir + } + + // We use, e.g., cmd/gofmt as the pseudo import path for gofmt. + name = "cmd/" + name + if have[name] { + return nil + } + have[name] = true + if !match(name) { + return nil + } + _, err = buildContext.ImportDir(path, 0) + if err != nil { + if _, noGo := err.(*build.NoGoError); !noGo { + log.Print(err) + } + return nil + } + pkgs = append(pkgs, name) + return nil + }) + + for _, src := range buildContext.SrcDirs() { + if pattern == "std" && src != gorootSrcPkg { + continue + } + src = filepath.Clean(src) + string(filepath.Separator) + filepath.Walk(src, func(path string, fi os.FileInfo, err error) error { + if err != nil || !fi.IsDir() || path == src { + return nil + } + + // Avoid .foo, _foo, and testdata directory trees. + _, elem := filepath.Split(path) + if strings.HasPrefix(elem, ".") || strings.HasPrefix(elem, "_") || elem == "testdata" { + return filepath.SkipDir + } + + name := filepath.ToSlash(path[len(src):]) + if pattern == "std" && strings.Contains(name, ".") { + return filepath.SkipDir + } + if have[name] { + return nil + } + have[name] = true + if !match(name) { + return nil + } + _, err = buildContext.ImportDir(path, 0) + if err != nil { + if _, noGo := err.(*build.NoGoError); noGo { + return nil + } + } + pkgs = append(pkgs, name) + return nil + }) + } + return pkgs +} + +// allPackagesInFS is like allPackages but is passed a pattern +// beginning ./ or ../, meaning it should scan the tree rooted +// at the given directory. There are ... in the pattern too. +func allPackagesInFS(pattern string) []string { + pkgs := matchPackagesInFS(pattern) + if len(pkgs) == 0 { + fmt.Fprintf(os.Stderr, "warning: %q matched no packages\n", pattern) + } + return pkgs +} + +func matchPackagesInFS(pattern string) []string { + // Find directory to begin the scan. + // Could be smarter but this one optimization + // is enough for now, since ... is usually at the + // end of a path. + i := strings.Index(pattern, "...") + dir, _ := path.Split(pattern[:i]) + + // pattern begins with ./ or ../. + // path.Clean will discard the ./ but not the ../. + // We need to preserve the ./ for pattern matching + // and in the returned import paths. + prefix := "" + if strings.HasPrefix(pattern, "./") { + prefix = "./" + } + match := matchPattern(pattern) + + var pkgs []string + filepath.Walk(dir, func(path string, fi os.FileInfo, err error) error { + if err != nil || !fi.IsDir() { + return nil + } + if path == dir { + // filepath.Walk starts at dir and recurses. For the recursive case, + // the path is the result of filepath.Join, which calls filepath.Clean. + // The initial case is not Cleaned, though, so we do this explicitly. + // + // This converts a path like "./io/" to "io". Without this step, running + // "cd $GOROOT/src/pkg; go list ./io/..." would incorrectly skip the io + // package, because prepending the prefix "./" to the unclean path would + // result in "././io", and match("././io") returns false. + path = filepath.Clean(path) + } + + // Avoid .foo, _foo, and testdata directory trees, but do not avoid "." or "..". + _, elem := filepath.Split(path) + dot := strings.HasPrefix(elem, ".") && elem != "." && elem != ".." + if dot || strings.HasPrefix(elem, "_") || elem == "testdata" { + return filepath.SkipDir + } + + name := prefix + filepath.ToSlash(path) + if !match(name) { + return nil + } + if _, err = build.ImportDir(path, 0); err != nil { + if _, noGo := err.(*build.NoGoError); !noGo { + log.Print(err) + } + return nil + } + pkgs = append(pkgs, name) + return nil + }) + return pkgs +}*/ + +// stringList's arguments should be a sequence of string or []string values. +// stringList flattens them into a single []string. +func stringList(args ...interface{}) []string { + var x []string + for _, arg := range args { + switch arg := arg.(type) { + case []string: + x = append(x, arg...) + case string: + x = append(x, arg) + default: + panic("stringList: invalid argument") + } + } + return x +} + +// toFold returns a string with the property that +// strings.EqualFold(s, t) iff toFold(s) == toFold(t) +// This lets us test a large set of strings for fold-equivalent +// duplicates without making a quadratic number of calls +// to EqualFold. Note that strings.ToUpper and strings.ToLower +// have the desired property in some corner cases. +func toFold(s string) string { + // Fast path: all ASCII, no upper case. + // Most paths look like this already. + for i := 0; i < len(s); i++ { + c := s[i] + if c >= utf8.RuneSelf || 'A' <= c && c <= 'Z' { + goto Slow + } + } + return s + +Slow: + var buf bytes.Buffer + for _, r := range s { + // SimpleFold(x) cycles to the next equivalent rune > x + // or wraps around to smaller values. Iterate until it wraps, + // and we've found the minimum value. + for { + r0 := r + r = unicode.SimpleFold(r0) + if r <= r0 { + break + } + } + // Exception to allow fast path above: A-Z => a-z + if 'A' <= r && r <= 'Z' { + r += 'a' - 'A' + } + buf.WriteRune(r) + } + return buf.String() +} + +// foldDup reports a pair of strings from the list that are +// equal according to strings.EqualFold. +// It returns "", "" if there are no such strings. +func foldDup(list []string) (string, string) { + clash := map[string]string{} + for _, s := range list { + fold := toFold(s) + if t := clash[fold]; t != "" { + if s > t { + s, t = t, s + } + return s, t + } + clash[fold] = s + } + return "", "" +} diff --git a/repos.go b/repos.go new file mode 100644 index 000000000..badaa1a52 --- /dev/null +++ b/repos.go @@ -0,0 +1,11 @@ +package main + +type Repos interface { + Url(pkgName string, ver string) string +} + +type GithubRepos interface { +} + +type GitLabRepos interface { +} From c0c8d2ae14587dcf549e802598c4223e4fe58f08 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 13 Aug 2013 10:35:08 +0800 Subject: [PATCH 117/287] Update dir strcut --- .DS_Store | Bin 0 -> 6148 bytes gen.go => cmd/gen.go | 0 get.go => cmd/get.go | 0 repos.go => cmd/repos.go | 0 arch.png => docs/arch.png | Bin features_CN.md => docs/features_CN.md | 0 usage.md => docs/usage.md | 0 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .DS_Store rename gen.go => cmd/gen.go (100%) rename get.go => cmd/get.go (100%) rename repos.go => cmd/repos.go (100%) rename arch.png => docs/arch.png (100%) rename features_CN.md => docs/features_CN.md (100%) rename usage.md => docs/usage.md (100%) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f3dddc3b41eaf33f033e2a6f8d28381616a7bd45 GIT binary patch literal 6148 zcmeH~&r8EF6vvZoYKjWI2s;MPLpH6Cl-Z^uiu}wY?)OA@;_jIE}J}m(9~CzxF5D!jGeeFqqva zy9kPT?gcaDxeAI2c$7WNvIOk0i5|sKF}bzd%cXO2){)0ur|igOzjxY^j?*toOIVh@ z5(kGz=a<9arF>mgnj#0tD(xGsDqMM?yS01+SpL_iTR2ZY!q z9z=i$5P@$5aDR}HQC*{zR<(6Nf!AmBw@@*Gjc*B5Y1B1ZX$21?uDgQjuG~B^xb6<^ z(!{w&E3LXa<7#FY$IM(mUbvba+NBC-+|^1Y5g-EV1e&^PiHpQH6ghyVZp literal 0 HcmV?d00001 diff --git a/gen.go b/cmd/gen.go similarity index 100% rename from gen.go rename to cmd/gen.go diff --git a/get.go b/cmd/get.go similarity index 100% rename from get.go rename to cmd/get.go diff --git a/repos.go b/cmd/repos.go similarity index 100% rename from repos.go rename to cmd/repos.go diff --git a/arch.png b/docs/arch.png similarity index 100% rename from arch.png rename to docs/arch.png diff --git a/features_CN.md b/docs/features_CN.md similarity index 100% rename from features_CN.md rename to docs/features_CN.md diff --git a/usage.md b/docs/usage.md similarity index 100% rename from usage.md rename to docs/usage.md From d3d8cab2b96c897789c389e34185c7eabaa43800 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 13 Aug 2013 10:35:32 +0800 Subject: [PATCH 118/287] Update --- .DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index f3dddc3b41eaf33f033e2a6f8d28381616a7bd45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~&r8EF6vvZoYKjWI2s;MPLpH6Cl-Z^uiu}wY?)OA@;_jIE}J}m(9~CzxF5D!jGeeFqqva zy9kPT?gcaDxeAI2c$7WNvIOk0i5|sKF}bzd%cXO2){)0ur|igOzjxY^j?*toOIVh@ z5(kGz=a<9arF>mgnj#0tD(xGsDqMM?yS01+SpL_iTR2ZY!q z9z=i$5P@$5aDR}HQC*{zR<(6Nf!AmBw@@*Gjc*B5Y1B1ZX$21?uDgQjuG~B^xb6<^ z(!{w&E3LXa<7#FY$IM(mUbvba+NBC-+|^1Y5g-EV1e&^PiHpQH6ghyVZp From 9fc6c217ca7a6ecf2aa69b357e21ec45474ba62a Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 13 Aug 2013 10:36:17 +0800 Subject: [PATCH 119/287] .gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..f78fbe263 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +gopm +*.exe +*.exe~ From 916128184545e1308c6f276c0ad3b48e828ef083 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 13 Aug 2013 10:54:11 +0800 Subject: [PATCH 120/287] Fixed conflicts --- cmd/cmd.go | 59 +++++++++++++++++++++++++++++++++++++++++++++ cmd/gen.go | 2 +- cmd/get.go | 10 ++++---- cmd/repos.go | 2 +- main.go => gopm.go | 60 ++++++---------------------------------------- 5 files changed, 73 insertions(+), 60 deletions(-) create mode 100644 cmd/cmd.go rename main.go => gopm.go (91%) diff --git a/cmd/cmd.go b/cmd/cmd.go new file mode 100644 index 000000000..30fa463f3 --- /dev/null +++ b/cmd/cmd.go @@ -0,0 +1,59 @@ +package cmd + +import ( + "flag" + "fmt" + "os" + "strings" +) + +var ( + reposDir string = "~/.gopm/repos" +) + +// A Command is an implementation of a go command +// like go build or go fix. +type Command struct { + // Run runs the command. + // The args are the arguments after the command name. + Run func(cmd *Command, args []string) + + // UsageLine is the one-line usage message. + // The first word in the line is taken to be the command name. + UsageLine string + + // Short is the short description shown in the 'go help' output. + Short string + + // Long is the long message shown in the 'go help ' output. + Long string + + // Flag is a set of flags specific to this command. + Flag flag.FlagSet + + // CustomFlags indicates that the command will do its own + // flag parsing. + CustomFlags bool +} + +// Name returns the command's name: the first word in the usage line. +func (c *Command) Name() string { + name := c.UsageLine + i := strings.Index(name, " ") + if i >= 0 { + name = name[:i] + } + return name +} + +func (c *Command) Usage() { + fmt.Fprintf(os.Stderr, "usage: %s\n\n", c.UsageLine) + fmt.Fprintf(os.Stderr, "%s\n", strings.TrimSpace(c.Long)) + os.Exit(2) +} + +// Runnable reports whether the command can be run; otherwise +// it is a documentation pseudo-command such as importpath. +func (c *Command) Runnable() bool { + return c.Run != nil +} diff --git a/cmd/gen.go b/cmd/gen.go index d830434fc..013af44ea 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -1,4 +1,4 @@ -package main +package cmd // scan a directory and gen a gopm file func gen(dir string) { diff --git a/cmd/get.go b/cmd/get.go index f7f535afa..162507280 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "fmt" @@ -11,7 +11,7 @@ import ( "strings" ) -var cmdGet = &Command{ +var CmdGet = &Command{ UsageLine: "get [-u] [packages]", Short: "download and install packages and dependencies", Long: ` @@ -46,11 +46,11 @@ See also: go build, go install, go clean. `, } -var getD = cmdGet.Flag.Bool("f", false, "") -var getU = cmdGet.Flag.Bool("u", false, "") +var getD = CmdGet.Flag.Bool("f", false, "") +var getU = CmdGet.Flag.Bool("u", false, "") func init() { - cmdGet.Run = runGet + CmdGet.Run = runGet } func runGet(cmd *Command, args []string) { diff --git a/cmd/repos.go b/cmd/repos.go index badaa1a52..0ec557b27 100644 --- a/cmd/repos.go +++ b/cmd/repos.go @@ -1,4 +1,4 @@ -package main +package cmd type Repos interface { Url(pkgName string, ver string) string diff --git a/main.go b/gopm.go similarity index 91% rename from main.go rename to gopm.go index 7db3f2ffc..d8966d61b 100644 --- a/main.go +++ b/gopm.go @@ -22,70 +22,24 @@ import ( "text/template" "unicode" "unicode/utf8" + + "github.com/gpmgo/gopm/cmd" ) var ( - config map[string]interface{} - reposDir string = "~/.gopm/repos" + config map[string]interface{} ) -// A Command is an implementation of a go command -// like go build or go fix. -type Command struct { - // Run runs the command. - // The args are the arguments after the command name. - Run func(cmd *Command, args []string) - - // UsageLine is the one-line usage message. - // The first word in the line is taken to be the command name. - UsageLine string - - // Short is the short description shown in the 'go help' output. - Short string - - // Long is the long message shown in the 'go help ' output. - Long string - - // Flag is a set of flags specific to this command. - Flag flag.FlagSet - - // CustomFlags indicates that the command will do its own - // flag parsing. - CustomFlags bool -} - -// Name returns the command's name: the first word in the usage line. -func (c *Command) Name() string { - name := c.UsageLine - i := strings.Index(name, " ") - if i >= 0 { - name = name[:i] - } - return name -} - -func (c *Command) Usage() { - fmt.Fprintf(os.Stderr, "usage: %s\n\n", c.UsageLine) - fmt.Fprintf(os.Stderr, "%s\n", strings.TrimSpace(c.Long)) - os.Exit(2) -} - -// Runnable reports whether the command can be run; otherwise -// it is a documentation pseudo-command such as importpath. -func (c *Command) Runnable() bool { - return c.Run != nil -} - // Commands lists the available commands and help topics. // The order here is the order in which they are printed by 'go help'. -var commands = []*Command{ +var commands = []*cmd.Command{ /*cmdBuild, cmdClean, cmdDoc, cmdEnv, cmdFix, cmdFmt,*/ - cmdGet, + cmd.CmdGet, /*cmdInstall, cmdList, cmdRun, @@ -267,8 +221,8 @@ func help(args []string) { if arg == "documentation" { buf := new(bytes.Buffer) printUsage(buf) - usage := &Command{Long: buf.String()} - tmpl(os.Stdout, documentationTemplate, append([]*Command{usage}, commands...)) + usage := &cmd.Command{Long: buf.String()} + tmpl(os.Stdout, documentationTemplate, append([]*cmd.Command{usage}, commands...)) return } From 92245a0eaa3c4833d086be45945d21179f4fc8df Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 13 Aug 2013 10:59:05 +0800 Subject: [PATCH 121/287] improved doc --- features_CN.md | 11 +++++++++++ usage.md | 7 ------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/features_CN.md b/features_CN.md index eb5246687..ee31053c4 100644 --- a/features_CN.md +++ b/features_CN.md @@ -40,6 +40,17 @@ gopm * tag: 表示的是某个tag * commit: 表示的是某个reversion +#配置文件说明 + +默认没有配置文件,当系统第一次启动时检测homedir/.gopm/config,看是否存在,如果不存在则自动创建此配置文件。 +配置文件内容如下: +[sources] +http://gopm.io + +[repos] +~/.gopm/repos + + #各命令的目标和作用 diff --git a/usage.md b/usage.md index 4acb58f55..98f0fe0cc 100644 --- a/usage.md +++ b/usage.md @@ -21,10 +21,3 @@ gopm build build project according to gopmfile gopm run build project according to gopmfile and run gopm test test project like go test - -.gopmspec file format: -[production] -beego = tag:0.1 -xorm >= branch:0.2 - -[test] From b4d8bd20a515c2edb6ff971c95f7d8af7affba7a Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 13 Aug 2013 18:15:40 +0800 Subject: [PATCH 122/287] get implement download --- cmd/gen.go | 14 ++++- cmd/get.go | 115 ++++++++++++++++++++++++++++------- cmd/repos.go | 11 ---- cmd/source.go | 99 ++++++++++++++++++++++++++++++ features_CN.md | 159 +++++++++++++++++++++++++++++++++++++++++++++++++ go11.go | 10 ---- gopm.go | 17 ++++-- 7 files changed, 376 insertions(+), 49 deletions(-) delete mode 100644 cmd/repos.go create mode 100644 cmd/source.go create mode 100644 features_CN.md delete mode 100644 go11.go diff --git a/cmd/gen.go b/cmd/gen.go index 013af44ea..90444330c 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -1,6 +1,18 @@ package cmd +var CmdGen = &Command{ + UsageLine: "gen [.gopmfile]", + Short: "generate a gopmfile according current go project", + Long: ` +generate a gopmfile according current go project +`, +} + +func init() { + CmdGen.Run = gen +} + // scan a directory and gen a gopm file -func gen(dir string) { +func gen(cmd *Command, args []string) { } diff --git a/cmd/get.go b/cmd/get.go index 162507280..9d598910f 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -1,6 +1,8 @@ package cmd import ( + "archive/zip" + //"errors" "fmt" "io" "net/http" @@ -18,12 +20,6 @@ var CmdGet = &Command{ Get downloads and installs the packages named by the import paths, along with their dependencies. -The -d flag instructs get to stop after downloading the packages; that is, -it instructs get not to install the packages. - -The -fix flag instructs get to run the fix tool on the downloaded packages -before resolving dependencies or building the code. - The -u flag instructs get to use the network to update the named packages and their dependencies. By default, get uses the network to check out missing packages but does not use it to look for updates to existing packages. @@ -39,10 +35,10 @@ retrieves the most recent version of the package. For more about specifying packages, see 'go help packages'. -For more about how 'go get' finds source code to -download, see 'go help remote'. +For more about how 'gopm get' finds source code to +download, see 'gopm help'. -See also: go build, go install, go clean. +See also: gopm build, gopm install, gopm clean. `, } @@ -53,9 +49,23 @@ func init() { CmdGet.Run = runGet } +func isStandalone() bool { + return true +} + func runGet(cmd *Command, args []string) { if len(args) > 0 { - getDirect(args[0], "trunk") + var ver string = TRUNK + if len(args) == 2 { + ver = args[1] + } + pkg := NewPkg(args[0], ver) + if isStandalone() { + getDirect(pkg) + } else { + fmt.Println("Not implemented.") + //getSource(pkgName) + } } } @@ -81,6 +91,7 @@ func fileExists(dir string) bool { } func download(url string, localfile string) error { + fmt.Println("Downloading", url, "...") resp, err := http.Get(url) if err != nil { return err @@ -108,36 +119,96 @@ func download(url string, localfile string) error { return nil } -func getPackage(pkgName string, ver string, url string) error { +/*func extractPkg(pkg *Pkg, update bool) error { + gopath := os.Getenv("GOPATH") + var childDirs []string = strings.Split(pkg.Name, "/") + + if pkg.Ver != TRUNK { + childDirs[len(childDirs)-1] = fmt.Sprintf("%v_%v_%v", childDirs[len(childDirs)-1], pkg.Ver, pkg.VerId) + } + srcDir = path.Join(gopath, childDir...) + + if !update { + if dirExists(srcDir) { + return nil + } + err = os.MkdirAll(localdir, 0777) + if err != nil { + return err + } + } else { + if dirExists(srcDir) { + os.Remove(localdir) + } else { + err = os.MkdirAll(localdir, 0777) + if err != nil { + return err + } + } + } + + // Iterate through the files in the archive, + // printing some of their contents. + for _, f := range r.File { + fmt.Printf("Contents of %s:\n", f.Name) + rc, err := f.Open() + if err != nil { + return err + } + + _, err = io.Copy(os.Stdout, rc) + if err != nil { + return err + } + rc.Close() + } + return nil +}*/ + +func getPackage(pkg *Pkg, url string) error { curUser, err := user.Current() if err != nil { return err } reposDir = strings.Replace(reposDir, "~", curUser.HomeDir, -1) - localdir := path.Join(reposDir, pkgName) + localdir := path.Join(reposDir, pkg.Name) localdir, err = filepath.Abs(localdir) if err != nil { return err } - localfile := path.Join(localdir, "trunk.zip") + urls := strings.Split(url, ".") - return download(url, localfile) -} + localfile := path.Join(localdir, fmt.Sprintf("%v.%v", pkg.VerSimpleString(), urls[len(urls)-1])) -func getDirect(pkgName string, ver string) error { - urlTempl := "https://codeload.%v/zip/master" - //urlTempl := "https://%v/archive/master.zip" - url := fmt.Sprintf(urlTempl, pkgName) + err = download(url, localfile) + if err != nil { + return err + } - return getPackage(pkgName, ver, url) + r, err := zip.OpenReader(localfile) + if err != nil { + return err + } + defer r.Close() + + if pkg.Ver != TRUNK { + return nil + } + + //return extractPkg(pkg) + return nil } -func getFromSource(pkgName string, ver string, source string) error { +func getDirect(pkg *Pkg) error { + return getPackage(pkg, pkg.Source.PkgUrl(pkg.Name, pkg.VerString())) +} + +/*func getFromSource(pkgName string, ver string, source string) error { urlTempl := "https://%v/%v" //urlTempl := "https://%v/archive/master.zip" url := fmt.Sprintf(urlTempl, source, pkgName) return getPackage(pkgName, ver, url) -} +}*/ diff --git a/cmd/repos.go b/cmd/repos.go deleted file mode 100644 index 0ec557b27..000000000 --- a/cmd/repos.go +++ /dev/null @@ -1,11 +0,0 @@ -package cmd - -type Repos interface { - Url(pkgName string, ver string) string -} - -type GithubRepos interface { -} - -type GitLabRepos interface { -} diff --git a/cmd/source.go b/cmd/source.go new file mode 100644 index 000000000..89378c3d1 --- /dev/null +++ b/cmd/source.go @@ -0,0 +1,99 @@ +package cmd + +import ( + //"errors" + "fmt" + "strings" +) + +const ( + TRUNK = "trunk" + TAG = "tag" + BRANCH = "branch" + COMMIT = "commit" +) + +var ( + downloadCache map[string]bool + sources []Source = []Source{ + &GithubSource{}, + } +) + +func getSource(pkgName string) Source { + for _, source := range sources { + if source.HasPkg(pkgName) { + return source + } + } + return nil +} + +type Source interface { + PkgUrl(pkgName string, ver string) string + HasPkg(pkgName string) bool +} + +type Pkg struct { + Source Source + Name string + Ver string + VerId string +} + +func (p *Pkg) VerSimpleString() string { + if p.VerId != "" { + return p.VerId + } + return p.Ver +} + +func (p *Pkg) VerString() string { + if p.VerId == "" { + return p.Ver + } + return fmt.Sprintf("%v:%v", p.Ver, p.VerId) +} + +func NewPkg(pkgName string, ver string) *Pkg { + vers := strings.Split(ver, ":") + if len(vers) > 2 { + return nil + } + + var verId string + if len(vers) == 2 { + verId = vers[1] + } + + return &Pkg{ + getSource(pkgName), pkgName, vers[0], verId, + } +} + +type GithubSource struct { +} + +func (s *GithubSource) PkgUrl(pkgName string, ver string) string { + vers := strings.Split(ver, ":") + var verPath string + switch strings.ToLower(vers[0]) { + case TRUNK: + verPath = "master" + case TAG, COMMIT, BRANCH: + if len(vers) != 2 { + return "" + } + verPath = vers[1] + default: + return "" + } + return fmt.Sprintf("https://%v/archive/%v.zip", pkgName, verPath) +} + +func (s *GithubSource) HasPkg(pkgName string) bool { + return strings.HasPrefix(pkgName, "github.com") +} + +type GitLabSource struct { +} diff --git a/features_CN.md b/features_CN.md new file mode 100644 index 000000000..88b010ac3 --- /dev/null +++ b/features_CN.md @@ -0,0 +1,159 @@ +gopm +==== + +* [总体设计目标](#10) +* [Go包版本说明](#20) +* [各命令的目标和作用](#30) + * [gopm help](#31) + * [gopm sources](#32) + * [gopm list](#33) + * [gopm get](#34) + * [gopm rm](#35) + * [gopm search](#36) + * [gopm doc](#37) + * [gopm serve](#38) + * [gopm sync](#39) + * [gopm import](#40) + * [gopm gen](#41) + * [gopm build](#42) + * [gopm run](#43) + * [gopm test](#44) +* [gopmspec文件格式](#50) + + +#总体设计目标 + +1. 支持go语言的版本管理 +2. 支持文档管理 +3. 支持本地源服务器 +4. 本地源服务器同时支持公共包和私有包 +5. 支持依赖管理 +6. 支持从github, code.google.com, gitLab, 等常见的源码托管服务下载 + + +#Go包版本说明 + +版本分为四种: + +* []: 表示的是当前最新版本即trunk +* branch: 表示的是某个分支 +* tag: 表示的是某个tag +* commit: 表示的是某个reversion + +#配置文件说明 + +默认没有配置文件,当系统第一次启动时检测homedir/.gopm/config,看是否存在,如果不存在则自动创建此配置文件。 +配置文件内容如下: +[sources] +http://gopm.io + +[repos] +~/.gopm/repos + + + +#各命令的目标和作用 + + +###gopm help + +显示当前可用的命令,以下命令中,[]表示可选,{}表示是参数 + + +###gopm sources [add|rm [{url}]] + +* [] 列出当前可用的所有源,默认为http://gopm.io/ +* add url 添加一个源到本地 +* rm url 删除一个源到本地,如果没有任何源,则自己成为一个独立的服务器,类似gopm.io + + +###gopm list [{packagename}[:{version}]] + +* [] 列出所有本地的包 +* packagename 显示指定名称的包的详细信息 + + +###gopm get [-u] [{packagename} [{version}]] [-f {gopmfile}] + +* [] 查找当前目录下的所有.gopmfile文件,根据文件的描述下载所有的包 +* packagename 从源中下载某个包 +* -u packagename 从源中更新某个包 +* -f gopmfile 根据指定的文件来下载包 + + +###gopm rm {packagename}[:{version}] + +去除一个包,如果不加版本标示,则删除该包的所有版本 + + +###gopm search {keyword} + +根据关键词查找包 + + +###gopm doc [-b] {packagename}[:{version}] + +* [] 显示一个包的文档 +* -b 在默认浏览器中显示该包的文档 + + +###gopm serve [-p {port}] + +将本地仓库作为服务对外提供,如果没有-p,则端口为80,如果有,则端口为指定端口,该服务是一个web服务,通过浏览器也可以进行浏览。 + + +###gopm sync [-u] + +[] 如果当前配置了源,则从可用的源中同步所有的包信息和包内容的最新版本到本地仓库; + 如果当前没有配置任何源,则将所有已有的包从源头进行更新 +-u 仅更新本地仓库已经有的包,不包含本地仓库没有的包 + + +###gopm import [{url}|{filepath}] + +将某个地址或者本地的包导入到本地仓库中,url应为可支持的源码托管站点或者gitLab + + +###gopm gen [{gopmfile}] + +扫描当前目录下的go工程,并自动生成一个.gopmspec的文件依赖文档,如果未指定,则文件名为.gopmspec,如果指定了,则为指定的文件名 + + +###gopm build [-u] + +此命令依赖于go build + +1. 如果当前没有.gopmspec文件,则扫描当前的go工程的依赖,自动生成.gopmspec文档 +2. 根据.gopmspec文件自动下载所有需要的包,如果加了-u参数,则同时更新所有的包 +3. 根据.gopmspec文件自动切换gopath中的相关版本 +4. 调用go build对工程进行编译 + + +###gopm run [{gofile}] + +此命令依赖于go run + +调用gopm build在临时文件夹生成可执行文件,并设置程序当前目录为当前目录,并执行 + + +###gopm test + +此命令依赖于go test + +调用gopm build在临时文件夹生成可执行的测试文件,并设置程序当前目录为当前目录,并执行 + + +#gopmspec文件格式 + +.gopmspec文件的格式类似一个ini文件,当前分为两个section。 +build段内的依赖保存的是go build所需要依赖的所有包,一行一个,可用 =, >=等等,如果什么符号都没有,就是取最新版本 + +``` +[build] +xweb +beego = tag:0.1 +xorm >= branch:0.2 + +[test] +testing +``` diff --git a/go11.go b/go11.go deleted file mode 100644 index 4d76df32e..000000000 --- a/go11.go +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// +build go1.1 - -package main - -// Test that go1.1 tag above is included in builds. main.go refers to this definition. -const go11tag = true \ No newline at end of file diff --git a/gopm.go b/gopm.go index d8966d61b..ae96d216b 100644 --- a/gopm.go +++ b/gopm.go @@ -23,9 +23,15 @@ import ( "unicode" "unicode/utf8" - "github.com/gpmgo/gopm/cmd" + //"github.com/gpmgo/gopm/cmd" + "./cmd" ) +// +build go1.1 + +// Test that go1.1 tag above is included in builds. main.go refers to this definition. +const go11tag = true + var ( config map[string]interface{} ) @@ -33,14 +39,15 @@ var ( // Commands lists the available commands and help topics. // The order here is the order in which they are printed by 'go help'. var commands = []*cmd.Command{ - /*cmdBuild, + cmd.CmdGet, + /*cmd.CmdGen, + cmdBuild, cmdClean, cmdDoc, cmdEnv, cmdFix, - cmdFmt,*/ - cmd.CmdGet, - /*cmdInstall, + cmdFmt, + cmdInstall, cmdList, cmdRun, cmdTest, From d8be8494133a2dad17fc1285a954ee9f6d6df154 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 13 Aug 2013 19:18:59 +0800 Subject: [PATCH 123/287] Fixed code of command get --- README.md | 16 ++ beewatch.json | 9 + cmd/cmd.go | 21 +- cmd/gen.go | 14 + cmd/get.go | 111 ++++++-- cmd/source.go | 18 +- doc/utils.go | 88 ++++++ docs/{ => images}/arch.png | Bin features_CN.md | 159 ----------- gopm.go | 534 ++++--------------------------------- 10 files changed, 298 insertions(+), 672 deletions(-) create mode 100644 README.md create mode 100644 beewatch.json create mode 100644 doc/utils.go rename docs/{ => images}/arch.png (100%) delete mode 100644 features_CN.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..2ced87b5c --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +gopm - Go Package Manager +========================= + +![GPMGo_Logo](https://raw.github.com/gpmgo/gopmweb/master/static/img/gpmgo.png?raw=true) + +gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. + +**Attention** This application still in experiment, we'are working on new break version, you may use [old version](https://github.com/gpmgo/gopm/tree/v0.1.0) for now. + +## Credits + +- [garyburd/gddo](https://github.com/garyburd/gddo) + +## License + +[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). \ No newline at end of file diff --git a/beewatch.json b/beewatch.json new file mode 100644 index 000000000..b0d5a08aa --- /dev/null +++ b/beewatch.json @@ -0,0 +1,9 @@ +{ + "app_name": "Go Package Manager", + "http_port": 23456, + "watch_enabled": true, + "cmd_mode": true, + "skip_suspend": false, + "print_stack": true, + "print_source": true +} diff --git a/cmd/cmd.go b/cmd/cmd.go index 30fa463f3..bf4176e04 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -1,7 +1,20 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + package cmd import ( - "flag" "fmt" "os" "strings" @@ -29,11 +42,7 @@ type Command struct { Long string // Flag is a set of flags specific to this command. - Flag flag.FlagSet - - // CustomFlags indicates that the command will do its own - // flag parsing. - CustomFlags bool + Flags map[string]bool } // Name returns the command's name: the first word in the usage line. diff --git a/cmd/gen.go b/cmd/gen.go index 90444330c..03c3d8a7a 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -1,3 +1,17 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + package cmd var CmdGen = &Command{ diff --git a/cmd/get.go b/cmd/get.go index 9d598910f..0fa1e1733 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -1,3 +1,17 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + package cmd import ( @@ -11,49 +25,108 @@ import ( "path" "path/filepath" "strings" + + "../doc" +) + +var ( + installGOPATH string // The GOPATH that packages are downloaded to. ) var CmdGet = &Command{ - UsageLine: "get [-u] [packages]", + UsageLine: "get [flags] ", Short: "download and install packages and dependencies", Long: ` Get downloads and installs the packages named by the import paths, along with their dependencies. -The -u flag instructs get to use the network to update the named packages -and their dependencies. By default, get uses the network to check out -missing packages but does not use it to look for updates to existing packages. +This command works even you haven't installed any version control tool +such as git, hg, etc. -Get also accepts all the flags in the 'go build' and 'go install' commands, -to control the installation. See 'go help build'. +The install flags are: -When checking out or updating a package, get looks for a branch or tag -that matches the locally installed version of Go. The most important -rule is that if the local installation is running version "go1", get -searches for a branch or tag named "go1". If no such version exists it -retrieves the most recent version of the package. + -d + download without installing package(s). + -u + force to update pakcage(s). + -e + download dependencies for example(s). -For more about specifying packages, see 'go help packages'. - -For more about how 'gopm get' finds source code to -download, see 'gopm help'. +The list flags accept a space-separated list of strings. -See also: gopm build, gopm install, gopm clean. +For more about specifying packages, see 'go help packages'. `, } -var getD = CmdGet.Flag.Bool("f", false, "") -var getU = CmdGet.Flag.Bool("u", false, "") - func init() { + downloadCache = make(map[string]bool) CmdGet.Run = runGet + CmdGet.Flags = map[string]bool{ + "-d": false, + "-u": false, + "-e": false, + } } func isStandalone() bool { return true } +// printGetPrompt prints prompt information to users to +// let them know what's going on. +func printGetPrompt(flag string) { + switch flag { + case "-d": + doc.ColorLog("[INFO] You enabled download without installing.\n") + case "-u": + doc.ColorLog("[INFO] You enabled force update.\n") + case "-e": + doc.ColorLog("[INFO] You enabled download dependencies of example(s).\n") + } +} + +// checkFlags checks if the flag exists with correct format. +func checkFlags(flags map[string]bool, args []string, print func(string)) int { + num := 0 // Number of valid flags, use to cut out. + for i, f := range args { + // Check flag prefix '-'. + if !strings.HasPrefix(f, "-") { + // Not a flag, finish check process. + break + } + + // Check if it a valid flag. + if v, ok := flags[f]; ok { + flags[f] = !v + if !v { + print(f) + } else { + fmt.Println("DISABLE: " + f) + } + } else { + doc.ColorLog("[ERRO] Unknown flag: %s.\n", f) + return -1 + } + num = i + 1 + } + + return num +} + func runGet(cmd *Command, args []string) { + // Check flags. + num := checkFlags(cmd.Flags, args, printGetPrompt) + if num == -1 { + return + } + args = args[num:] + + // Check length of arguments. + if len(args) < 1 { + doc.ColorLog("[ERRO] Please list the package that you want to install.\n") + return + } + if len(args) > 0 { var ver string = TRUNK if len(args) == 2 { diff --git a/cmd/source.go b/cmd/source.go index 89378c3d1..bfddb7320 100644 --- a/cmd/source.go +++ b/cmd/source.go @@ -1,3 +1,17 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + package cmd import ( @@ -14,8 +28,8 @@ const ( ) var ( - downloadCache map[string]bool - sources []Source = []Source{ + downloadCache map[string]bool // Saves packages that have been downloaded. + sources []Source = []Source{ &GithubSource{}, } ) diff --git a/doc/utils.go b/doc/utils.go new file mode 100644 index 000000000..bf2f74524 --- /dev/null +++ b/doc/utils.go @@ -0,0 +1,88 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "fmt" + "runtime" + "strings" +) + +const ( + Gray = uint8(iota + 90) + Red + Green + Yellow + Blue + Magenta + //NRed = uint8(31) // Normal + EndColor = "\033[0m" +) + +// ColorLog colors log and print to stdout. +// Log format: [ error ]. +// Level: TRAC -> blue; ERRO -> red; WARN -> Magenta; SUCC -> green; others -> default. +// Content: default; path: yellow; error -> red. +// Level has to be surrounded by "[" and "]". +// Highlights have to be surrounded by "# " and " #"(space). +// Paths have to be surrounded by "( " and " )"(sapce). +// Errors have to be surrounded by "[ " and " ]"(space). +func ColorLog(format string, a ...interface{}) { + log := fmt.Sprintf(format, a...) + if runtime.GOOS != "windows" { + var clog string + + // Level. + i := strings.Index(log, "]") + if log[0] == '[' && i > -1 { + clog += "[" + getColorLevel(log[1:i]) + "]" + } + + log = log[i+1:] + + // Error. + log = strings.Replace(log, "[ ", fmt.Sprintf("[\033[%dm", Red), -1) + log = strings.Replace(log, " ]", EndColor+"]", -1) + + // Path. + log = strings.Replace(log, "( ", fmt.Sprintf("(\033[%dm", Yellow), -1) + log = strings.Replace(log, " )", EndColor+")", -1) + + // Highlights. + log = strings.Replace(log, "# ", fmt.Sprintf("\033[%dm", Gray), -1) + log = strings.Replace(log, " #", EndColor, -1) + + log = clog + log + } + + fmt.Print(log) +} + +// getColorLevel returns colored level string by given level. +func getColorLevel(level string) string { + level = strings.ToUpper(level) + switch level { + case "TRAC": + return fmt.Sprintf("\033[%dm%s\033[0m", Blue, level) + case "ERRO": + return fmt.Sprintf("\033[%dm%s\033[0m", Red, level) + case "WARN": + return fmt.Sprintf("\033[%dm%s\033[0m", Magenta, level) + case "SUCC": + return fmt.Sprintf("\033[%dm%s\033[0m", Green, level) + default: + return level + } +} diff --git a/docs/arch.png b/docs/images/arch.png similarity index 100% rename from docs/arch.png rename to docs/images/arch.png diff --git a/features_CN.md b/features_CN.md deleted file mode 100644 index 88b010ac3..000000000 --- a/features_CN.md +++ /dev/null @@ -1,159 +0,0 @@ -gopm -==== - -* [总体设计目标](#10) -* [Go包版本说明](#20) -* [各命令的目标和作用](#30) - * [gopm help](#31) - * [gopm sources](#32) - * [gopm list](#33) - * [gopm get](#34) - * [gopm rm](#35) - * [gopm search](#36) - * [gopm doc](#37) - * [gopm serve](#38) - * [gopm sync](#39) - * [gopm import](#40) - * [gopm gen](#41) - * [gopm build](#42) - * [gopm run](#43) - * [gopm test](#44) -* [gopmspec文件格式](#50) - - -#总体设计目标 - -1. 支持go语言的版本管理 -2. 支持文档管理 -3. 支持本地源服务器 -4. 本地源服务器同时支持公共包和私有包 -5. 支持依赖管理 -6. 支持从github, code.google.com, gitLab, 等常见的源码托管服务下载 - - -#Go包版本说明 - -版本分为四种: - -* []: 表示的是当前最新版本即trunk -* branch: 表示的是某个分支 -* tag: 表示的是某个tag -* commit: 表示的是某个reversion - -#配置文件说明 - -默认没有配置文件,当系统第一次启动时检测homedir/.gopm/config,看是否存在,如果不存在则自动创建此配置文件。 -配置文件内容如下: -[sources] -http://gopm.io - -[repos] -~/.gopm/repos - - - -#各命令的目标和作用 - - -###gopm help - -显示当前可用的命令,以下命令中,[]表示可选,{}表示是参数 - - -###gopm sources [add|rm [{url}]] - -* [] 列出当前可用的所有源,默认为http://gopm.io/ -* add url 添加一个源到本地 -* rm url 删除一个源到本地,如果没有任何源,则自己成为一个独立的服务器,类似gopm.io - - -###gopm list [{packagename}[:{version}]] - -* [] 列出所有本地的包 -* packagename 显示指定名称的包的详细信息 - - -###gopm get [-u] [{packagename} [{version}]] [-f {gopmfile}] - -* [] 查找当前目录下的所有.gopmfile文件,根据文件的描述下载所有的包 -* packagename 从源中下载某个包 -* -u packagename 从源中更新某个包 -* -f gopmfile 根据指定的文件来下载包 - - -###gopm rm {packagename}[:{version}] - -去除一个包,如果不加版本标示,则删除该包的所有版本 - - -###gopm search {keyword} - -根据关键词查找包 - - -###gopm doc [-b] {packagename}[:{version}] - -* [] 显示一个包的文档 -* -b 在默认浏览器中显示该包的文档 - - -###gopm serve [-p {port}] - -将本地仓库作为服务对外提供,如果没有-p,则端口为80,如果有,则端口为指定端口,该服务是一个web服务,通过浏览器也可以进行浏览。 - - -###gopm sync [-u] - -[] 如果当前配置了源,则从可用的源中同步所有的包信息和包内容的最新版本到本地仓库; - 如果当前没有配置任何源,则将所有已有的包从源头进行更新 --u 仅更新本地仓库已经有的包,不包含本地仓库没有的包 - - -###gopm import [{url}|{filepath}] - -将某个地址或者本地的包导入到本地仓库中,url应为可支持的源码托管站点或者gitLab - - -###gopm gen [{gopmfile}] - -扫描当前目录下的go工程,并自动生成一个.gopmspec的文件依赖文档,如果未指定,则文件名为.gopmspec,如果指定了,则为指定的文件名 - - -###gopm build [-u] - -此命令依赖于go build - -1. 如果当前没有.gopmspec文件,则扫描当前的go工程的依赖,自动生成.gopmspec文档 -2. 根据.gopmspec文件自动下载所有需要的包,如果加了-u参数,则同时更新所有的包 -3. 根据.gopmspec文件自动切换gopath中的相关版本 -4. 调用go build对工程进行编译 - - -###gopm run [{gofile}] - -此命令依赖于go run - -调用gopm build在临时文件夹生成可执行文件,并设置程序当前目录为当前目录,并执行 - - -###gopm test - -此命令依赖于go test - -调用gopm build在临时文件夹生成可执行的测试文件,并设置程序当前目录为当前目录,并执行 - - -#gopmspec文件格式 - -.gopmspec文件的格式类似一个ini文件,当前分为两个section。 -build段内的依赖保存的是go build所需要依赖的所有包,一行一个,可用 =, >=等等,如果什么符号都没有,就是取最新版本 - -``` -[build] -xweb -beego = tag:0.1 -xorm >= branch:0.2 - -[test] -testing -``` diff --git a/gopm.go b/gopm.go index ae96d216b..b42af87ea 100644 --- a/gopm.go +++ b/gopm.go @@ -1,21 +1,24 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +// gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. package main import ( - "bytes" - "flag" "fmt" - "go/build" "io" - "log" "os" - "os/exec" - //"path" - "path/filepath" - "regexp" "runtime" "strings" "sync" @@ -23,7 +26,6 @@ import ( "unicode" "unicode/utf8" - //"github.com/gpmgo/gopm/cmd" "./cmd" ) @@ -31,13 +33,14 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true +const APP_VER = "0.1.0.0813" var ( config map[string]interface{} ) // Commands lists the available commands and help topics. -// The order here is the order in which they are printed by 'go help'. +// The order here is the order in which they are printed by 'gopm help'. var commands = []*cmd.Command{ cmd.CmdGet, /*cmd.CmdGen, @@ -62,69 +65,36 @@ var commands = []*cmd.Command{ helpTestfunc,*/ } -var exitStatus = 0 -var exitMu sync.Mutex - -func setExitStatus(n int) { - exitMu.Lock() - if exitStatus < n { - exitStatus = n - } - exitMu.Unlock() +// We don't use init() to initialize +// bacause we need to get execute path in runtime. +func initialize() bool { + runtime.GOMAXPROCS(runtime.NumCPU()) + return true } func main() { - _ = go11tag - flag.Usage = usage - flag.Parse() - log.SetFlags(0) + // Initialization. + if !initialize() { + return + } - args := flag.Args() + // Check length of arguments. + args := os.Args[1:] if len(args) < 1 { usage() + return } + // Show help documentation. if args[0] == "help" { help(args[1:]) return } - // Diagnose common mistake: GOPATH==GOROOT. - // This setting is equivalent to not setting GOPATH at all, - // which is not what most people want when they do it. - if gopath := os.Getenv("GOPATH"); gopath == runtime.GOROOT() { - fmt.Fprintf(os.Stderr, "warning: GOPATH set to GOROOT (%s) has no effect\n", gopath) - } else { - for _, p := range filepath.SplitList(gopath) { - // Note: using HasPrefix instead of Contains because a ~ can appear - // in the middle of directory elements, such as /tmp/git-1.8.2~rc3 - // or C:\PROGRA~1. Only ~ as a path prefix has meaning to the shell. - if strings.HasPrefix(p, "~") { - fmt.Fprintf(os.Stderr, "go: GOPATH entry cannot start with shell metacharacter '~': %q\n", p) - os.Exit(2) - } - if build.IsLocalImport(p) { - fmt.Fprintf(os.Stderr, "go: GOPATH entry is relative; must be absolute path: %q.\nRun 'go help gopath' for usage.\n", p) - os.Exit(2) - } - } - } - - /*if fi, err := os.Stat(goroot); err != nil || !fi.IsDir() { - fmt.Fprintf(os.Stderr, "go: cannot find GOROOT directory: %v\n", goroot) - os.Exit(2) - }*/ - - for _, cmd := range commands { - if cmd.Name() == args[0] && cmd.Run != nil { - cmd.Flag.Usage = func() { cmd.Usage() } - if cmd.CustomFlags { - args = args[1:] - } else { - cmd.Flag.Parse(args[1:]) - args = cmd.Flag.Args() - } - cmd.Run(cmd, args) + // Check commands and run. + for _, comm := range commands { + if comm.Name() == args[0] && comm.Run != nil { + comm.Run(comm, args[1:]) exit() return } @@ -135,7 +105,18 @@ func main() { exit() } -var usageTemplate = `Gopm is a tool for managing Go source code and versions. +var exitStatus = 0 +var exitMu sync.Mutex + +func setExitStatus(n int) { + exitMu.Lock() + if exitStatus < n { + exitStatus = n + } + exitMu.Unlock() +} + +var usageTemplate = `gopm is a package manage tool for Go programming language. Usage: @@ -160,29 +141,6 @@ var helpTemplate = `{{if .Runnable}}usage: go {{.UsageLine}} {{end}}{{.Long | trim}} ` -var documentationTemplate = `// Copyright 2013 The Gopm Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// DO NOT EDIT THIS FILE. GENERATED BY mkdoc.sh. -// Edit the documentation in other files and rerun mkdoc.sh to generate this one. - -/* -{{range .}}{{if .Short}}{{.Short | capitalize}} - -{{end}}{{if .Runnable}}Usage: - - gopm {{.UsageLine}} - -{{end}}{{.Long | trim}} - - -{{end}}*/ -package main - -// NOTE: cmdDoc is in fmt.go. -` - // tmpl executes the given template text on data, writing the result to w. func tmpl(w io.Writer, text string, data interface{}) { t := template.New("top") @@ -224,79 +182,18 @@ func help(args []string) { arg := args[0] - // 'go help documentation' generates doc.go. - if arg == "documentation" { - buf := new(bytes.Buffer) - printUsage(buf) - usage := &cmd.Command{Long: buf.String()} - tmpl(os.Stdout, documentationTemplate, append([]*cmd.Command{usage}, commands...)) - return - } - for _, cmd := range commands { if cmd.Name() == arg { tmpl(os.Stdout, helpTemplate, cmd) - // not exit 2: succeeded at 'go help cmd'. + // not exit 2: succeeded at 'gopm help cmd'. return } } fmt.Fprintf(os.Stderr, "Unknown help topic %#q. Run 'gopm help'.\n", arg) - os.Exit(2) // failed at 'go help cmd' + os.Exit(2) // failed at 'gopm help cmd' } -// importPathsNoDotExpansion returns the import paths to use for the given -// command line, but it does no ... expansion. -/*func importPathsNoDotExpansion(args []string) []string { - if len(args) == 0 { - return []string{"."} - } - var out []string - for _, a := range args { - // Arguments are supposed to be import paths, but - // as a courtesy to Windows developers, rewrite \ to / - // in command-line arguments. Handles .\... and so on. - if filepath.Separator == '\\' { - a = strings.Replace(a, `\`, `/`, -1) - } - - // Put argument in canonical form, but preserve leading ./. - if strings.HasPrefix(a, "./") { - a = "./" + path.Clean(a) - if a == "./." { - a = "." - } - } else { - a = path.Clean(a) - } - if a == "all" || a == "std" { - out = append(out, allPackages(a)...) - continue - } - out = append(out, a) - } - return out -}*/ - -/* -// importPaths returns the import paths to use for the given command line. -func importPaths(args []string) []string { - args = importPathsNoDotExpansion(args) - var out []string - for _, a := range args { - if strings.Contains(a, "...") { - if build.IsLocalImport(a) { - out = append(out, allPackagesInFS(a)...) - } else { - out = append(out, allPackages(a)...) - } - continue - } - out = append(out, a) - } - return out -}*/ - var atexitFuncs []func() func atexit(f func()) { @@ -309,338 +206,3 @@ func exit() { } os.Exit(exitStatus) } - -func fatalf(format string, args ...interface{}) { - errorf(format, args...) - exit() -} - -func errorf(format string, args ...interface{}) { - log.Printf(format, args...) - setExitStatus(1) -} - -var logf = log.Printf - -func exitIfErrors() { - if exitStatus != 0 { - exit() - } -} - -func run(cmdargs ...interface{}) { - cmdline := stringList(cmdargs...) - /*if buildN || buildV { - fmt.Printf("%s\n", strings.Join(cmdline, " ")) - if buildN { - return - } - }*/ - - cmd := exec.Command(cmdline[0], cmdline[1:]...) - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - if err := cmd.Run(); err != nil { - errorf("%v", err) - } -} - -func runOut(dir string, cmdargs ...interface{}) []byte { - cmdline := stringList(cmdargs...) - cmd := exec.Command(cmdline[0], cmdline[1:]...) - cmd.Dir = dir - out, err := cmd.CombinedOutput() - if err != nil { - os.Stderr.Write(out) - errorf("%v", err) - out = nil - } - return out -} - -// envForDir returns a copy of the environment -// suitable for running in the given directory. -// The environment is the current process's environment -// but with an updated $PWD, so that an os.Getwd in the -// child will be faster. -func envForDir(dir string) []string { - env := os.Environ() - // Internally we only use rooted paths, so dir is rooted. - // Even if dir is not rooted, no harm done. - return mergeEnvLists([]string{"PWD=" + dir}, env) -} - -// mergeEnvLists merges the two environment lists such that -// variables with the same name in "in" replace those in "out". -func mergeEnvLists(in, out []string) []string { -NextVar: - for _, inkv := range in { - k := strings.SplitAfterN(inkv, "=", 2)[0] - for i, outkv := range out { - if strings.HasPrefix(outkv, k) { - out[i] = inkv - continue NextVar - } - } - out = append(out, inkv) - } - return out -} - -// matchPattern(pattern)(name) reports whether -// name matches pattern. Pattern is a limited glob -// pattern in which '...' means 'any string' and there -// is no other special syntax. -func matchPattern(pattern string) func(name string) bool { - re := regexp.QuoteMeta(pattern) - re = strings.Replace(re, `\.\.\.`, `.*`, -1) - // Special case: foo/... matches foo too. - if strings.HasSuffix(re, `/.*`) { - re = re[:len(re)-len(`/.*`)] + `(/.*)?` - } - reg := regexp.MustCompile(`^` + re + `$`) - return func(name string) bool { - return reg.MatchString(name) - } -} - -// allPackages returns all the packages that can be found -// under the $GOPATH directories and $GOROOT matching pattern. -// The pattern is either "all" (all packages), "std" (standard packages) -// or a path including "...". -/*func allPackages(pattern string) []string { - pkgs := matchPackages(pattern) - if len(pkgs) == 0 { - fmt.Fprintf(os.Stderr, "warning: %q matched no packages\n", pattern) - } - return pkgs -}*/ - -/*func matchPackages(pattern string) []string { - match := func(string) bool { return true } - if pattern != "all" && pattern != "std" { - match = matchPattern(pattern) - } - - have := map[string]bool{ - "builtin": true, // ignore pseudo-package that exists only for documentation - } - //if !buildContext.CgoEnabled { - have["runtime/cgo"] = true // ignore during walk - //} - var pkgs []string - - // Commands - cmd := filepath.Join(goroot, "src/cmd") + string(filepath.Separator) - filepath.Walk(cmd, func(path string, fi os.FileInfo, err error) error { - if err != nil || !fi.IsDir() || path == cmd { - return nil - } - name := path[len(cmd):] - // Commands are all in cmd/, not in subdirectories. - if strings.Contains(name, string(filepath.Separator)) { - return filepath.SkipDir - } - - // We use, e.g., cmd/gofmt as the pseudo import path for gofmt. - name = "cmd/" + name - if have[name] { - return nil - } - have[name] = true - if !match(name) { - return nil - } - _, err = buildContext.ImportDir(path, 0) - if err != nil { - if _, noGo := err.(*build.NoGoError); !noGo { - log.Print(err) - } - return nil - } - pkgs = append(pkgs, name) - return nil - }) - - for _, src := range buildContext.SrcDirs() { - if pattern == "std" && src != gorootSrcPkg { - continue - } - src = filepath.Clean(src) + string(filepath.Separator) - filepath.Walk(src, func(path string, fi os.FileInfo, err error) error { - if err != nil || !fi.IsDir() || path == src { - return nil - } - - // Avoid .foo, _foo, and testdata directory trees. - _, elem := filepath.Split(path) - if strings.HasPrefix(elem, ".") || strings.HasPrefix(elem, "_") || elem == "testdata" { - return filepath.SkipDir - } - - name := filepath.ToSlash(path[len(src):]) - if pattern == "std" && strings.Contains(name, ".") { - return filepath.SkipDir - } - if have[name] { - return nil - } - have[name] = true - if !match(name) { - return nil - } - _, err = buildContext.ImportDir(path, 0) - if err != nil { - if _, noGo := err.(*build.NoGoError); noGo { - return nil - } - } - pkgs = append(pkgs, name) - return nil - }) - } - return pkgs -} - -// allPackagesInFS is like allPackages but is passed a pattern -// beginning ./ or ../, meaning it should scan the tree rooted -// at the given directory. There are ... in the pattern too. -func allPackagesInFS(pattern string) []string { - pkgs := matchPackagesInFS(pattern) - if len(pkgs) == 0 { - fmt.Fprintf(os.Stderr, "warning: %q matched no packages\n", pattern) - } - return pkgs -} - -func matchPackagesInFS(pattern string) []string { - // Find directory to begin the scan. - // Could be smarter but this one optimization - // is enough for now, since ... is usually at the - // end of a path. - i := strings.Index(pattern, "...") - dir, _ := path.Split(pattern[:i]) - - // pattern begins with ./ or ../. - // path.Clean will discard the ./ but not the ../. - // We need to preserve the ./ for pattern matching - // and in the returned import paths. - prefix := "" - if strings.HasPrefix(pattern, "./") { - prefix = "./" - } - match := matchPattern(pattern) - - var pkgs []string - filepath.Walk(dir, func(path string, fi os.FileInfo, err error) error { - if err != nil || !fi.IsDir() { - return nil - } - if path == dir { - // filepath.Walk starts at dir and recurses. For the recursive case, - // the path is the result of filepath.Join, which calls filepath.Clean. - // The initial case is not Cleaned, though, so we do this explicitly. - // - // This converts a path like "./io/" to "io". Without this step, running - // "cd $GOROOT/src/pkg; go list ./io/..." would incorrectly skip the io - // package, because prepending the prefix "./" to the unclean path would - // result in "././io", and match("././io") returns false. - path = filepath.Clean(path) - } - - // Avoid .foo, _foo, and testdata directory trees, but do not avoid "." or "..". - _, elem := filepath.Split(path) - dot := strings.HasPrefix(elem, ".") && elem != "." && elem != ".." - if dot || strings.HasPrefix(elem, "_") || elem == "testdata" { - return filepath.SkipDir - } - - name := prefix + filepath.ToSlash(path) - if !match(name) { - return nil - } - if _, err = build.ImportDir(path, 0); err != nil { - if _, noGo := err.(*build.NoGoError); !noGo { - log.Print(err) - } - return nil - } - pkgs = append(pkgs, name) - return nil - }) - return pkgs -}*/ - -// stringList's arguments should be a sequence of string or []string values. -// stringList flattens them into a single []string. -func stringList(args ...interface{}) []string { - var x []string - for _, arg := range args { - switch arg := arg.(type) { - case []string: - x = append(x, arg...) - case string: - x = append(x, arg) - default: - panic("stringList: invalid argument") - } - } - return x -} - -// toFold returns a string with the property that -// strings.EqualFold(s, t) iff toFold(s) == toFold(t) -// This lets us test a large set of strings for fold-equivalent -// duplicates without making a quadratic number of calls -// to EqualFold. Note that strings.ToUpper and strings.ToLower -// have the desired property in some corner cases. -func toFold(s string) string { - // Fast path: all ASCII, no upper case. - // Most paths look like this already. - for i := 0; i < len(s); i++ { - c := s[i] - if c >= utf8.RuneSelf || 'A' <= c && c <= 'Z' { - goto Slow - } - } - return s - -Slow: - var buf bytes.Buffer - for _, r := range s { - // SimpleFold(x) cycles to the next equivalent rune > x - // or wraps around to smaller values. Iterate until it wraps, - // and we've found the minimum value. - for { - r0 := r - r = unicode.SimpleFold(r0) - if r <= r0 { - break - } - } - // Exception to allow fast path above: A-Z => a-z - if 'A' <= r && r <= 'Z' { - r += 'a' - 'A' - } - buf.WriteRune(r) - } - return buf.String() -} - -// foldDup reports a pair of strings from the list that are -// equal according to strings.EqualFold. -// It returns "", "" if there are no such strings. -func foldDup(list []string) (string, string) { - clash := map[string]string{} - for _, s := range list { - fold := toFold(s) - if t := clash[fold]; t != "" { - if s > t { - s, t = t, s - } - return s, t - } - clash[fold] = s - } - return "", "" -} From a6f7f2b74bb807f06e9b6f6fd125fae6e7528ee3 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 14 Aug 2013 00:08:27 +0800 Subject: [PATCH 124/287] get add extract;get add gitosc support --- cmd/get.go | 109 +++++++++++++++++++++++++++++++++----------------- cmd/source.go | 67 ++++++++++++++++++++++++------- 2 files changed, 124 insertions(+), 52 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 0fa1e1733..68294503d 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -16,7 +16,7 @@ package cmd import ( "archive/zip" - //"errors" + "errors" "fmt" "io" "net/http" @@ -123,7 +123,7 @@ func runGet(cmd *Command, args []string) { // Check length of arguments. if len(args) < 1 { - doc.ColorLog("[ERRO] Please list the package that you want to install.\n") + doc.ColorLog("[ERROR] Please list the package that you want to install.\n") return } @@ -133,8 +133,18 @@ func runGet(cmd *Command, args []string) { ver = args[1] } pkg := NewPkg(args[0], ver) + if pkg == nil { + doc.ColorLog("[ERROR] Unrecognized package %v.\n", args[0]) + return + } + if isStandalone() { - getDirect(pkg) + err := getDirect(pkg) + if err != nil { + doc.ColorLog("[ERROR] %v\n", err) + } else { + fmt.Println("done.") + } } else { fmt.Println("Not implemented.") //getSource(pkgName) @@ -163,6 +173,17 @@ func fileExists(dir string) bool { return !info.IsDir() } +func joinPath(paths ...string) string { + if len(paths) < 1 { + return "" + } + res := "" + for _, p := range paths { + res = path.Join(res, p) + } + return res +} + func download(url string, localfile string) error { fmt.Println("Downloading", url, "...") resp, err := http.Get(url) @@ -192,51 +213,78 @@ func download(url string, localfile string) error { return nil } -/*func extractPkg(pkg *Pkg, update bool) error { +func extractPkg(pkg *Pkg, localfile string, update bool) error { + fmt.Println("Extracting package", pkg.Name, "...") + gopath := os.Getenv("GOPATH") var childDirs []string = strings.Split(pkg.Name, "/") if pkg.Ver != TRUNK { childDirs[len(childDirs)-1] = fmt.Sprintf("%v_%v_%v", childDirs[len(childDirs)-1], pkg.Ver, pkg.VerId) } - srcDir = path.Join(gopath, childDir...) - + dstDir := joinPath(gopath, "src", joinPath(childDirs...)) + //fmt.Println(dstDir) + var err error if !update { - if dirExists(srcDir) { + if dirExists(dstDir) { return nil } - err = os.MkdirAll(localdir, 0777) - if err != nil { - return err - } + err = os.MkdirAll(dstDir, 0777) } else { - if dirExists(srcDir) { - os.Remove(localdir) + if dirExists(dstDir) { + err = os.Remove(dstDir) } else { - err = os.MkdirAll(localdir, 0777) + err = os.MkdirAll(dstDir, 0777) + } + } + + if err != nil { + return err + } + + if path.Ext(localfile) != ".zip" { + return errors.New("Not implemented!") + } + + r, err := zip.OpenReader(localfile) + if err != nil { + return err + } + defer r.Close() + + for _, f := range r.File { + //fmt.Printf("Contents of %s:\n", f.Name) + paths := strings.Split(f.Name, "/")[1:] + //fmt.Println(paths) + if len(paths) < 1 { + continue + } + + if f.FileInfo().IsDir() { + childDir := joinPath(dstDir, joinPath(paths...)) + err = os.MkdirAll(childDir, 0777) if err != nil { return err } + continue } - } - // Iterate through the files in the archive, - // printing some of their contents. - for _, f := range r.File { - fmt.Printf("Contents of %s:\n", f.Name) rc, err := f.Open() if err != nil { return err } - _, err = io.Copy(os.Stdout, rc) + newF, err := os.Create(path.Join(dstDir, joinPath(paths...))) + if err == nil { + _, err = io.Copy(newF, rc) + } if err != nil { return err } rc.Close() } return nil -}*/ +} func getPackage(pkg *Pkg, url string) error { curUser, err := user.Current() @@ -251,31 +299,18 @@ func getPackage(pkg *Pkg, url string) error { return err } - urls := strings.Split(url, ".") - - localfile := path.Join(localdir, fmt.Sprintf("%v.%v", pkg.VerSimpleString(), urls[len(urls)-1])) + localfile := path.Join(localdir, pkg.FileName()) err = download(url, localfile) if err != nil { return err } - r, err := zip.OpenReader(localfile) - if err != nil { - return err - } - defer r.Close() - - if pkg.Ver != TRUNK { - return nil - } - - //return extractPkg(pkg) - return nil + return extractPkg(pkg, localfile, false) } func getDirect(pkg *Pkg) error { - return getPackage(pkg, pkg.Source.PkgUrl(pkg.Name, pkg.VerString())) + return getPackage(pkg, pkg.Url()) } /*func getFromSource(pkgName string, ver string, source string) error { diff --git a/cmd/source.go b/cmd/source.go index bfddb7320..06c49cb41 100644 --- a/cmd/source.go +++ b/cmd/source.go @@ -31,6 +31,7 @@ var ( downloadCache map[string]bool // Saves packages that have been downloaded. sources []Source = []Source{ &GithubSource{}, + &GitOscSource{}, } ) @@ -44,8 +45,9 @@ func getSource(pkgName string) Source { } type Source interface { - PkgUrl(pkgName string, ver string) string + PkgUrl(pkg *Pkg) string HasPkg(pkgName string) bool + PkgExt() string } type Pkg struct { @@ -69,6 +71,14 @@ func (p *Pkg) VerString() string { return fmt.Sprintf("%v:%v", p.Ver, p.VerId) } +func (p *Pkg) Url() string { + return p.Source.PkgUrl(p) +} + +func (p *Pkg) FileName() string { + return fmt.Sprintf("%v.%v", p.VerSimpleString(), p.Source.PkgExt()) +} + func NewPkg(pkgName string, ver string) *Pkg { vers := strings.Split(ver, ":") if len(vers) > 2 { @@ -80,34 +90,61 @@ func NewPkg(pkgName string, ver string) *Pkg { verId = vers[1] } - return &Pkg{ - getSource(pkgName), pkgName, vers[0], verId, + source := getSource(pkgName) + if source == nil { + return nil } + + return &Pkg{source, pkgName, vers[0], verId} } +// github repository type GithubSource struct { } -func (s *GithubSource) PkgUrl(pkgName string, ver string) string { - vers := strings.Split(ver, ":") +func (s *GithubSource) PkgUrl(pkg *Pkg) string { var verPath string - switch strings.ToLower(vers[0]) { - case TRUNK: + if pkg.Ver == TRUNK { verPath = "master" - case TAG, COMMIT, BRANCH: - if len(vers) != 2 { - return "" - } - verPath = vers[1] - default: - return "" + } else { + verPath = pkg.VerId } - return fmt.Sprintf("https://%v/archive/%v.zip", pkgName, verPath) + return fmt.Sprintf("https://%v/archive/%v.zip", pkg.Name, verPath) } func (s *GithubSource) HasPkg(pkgName string) bool { return strings.HasPrefix(pkgName, "github.com") } +func (s *GithubSource) PkgExt() string { + return "zip" +} + +// git osc repos +type GitOscSource struct { +} + +func (s *GitOscSource) PkgUrl(pkg *Pkg) string { + var verPath string + if pkg.Ver == TRUNK { + verPath = "master" + } else { + verPath = pkg.VerId + } + return fmt.Sprintf("https://%v/repository/archive?ref=%v", pkg.Name, verPath) +} + +func (s *GitOscSource) HasPkg(pkgName string) bool { + return strings.HasPrefix(pkgName, "git.oschina.net") +} + +func (s *GitOscSource) PkgExt() string { + return "zip" +} + type GitLabSource struct { + IP string + Username string + Passwd string + PrivateKey string } From 4fbe5d14eb2608028d8a94a0d52c7df3187cdf36 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 14 Aug 2013 13:14:59 +0800 Subject: [PATCH 125/287] get add gitosc & bitbucket --- cmd/get.go | 12 ++- cmd/service.go | 241 +++++++++++++++++++++++++++++++++++++++++++++++++ cmd/source.go | 150 ------------------------------ 3 files changed, 249 insertions(+), 154 deletions(-) create mode 100644 cmd/service.go delete mode 100644 cmd/source.go diff --git a/cmd/get.go b/cmd/get.go index 68294503d..2c710f7dd 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -253,20 +253,24 @@ func extractPkg(pkg *Pkg, localfile string, update bool) error { defer r.Close() for _, f := range r.File { - //fmt.Printf("Contents of %s:\n", f.Name) + fmt.Printf("Contents of %s:\n", f.Name) + if f.FileInfo().IsDir() { + continue + } + paths := strings.Split(f.Name, "/")[1:] //fmt.Println(paths) if len(paths) < 1 { continue } - if f.FileInfo().IsDir() { - childDir := joinPath(dstDir, joinPath(paths...)) + if len(paths) > 1 { + childDir := joinPath(dstDir, joinPath(paths[0:len(paths)-1]...)) + //fmt.Println("creating", childDir) err = os.MkdirAll(childDir, 0777) if err != nil { return err } - continue } rc, err := f.Open() diff --git a/cmd/service.go b/cmd/service.go new file mode 100644 index 000000000..a22cc0e28 --- /dev/null +++ b/cmd/service.go @@ -0,0 +1,241 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + //"errors" + "fmt" + "strings" +) + +const ( + TRUNK = "trunk" + TAG = "tag" + BRANCH = "branch" + COMMIT = "commit" +) + +var ( + downloadCache map[string]bool // Saves packages that have been downloaded. + services []Service = []Service{ + &GithubService{}, + &GitOscService{}, + &BitBucketService{}, + //&GitCafeService{}, + //&CodeCSDNSource{}, + } +) + +func getService(pkgName string) Service { + for _, service := range services { + if service.HasPkg(pkgName) { + return service + } + } + return nil +} + +type Service interface { + PkgUrl(pkg *Pkg) string + HasPkg(pkgName string) bool + PkgExt() string +} + +type Pkg struct { + Service Service + Name string + Ver string + VerId string +} + +func (p *Pkg) VerSimpleString() string { + if p.VerId != "" { + return p.VerId + } + return p.Ver +} + +func (p *Pkg) VerString() string { + if p.VerId == "" { + return p.Ver + } + return fmt.Sprintf("%v:%v", p.Ver, p.VerId) +} + +func (p *Pkg) Url() string { + return p.Service.PkgUrl(p) +} + +func (p *Pkg) FileName() string { + return fmt.Sprintf("%v.%v", p.VerSimpleString(), p.Service.PkgExt()) +} + +func NewPkg(pkgName string, ver string) *Pkg { + vers := strings.Split(ver, ":") + if len(vers) > 2 { + return nil + } + + var verId string + if len(vers) == 2 { + verId = vers[1] + } + + service := getService(pkgName) + if service == nil { + return nil + } + + return &Pkg{service, pkgName, vers[0], verId} +} + +// github repository +type GithubService struct { +} + +func (s *GithubService) PkgUrl(pkg *Pkg) string { + var verPath string + if pkg.Ver == TRUNK { + verPath = "master" + } else { + verPath = pkg.VerId + } + return fmt.Sprintf("https://%v/archive/%v.zip", pkg.Name, verPath) +} + +func (s *GithubService) HasPkg(pkgName string) bool { + return strings.HasPrefix(pkgName, "github.com") +} + +func (s *GithubService) PkgExt() string { + return "zip" +} + +// git osc repos +type GitOscService struct { +} + +func (s *GitOscService) PkgUrl(pkg *Pkg) string { + var verPath string + if pkg.Ver == TRUNK { + verPath = "master" + } else { + verPath = pkg.VerId + } + return fmt.Sprintf("https://%v/repository/archive?ref=%v", pkg.Name, verPath) +} + +func (s *GitOscService) HasPkg(pkgName string) bool { + return strings.HasPrefix(pkgName, "git.oschina.net") +} + +func (s *GitOscService) PkgExt() string { + return "zip" +} + +// bitbucket.org +type BitBucketService struct { +} + +func (s *BitBucketService) PkgUrl(pkg *Pkg) string { + var verPath string + if pkg.Ver == TRUNK { + verPath = "default" + } else { + verPath = pkg.VerId + } + + return fmt.Sprintf("https://%v/get/%v.zip", pkg.Name, verPath) +} + +func (s *BitBucketService) HasPkg(pkgName string) bool { + return strings.HasPrefix(pkgName, "bitbucket.org") +} + +func (s *BitBucketService) PkgExt() string { + return "zip" +} + +type GitCafeService struct { +} + +func (s *GitCafeService) PkgUrl(pkg *Pkg) string { + var verPath string + if pkg.Ver == TRUNK { + verPath = "master" + } else { + verPath = pkg.VerId + } + + return fmt.Sprintf("https://%v/tarball/%v", pkg.Name, verPath) +} + +func (s *GitCafeService) HasPkg(pkgName string) bool { + return strings.HasPrefix(pkgName, "gitcafe.com") +} + +func (s *GitCafeService) PkgExt() string { + return "tar.gz" +} + +// git lab repos, not completed +type GitLabService struct { + DomainOrIp string + Username string + Passwd string + PrivateKey string +} + +func (s *GitLabService) PkgUrl(pkg *Pkg) string { + var verPath string + if pkg.Ver == TRUNK { + verPath = "master" + } else { + verPath = pkg.VerId + } + + return fmt.Sprintf("https://%v/repository/archive/%v", pkg.Name, verPath) +} + +func (s *GitLabService) HasPkg(pkgName string) bool { + return strings.HasPrefix(pkgName, s.DomainOrIp) +} + +func (s *GitLabService) PkgExt() string { + return "tar.gz" +} + +// code.csdn.net +type CodeCSDNService struct { +} + +func (s *CodeCSDNService) PkgUrl(pkg *Pkg) string { + var verPath string + if pkg.Ver == TRUNK { + verPath = "master" + } else { + verPath = pkg.VerId + } + + return fmt.Sprintf("https://%v/repository/archive?ref=%v", pkg.Name, verPath) +} + +func (s *CodeCSDNService) HasPkg(pkgName string) bool { + return strings.HasPrefix(pkgName, "code.csdn.net") +} + +func (s *CodeCSDNService) PkgExt() string { + return "zip" +} diff --git a/cmd/source.go b/cmd/source.go deleted file mode 100644 index 06c49cb41..000000000 --- a/cmd/source.go +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright 2013 gopm authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"): you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations -// under the License. - -package cmd - -import ( - //"errors" - "fmt" - "strings" -) - -const ( - TRUNK = "trunk" - TAG = "tag" - BRANCH = "branch" - COMMIT = "commit" -) - -var ( - downloadCache map[string]bool // Saves packages that have been downloaded. - sources []Source = []Source{ - &GithubSource{}, - &GitOscSource{}, - } -) - -func getSource(pkgName string) Source { - for _, source := range sources { - if source.HasPkg(pkgName) { - return source - } - } - return nil -} - -type Source interface { - PkgUrl(pkg *Pkg) string - HasPkg(pkgName string) bool - PkgExt() string -} - -type Pkg struct { - Source Source - Name string - Ver string - VerId string -} - -func (p *Pkg) VerSimpleString() string { - if p.VerId != "" { - return p.VerId - } - return p.Ver -} - -func (p *Pkg) VerString() string { - if p.VerId == "" { - return p.Ver - } - return fmt.Sprintf("%v:%v", p.Ver, p.VerId) -} - -func (p *Pkg) Url() string { - return p.Source.PkgUrl(p) -} - -func (p *Pkg) FileName() string { - return fmt.Sprintf("%v.%v", p.VerSimpleString(), p.Source.PkgExt()) -} - -func NewPkg(pkgName string, ver string) *Pkg { - vers := strings.Split(ver, ":") - if len(vers) > 2 { - return nil - } - - var verId string - if len(vers) == 2 { - verId = vers[1] - } - - source := getSource(pkgName) - if source == nil { - return nil - } - - return &Pkg{source, pkgName, vers[0], verId} -} - -// github repository -type GithubSource struct { -} - -func (s *GithubSource) PkgUrl(pkg *Pkg) string { - var verPath string - if pkg.Ver == TRUNK { - verPath = "master" - } else { - verPath = pkg.VerId - } - return fmt.Sprintf("https://%v/archive/%v.zip", pkg.Name, verPath) -} - -func (s *GithubSource) HasPkg(pkgName string) bool { - return strings.HasPrefix(pkgName, "github.com") -} - -func (s *GithubSource) PkgExt() string { - return "zip" -} - -// git osc repos -type GitOscSource struct { -} - -func (s *GitOscSource) PkgUrl(pkg *Pkg) string { - var verPath string - if pkg.Ver == TRUNK { - verPath = "master" - } else { - verPath = pkg.VerId - } - return fmt.Sprintf("https://%v/repository/archive?ref=%v", pkg.Name, verPath) -} - -func (s *GitOscSource) HasPkg(pkgName string) bool { - return strings.HasPrefix(pkgName, "git.oschina.net") -} - -func (s *GitOscSource) PkgExt() string { - return "zip" -} - -type GitLabSource struct { - IP string - Username string - Passwd string - PrivateKey string -} From 5e911b8f0daa68830817a13b79fec9ab8f317248 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 15 Aug 2013 12:53:17 +0800 Subject: [PATCH 126/287] basic search function --- cmd/search.go | 113 +++++++++++++ cmd/serve.go | 394 ++++++++++++++++++++++++++++++++++++++++++++ cmd/service.go | 4 + docs/features_CN.md | 9 + gopm.go | 42 ++--- 5 files changed, 542 insertions(+), 20 deletions(-) create mode 100644 cmd/search.go create mode 100644 cmd/serve.go diff --git a/cmd/search.go b/cmd/search.go new file mode 100644 index 000000000..58864f449 --- /dev/null +++ b/cmd/search.go @@ -0,0 +1,113 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + "../doc" + "encoding/json" + "fmt" + "io/ioutil" + "net/http" +) + +var CmdSearch = &Command{ + UsageLine: "search [keyword]", + Short: "search for package", + Long: ` +search packages + +The search flags are: + + -s + start a search service. This must be run before search a package + + -e + search extactly, you should input an exactly package name as keyword +`, +} + +func init() { + CmdSearch.Run = runSearch + CmdSearch.Flags = map[string]bool{ + "-s": false, + } +} + +func printSearchPrompt(flag string) { + switch flag { + case "-s": + doc.ColorLog("[INFO] You enabled start a service.\n") + case "-e": + doc.ColorLog("[INFO] You enabled exactly search.\n") + } +} + +// search packages +func runSearch(cmd *Command, args []string) { + // Check flags. + num := checkFlags(cmd.Flags, args, printSearchPrompt) + if num == -1 { + return + } + args = args[num:] + + // Check length of arguments. + if len(args) < 1 { + doc.ColorLog("[ERROR] Please input package's keyword.\n") + return + } + + if cmd.Flags["-e"] { + search(args[0], true) + } else { + search(args[0], false) + } +} + +/* +request local or remote search service to find packages according to keyword inputed +*/ +func search(keyword string, isExactly bool) { + url := "http://localhost:8991/search?" + if isExactly { + url = "http://localhost:8991/searche?" + } + resp, err := http.Get(url + keyword) + if err != nil { + doc.ColorLog(err.Error()) + return + } + defer resp.Body.Close() + + if resp.StatusCode == 200 { + contents, err := ioutil.ReadAll(resp.Body) + if err != nil { + doc.ColorLog(err.Error()) + return + } + + pkgs := make([]string, 0) + err = json.Unmarshal(contents, &pkgs) + if err != nil { + doc.ColorLog(err.Error()) + return + } + for i, pkg := range pkgs { + fmt.Println(i+1, pkg) + } + } else { + doc.ColorLog(resp.Status) + } +} diff --git a/cmd/serve.go b/cmd/serve.go new file mode 100644 index 000000000..aad54f252 --- /dev/null +++ b/cmd/serve.go @@ -0,0 +1,394 @@ +package cmd + +import ( + "../doc" + "fmt" + "github.com/syndtr/goleveldb/leveldb" + "github.com/syndtr/goleveldb/leveldb/errors" + "github.com/syndtr/goleveldb/leveldb/opt" + "io/ioutil" + "net/http" + "os" + "os/user" + "strconv" + "strings" +) + +var ( + dbDir = "~/.gopm/db" +) + +const ( + STOP = iota + LOCALRUN + RUNNING +) + +var CmdServe = &Command{ + UsageLine: "serve [:port]", + Short: "serve for package search", + Long: ` + serve provide a web service to search packages, download packages + +The serve flags are: + + -l + only service for localhost ip +`, +} + +func init() { + CmdServe.Run = runServe + CmdServe.Flags = map[string]bool{ + "-l": false, + } +} + +func printServePrompt(flag string) { + switch flag { + case "-l": + doc.ColorLog("[INFO] You enabled start a service only localhost.\n") + } +} + +// Not implemented +func autoPort() string { + return "8991" +} + +// search packages +func runServe(cmd *Command, args []string) { + // Check flags. + num := checkFlags(cmd.Flags, args, printServePrompt) + if num == -1 { + return + } + args = args[num:] + + var listen string + var port string + if cmd.Flags["-l"] { + listen += "127.0.0.1:" + port = autoPort() + } else { + listen += "0.0.0.0:" + port = "8991" + } + + // Check length of arguments. + if len(args) >= 1 { + port = args[0] + } + + startService(listen + port) +} + +func splitWord(word string, res *map[string]bool) { + for i, _ := range word { + for j, _ := range word[i:] { + w := word[i : i+j+1] + (*res)[w] = true + } + } + return +} + +func splitPkgName(pkgName string) (res map[string]bool) { + //var src string + ps := strings.Split(pkgName, "/") + if len(ps) > 1 { + ps = ps[1:] + } + + res = make(map[string]bool, 0) + res[strings.Join(ps, "/")] = true + for _, w := range ps { + splitWord(w, &res) + } + return +} + +var ( + ro *opt.ReadOptions = &opt.ReadOptions{} + wo *opt.WriteOptions = &opt.WriteOptions{} +) + +func dbGet(key string) (string, error) { + v, err := db.Get([]byte(key), ro) + return string(v), err +} + +func dbPut(key string, value string) error { + fmt.Println("put ", key, ": ", value) + return db.Put([]byte(key), []byte(value), wo) +} + +func batchPut(batch *leveldb.Batch, key string, value string) error { + fmt.Println("put ", key, ": ", value) + batch.Put([]byte(key), []byte(value)) + return nil +} + +func addPkg(pkg *Pkg) error { + batch := new(leveldb.Batch) + strLastId, err := dbGet("lastId") + if err != nil { + if err == errors.ErrNotFound { + strLastId = "0" + err = batchPut(batch, "lastId", strLastId) + } else { + return err + } + } + if err != nil { + return err + } + + fmt.Println("last id is ", strLastId) + + lastId, err := strconv.ParseInt(strLastId, 0, 64) + if err != nil { + return err + } + + pkgKey := fmt.Sprintf("index:%v", pkg.Name) + + id, err := dbGet(pkgKey) + if err != nil { + if err == errors.ErrNotFound { + id = fmt.Sprintf("%v", lastId+1) + fmt.Println(id) + err = batchPut(batch, "lastId", id) + if err == nil { + err = batchPut(batch, pkgKey, id) + } + if err == nil { + err = batchPut(batch, "pkg:"+id, pkg.Name) + } + total, err := dbGet("total") + if err != nil { + if err == errors.ErrNotFound { + total = "1" + } else { + return err + } + } else { + totalInt, err := strconv.ParseInt(total, 0, 64) + if err != nil { + return err + } + totalInt = totalInt + 1 + total = fmt.Sprintf("%v", totalInt) + } + + err = batchPut(batch, "total", total) + } else { + return err + } + } + + if err != nil { + return err + } + + vers, err := dbGet("ver:" + id) + needSplit := (err == errors.ErrNotFound) + if err != nil { + if err != errors.ErrNotFound { + return err + } + } else { + return nil + } + + if vers == "" { + fmt.Println(pkg) + vers = pkg.VerString() + } else { + if !strings.Contains(vers, pkg.VerString()) { + vers = vers + "," + pkg.VerString() + } else { + return nil + } + } + + err = batchPut(batch, "ver:"+id, vers) + if err != nil { + return err + } + + if !needSplit { + return nil + } + + keys := splitPkgName(pkg.Name) + + for key, _ := range keys { + err = batchPut(batch, fmt.Sprintf("key:%v:%v", key, id), "") + if err != nil { + return err + } + } + + return db.Write(batch, wo) +} + +func rmPkg(pkg *Pkg) { + +} + +var db *leveldb.DB + +// service should be run +func autoRun() { + s, _, _ := runningStatus() + if s == STOP { + os.StartProcess("gopm", []string{"serve", "-l"}, nil) + } +} + +func runningStatus() (int, int, int) { + contentByte, err := ioutil.ReadFile("~/.gopm/var/pid") + if err != nil { + return STOP, 0, 0 + } + content := string(contentByte) + if len(content) < 0 || !strings.Contains(content, ",") { + return STOP, 0, 0 + } + cs := strings.Split(string(content), ",") + if len(cs) != 3 { + return STOP, 0, 0 + } + status, err := strconv.Atoi(cs[0]) + if err != nil { + return STOP, 0, 0 + } + if status < STOP || status > RUNNING { + return STOP, 0, 0 + } + pid, err := strconv.Atoi(cs[1]) + if err != nil { + return STOP, 0, 0 + } + + _, err = os.FindProcess(pid) + if err != nil { + return STOP, 0, 0 + } + + port, err := strconv.Atoi(cs[2]) + if err != nil { + return STOP, 0, 0 + } + + return status, pid, port +} + +func startService(listen string) { + // check the pre serve's type + curUser, err := user.Current() + if err != nil { + fmt.Println(err) + return + } + + dbDir = strings.Replace(dbDir, "~", curUser.HomeDir, -1) + + db, err = leveldb.OpenFile(dbDir, &opt.Options{Flag: opt.OFCreateIfMissing}) + if err != nil { + fmt.Println(err) + return + } + defer db.Close() + + // these handlers should only access by localhost + http.HandleFunc("/add", addHandler) + http.HandleFunc("/rm", rmHandler) + + // these handlers can be accessed according listen's ip + http.HandleFunc("/search", searchHandler) + http.HandleFunc("/searche", searcheHandler) + http.ListenAndServe(listen, nil) +} + +func searchHandler(w http.ResponseWriter, r *http.Request) { + r.ParseForm() + ids := make(map[string]bool) + for key, _ := range r.Form { + iter := db.NewIterator(ro) + rkey := fmt.Sprintf("key:%v:", key) + if iter.Seek([]byte(rkey)) { + k := iter.Key() + if !strings.HasPrefix(string(k), rkey) { + break + } else { + ids[string(k)] = true + } + } + for iter.Next() { + k := iter.Key() + if !strings.HasPrefix(string(k), rkey) { + break + } + ids[string(k)] = true + } + } + + pkgs := make([]string, 0) + + for id, _ := range ids { + idkeys := strings.SplitN(id, ":", -1) + rId := idkeys[len(idkeys)-1] + fmt.Println(rId) + pkg, err := dbGet(fmt.Sprintf("pkg:%v", rId)) + if err != nil { + doc.ColorLog(err.Error()) + continue + } + pkgs = append(pkgs, pkg) + } + + w.Write([]byte("[\"" + strings.Join(pkgs, "\", \"") + "\"]")) +} + +func searcheHandler(w http.ResponseWriter, r *http.Request) { + //if r.Method == "POST" { + r.ParseForm() + pkgs := make([]string, 0) + for key, _ := range r.Form { + _, err := dbGet("index:" + key) + + if err != nil { + doc.ColorLog(err.Error()) + continue + } + + pkgs = append(pkgs, key) + } + + w.Write([]byte("[\"" + strings.Join(pkgs, "\", \"") + "\"]")) + //} +} + +func addHandler(w http.ResponseWriter, r *http.Request) { + //if r.Method == "POST" { + r.ParseForm() + for key, _ := range r.Form { + fmt.Println(key) + pkg := NewPkg(key, "") + if pkg != nil { + err := addPkg(pkg) + if err != nil { + fmt.Println(err) + } + } else { + fmt.Println(key) + } + } + //} +} + +func rmHandler(w http.ResponseWriter, r *http.Request) { + +} diff --git a/cmd/service.go b/cmd/service.go index a22cc0e28..f50630cc0 100644 --- a/cmd/service.go +++ b/cmd/service.go @@ -93,6 +93,10 @@ func NewPkg(pkgName string, ver string) *Pkg { verId = vers[1] } + if len(vers) == 1 { + vers[0] = TRUNK + } + service := getService(pkgName) if service == nil { return nil diff --git a/docs/features_CN.md b/docs/features_CN.md index ee31053c4..5c057e38b 100644 --- a/docs/features_CN.md +++ b/docs/features_CN.md @@ -50,6 +50,15 @@ http://gopm.io [repos] ~/.gopm/repos +#数据库说明 +包信息数据采用goleveldb,这是一个key/value数据库。数据存放规则如下: +"lastId" : "{lastId}" lastId中存放最大的Id,Id为自增 + +"index:{packageName}": "{id}" index:中存放的是包名,value中存放的是这个包的不同版本的id,不同版本用逗号分隔 + +“ver:{id}” : "{verString1}, {verString2}" 某个包版本对应的内容 + +“key:{keyword}:{id}” : "" 关键词及其对应的版本 #各命令的目标和作用 diff --git a/gopm.go b/gopm.go index b42af87ea..2f774535a 100644 --- a/gopm.go +++ b/gopm.go @@ -43,26 +43,28 @@ var ( // The order here is the order in which they are printed by 'gopm help'. var commands = []*cmd.Command{ cmd.CmdGet, - /*cmd.CmdGen, - cmdBuild, - cmdClean, - cmdDoc, - cmdEnv, - cmdFix, - cmdFmt, - cmdInstall, - cmdList, - cmdRun, - cmdTest, - cmdTool, - cmdVersion, - cmdVet, - - helpGopath, - helpPackages, - helpRemote, - helpTestflag, - helpTestfunc,*/ + cmd.CmdSearch, + cmd.CmdServe, + /* + cmdBuild, + cmdClean, + cmdDoc, + cmdEnv, + cmdFix, + cmdFmt, + cmdInstall, + cmdList, + cmdRun, + cmdTest, + cmdTool, + cmdVersion, + cmdVet, + + helpGopath, + helpPackages, + helpRemote, + helpTestflag, + helpTestfunc,*/ } // We don't use init() to initialize From a9e2e391f9d0e28b74261fd9172f547942f3f716 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 18 Aug 2013 19:12:08 +0800 Subject: [PATCH 127/287] Added github repos download --- cmd/cmd.go | 1 + cmd/get.go | 440 +++++++++++++++++++++-------------- cmd/search.go | 3 +- cmd/serve.go | 394 ------------------------------- cmd/service.go | 245 -------------------- doc/error.go | 47 ++++ doc/github.go | 196 ++++++++++++++++ doc/http.go | 150 ++++++++++++ doc/struct.go | 57 +++++ doc/utils.go | 617 +++++++++++++++++++++++++++++++++++++++++++++++++ doc/vcs.go | 246 ++++++++++++++++++++ doc/walker.go | 144 ++++++++++++ gopm.go | 46 +++- 13 files changed, 1775 insertions(+), 811 deletions(-) delete mode 100644 cmd/serve.go delete mode 100644 cmd/service.go create mode 100644 doc/error.go create mode 100644 doc/github.go create mode 100644 doc/http.go create mode 100644 doc/struct.go create mode 100644 doc/vcs.go create mode 100644 doc/walker.go diff --git a/cmd/cmd.go b/cmd/cmd.go index bf4176e04..19c96bb59 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -21,6 +21,7 @@ import ( ) var ( + AppPath string reposDir string = "~/.gopm/repos" ) diff --git a/cmd/get.go b/cmd/get.go index 2c710f7dd..96f5ffb7a 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -15,22 +15,21 @@ package cmd import ( - "archive/zip" "errors" "fmt" - "io" "net/http" - "os" "os/user" - "path" - "path/filepath" + //"path" + "regexp" "strings" - "../doc" + "github.com/gpmgo/gopm/doc" ) var ( - installGOPATH string // The GOPATH that packages are downloaded to. + installRepoPath string + downloadCache map[string]bool // Saves packages that have been downloaded. + downloadCount int ) var CmdGet = &Command{ @@ -68,10 +67,6 @@ func init() { } } -func isStandalone() bool { - return true -} - // printGetPrompt prints prompt information to users to // let them know what's going on. func printGetPrompt(flag string) { @@ -127,195 +122,304 @@ func runGet(cmd *Command, args []string) { return } - if len(args) > 0 { - var ver string = TRUNK - if len(args) == 2 { - ver = args[1] - } - pkg := NewPkg(args[0], ver) - if pkg == nil { - doc.ColorLog("[ERROR] Unrecognized package %v.\n", args[0]) - return - } - - if isStandalone() { - err := getDirect(pkg) - if err != nil { - doc.ColorLog("[ERROR] %v\n", err) - } else { - fmt.Println("done.") - } - } else { - fmt.Println("Not implemented.") - //getSource(pkgName) - } - } -} - -func dirExists(dir string) bool { - d, e := os.Stat(dir) - switch { - case e != nil: - return false - case !d.IsDir(): - return false - } - - return true -} - -func fileExists(dir string) bool { - info, err := os.Stat(dir) + curUser, err := user.Current() if err != nil { - return false + doc.ColorLog("[ERROR] Fail to get current user[ %s ]\n", err) + return } - return !info.IsDir() -} - -func joinPath(paths ...string) string { - if len(paths) < 1 { - return "" - } - res := "" - for _, p := range paths { - res = path.Join(res, p) - } - return res -} + installRepoPath = strings.Replace(reposDir, "~", curUser.HomeDir, -1) + doc.ColorLog("[INFO] Packages will be installed into( %s )\n", installRepoPath) -func download(url string, localfile string) error { - fmt.Println("Downloading", url, "...") - resp, err := http.Get(url) - if err != nil { - return err - } - defer resp.Body.Close() + nodes := []*doc.Node{} + // ver describles branch, tag or commit. + var t, ver string = doc.BRANCH, doc.TRUNK - localdir := filepath.Dir(localfile) - if !dirExists(localdir) { - err = os.MkdirAll(localdir, 0777) + if len(args) >= 2 { + t, ver, err = validPath(args[1]) if err != nil { - return err + doc.ColorLog("[ERROR] Fail to parse 'args'[ %s ]\n", err) + return } } - if !fileExists(localfile) { - f, err := os.Create(localfile) - if err == nil { - _, err = io.Copy(f, resp.Body) - } - if err != nil { - return err - } - } + nodes = append(nodes, &doc.Node{ + ImportPath: args[0], + Type: t, + Value: ver, + IsGetDeps: true, + }) - return nil -} + // Download package(s). + downloadPackages(nodes) -func extractPkg(pkg *Pkg, localfile string, update bool) error { - fmt.Println("Extracting package", pkg.Name, "...") + doc.ColorLog("[INFO] %d package(s) downloaded.\n", downloadCount) +} - gopath := os.Getenv("GOPATH") - var childDirs []string = strings.Split(pkg.Name, "/") +// downloadPackages downloads packages with certain commit, +// if the commit is empty string, then it downloads all dependencies, +// otherwise, it only downloada package with specific commit only. +func downloadPackages(nodes []*doc.Node) { + // Check all packages, they may be raw packages path. + for _, n := range nodes { + // Check if it is a valid remote path. + if doc.IsValidRemotePath(n.ImportPath) { + if !CmdGet.Flags["-u"] { + // Check if package has been downloaded. + if _, ok := doc.CheckIsExistInGOPATH(n.ImportPath); ok { + doc.ColorLog("[WARN] Skipped installed package( %s => %s:%s )\n", + n.ImportPath, n.Type, n.Value) + continue + } + } - if pkg.Ver != TRUNK { - childDirs[len(childDirs)-1] = fmt.Sprintf("%v_%v_%v", childDirs[len(childDirs)-1], pkg.Ver, pkg.VerId) - } - dstDir := joinPath(gopath, "src", joinPath(childDirs...)) - //fmt.Println(dstDir) - var err error - if !update { - if dirExists(dstDir) { - return nil - } - err = os.MkdirAll(dstDir, 0777) - } else { - if dirExists(dstDir) { - err = os.Remove(dstDir) + if !downloadCache[n.ImportPath] { + // Download package. + nod, imports := downloadPackage(n) + if len(imports) > 0 { + // Need to download dependencies. + // Generate temporary nodes. + nodes := make([]*doc.Node, len(imports)) + for i := range nodes { + nodes[i] = new(doc.Node) + nodes[i].ImportPath = imports[i] + } + downloadPackages(nodes) + } + + // Only save package information with specific commit. + if nod != nil { + // Save record in local nodes. + doc.ColorLog("[SUCC] Downloaded package( %s => %s:%s )\n", + n.ImportPath, n.Type, n.Value) + downloadCount++ + //saveNode(nod) + } + } else { + doc.ColorLog("[WARN] Skipped downloaded package( %s => %s:%s )\n", + n.ImportPath, n.Type, n.Value) + } } else { - err = os.MkdirAll(dstDir, 0777) + // Invalid import path. + doc.ColorLog("[WARN] Skipped invalid package path( %s => %s:%s )\n", + n.ImportPath, n.Type, n.Value) } } +} + +// downloadPackage downloads package either use version control tools or not. +func downloadPackage(nod *doc.Node) (*doc.Node, []string) { + // Mark as donwloaded. + downloadCache[nod.ImportPath] = true + + imports, err := pureDownload(nod) if err != nil { - return err + doc.ColorLog("[ERRO] Download falied[ %s ]\n", err) + return nil, nil } + return nod, imports +} - if path.Ext(localfile) != ".zip" { - return errors.New("Not implemented!") - } +// validPath checks if the information of the package is valid. +func validPath(info string) (string, string, error) { + infos := strings.Split(info, ":") - r, err := zip.OpenReader(localfile) - if err != nil { - return err + l := len(infos) + switch { + case l > 2: + return "", "", errors.New("Invalid information of package") + case l == 1: + return doc.BRANCH, doc.TRUNK, nil + case l == 2: + return infos[0], infos[1], nil + default: + return "", "", errors.New("Cannot match any case") } - defer r.Close() +} - for _, f := range r.File { - fmt.Printf("Contents of %s:\n", f.Name) - if f.FileInfo().IsDir() { - continue - } +// service represents a source code control service. +type service struct { + pattern *regexp.Regexp + prefix string + get func(*http.Client, map[string]string, string, *doc.Node, map[string]bool) ([]string, error) +} - paths := strings.Split(f.Name, "/")[1:] - //fmt.Println(paths) - if len(paths) < 1 { +// services is the list of source code control services handled by gopkgdoc. +var services = []*service{ + {doc.GithubPattern, "github.com/", doc.GetGithubDoc}, + // {doc.GooglePattern, "code.google.com/", doc.GetGoogleDoc}, + // {doc.BitbucketPattern, "bitbucket.org/", doc.GetBitbucketDoc}, + // {doc.LaunchpadPattern, "launchpad.net/", doc.GetLaunchpadDoc}, +} + +// pureDownload downloads package without version control. +func pureDownload(nod *doc.Node) ([]string, error) { + for _, s := range services { + if s.get == nil || !strings.HasPrefix(nod.ImportPath, s.prefix) { continue } - - if len(paths) > 1 { - childDir := joinPath(dstDir, joinPath(paths[0:len(paths)-1]...)) - //fmt.Println("creating", childDir) - err = os.MkdirAll(childDir, 0777) - if err != nil { - return err + m := s.pattern.FindStringSubmatch(nod.ImportPath) + if m == nil { + if s.prefix != "" { + return nil, errors.New("Cannot match package service prefix by given path") } + continue } - - rc, err := f.Open() - if err != nil { - return err - } - - newF, err := os.Create(path.Join(dstDir, joinPath(paths...))) - if err == nil { - _, err = io.Copy(newF, rc) - } - if err != nil { - return err + match := map[string]string{"importPath": nod.ImportPath} + for i, n := range s.pattern.SubexpNames() { + if n != "" { + match[n] = m[i] + } } - rc.Close() - } - return nil -} - -func getPackage(pkg *Pkg, url string) error { - curUser, err := user.Current() - if err != nil { - return err + return s.get(doc.HttpClient, match, installRepoPath, nod, CmdGet.Flags) } - - reposDir = strings.Replace(reposDir, "~", curUser.HomeDir, -1) - localdir := path.Join(reposDir, pkg.Name) - localdir, err = filepath.Abs(localdir) - if err != nil { - return err - } - - localfile := path.Join(localdir, pkg.FileName()) - - err = download(url, localfile) - if err != nil { - return err - } - - return extractPkg(pkg, localfile, false) + return nil, errors.New("Cannot match any package service by given path") } -func getDirect(pkg *Pkg) error { - return getPackage(pkg, pkg.Url()) -} +// func joinPath(paths ...string) string { +// if len(paths) < 1 { +// return "" +// } +// res := "" +// for _, p := range paths { +// res = path.Join(res, p) +// } +// return res +// } + +// func download(url string, localfile string) error { +// fmt.Println("Downloading", url, "...") +// resp, err := http.Get(url) +// if err != nil { +// return err +// } +// defer resp.Body.Close() + +// localdir := filepath.Dir(localfile) +// if !dirExists(localdir) { +// err = os.MkdirAll(localdir, 0777) +// if err != nil { +// return err +// } +// } + +// if !fileExists(localfile) { +// f, err := os.Create(localfile) +// if err == nil { +// _, err = io.Copy(f, resp.Body) +// } +// if err != nil { +// return err +// } +// } + +// return nil +// } + +// func extractPkg(pkg *Pkg, localfile string, update bool) error { +// fmt.Println("Extracting package", pkg.Name, "...") + +// gopath := os.Getenv("GOPATH") +// var childDirs []string = strings.Split(pkg.Name, "/") + +// if pkg.Ver != TRUNK { +// childDirs[len(childDirs)-1] = fmt.Sprintf("%v_%v_%v", childDirs[len(childDirs)-1], pkg.Ver, pkg.VerId) +// } +// dstDir := joinPath(gopath, "src", joinPath(childDirs...)) +// //fmt.Println(dstDir) +// var err error +// if !update { +// if dirExists(dstDir) { +// return nil +// } +// err = os.MkdirAll(dstDir, 0777) +// } else { +// if dirExists(dstDir) { +// err = os.Remove(dstDir) +// } else { +// err = os.MkdirAll(dstDir, 0777) +// } +// } + +// if err != nil { +// return err +// } + +// if path.Ext(localfile) != ".zip" { +// return errors.New("Not implemented!") +// } + +// r, err := zip.OpenReader(localfile) +// if err != nil { +// return err +// } +// defer r.Close() + +// for _, f := range r.File { +// fmt.Printf("Contents of %s:\n", f.Name) +// if f.FileInfo().IsDir() { +// continue +// } + +// paths := strings.Split(f.Name, "/")[1:] +// //fmt.Println(paths) +// if len(paths) < 1 { +// continue +// } + +// if len(paths) > 1 { +// childDir := joinPath(dstDir, joinPath(paths[0:len(paths)-1]...)) +// //fmt.Println("creating", childDir) +// err = os.MkdirAll(childDir, 0777) +// if err != nil { +// return err +// } +// } + +// rc, err := f.Open() +// if err != nil { +// return err +// } + +// newF, err := os.Create(path.Join(dstDir, joinPath(paths...))) +// if err == nil { +// _, err = io.Copy(newF, rc) +// } +// if err != nil { +// return err +// } +// rc.Close() +// } +// return nil +// } + +// func getPackage(pkg *Pkg, url string) error { +// curUser, err := user.Current() +// if err != nil { +// return err +// } + +// reposDir = strings.Replace(reposDir, "~", curUser.HomeDir, -1) +// localdir := path.Join(reposDir, pkg.Name) +// localdir, err = filepath.Abs(localdir) +// if err != nil { +// return err +// } + +// localfile := path.Join(localdir, pkg.FileName()) + +// err = download(url, localfile) +// if err != nil { +// return err +// } + +// return extractPkg(pkg, localfile, false) +// } + +// func getDirect(pkg *Pkg) error { +// return getPackage(pkg, pkg.Url()) +// } /*func getFromSource(pkgName string, ver string, source string) error { urlTempl := "https://%v/%v" diff --git a/cmd/search.go b/cmd/search.go index 58864f449..dd30e8c44 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -15,11 +15,12 @@ package cmd import ( - "../doc" "encoding/json" "fmt" "io/ioutil" "net/http" + + "github.com/gpmgo/gopm/doc" ) var CmdSearch = &Command{ diff --git a/cmd/serve.go b/cmd/serve.go deleted file mode 100644 index aad54f252..000000000 --- a/cmd/serve.go +++ /dev/null @@ -1,394 +0,0 @@ -package cmd - -import ( - "../doc" - "fmt" - "github.com/syndtr/goleveldb/leveldb" - "github.com/syndtr/goleveldb/leveldb/errors" - "github.com/syndtr/goleveldb/leveldb/opt" - "io/ioutil" - "net/http" - "os" - "os/user" - "strconv" - "strings" -) - -var ( - dbDir = "~/.gopm/db" -) - -const ( - STOP = iota - LOCALRUN - RUNNING -) - -var CmdServe = &Command{ - UsageLine: "serve [:port]", - Short: "serve for package search", - Long: ` - serve provide a web service to search packages, download packages - -The serve flags are: - - -l - only service for localhost ip -`, -} - -func init() { - CmdServe.Run = runServe - CmdServe.Flags = map[string]bool{ - "-l": false, - } -} - -func printServePrompt(flag string) { - switch flag { - case "-l": - doc.ColorLog("[INFO] You enabled start a service only localhost.\n") - } -} - -// Not implemented -func autoPort() string { - return "8991" -} - -// search packages -func runServe(cmd *Command, args []string) { - // Check flags. - num := checkFlags(cmd.Flags, args, printServePrompt) - if num == -1 { - return - } - args = args[num:] - - var listen string - var port string - if cmd.Flags["-l"] { - listen += "127.0.0.1:" - port = autoPort() - } else { - listen += "0.0.0.0:" - port = "8991" - } - - // Check length of arguments. - if len(args) >= 1 { - port = args[0] - } - - startService(listen + port) -} - -func splitWord(word string, res *map[string]bool) { - for i, _ := range word { - for j, _ := range word[i:] { - w := word[i : i+j+1] - (*res)[w] = true - } - } - return -} - -func splitPkgName(pkgName string) (res map[string]bool) { - //var src string - ps := strings.Split(pkgName, "/") - if len(ps) > 1 { - ps = ps[1:] - } - - res = make(map[string]bool, 0) - res[strings.Join(ps, "/")] = true - for _, w := range ps { - splitWord(w, &res) - } - return -} - -var ( - ro *opt.ReadOptions = &opt.ReadOptions{} - wo *opt.WriteOptions = &opt.WriteOptions{} -) - -func dbGet(key string) (string, error) { - v, err := db.Get([]byte(key), ro) - return string(v), err -} - -func dbPut(key string, value string) error { - fmt.Println("put ", key, ": ", value) - return db.Put([]byte(key), []byte(value), wo) -} - -func batchPut(batch *leveldb.Batch, key string, value string) error { - fmt.Println("put ", key, ": ", value) - batch.Put([]byte(key), []byte(value)) - return nil -} - -func addPkg(pkg *Pkg) error { - batch := new(leveldb.Batch) - strLastId, err := dbGet("lastId") - if err != nil { - if err == errors.ErrNotFound { - strLastId = "0" - err = batchPut(batch, "lastId", strLastId) - } else { - return err - } - } - if err != nil { - return err - } - - fmt.Println("last id is ", strLastId) - - lastId, err := strconv.ParseInt(strLastId, 0, 64) - if err != nil { - return err - } - - pkgKey := fmt.Sprintf("index:%v", pkg.Name) - - id, err := dbGet(pkgKey) - if err != nil { - if err == errors.ErrNotFound { - id = fmt.Sprintf("%v", lastId+1) - fmt.Println(id) - err = batchPut(batch, "lastId", id) - if err == nil { - err = batchPut(batch, pkgKey, id) - } - if err == nil { - err = batchPut(batch, "pkg:"+id, pkg.Name) - } - total, err := dbGet("total") - if err != nil { - if err == errors.ErrNotFound { - total = "1" - } else { - return err - } - } else { - totalInt, err := strconv.ParseInt(total, 0, 64) - if err != nil { - return err - } - totalInt = totalInt + 1 - total = fmt.Sprintf("%v", totalInt) - } - - err = batchPut(batch, "total", total) - } else { - return err - } - } - - if err != nil { - return err - } - - vers, err := dbGet("ver:" + id) - needSplit := (err == errors.ErrNotFound) - if err != nil { - if err != errors.ErrNotFound { - return err - } - } else { - return nil - } - - if vers == "" { - fmt.Println(pkg) - vers = pkg.VerString() - } else { - if !strings.Contains(vers, pkg.VerString()) { - vers = vers + "," + pkg.VerString() - } else { - return nil - } - } - - err = batchPut(batch, "ver:"+id, vers) - if err != nil { - return err - } - - if !needSplit { - return nil - } - - keys := splitPkgName(pkg.Name) - - for key, _ := range keys { - err = batchPut(batch, fmt.Sprintf("key:%v:%v", key, id), "") - if err != nil { - return err - } - } - - return db.Write(batch, wo) -} - -func rmPkg(pkg *Pkg) { - -} - -var db *leveldb.DB - -// service should be run -func autoRun() { - s, _, _ := runningStatus() - if s == STOP { - os.StartProcess("gopm", []string{"serve", "-l"}, nil) - } -} - -func runningStatus() (int, int, int) { - contentByte, err := ioutil.ReadFile("~/.gopm/var/pid") - if err != nil { - return STOP, 0, 0 - } - content := string(contentByte) - if len(content) < 0 || !strings.Contains(content, ",") { - return STOP, 0, 0 - } - cs := strings.Split(string(content), ",") - if len(cs) != 3 { - return STOP, 0, 0 - } - status, err := strconv.Atoi(cs[0]) - if err != nil { - return STOP, 0, 0 - } - if status < STOP || status > RUNNING { - return STOP, 0, 0 - } - pid, err := strconv.Atoi(cs[1]) - if err != nil { - return STOP, 0, 0 - } - - _, err = os.FindProcess(pid) - if err != nil { - return STOP, 0, 0 - } - - port, err := strconv.Atoi(cs[2]) - if err != nil { - return STOP, 0, 0 - } - - return status, pid, port -} - -func startService(listen string) { - // check the pre serve's type - curUser, err := user.Current() - if err != nil { - fmt.Println(err) - return - } - - dbDir = strings.Replace(dbDir, "~", curUser.HomeDir, -1) - - db, err = leveldb.OpenFile(dbDir, &opt.Options{Flag: opt.OFCreateIfMissing}) - if err != nil { - fmt.Println(err) - return - } - defer db.Close() - - // these handlers should only access by localhost - http.HandleFunc("/add", addHandler) - http.HandleFunc("/rm", rmHandler) - - // these handlers can be accessed according listen's ip - http.HandleFunc("/search", searchHandler) - http.HandleFunc("/searche", searcheHandler) - http.ListenAndServe(listen, nil) -} - -func searchHandler(w http.ResponseWriter, r *http.Request) { - r.ParseForm() - ids := make(map[string]bool) - for key, _ := range r.Form { - iter := db.NewIterator(ro) - rkey := fmt.Sprintf("key:%v:", key) - if iter.Seek([]byte(rkey)) { - k := iter.Key() - if !strings.HasPrefix(string(k), rkey) { - break - } else { - ids[string(k)] = true - } - } - for iter.Next() { - k := iter.Key() - if !strings.HasPrefix(string(k), rkey) { - break - } - ids[string(k)] = true - } - } - - pkgs := make([]string, 0) - - for id, _ := range ids { - idkeys := strings.SplitN(id, ":", -1) - rId := idkeys[len(idkeys)-1] - fmt.Println(rId) - pkg, err := dbGet(fmt.Sprintf("pkg:%v", rId)) - if err != nil { - doc.ColorLog(err.Error()) - continue - } - pkgs = append(pkgs, pkg) - } - - w.Write([]byte("[\"" + strings.Join(pkgs, "\", \"") + "\"]")) -} - -func searcheHandler(w http.ResponseWriter, r *http.Request) { - //if r.Method == "POST" { - r.ParseForm() - pkgs := make([]string, 0) - for key, _ := range r.Form { - _, err := dbGet("index:" + key) - - if err != nil { - doc.ColorLog(err.Error()) - continue - } - - pkgs = append(pkgs, key) - } - - w.Write([]byte("[\"" + strings.Join(pkgs, "\", \"") + "\"]")) - //} -} - -func addHandler(w http.ResponseWriter, r *http.Request) { - //if r.Method == "POST" { - r.ParseForm() - for key, _ := range r.Form { - fmt.Println(key) - pkg := NewPkg(key, "") - if pkg != nil { - err := addPkg(pkg) - if err != nil { - fmt.Println(err) - } - } else { - fmt.Println(key) - } - } - //} -} - -func rmHandler(w http.ResponseWriter, r *http.Request) { - -} diff --git a/cmd/service.go b/cmd/service.go deleted file mode 100644 index f50630cc0..000000000 --- a/cmd/service.go +++ /dev/null @@ -1,245 +0,0 @@ -// Copyright 2013 gopm authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"): you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations -// under the License. - -package cmd - -import ( - //"errors" - "fmt" - "strings" -) - -const ( - TRUNK = "trunk" - TAG = "tag" - BRANCH = "branch" - COMMIT = "commit" -) - -var ( - downloadCache map[string]bool // Saves packages that have been downloaded. - services []Service = []Service{ - &GithubService{}, - &GitOscService{}, - &BitBucketService{}, - //&GitCafeService{}, - //&CodeCSDNSource{}, - } -) - -func getService(pkgName string) Service { - for _, service := range services { - if service.HasPkg(pkgName) { - return service - } - } - return nil -} - -type Service interface { - PkgUrl(pkg *Pkg) string - HasPkg(pkgName string) bool - PkgExt() string -} - -type Pkg struct { - Service Service - Name string - Ver string - VerId string -} - -func (p *Pkg) VerSimpleString() string { - if p.VerId != "" { - return p.VerId - } - return p.Ver -} - -func (p *Pkg) VerString() string { - if p.VerId == "" { - return p.Ver - } - return fmt.Sprintf("%v:%v", p.Ver, p.VerId) -} - -func (p *Pkg) Url() string { - return p.Service.PkgUrl(p) -} - -func (p *Pkg) FileName() string { - return fmt.Sprintf("%v.%v", p.VerSimpleString(), p.Service.PkgExt()) -} - -func NewPkg(pkgName string, ver string) *Pkg { - vers := strings.Split(ver, ":") - if len(vers) > 2 { - return nil - } - - var verId string - if len(vers) == 2 { - verId = vers[1] - } - - if len(vers) == 1 { - vers[0] = TRUNK - } - - service := getService(pkgName) - if service == nil { - return nil - } - - return &Pkg{service, pkgName, vers[0], verId} -} - -// github repository -type GithubService struct { -} - -func (s *GithubService) PkgUrl(pkg *Pkg) string { - var verPath string - if pkg.Ver == TRUNK { - verPath = "master" - } else { - verPath = pkg.VerId - } - return fmt.Sprintf("https://%v/archive/%v.zip", pkg.Name, verPath) -} - -func (s *GithubService) HasPkg(pkgName string) bool { - return strings.HasPrefix(pkgName, "github.com") -} - -func (s *GithubService) PkgExt() string { - return "zip" -} - -// git osc repos -type GitOscService struct { -} - -func (s *GitOscService) PkgUrl(pkg *Pkg) string { - var verPath string - if pkg.Ver == TRUNK { - verPath = "master" - } else { - verPath = pkg.VerId - } - return fmt.Sprintf("https://%v/repository/archive?ref=%v", pkg.Name, verPath) -} - -func (s *GitOscService) HasPkg(pkgName string) bool { - return strings.HasPrefix(pkgName, "git.oschina.net") -} - -func (s *GitOscService) PkgExt() string { - return "zip" -} - -// bitbucket.org -type BitBucketService struct { -} - -func (s *BitBucketService) PkgUrl(pkg *Pkg) string { - var verPath string - if pkg.Ver == TRUNK { - verPath = "default" - } else { - verPath = pkg.VerId - } - - return fmt.Sprintf("https://%v/get/%v.zip", pkg.Name, verPath) -} - -func (s *BitBucketService) HasPkg(pkgName string) bool { - return strings.HasPrefix(pkgName, "bitbucket.org") -} - -func (s *BitBucketService) PkgExt() string { - return "zip" -} - -type GitCafeService struct { -} - -func (s *GitCafeService) PkgUrl(pkg *Pkg) string { - var verPath string - if pkg.Ver == TRUNK { - verPath = "master" - } else { - verPath = pkg.VerId - } - - return fmt.Sprintf("https://%v/tarball/%v", pkg.Name, verPath) -} - -func (s *GitCafeService) HasPkg(pkgName string) bool { - return strings.HasPrefix(pkgName, "gitcafe.com") -} - -func (s *GitCafeService) PkgExt() string { - return "tar.gz" -} - -// git lab repos, not completed -type GitLabService struct { - DomainOrIp string - Username string - Passwd string - PrivateKey string -} - -func (s *GitLabService) PkgUrl(pkg *Pkg) string { - var verPath string - if pkg.Ver == TRUNK { - verPath = "master" - } else { - verPath = pkg.VerId - } - - return fmt.Sprintf("https://%v/repository/archive/%v", pkg.Name, verPath) -} - -func (s *GitLabService) HasPkg(pkgName string) bool { - return strings.HasPrefix(pkgName, s.DomainOrIp) -} - -func (s *GitLabService) PkgExt() string { - return "tar.gz" -} - -// code.csdn.net -type CodeCSDNService struct { -} - -func (s *CodeCSDNService) PkgUrl(pkg *Pkg) string { - var verPath string - if pkg.Ver == TRUNK { - verPath = "master" - } else { - verPath = pkg.VerId - } - - return fmt.Sprintf("https://%v/repository/archive?ref=%v", pkg.Name, verPath) -} - -func (s *CodeCSDNService) HasPkg(pkgName string) bool { - return strings.HasPrefix(pkgName, "code.csdn.net") -} - -func (s *CodeCSDNService) PkgExt() string { - return "zip" -} diff --git a/doc/error.go b/doc/error.go new file mode 100644 index 000000000..3c6ea8406 --- /dev/null +++ b/doc/error.go @@ -0,0 +1,47 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "errors" +) + +var ( + errNotModified = errors.New("Package not modified") + errNoMatch = errors.New("no match") + errUpdateTimeout = errors.New("update timeout") +) + +type NotFoundError struct { + Message string +} + +func (e NotFoundError) Error() string { + return e.Message +} + +func isNotFound(err error) bool { + _, ok := err.(NotFoundError) + return ok +} + +type RemoteError struct { + Host string + err error +} + +func (e *RemoteError) Error() string { + return e.err.Error() +} diff --git a/doc/github.go b/doc/github.go new file mode 100644 index 000000000..fd025a489 --- /dev/null +++ b/doc/github.go @@ -0,0 +1,196 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "archive/zip" + "bytes" + "errors" + "io" + "net/http" + "os" + "path" + "regexp" + "strings" +) + +var ( + githubRawHeader = http.Header{"Accept": {"application/vnd.github-blob.raw"}} + GithubPattern = regexp.MustCompile(`^github\.com/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P

    /[a-z0-9A-Z_.\-/]*)?$`) + githubCred string +) + +/*func SetGithubCredentials(id, secret string) { + //githubCred = "client_id=" + id + "&client_secret=" + secret +}*/ + +func SetGithubCredentials(token string) { + if len(token) > 0 { + githubCred = "access_token=" + token + } +} + +// GetGithubDoc downloads tarball from github.com. +func GetGithubDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { + match["cred"] = githubCred + + if nod.Type == BRANCH { + nod.Value = MASTER + match["sha"] = nod.Value + } + + ColorLog("[TRAC] Downloading package( %s => %s:%s )\n", + nod.ImportPath, nod.Type, nod.Value) + + // JSON struct for github.com. + var refs []*struct { + Ref string + Url string + Object struct { + Sha string + Type string + Url string + } + } + + if nod.IsGetDeps { + if nod.Type == COMMIT { + // Get up-to-date version. + err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) + if err != nil { + return nil, err + } + + for _, ref := range refs { + if strings.HasPrefix(ref.Ref, "refs/heads/master") { + match["sha"] = ref.Object.Sha + break + } + } + + nod.Value = match["sha"] + } + } else { + // Check downlaod type. + switch nod.Type { + case TAG, COMMIT, BRANCH: + match["sha"] = nod.Value + default: + return nil, errors.New("Unknown node type: " + nod.Type) + } + } + + // We use .zip here. + // zip : https://github.com/{owner}/{repo}/archive/{sha}.zip + // tarball : https://github.com/{owner}/{repo}/tarball/{sha} + + // Downlaod archive. + p, err := httpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) + if err != nil { + return nil, err + } + + shaName := expand("{repo}-{sha}", match) + if nod.Type == "tag" { + shaName = strings.Replace(shaName, "-v", "-", 1) + } + + projectPath := expand("github.com/{owner}/{repo}", match) + installPath := installRepoPath + "/" + projectPath + "." + nod.Value + nod.ImportPath = projectPath + + // Remove old files. + os.RemoveAll(installPath + "/") + // Create destination directory. + os.MkdirAll(installPath+"/", os.ModePerm) + + r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) + if err != nil { + return nil, err + } + + dirs := make([]string, 0, 5) + // Need to add root path because we cannot get from tarball. + dirs = append(dirs, installPath+"/") + for _, f := range r.File { + absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) + + compareDir: + switch { + case strings.HasSuffix(absPath, "/"): // Directory. + // Check if current directory is example. + if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + for _, d := range dirs { + if d == absPath { + break compareDir + } + } + dirs = append(dirs, absPath) + } + case !strings.HasPrefix(f.FileInfo().Name(), "."): + // Get file from archive. + rc, err := f.Open() + if err != nil { + return nil, err + } + + // Write data to file + fw, _ := os.Create(absPath) + if err != nil { + return nil, err + } + + _, err = io.Copy(fw, rc) + // Close files. + rc.Close() + fw.Close() + if err != nil { + return nil, err + } + + // Set modify time. + os.Chtimes(absPath, f.ModTime(), f.ModTime()) + } + } + + var imports []string + + // Check if need to check imports. + if nod.IsGetDeps { + for _, d := range dirs { + importPkgs, err := CheckImports(d, match["importPath"]) + if err != nil { + return nil, err + } + imports = append(imports, importPkgs...) + } + } + + /*fpath := appPath + "repo/tarballs/" + node.ImportPath + "-" + node.Value + ".zip" + // Save tarball. + if autoBackup && !utils.IsExist(fpath) { + os.MkdirAll(path.Dir(fpath)+"/", os.ModePerm) + f, err := os.Create(fpath) + if err != nil { + return nil, err + } + defer f.Close() + _, err = f.Write(p) + }*/ + + return imports, err +} diff --git a/doc/http.go b/doc/http.go new file mode 100644 index 000000000..7b307cd45 --- /dev/null +++ b/doc/http.go @@ -0,0 +1,150 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "encoding/json" + "flag" + "fmt" + "io" + "io/ioutil" + "net" + "net/http" + "time" + + "github.com/astaxie/beego" +) + +var userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1541.0 Safari/537.36" + +var ( + dialTimeout = flag.Duration("dial_timeout", 10*time.Second, "Timeout for dialing an HTTP connection.") + requestTimeout = flag.Duration("request_timeout", 20*time.Second, "Time out for roundtripping an HTTP request.") +) + +func timeoutDial(network, addr string) (net.Conn, error) { + return net.DialTimeout(network, addr, *dialTimeout) +} + +type transport struct { + t http.Transport +} + +func (t *transport) RoundTrip(req *http.Request) (*http.Response, error) { + timer := time.AfterFunc(*requestTimeout, func() { + t.t.CancelRequest(req) + beego.Warn("Canceled request for %s", req.URL) + }) + defer timer.Stop() + resp, err := t.t.RoundTrip(req) + return resp, err +} + +var ( + httpTransport = &transport{t: http.Transport{Dial: timeoutDial, ResponseHeaderTimeout: *requestTimeout / 2}} + HttpClient = &http.Client{Transport: httpTransport} +) + +// httpGet gets the specified resource. ErrNotFound is returned if the server +// responds with status 404. +func httpGetBytes(client *http.Client, url string, header http.Header) ([]byte, error) { + rc, err := httpGet(client, url, header) + if err != nil { + return nil, err + } + p, err := ioutil.ReadAll(rc) + rc.Close() + return p, err +} + +// httpGet gets the specified resource. ErrNotFound is returned if the +// server responds with status 404. +func httpGet(client *http.Client, url string, header http.Header) (io.ReadCloser, error) { + req, err := http.NewRequest("GET", url, nil) + if err != nil { + return nil, err + } + req.Header.Set("User-Agent", userAgent) + for k, vs := range header { + req.Header[k] = vs + } + resp, err := client.Do(req) + if err != nil { + return nil, &RemoteError{req.URL.Host, err} + } + if resp.StatusCode == 200 { + return resp.Body, nil + } + resp.Body.Close() + if resp.StatusCode == 404 { // 403 can be rate limit error. || resp.StatusCode == 403 { + err = NotFoundError{"Resource not found: " + url} + } else { + err = &RemoteError{req.URL.Host, fmt.Errorf("get %s -> %d", url, resp.StatusCode)} + } + return nil, err +} + +// fetchFiles fetches the source files specified by the rawURL field in parallel. +func fetchFiles(client *http.Client, files []*source, header http.Header) error { + ch := make(chan error, len(files)) + for i := range files { + go func(i int) { + req, err := http.NewRequest("GET", files[i].rawURL, nil) + if err != nil { + ch <- err + return + } + req.Header.Set("User-Agent", userAgent) + for k, vs := range header { + req.Header[k] = vs + } + resp, err := client.Do(req) + if err != nil { + ch <- &RemoteError{req.URL.Host, err} + return + } + defer resp.Body.Close() + if resp.StatusCode != 200 { + ch <- &RemoteError{req.URL.Host, fmt.Errorf("get %s -> %d", req.URL, resp.StatusCode)} + return + } + files[i].data, err = ioutil.ReadAll(resp.Body) + if err != nil { + ch <- &RemoteError{req.URL.Host, err} + return + } + ch <- nil + }(i) + } + for _ = range files { + if err := <-ch; err != nil { + return err + } + } + return nil +} + +func httpGetJSON(client *http.Client, url string, v interface{}) error { + rc, err := httpGet(client, url, nil) + if err != nil { + return err + } + defer rc.Close() + err = json.NewDecoder(rc).Decode(v) + if _, ok := err.(*json.SyntaxError); ok { + err = NotFoundError{"JSON syntax error at " + url} + } + return err +} diff --git a/doc/struct.go b/doc/struct.go new file mode 100644 index 000000000..16bb7a2ec --- /dev/null +++ b/doc/struct.go @@ -0,0 +1,57 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "go/token" + "os" + "time" +) + +const ( + TRUNK = "trunk" + MASTER = "master" + TAG = "tag" + BRANCH = "branch" + COMMIT = "commit" +) + +type Node struct { + ImportPath string + Type string + Value string // Branch, tag or commit. + IsGetDeps bool +} + +// source is source code file. +type source struct { + rawURL string + name string + data []byte +} + +func (s *source) Name() string { return s.name } +func (s *source) Size() int64 { return int64(len(s.data)) } +func (s *source) Mode() os.FileMode { return 0 } +func (s *source) ModTime() time.Time { return time.Time{} } +func (s *source) IsDir() bool { return false } +func (s *source) Sys() interface{} { return nil } + +// walker holds the state used when building the documentation. +type walker struct { + ImportPath string + srcs map[string]*source // Source files. + fset *token.FileSet +} diff --git a/doc/utils.go b/doc/utils.go index bf2f74524..b08fa4f99 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -16,10 +16,19 @@ package doc import ( "fmt" + "os" + "path" + "regexp" "runtime" "strings" ) +// IsExist returns if a file or directory exists +func IsExist(path string) bool { + _, err := os.Stat(path) + return err == nil || os.IsExist(err) +} + const ( Gray = uint8(iota + 90) Red @@ -86,3 +95,611 @@ func getColorLevel(level string) string { return level } } + +// GetGOPATH returns all paths in GOPATH variable. +func GetGOPATH() []string { + gopath := os.Getenv("GOPATH") + var paths []string + if runtime.GOOS == "windows" { + gopath = strings.Replace(gopath, "\\", "/", -1) + paths = strings.Split(gopath, ";") + } else { + paths = strings.Split(gopath, ":") + } + return paths +} + +// GetGOPATH returns best matched GOPATH. +func GetBestMatchGOPATH(appPath string) string { + paths := GetGOPATH() + for _, p := range paths { + if strings.HasPrefix(p, appPath) { + return strings.Replace(p, "\\", "/", -1) + } + } + return paths[0] +} + +// GetDirsInfo returns os.FileInfo of all sub-directories in root path. +func GetDirsInfo(rootPath string) ([]os.FileInfo, error) { + rootDir, err := os.Open(rootPath) + if err != nil { + return nil, err + } + defer rootDir.Close() + + dirs, err := rootDir.Readdir(0) + if err != nil { + return nil, err + } + + return dirs, err +} + +// CheckIsExistWithVCS returns false if directory only has VCS folder, +// or doesn't exist. +func CheckIsExistWithVCS(path string) bool { + // Check if directory exist. + if !IsExist(path) { + return false + } + + // Check if only has VCS folder. + dirs, err := GetDirsInfo(path) + if err != nil { + ColorLog("[ERRO] CheckIsExistWithVCS -> [ %s ]\n", err) + return false + } + + if len(dirs) > 1 { + return true + } else if len(dirs) == 0 { + return false + } + + switch dirs[0].Name() { + case ".git", ".hg", ".svn": + return false + } + + return true +} + +// CheckIsExistInGOPATH checks if given package import path exists in any path in GOPATH/src, +// and returns corresponding GOPATH. +func CheckIsExistInGOPATH(importPath string) (string, bool) { + paths := GetGOPATH() + for _, p := range paths { + if CheckIsExistWithVCS(p + "/src/" + importPath + "/") { + return p, true + } + } + return "", false +} + +// GetProjectPath returns project path of import path. +func GetProjectPath(importPath string) (projectPath string) { + projectPath = importPath + + // Check project hosting. + switch { + case strings.HasPrefix(importPath, "github.com"): + projectPath = joinPath(importPath, 3) + case strings.HasPrefix(importPath, "code.google.com"): + projectPath = joinPath(importPath, 3) + case strings.HasPrefix(importPath, "bitbucket.org"): + projectPath = joinPath(importPath, 3) + case strings.HasPrefix(importPath, "launchpad.net"): + projectPath = joinPath(importPath, 2) + } + + return projectPath +} + +func joinPath(importPath string, num int) string { + subdirs := strings.Split(importPath, "/") + if len(subdirs) > num { + return strings.Join(subdirs[:num], "/") + } + return importPath +} + +var validTLD = map[string]bool{ + // curl http://data.iana.org/TLD/tlds-alpha-by-domain.txt | sed -e '/#/ d' -e 's/.*/"&": true,/' | tr [:upper:] [:lower:] + ".ac": true, + ".ad": true, + ".ae": true, + ".aero": true, + ".af": true, + ".ag": true, + ".ai": true, + ".al": true, + ".am": true, + ".an": true, + ".ao": true, + ".aq": true, + ".ar": true, + ".arpa": true, + ".as": true, + ".asia": true, + ".at": true, + ".au": true, + ".aw": true, + ".ax": true, + ".az": true, + ".ba": true, + ".bb": true, + ".bd": true, + ".be": true, + ".bf": true, + ".bg": true, + ".bh": true, + ".bi": true, + ".biz": true, + ".bj": true, + ".bm": true, + ".bn": true, + ".bo": true, + ".br": true, + ".bs": true, + ".bt": true, + ".bv": true, + ".bw": true, + ".by": true, + ".bz": true, + ".ca": true, + ".cat": true, + ".cc": true, + ".cd": true, + ".cf": true, + ".cg": true, + ".ch": true, + ".ci": true, + ".ck": true, + ".cl": true, + ".cm": true, + ".cn": true, + ".co": true, + ".com": true, + ".coop": true, + ".cr": true, + ".cu": true, + ".cv": true, + ".cw": true, + ".cx": true, + ".cy": true, + ".cz": true, + ".de": true, + ".dj": true, + ".dk": true, + ".dm": true, + ".do": true, + ".dz": true, + ".ec": true, + ".edu": true, + ".ee": true, + ".eg": true, + ".er": true, + ".es": true, + ".et": true, + ".eu": true, + ".fi": true, + ".fj": true, + ".fk": true, + ".fm": true, + ".fo": true, + ".fr": true, + ".ga": true, + ".gb": true, + ".gd": true, + ".ge": true, + ".gf": true, + ".gg": true, + ".gh": true, + ".gi": true, + ".gl": true, + ".gm": true, + ".gn": true, + ".gov": true, + ".gp": true, + ".gq": true, + ".gr": true, + ".gs": true, + ".gt": true, + ".gu": true, + ".gw": true, + ".gy": true, + ".hk": true, + ".hm": true, + ".hn": true, + ".hr": true, + ".ht": true, + ".hu": true, + ".id": true, + ".ie": true, + ".il": true, + ".im": true, + ".in": true, + ".info": true, + ".int": true, + ".io": true, + ".iq": true, + ".ir": true, + ".is": true, + ".it": true, + ".je": true, + ".jm": true, + ".jo": true, + ".jobs": true, + ".jp": true, + ".ke": true, + ".kg": true, + ".kh": true, + ".ki": true, + ".km": true, + ".kn": true, + ".kp": true, + ".kr": true, + ".kw": true, + ".ky": true, + ".kz": true, + ".la": true, + ".lb": true, + ".lc": true, + ".li": true, + ".lk": true, + ".lr": true, + ".ls": true, + ".lt": true, + ".lu": true, + ".lv": true, + ".ly": true, + ".ma": true, + ".mc": true, + ".md": true, + ".me": true, + ".mg": true, + ".mh": true, + ".mil": true, + ".mk": true, + ".ml": true, + ".mm": true, + ".mn": true, + ".mo": true, + ".mobi": true, + ".mp": true, + ".mq": true, + ".mr": true, + ".ms": true, + ".mt": true, + ".mu": true, + ".museum": true, + ".mv": true, + ".mw": true, + ".mx": true, + ".my": true, + ".mz": true, + ".na": true, + ".name": true, + ".nc": true, + ".ne": true, + ".net": true, + ".nf": true, + ".ng": true, + ".ni": true, + ".nl": true, + ".no": true, + ".np": true, + ".nr": true, + ".nu": true, + ".nz": true, + ".om": true, + ".org": true, + ".pa": true, + ".pe": true, + ".pf": true, + ".pg": true, + ".ph": true, + ".pk": true, + ".pl": true, + ".pm": true, + ".pn": true, + ".post": true, + ".pr": true, + ".pro": true, + ".ps": true, + ".pt": true, + ".pw": true, + ".py": true, + ".qa": true, + ".re": true, + ".ro": true, + ".rs": true, + ".ru": true, + ".rw": true, + ".sa": true, + ".sb": true, + ".sc": true, + ".sd": true, + ".se": true, + ".sg": true, + ".sh": true, + ".si": true, + ".sj": true, + ".sk": true, + ".sl": true, + ".sm": true, + ".sn": true, + ".so": true, + ".sr": true, + ".st": true, + ".su": true, + ".sv": true, + ".sx": true, + ".sy": true, + ".sz": true, + ".tc": true, + ".td": true, + ".tel": true, + ".tf": true, + ".tg": true, + ".th": true, + ".tj": true, + ".tk": true, + ".tl": true, + ".tm": true, + ".tn": true, + ".to": true, + ".tp": true, + ".tr": true, + ".travel": true, + ".tt": true, + ".tv": true, + ".tw": true, + ".tz": true, + ".ua": true, + ".ug": true, + ".uk": true, + ".us": true, + ".uy": true, + ".uz": true, + ".va": true, + ".vc": true, + ".ve": true, + ".vg": true, + ".vi": true, + ".vn": true, + ".vu": true, + ".wf": true, + ".ws": true, + ".xn--0zwm56d": true, + ".xn--11b5bs3a9aj6g": true, + ".xn--3e0b707e": true, + ".xn--45brj9c": true, + ".xn--80akhbyknj4f": true, + ".xn--80ao21a": true, + ".xn--90a3ac": true, + ".xn--9t4b11yi5a": true, + ".xn--clchc0ea0b2g2a9gcd": true, + ".xn--deba0ad": true, + ".xn--fiqs8s": true, + ".xn--fiqz9s": true, + ".xn--fpcrj9c3d": true, + ".xn--fzc2c9e2c": true, + ".xn--g6w251d": true, + ".xn--gecrj9c": true, + ".xn--h2brj9c": true, + ".xn--hgbk6aj7f53bba": true, + ".xn--hlcj6aya9esc7a": true, + ".xn--j6w193g": true, + ".xn--jxalpdlp": true, + ".xn--kgbechtv": true, + ".xn--kprw13d": true, + ".xn--kpry57d": true, + ".xn--lgbbat1ad8j": true, + ".xn--mgb9awbf": true, + ".xn--mgbaam7a8h": true, + ".xn--mgbayh7gpa": true, + ".xn--mgbbh1a71e": true, + ".xn--mgbc0a9azcg": true, + ".xn--mgberp4a5d4ar": true, + ".xn--mgbx4cd0ab": true, + ".xn--o3cw4h": true, + ".xn--ogbpf8fl": true, + ".xn--p1ai": true, + ".xn--pgbs0dh": true, + ".xn--s9brj9c": true, + ".xn--wgbh1c": true, + ".xn--wgbl6a": true, + ".xn--xkc2al3hye2a": true, + ".xn--xkc2dl3a5ee0h": true, + ".xn--yfro4i67o": true, + ".xn--ygbi2ammx": true, + ".xn--zckzah": true, + ".xxx": true, + ".ye": true, + ".yt": true, + ".za": true, + ".zm": true, + ".zw": true, +} + +var ( + validHost = regexp.MustCompile(`^[-a-z0-9]+(?:\.[-a-z0-9]+)+$`) + validPathElement = regexp.MustCompile(`^[-A-Za-z0-9~+][-A-Za-z0-9_.]*$`) +) + +// IsValidRemotePath returns true if importPath is structurally valid for "go get". +func IsValidRemotePath(importPath string) bool { + + parts := strings.Split(importPath, "/") + + if len(parts) <= 1 { + // Import path must contain at least one "/". + return false + } + + if !validTLD[path.Ext(parts[0])] { + return false + } + + if !validHost.MatchString(parts[0]) { + return false + } + for _, part := range parts[1:] { + if !validPathElement.MatchString(part) || part == "testdata" { + return false + } + } + + return true +} + +var standardPath = map[string]bool{ + "builtin": true, + + // go list -f '"{{.ImportPath}}": true,' std | grep -v 'cmd/|exp/' + "cmd/api": true, + "cmd/cgo": true, + "cmd/fix": true, + "cmd/go": true, + "cmd/godoc": true, + "cmd/gofmt": true, + "cmd/vet": true, + "cmd/yacc": true, + "archive/tar": true, + "archive/zip": true, + "bufio": true, + "bytes": true, + "compress/bzip2": true, + "compress/flate": true, + "compress/gzip": true, + "compress/lzw": true, + "compress/zlib": true, + "container/heap": true, + "container/list": true, + "container/ring": true, + "crypto": true, + "crypto/aes": true, + "crypto/cipher": true, + "crypto/des": true, + "crypto/dsa": true, + "crypto/ecdsa": true, + "crypto/elliptic": true, + "crypto/hmac": true, + "crypto/md5": true, + "crypto/rand": true, + "crypto/rc4": true, + "crypto/rsa": true, + "crypto/sha1": true, + "crypto/sha256": true, + "crypto/sha512": true, + "crypto/subtle": true, + "crypto/tls": true, + "crypto/x509": true, + "crypto/x509/pkix": true, + "database/sql": true, + "database/sql/driver": true, + "debug/dwarf": true, + "debug/elf": true, + "debug/gosym": true, + "debug/macho": true, + "debug/pe": true, + "encoding/ascii85": true, + "encoding/asn1": true, + "encoding/base32": true, + "encoding/base64": true, + "encoding/binary": true, + "encoding/csv": true, + "encoding/gob": true, + "encoding/hex": true, + "encoding/json": true, + "encoding/pem": true, + "encoding/xml": true, + "errors": true, + "expvar": true, + "flag": true, + "fmt": true, + "go/ast": true, + "go/build": true, + "go/doc": true, + "go/format": true, + "go/parser": true, + "go/printer": true, + "go/scanner": true, + "go/token": true, + "hash": true, + "hash/adler32": true, + "hash/crc32": true, + "hash/crc64": true, + "hash/fnv": true, + "html": true, + "html/template": true, + "image": true, + "image/color": true, + "image/draw": true, + "image/gif": true, + "image/jpeg": true, + "image/png": true, + "index/suffixarray": true, + "io": true, + "io/ioutil": true, + "log": true, + "log/syslog": true, + "math": true, + "math/big": true, + "math/cmplx": true, + "math/rand": true, + "mime": true, + "mime/multipart": true, + "net": true, + "net/http": true, + "net/http/cgi": true, + "net/http/cookiejar": true, + "net/http/fcgi": true, + "net/http/httptest": true, + "net/http/httputil": true, + "net/http/pprof": true, + "net/mail": true, + "net/rpc": true, + "net/rpc/jsonrpc": true, + "net/smtp": true, + "net/textproto": true, + "net/url": true, + "os": true, + "os/exec": true, + "os/signal": true, + "os/user": true, + "path": true, + "path/filepath": true, + "reflect": true, + "regexp": true, + "regexp/syntax": true, + "runtime": true, + "runtime/cgo": true, + "runtime/debug": true, + "runtime/pprof": true, + "sort": true, + "strconv": true, + "strings": true, + "sync": true, + "sync/atomic": true, + "syscall": true, + "testing": true, + "testing/iotest": true, + "testing/quick": true, + "text/scanner": true, + "text/tabwriter": true, + "text/template": true, + "text/template/parse": true, + "time": true, + "unicode": true, + "unicode/utf16": true, + "unicode/utf8": true, + "unsafe": true, +} + +// IsGoRepoPath returns true if package is from standard library. +func IsGoRepoPath(importPath string) bool { + return standardPath[importPath] +} diff --git a/doc/vcs.go b/doc/vcs.go new file mode 100644 index 000000000..1ab3231d2 --- /dev/null +++ b/doc/vcs.go @@ -0,0 +1,246 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "bytes" + "io/ioutil" + "log" + "os" + "os/exec" + "path" + "regexp" + "strconv" + "strings" +) + +var ( + appPath string + autoBackup bool +) + +func SetAppConfig(path string, backup bool) { + appPath = path + autoBackup = backup +} + +// TODO: specify with command line flag +const repoRoot = "/tmp/gddo" + +var urlTemplates = []struct { + re *regexp.Regexp + template string + lineFmt string +}{ + { + regexp.MustCompile(`^git\.gitorious\.org/(?P[^/]+/[^/]+)$`), + "https://gitorious.org/{repo}/blobs/{tag}/{dir}{0}", + "#line%d", + }, + { + regexp.MustCompile(`^camlistore\.org/r/p/(?P[^/]+)$`), + "http://camlistore.org/code/?p={repo}.git;hb={tag};f={dir}{0}", + "#l%d", + }, +} + +// lookupURLTemplate finds an expand() template, match map and line number +// format for well known repositories. +func lookupURLTemplate(repo, dir, tag string) (string, map[string]string, string) { + if strings.HasPrefix(dir, "/") { + dir = dir[1:] + "/" + } + for _, t := range urlTemplates { + if m := t.re.FindStringSubmatch(repo); m != nil { + match := map[string]string{ + "dir": dir, + "tag": tag, + } + for i, name := range t.re.SubexpNames() { + if name != "" { + match[name] = m[i] + } + } + return t.template, match, t.lineFmt + } + } + return "", nil, "" +} + +type vcsCmd struct { + schemes []string + download func([]string, string, string) (string, string, error) +} + +var vcsCmds = map[string]*vcsCmd{ + "git": &vcsCmd{ + schemes: []string{"http", "https", "git"}, + download: downloadGit, + }, +} + +var lsremoteRe = regexp.MustCompile(`(?m)^([0-9a-f]{40})\s+refs/(?:tags|heads)/(.+)$`) + +func downloadGit(schemes []string, repo, savedEtag string) (string, string, error) { + var p []byte + var scheme string + for i := range schemes { + cmd := exec.Command("git", "ls-remote", "--heads", "--tags", schemes[i]+"://"+repo+".git") + log.Println(strings.Join(cmd.Args, " ")) + var err error + p, err = cmd.Output() + if err == nil { + scheme = schemes[i] + break + } + } + + if scheme == "" { + return "", "", NotFoundError{"VCS not found"} + } + + tags := make(map[string]string) + for _, m := range lsremoteRe.FindAllSubmatch(p, -1) { + tags[string(m[2])] = string(m[1]) + } + + tag, commit, err := bestTag(tags, "master") + if err != nil { + return "", "", err + } + + etag := scheme + "-" + commit + + if etag == savedEtag { + return "", "", errNotModified + } + + dir := path.Join(repoRoot, repo+".git") + p, err = ioutil.ReadFile(path.Join(dir, ".git/HEAD")) + switch { + case err != nil: + if err := os.MkdirAll(dir, 0777); err != nil { + return "", "", err + } + cmd := exec.Command("git", "clone", scheme+"://"+repo, dir) + log.Println(strings.Join(cmd.Args, " ")) + if err := cmd.Run(); err != nil { + return "", "", err + } + case string(bytes.TrimRight(p, "\n")) == commit: + return tag, etag, nil + default: + cmd := exec.Command("git", "fetch") + log.Println(strings.Join(cmd.Args, " ")) + cmd.Dir = dir + if err := cmd.Run(); err != nil { + return "", "", err + } + } + + cmd := exec.Command("git", "checkout", "--detach", "--force", commit) + cmd.Dir = dir + if err := cmd.Run(); err != nil { + return "", "", err + } + + return tag, etag, nil +} + +var defaultTags = map[string]string{"git": "master", "hg": "default"} + +func bestTag(tags map[string]string, defaultTag string) (string, string, error) { + if commit, ok := tags["go1"]; ok { + return "go1", commit, nil + } + if commit, ok := tags[defaultTag]; ok { + return defaultTag, commit, nil + } + return "", "", NotFoundError{"Tag or branch not found."} +} + +// expand replaces {k} in template with match[k] or subs[atoi(k)] if k is not in match. +func expand(template string, match map[string]string, subs ...string) string { + var p []byte + var i int + for { + i = strings.Index(template, "{") + if i < 0 { + break + } + p = append(p, template[:i]...) + template = template[i+1:] + i = strings.Index(template, "}") + if s, ok := match[template[:i]]; ok { + p = append(p, s...) + } else { + j, _ := strconv.Atoi(template[:i]) + p = append(p, subs[j]...) + } + template = template[i+1:] + } + p = append(p, template...) + return string(p) +} + +// checkImports checks package denpendencies. +func CheckImports(absPath, importPath string) (importPkgs []string, err error) { + dir, err := os.Open(absPath) + if err != nil { + return nil, err + } + defer dir.Close() + + // Get file info slice. + fis, err := dir.Readdir(0) + if err != nil { + return nil, err + } + + files := make([]*source, 0, 10) + for _, fi := range fis { + // Only handle files. + if strings.HasSuffix(fi.Name(), ".go") { + f, err := os.Open(absPath + fi.Name()) + if err != nil { + return nil, err + } + + fbytes := make([]byte, fi.Size()) + _, err = f.Read(fbytes) + f.Close() + + if err != nil { + return nil, err + } + + files = append(files, &source{ + name: fi.Name(), + data: fbytes, + }) + } + } + + // Check if has Go source files. + if len(files) > 0 { + w := &walker{ImportPath: importPath} + importPkgs, err = w.build(files) + if err != nil { + return nil, err + } + } + + return importPkgs, err +} diff --git a/doc/walker.go b/doc/walker.go new file mode 100644 index 000000000..0bc597e24 --- /dev/null +++ b/doc/walker.go @@ -0,0 +1,144 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "bytes" + "errors" + "go/ast" + "go/build" + "go/parser" + "go/token" + "io" + "io/ioutil" + "os" + "path" + "runtime" + "strings" +) + +type sliceWriter struct{ p *[]byte } + +func (w sliceWriter) Write(p []byte) (int, error) { + *w.p = append(*w.p, p...) + return len(p), nil +} + +func (w *walker) readDir(dir string) ([]os.FileInfo, error) { + if dir != w.ImportPath { + panic("unexpected") + } + fis := make([]os.FileInfo, 0, len(w.srcs)) + for _, src := range w.srcs { + fis = append(fis, src) + } + return fis, nil +} + +func (w *walker) openFile(path string) (io.ReadCloser, error) { + if strings.HasPrefix(path, w.ImportPath+"/") { + if src, ok := w.srcs[path[len(w.ImportPath)+1:]]; ok { + return ioutil.NopCloser(bytes.NewReader(src.data)), nil + } + } + panic("unexpected") +} + +func simpleImporter(imports map[string]*ast.Object, path string) (*ast.Object, error) { + pkg := imports[path] + if pkg == nil { + // Guess the package name without importing it. Start with the last + // element of the path. + name := path[strings.LastIndex(path, "/")+1:] + + // Trim commonly used prefixes and suffixes containing illegal name + // runes. + name = strings.TrimSuffix(name, ".go") + name = strings.TrimSuffix(name, "-go") + name = strings.TrimPrefix(name, "go.") + name = strings.TrimPrefix(name, "go-") + name = strings.TrimPrefix(name, "biogo.") + + // It's also common for the last element of the path to contain an + // extra "go" prefix, but not always. TODO: examine unresolved ids to + // detect when trimming the "go" prefix is appropriate. + + pkg = ast.NewObj(ast.Pkg, name) + pkg.Data = ast.NewScope(nil) + imports[path] = pkg + } + return pkg, nil +} + +// build gets imports from source files. +func (w *walker) build(srcs []*source) ([]string, error) { + // Add source files to walker, I skipped references here. + w.srcs = make(map[string]*source) + for _, src := range srcs { + w.srcs[src.name] = src + } + + w.fset = token.NewFileSet() + + // Find the package and associated files. + ctxt := build.Context{ + GOOS: runtime.GOOS, + GOARCH: runtime.GOARCH, + CgoEnabled: true, + JoinPath: path.Join, + IsAbsPath: path.IsAbs, + SplitPathList: func(list string) []string { return strings.Split(list, ":") }, + IsDir: func(path string) bool { panic("unexpected") }, + HasSubdir: func(root, dir string) (rel string, ok bool) { panic("unexpected") }, + ReadDir: func(dir string) (fi []os.FileInfo, err error) { return w.readDir(dir) }, + OpenFile: func(path string) (r io.ReadCloser, err error) { return w.openFile(path) }, + Compiler: "gc", + } + + bpkg, err := ctxt.ImportDir(w.ImportPath, 0) + // Continue if there are no Go source files; we still want the directory info. + _, nogo := err.(*build.NoGoError) + if err != nil { + if nogo { + err = nil + } else { + return nil, errors.New("doc.walker.build(): " + err.Error()) + } + } + + // Parse the Go files + + files := make(map[string]*ast.File) + for _, name := range append(bpkg.GoFiles, bpkg.CgoFiles...) { + file, err := parser.ParseFile(w.fset, name, w.srcs[name].data, parser.ParseComments) + if err != nil { + //beego.Error("doc.walker.build():", err) + continue + } + files[name] = file + } + + w.ImportPath = strings.Replace(w.ImportPath, "\\", "/", -1) + var imports []string + for _, v := range bpkg.Imports { + // Skip strandard library. + if !IsGoRepoPath(v) && + (GetProjectPath(v) != GetProjectPath(w.ImportPath)) { + imports = append(imports, v) + } + } + + return imports, err +} diff --git a/gopm.go b/gopm.go index 2f774535a..d46ad6f87 100644 --- a/gopm.go +++ b/gopm.go @@ -19,6 +19,9 @@ import ( "fmt" "io" "os" + "os/exec" + "path" + "path/filepath" "runtime" "strings" "sync" @@ -26,14 +29,15 @@ import ( "unicode" "unicode/utf8" - "./cmd" + "github.com/gpmgo/gopm/cmd" + "github.com/gpmgo/gopm/doc" ) // +build go1.1 // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.1.0.0813" +const APP_VER = "0.1.0.0818" var ( config map[string]interface{} @@ -44,7 +48,7 @@ var ( var commands = []*cmd.Command{ cmd.CmdGet, cmd.CmdSearch, - cmd.CmdServe, + //cmd.CmdServe, /* cmdBuild, cmdClean, @@ -67,10 +71,46 @@ var commands = []*cmd.Command{ helpTestfunc,*/ } +// getAppPath returns application execute path for current process. +func getAppPath() bool { + // Look up executable in PATH variable. + cmd.AppPath, _ = exec.LookPath(path.Base(os.Args[0])) + // Check if run under $GOPATH/bin. + if !doc.IsExist(cmd.AppPath + "docs/") { + paths := doc.GetGOPATH() + for _, p := range paths { + if doc.IsExist(p + "/src/github.com/gpmgoo/gopm/") { + cmd.AppPath = p + "/src/github.com/gpmgo/gopm/" + break + } + } + } + + if len(cmd.AppPath) == 0 { + doc.ColorLog("[ERRO] Cannot assign 'AppPath'[ %s ]\n", + "Unable to indicate current execute path") + return false + } + + cmd.AppPath = filepath.Dir(cmd.AppPath) + "/" + if runtime.GOOS == "windows" { + // Replace all '\' to '/'. + cmd.AppPath = strings.Replace(cmd.AppPath, "\\", "/", -1) + } + + return true +} + // We don't use init() to initialize // bacause we need to get execute path in runtime. func initialize() bool { runtime.GOMAXPROCS(runtime.NumCPU()) + + // Get application execute path. + if !getAppPath() { + return false + } + return true } From ec4cf895d50d07fa07373ae82ea5881a63d7e269 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 18 Aug 2013 19:39:28 +0800 Subject: [PATCH 128/287] Updated download check --- cmd/get.go | 23 ++++++++++++++++++----- doc/github.go | 18 +++++++++++------- doc/struct.go | 11 ++++++----- 3 files changed, 35 insertions(+), 17 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 96f5ffb7a..0b41c684b 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -133,7 +133,7 @@ func runGet(cmd *Command, args []string) { nodes := []*doc.Node{} // ver describles branch, tag or commit. - var t, ver string = doc.BRANCH, doc.TRUNK + var t, ver string = doc.BRANCH, "" if len(args) >= 2 { t, ver, err = validPath(args[1]) @@ -166,7 +166,11 @@ func downloadPackages(nodes []*doc.Node) { if doc.IsValidRemotePath(n.ImportPath) { if !CmdGet.Flags["-u"] { // Check if package has been downloaded. - if _, ok := doc.CheckIsExistInGOPATH(n.ImportPath); ok { + installPath := installRepoPath + "/" + n.ImportPath + if len(n.Value) > 0 { + installPath += "." + n.Value + } + if doc.IsExist(installPath) { doc.ColorLog("[WARN] Skipped installed package( %s => %s:%s )\n", n.ImportPath, n.Type, n.Value) continue @@ -181,8 +185,11 @@ func downloadPackages(nodes []*doc.Node) { // Generate temporary nodes. nodes := make([]*doc.Node, len(imports)) for i := range nodes { - nodes[i] = new(doc.Node) - nodes[i].ImportPath = imports[i] + nodes[i] = &doc.Node{ + ImportPath: imports[i], + Type: doc.BRANCH, + IsGetDeps: true, + } } downloadPackages(nodes) } @@ -209,6 +216,8 @@ func downloadPackages(nodes []*doc.Node) { // downloadPackage downloads package either use version control tools or not. func downloadPackage(nod *doc.Node) (*doc.Node, []string) { + doc.ColorLog("[TRAC] Downloading package( %s => %s:%s )\n", + nod.ImportPath, nod.Type, nod.Value) // Mark as donwloaded. downloadCache[nod.ImportPath] = true @@ -230,8 +239,12 @@ func validPath(info string) (string, string, error) { case l > 2: return "", "", errors.New("Invalid information of package") case l == 1: - return doc.BRANCH, doc.TRUNK, nil + return doc.BRANCH, "", nil case l == 2: + switch infos[1] { + case doc.TRUNK, doc.MASTER, doc.DEFAULT: + infos[1] = "" + } return infos[0], infos[1], nil default: return "", "", errors.New("Cannot match any case") diff --git a/doc/github.go b/doc/github.go index fd025a489..1fe87db67 100644 --- a/doc/github.go +++ b/doc/github.go @@ -47,13 +47,13 @@ func GetGithubDoc(client *http.Client, match map[string]string, installRepoPath match["cred"] = githubCred if nod.Type == BRANCH { - nod.Value = MASTER - match["sha"] = nod.Value + if len(nod.Value) == 0 { + match["sha"] = MASTER + } else { + match["sha"] = nod.Value + } } - ColorLog("[TRAC] Downloading package( %s => %s:%s )\n", - nod.ImportPath, nod.Type, nod.Value) - // JSON struct for github.com. var refs []*struct { Ref string @@ -107,13 +107,17 @@ func GetGithubDoc(client *http.Client, match map[string]string, installRepoPath shaName = strings.Replace(shaName, "-v", "-", 1) } + suf := "." + nod.Value + if len(suf) == 1 { + suf = "" + } + projectPath := expand("github.com/{owner}/{repo}", match) - installPath := installRepoPath + "/" + projectPath + "." + nod.Value + installPath := installRepoPath + "/" + projectPath + suf nod.ImportPath = projectPath // Remove old files. os.RemoveAll(installPath + "/") - // Create destination directory. os.MkdirAll(installPath+"/", os.ModePerm) r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) diff --git a/doc/struct.go b/doc/struct.go index 16bb7a2ec..96b769e83 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -21,11 +21,12 @@ import ( ) const ( - TRUNK = "trunk" - MASTER = "master" - TAG = "tag" - BRANCH = "branch" - COMMIT = "commit" + TRUNK = "trunk" + MASTER = "master" + DEFAULT = "default" + TAG = "tag" + BRANCH = "branch" + COMMIT = "commit" ) type Node struct { From 0415c7b03f299f4664ea6e795f47a1fd95199a77 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 18 Aug 2013 22:01:06 +0800 Subject: [PATCH 129/287] Added download repos of google code --- cmd/get.go | 79 +----------------- doc/github.go | 2 +- doc/google.go | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/http.go | 2 +- 4 files changed, 231 insertions(+), 79 deletions(-) create mode 100644 doc/google.go diff --git a/cmd/get.go b/cmd/get.go index 0b41c684b..17bb1d86c 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -166,7 +166,7 @@ func downloadPackages(nodes []*doc.Node) { if doc.IsValidRemotePath(n.ImportPath) { if !CmdGet.Flags["-u"] { // Check if package has been downloaded. - installPath := installRepoPath + "/" + n.ImportPath + installPath := installRepoPath + "/" + doc.GetProjectPath(n.ImportPath) if len(n.Value) > 0 { installPath += "." + n.Value } @@ -261,7 +261,7 @@ type service struct { // services is the list of source code control services handled by gopkgdoc. var services = []*service{ {doc.GithubPattern, "github.com/", doc.GetGithubDoc}, - // {doc.GooglePattern, "code.google.com/", doc.GetGoogleDoc}, + {doc.GooglePattern, "code.google.com/", doc.GetGoogleDoc}, // {doc.BitbucketPattern, "bitbucket.org/", doc.GetBitbucketDoc}, // {doc.LaunchpadPattern, "launchpad.net/", doc.GetLaunchpadDoc}, } @@ -290,46 +290,6 @@ func pureDownload(nod *doc.Node) ([]string, error) { return nil, errors.New("Cannot match any package service by given path") } -// func joinPath(paths ...string) string { -// if len(paths) < 1 { -// return "" -// } -// res := "" -// for _, p := range paths { -// res = path.Join(res, p) -// } -// return res -// } - -// func download(url string, localfile string) error { -// fmt.Println("Downloading", url, "...") -// resp, err := http.Get(url) -// if err != nil { -// return err -// } -// defer resp.Body.Close() - -// localdir := filepath.Dir(localfile) -// if !dirExists(localdir) { -// err = os.MkdirAll(localdir, 0777) -// if err != nil { -// return err -// } -// } - -// if !fileExists(localfile) { -// f, err := os.Create(localfile) -// if err == nil { -// _, err = io.Copy(f, resp.Body) -// } -// if err != nil { -// return err -// } -// } - -// return nil -// } - // func extractPkg(pkg *Pkg, localfile string, update bool) error { // fmt.Println("Extracting package", pkg.Name, "...") @@ -406,38 +366,3 @@ func pureDownload(nod *doc.Node) ([]string, error) { // } // return nil // } - -// func getPackage(pkg *Pkg, url string) error { -// curUser, err := user.Current() -// if err != nil { -// return err -// } - -// reposDir = strings.Replace(reposDir, "~", curUser.HomeDir, -1) -// localdir := path.Join(reposDir, pkg.Name) -// localdir, err = filepath.Abs(localdir) -// if err != nil { -// return err -// } - -// localfile := path.Join(localdir, pkg.FileName()) - -// err = download(url, localfile) -// if err != nil { -// return err -// } - -// return extractPkg(pkg, localfile, false) -// } - -// func getDirect(pkg *Pkg) error { -// return getPackage(pkg, pkg.Url()) -// } - -/*func getFromSource(pkgName string, ver string, source string) error { - urlTempl := "https://%v/%v" - //urlTempl := "https://%v/archive/master.zip" - url := fmt.Sprintf(urlTempl, source, pkgName) - - return getPackage(pkgName, ver, url) -}*/ diff --git a/doc/github.go b/doc/github.go index 1fe87db67..e5ef672f5 100644 --- a/doc/github.go +++ b/doc/github.go @@ -97,7 +97,7 @@ func GetGithubDoc(client *http.Client, match map[string]string, installRepoPath // tarball : https://github.com/{owner}/{repo}/tarball/{sha} // Downlaod archive. - p, err := httpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) + p, err := HttpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) if err != nil { return nil, err } diff --git a/doc/google.go b/doc/google.go new file mode 100644 index 000000000..7147deb99 --- /dev/null +++ b/doc/google.go @@ -0,0 +1,227 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "net/http" + "os" + "path" + "regexp" + "strings" +) + +var ( + googleRepoRe = regexp.MustCompile(`id="checkoutcmd">(hg|git|svn)`) + googleRevisionRe = regexp.MustCompile(`

    (?:[^ ]+ - )?Revision *([^:]+):`) + googleEtagRe = regexp.MustCompile(`^(hg|git|svn)-`) + googleFileRe = regexp.MustCompile(`
  • [a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) +) + +func setupGoogleMatch(match map[string]string) { + if s := match["subrepo"]; s != "" { + match["dot"] = "." + match["query"] = "?repo=" + s + } else { + match["dot"] = "" + match["query"] = "" + } +} + +func getGoogleVCS(client *http.Client, match map[string]string) error { + // Scrape the HTML project page to find the VCS. + p, err := HttpGetBytes(client, expand("http://code.google.com/p/{repo}/source/checkout", match), nil) + if err != nil { + return err + } + m := googleRepoRe.FindSubmatch(p) + if m == nil { + return NotFoundError{"Could not VCS on Google Code project page."} + } + + match["vcs"] = string(m[1]) + return nil +} + +// GetGoogleDoc downloads raw files from code.google.com. +func GetGoogleDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { + setupGoogleMatch(match) + // Check version control. + if m := googleEtagRe.FindStringSubmatch(nod.Value); m != nil { + match["vcs"] = m[1] + } else if err := getGoogleVCS(client, match); err != nil { + return nil, err + } + + rootPath := expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) + + // Scrape the repo browser to find the project revision and individual Go files. + p, err := HttpGetBytes(client, rootPath+"?r="+nod.Value, nil) + if err != nil { + return nil, err + } + + suf := "." + nod.Value + if len(suf) == 1 { + suf = "" + } + + projectPath := expand("code.google.com/p/{repo}{dot}{subrepo}{dir}", match) + installPath := installRepoPath + "/" + projectPath + suf + nod.ImportPath = projectPath + + // Remove old files. + os.RemoveAll(installPath + "/") + os.MkdirAll(installPath+"/", os.ModePerm) + + // Get source files in root path. + files := make([]*source, 0, 5) + for _, m := range googleFileRe.FindAllSubmatch(p, -1) { + fname := strings.Split(string(m[1]), "?")[0] + if strings.HasPrefix(fname, ".") { + continue + } + + files = append(files, &source{ + name: fname, + rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + nod.Value, + }) + } + + // Fetch files from VCS. + if err := fetchFiles(client, files, nil); err != nil { + return nil, err + } + + // Save files. + for _, f := range files { + absPath := installPath + "/" + + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath), os.ModePerm) + + // Write data to file + fw, err := os.Create(absPath + f.name) + if err != nil { + return nil, err + } + + _, err = fw.Write(f.data) + fw.Close() + if err != nil { + return nil, err + } + } + + dirs := make([]string, 0, 3) + // Get subdirectories. + for _, m := range googleDirRe.FindAllSubmatch(p, -1) { + dirName := strings.Split(string(m[1]), "?")[0] + if strings.HasSuffix(dirName, "/") { + dirs = append(dirs, dirName) + } + } + + err = downloadFiles(client, match, rootPath, installPath+"/", nod.Value, dirs) + if err != nil { + return nil, err + } + + var imports []string + + // Check if need to check imports. + if nod.IsGetDeps { + dirs, err := GetDirsInfo(installPath + "/") + if err != nil { + return nil, err + } + + for _, d := range dirs { + if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { + absPath := installPath + "/" + d.Name() + "/" + importPkgs, err := CheckImports(absPath, match["importPath"]) + if err != nil { + return nil, err + } + imports = append(imports, importPkgs...) + } + } + } + + return imports, err +} + +func downloadFiles(client *http.Client, match map[string]string, rootPath, installPath, commit string, dirs []string) error { + for _, d := range dirs { + p, err := HttpGetBytes(client, rootPath+d+"?r="+commit, nil) + if err != nil { + return err + } + + // Create destination directory. + os.MkdirAll(installPath+d, os.ModePerm) + + // Get source files in current path. + files := make([]*source, 0, 5) + for _, m := range googleFileRe.FindAllSubmatch(p, -1) { + fname := strings.Split(string(m[1]), "?")[0] + files = append(files, &source{ + name: fname, + rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) + d + fname + "?r=" + commit, + }) + } + + // Fetch files from VCS. + if err := fetchFiles(client, files, nil); err != nil { + return err + } + + // Save files. + for _, f := range files { + absPath := installPath + d + + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath), os.ModePerm) + + // Write data to file + fw, err := os.Create(absPath + f.name) + if err != nil { + return err + } + + _, err = fw.Write(f.data) + fw.Close() + if err != nil { + return err + } + } + + subdirs := make([]string, 0, 3) + // Get subdirectories. + for _, m := range googleDirRe.FindAllSubmatch(p, -1) { + dirName := strings.Split(string(m[1]), "?")[0] + if strings.HasSuffix(dirName, "/") { + subdirs = append(subdirs, d+dirName) + } + } + + err = downloadFiles(client, match, rootPath, installPath, commit, subdirs) + if err != nil { + return err + } + } + return nil +} diff --git a/doc/http.go b/doc/http.go index 7b307cd45..d63e31da9 100644 --- a/doc/http.go +++ b/doc/http.go @@ -59,7 +59,7 @@ var ( // httpGet gets the specified resource. ErrNotFound is returned if the server // responds with status 404. -func httpGetBytes(client *http.Client, url string, header http.Header) ([]byte, error) { +func HttpGetBytes(client *http.Client, url string, header http.Header) ([]byte, error) { rc, err := httpGet(client, url, header) if err != nil { return nil, err From 49c085315eba1d869cd69db22de2287900ddaf39 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 18 Aug 2013 22:23:32 +0800 Subject: [PATCH 130/287] Added download repos of bitbucket --- cmd/get.go | 2 +- doc/bitbucket.go | 204 +++++++++++++++++++++++++++++++++++++++++++++++ gopm.go | 2 +- 3 files changed, 206 insertions(+), 2 deletions(-) create mode 100644 doc/bitbucket.go diff --git a/cmd/get.go b/cmd/get.go index 17bb1d86c..1c967d133 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -262,7 +262,7 @@ type service struct { var services = []*service{ {doc.GithubPattern, "github.com/", doc.GetGithubDoc}, {doc.GooglePattern, "code.google.com/", doc.GetGoogleDoc}, - // {doc.BitbucketPattern, "bitbucket.org/", doc.GetBitbucketDoc}, + {doc.BitbucketPattern, "bitbucket.org/", doc.GetBitbucketDoc}, // {doc.LaunchpadPattern, "launchpad.net/", doc.GetLaunchpadDoc}, } diff --git a/doc/bitbucket.go b/doc/bitbucket.go new file mode 100644 index 000000000..e2d96b34f --- /dev/null +++ b/doc/bitbucket.go @@ -0,0 +1,204 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "archive/tar" + "bytes" + "compress/gzip" + "errors" + "io" + "net/http" + "os" + "path" + "regexp" + "strings" +) + +var ( + BitbucketPattern = regexp.MustCompile(`^bitbucket\.org/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) + bitbucketEtagRe = regexp.MustCompile(`^(hg|git)-`) +) + +// GetBitbucketDoc downloads tarball from bitbucket.org. +func GetBitbucketDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { + // Check version control. + if m := bitbucketEtagRe.FindStringSubmatch(nod.Value); m != nil { + match["vcs"] = m[1] + } else { + var repo struct { + Scm string + } + if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}", match), &repo); err != nil { + return nil, err + } + match["vcs"] = repo.Scm + } + + if nod.Type == BRANCH { + if len(nod.Value) == 0 { + match["commit"] = defaultTags[match["vcs"]] + } else { + match["commit"] = nod.Value + } + } + + if nod.IsGetDeps { + if nod.Type == COMMIT { + tags := make(map[string]string) + for _, nodeType := range []string{"branches", "tags"} { + var nodes map[string]struct { + Node string + } + if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { + return nil, err + } + for t, n := range nodes { + tags[t] = n.Node + } + } + + // Check revision tag. + var err error + match["tag"], match["commit"], err = bestTag(tags, defaultTags[match["vcs"]]) + if err != nil { + return nil, err + } + + nod.Value = match["commit"] + } + } else { + // Check downlaod type. + switch nod.Type { + case TAG, COMMIT, BRANCH: + match["commit"] = nod.Value + default: + return nil, errors.New("Unknown node type: " + nod.Type) + } + } + + // We use .tar.gz here. + // zip : https://bitbucket.org/{owner}/{repo}/get/{commit}.zip + // tarball : https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz + + // Downlaod archive. + p, err := HttpGetBytes(client, expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) + if err != nil { + return nil, err + } + + suf := "." + nod.Value + if len(suf) == 1 { + suf = "" + } + + projectPath := expand("bitbucket.org/{owner}/{repo}", match) + installPath := installRepoPath + "/" + projectPath + suf + nod.ImportPath = projectPath + + // Remove old files. + os.RemoveAll(installPath + "/") + os.MkdirAll(installPath+"/", os.ModePerm) + + gzr, err := gzip.NewReader(bytes.NewReader(p)) + if err != nil { + return nil, err + } + defer gzr.Close() + + tr := tar.NewReader(gzr) + + var autoPath string // Auto path is the root path that generated by bitbucket.org. + // Get source file data. + dirs := make([]string, 0, 5) + for { + h, err := tr.Next() + if err == io.EOF { + break + } else if err != nil { + return nil, err + } + + fn := h.FileInfo().Name() + + // In case that we find directory, usually we should not. + if strings.HasSuffix(fn, "/") { + continue + } + + // Check root path. + if len(autoPath) == 0 { + autoPath = fn[:strings.Index(fn, "/")] + } + absPath := strings.Replace(fn, autoPath, installPath, 1) + + // Create diretory before create file. + dir := path.Dir(absPath) + if !checkDir(dir, dirs) && !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + dirs = append(dirs, dir) + os.MkdirAll(dir+"/", os.ModePerm) + } + + if strings.HasPrefix(fn, ".") { + continue + } + + // Get data from archive. + fbytes := make([]byte, h.Size) + if _, err := io.ReadFull(tr, fbytes); err != nil { + return nil, err + } + + // Write data to file + fw, err := os.Create(absPath) + if err != nil { + return nil, err + } + + _, err = fw.Write(fbytes) + fw.Close() + if err != nil { + return nil, err + } + + // Set modify time. + os.Chtimes(absPath, h.AccessTime, h.ModTime) + } + + var imports []string + + // Check if need to check imports. + if nod.IsGetDeps { + for _, d := range dirs { + importPkgs, err := CheckImports(d+"/", match["importPath"]) + if err != nil { + return nil, err + } + imports = append(imports, importPkgs...) + } + } + + return imports, err +} + +// checkDir checks if current directory has been saved. +func checkDir(dir string, dirs []string) bool { + for _, d := range dirs { + if dir == d { + return true + } + } + return false +} diff --git a/gopm.go b/gopm.go index d46ad6f87..f0b58f8b0 100644 --- a/gopm.go +++ b/gopm.go @@ -37,7 +37,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.1.0.0818" +const APP_VER = "0.2.0.0818" var ( config map[string]interface{} From be9d0004c8eb9ad0878439415f26d80f604f3404 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 18 Aug 2013 23:54:37 +0800 Subject: [PATCH 131/287] Almost done get command --- cmd/get.go | 141 +++++--------------------------------------- doc/launchpad.go | 140 +++++++++++++++++++++++++++++++++++++++++++ doc/struct.go | 26 ++++++-- doc/vcs.go | 150 +++++++++++++++++++++++++++++++++++++++++++++++ doc/walker.go | 4 +- 5 files changed, 328 insertions(+), 133 deletions(-) create mode 100644 doc/launchpad.go diff --git a/cmd/get.go b/cmd/get.go index 1c967d133..ef4cd7da0 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -17,10 +17,8 @@ package cmd import ( "errors" "fmt" - "net/http" "os/user" //"path" - "regexp" "strings" "github.com/gpmgo/gopm/doc" @@ -30,6 +28,7 @@ var ( installRepoPath string downloadCache map[string]bool // Saves packages that have been downloaded. downloadCount int + failConut int ) var CmdGet = &Command{ @@ -144,16 +143,18 @@ func runGet(cmd *Command, args []string) { } nodes = append(nodes, &doc.Node{ - ImportPath: args[0], - Type: t, - Value: ver, - IsGetDeps: true, + ImportPath: args[0], + DownloadURL: args[0], + Type: t, + Value: ver, + IsGetDeps: true, }) // Download package(s). downloadPackages(nodes) - doc.ColorLog("[INFO] %d package(s) downloaded.\n", downloadCount) + doc.ColorLog("[INFO] %d package(s) downloaded, %d failed.\n", + downloadCount, failConut) } // downloadPackages downloads packages with certain commit, @@ -186,9 +187,10 @@ func downloadPackages(nodes []*doc.Node) { nodes := make([]*doc.Node, len(imports)) for i := range nodes { nodes[i] = &doc.Node{ - ImportPath: imports[i], - Type: doc.BRANCH, - IsGetDeps: true, + ImportPath: imports[i], + DownloadURL: imports[i], + Type: doc.BRANCH, + IsGetDeps: true, } } downloadPackages(nodes) @@ -221,10 +223,11 @@ func downloadPackage(nod *doc.Node) (*doc.Node, []string) { // Mark as donwloaded. downloadCache[nod.ImportPath] = true - imports, err := pureDownload(nod) + imports, err := doc.PureDownload(nod, installRepoPath, CmdGet.Flags) if err != nil { doc.ColorLog("[ERRO] Download falied[ %s ]\n", err) + failConut++ return nil, nil } return nod, imports @@ -250,119 +253,3 @@ func validPath(info string) (string, string, error) { return "", "", errors.New("Cannot match any case") } } - -// service represents a source code control service. -type service struct { - pattern *regexp.Regexp - prefix string - get func(*http.Client, map[string]string, string, *doc.Node, map[string]bool) ([]string, error) -} - -// services is the list of source code control services handled by gopkgdoc. -var services = []*service{ - {doc.GithubPattern, "github.com/", doc.GetGithubDoc}, - {doc.GooglePattern, "code.google.com/", doc.GetGoogleDoc}, - {doc.BitbucketPattern, "bitbucket.org/", doc.GetBitbucketDoc}, - // {doc.LaunchpadPattern, "launchpad.net/", doc.GetLaunchpadDoc}, -} - -// pureDownload downloads package without version control. -func pureDownload(nod *doc.Node) ([]string, error) { - for _, s := range services { - if s.get == nil || !strings.HasPrefix(nod.ImportPath, s.prefix) { - continue - } - m := s.pattern.FindStringSubmatch(nod.ImportPath) - if m == nil { - if s.prefix != "" { - return nil, errors.New("Cannot match package service prefix by given path") - } - continue - } - match := map[string]string{"importPath": nod.ImportPath} - for i, n := range s.pattern.SubexpNames() { - if n != "" { - match[n] = m[i] - } - } - return s.get(doc.HttpClient, match, installRepoPath, nod, CmdGet.Flags) - } - return nil, errors.New("Cannot match any package service by given path") -} - -// func extractPkg(pkg *Pkg, localfile string, update bool) error { -// fmt.Println("Extracting package", pkg.Name, "...") - -// gopath := os.Getenv("GOPATH") -// var childDirs []string = strings.Split(pkg.Name, "/") - -// if pkg.Ver != TRUNK { -// childDirs[len(childDirs)-1] = fmt.Sprintf("%v_%v_%v", childDirs[len(childDirs)-1], pkg.Ver, pkg.VerId) -// } -// dstDir := joinPath(gopath, "src", joinPath(childDirs...)) -// //fmt.Println(dstDir) -// var err error -// if !update { -// if dirExists(dstDir) { -// return nil -// } -// err = os.MkdirAll(dstDir, 0777) -// } else { -// if dirExists(dstDir) { -// err = os.Remove(dstDir) -// } else { -// err = os.MkdirAll(dstDir, 0777) -// } -// } - -// if err != nil { -// return err -// } - -// if path.Ext(localfile) != ".zip" { -// return errors.New("Not implemented!") -// } - -// r, err := zip.OpenReader(localfile) -// if err != nil { -// return err -// } -// defer r.Close() - -// for _, f := range r.File { -// fmt.Printf("Contents of %s:\n", f.Name) -// if f.FileInfo().IsDir() { -// continue -// } - -// paths := strings.Split(f.Name, "/")[1:] -// //fmt.Println(paths) -// if len(paths) < 1 { -// continue -// } - -// if len(paths) > 1 { -// childDir := joinPath(dstDir, joinPath(paths[0:len(paths)-1]...)) -// //fmt.Println("creating", childDir) -// err = os.MkdirAll(childDir, 0777) -// if err != nil { -// return err -// } -// } - -// rc, err := f.Open() -// if err != nil { -// return err -// } - -// newF, err := os.Create(path.Join(dstDir, joinPath(paths...))) -// if err == nil { -// _, err = io.Copy(newF, rc) -// } -// if err != nil { -// return err -// } -// rc.Close() -// } -// return nil -// } diff --git a/doc/launchpad.go b/doc/launchpad.go new file mode 100644 index 000000000..4024e2a92 --- /dev/null +++ b/doc/launchpad.go @@ -0,0 +1,140 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "archive/tar" + "bytes" + "compress/gzip" + "io" + "net/http" + "os" + //"path" + "regexp" + "strings" +) + +var LaunchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) + +// GetLaunchpadDoc downloads tarball from launchpad.net. +func GetLaunchpadDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { + + if match["project"] != "" && match["series"] != "" { + rc, err := httpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) + switch { + case err == nil: + rc.Close() + // The structure of the import path is launchpad.net/{root}/{dir}. + case isNotFound(err): + // The structure of the import path is is launchpad.net/{project}/{dir}. + match["repo"] = match["project"] + match["dir"] = expand("{series}{dir}", match) + default: + return nil, err + } + } + + var downloadPath string + // Check if download with specific revision. + if len(nod.Value) == 0 { + downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball", match) + } else { + downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+nod.Value, match) + } + + // Scrape the repo browser to find the project revision and individual Go files. + p, err := HttpGetBytes(client, downloadPath, nil) + if err != nil { + return nil, err + } + + installPath := installRepoPath + "/" + nod.ImportPath + + // Remove old files. + os.RemoveAll(installPath + "/") + os.MkdirAll(installPath+"/", os.ModePerm) + + gzr, err := gzip.NewReader(bytes.NewReader(p)) + if err != nil { + return nil, err + } + defer gzr.Close() + + tr := tar.NewReader(gzr) + + var autoPath string // Auto path is the root path that generated by bitbucket.org. + // Get source file data. + dirs := make([]string, 0, 5) + for { + h, err := tr.Next() + if err == io.EOF { + break + } else if err != nil { + return nil, err + } + + fn := h.FileInfo().Name() + // Check root path. + if len(autoPath) == 0 { + autoPath = fn[:strings.Index(fn, match["repo"])+len(match["repo"])] + } + absPath := strings.Replace(fn, autoPath, installPath, 1) + + switch { + case h.FileInfo().IsDir(): // Directory. + // Create diretory before create file. + os.MkdirAll(absPath+"/", os.ModePerm) + // Check if current directory is example. + if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + dirs = append(dirs, absPath) + } + case !strings.HasPrefix(fn, "."): + //os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) + + // Get data from archive. + fbytes := make([]byte, h.Size) + if _, err := io.ReadFull(tr, fbytes); err != nil { + return nil, err + } + + // Write data to file + fw, err := os.Create(absPath) + if err != nil { + return nil, err + } + + _, err = fw.Write(fbytes) + fw.Close() + if err != nil { + return nil, err + } + } + } + + var imports []string + + // Check if need to check imports. + if nod.IsGetDeps { + for _, d := range dirs { + importPkgs, err := CheckImports(d+"/", match["importPath"]) + if err != nil { + return nil, err + } + imports = append(imports, importPkgs...) + } + } + + return imports, err +} diff --git a/doc/struct.go b/doc/struct.go index 96b769e83..968ddf982 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -16,7 +16,9 @@ package doc import ( "go/token" + "net/http" "os" + "regexp" "time" ) @@ -30,10 +32,11 @@ const ( ) type Node struct { - ImportPath string - Type string - Value string // Branch, tag or commit. - IsGetDeps bool + ImportPath string + DownloadURL string + Type string + Value string // Branch, tag or commit. + IsGetDeps bool } // source is source code file. @@ -56,3 +59,18 @@ type walker struct { srcs map[string]*source // Source files. fset *token.FileSet } + +// service represents a source code control service. +type service struct { + pattern *regexp.Regexp + prefix string + get func(*http.Client, map[string]string, string, *Node, map[string]bool) ([]string, error) +} + +// services is the list of source code control services handled by gopkgdoc. +var services = []*service{ + {GithubPattern, "github.com/", GetGithubDoc}, + {GooglePattern, "code.google.com/", GetGoogleDoc}, + {BitbucketPattern, "bitbucket.org/", GetBitbucketDoc}, + {LaunchpadPattern, "launchpad.net/", GetLaunchpadDoc}, +} diff --git a/doc/vcs.go b/doc/vcs.go index 1ab3231d2..c54ef4435 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -16,8 +16,12 @@ package doc import ( "bytes" + "encoding/xml" + "errors" + "io" "io/ioutil" "log" + "net/http" "os" "os/exec" "path" @@ -244,3 +248,149 @@ func CheckImports(absPath, importPath string) (importPkgs []string, err error) { return importPkgs, err } + +// PureDownload downloads package without version control. +func PureDownload(nod *Node, installRepoPath string, flags map[string]bool) ([]string, error) { + for _, s := range services { + if s.get == nil || !strings.HasPrefix(nod.DownloadURL, s.prefix) { + continue + } + m := s.pattern.FindStringSubmatch(nod.DownloadURL) + if m == nil { + if s.prefix != "" { + return nil, errors.New("Cannot match package service prefix by given path") + } + continue + } + match := map[string]string{"importPath": nod.DownloadURL} + for i, n := range s.pattern.SubexpNames() { + if n != "" { + match[n] = m[i] + } + } + return s.get(HttpClient, match, installRepoPath, nod, flags) + } + + ColorLog("[TRAC] Cannot match any service, getting dynamic...\n") + return getDynamic(HttpClient, nod, installRepoPath, flags) +} + +func getDynamic(client *http.Client, nod *Node, installRepoPath string, flags map[string]bool) ([]string, error) { + match, err := fetchMeta(client, nod.ImportPath) + if err != nil { + return nil, err + } + + if match["projectRoot"] != nod.ImportPath { + rootMatch, err := fetchMeta(client, match["projectRoot"]) + if err != nil { + return nil, err + } + if rootMatch["projectRoot"] != match["projectRoot"] { + return nil, NotFoundError{"Project root mismatch."} + } + } + + nod.DownloadURL = expand("{repo}{dir}", match) + return PureDownload(nod, installRepoPath, flags) +} + +func fetchMeta(client *http.Client, importPath string) (map[string]string, error) { + uri := importPath + if !strings.Contains(uri, "/") { + // Add slash for root of domain. + uri = uri + "/" + } + uri = uri + "?go-get=1" + + scheme := "https" + resp, err := client.Get(scheme + "://" + uri) + if err != nil || resp.StatusCode != 200 { + if err == nil { + resp.Body.Close() + } + scheme = "http" + resp, err = client.Get(scheme + "://" + uri) + if err != nil { + return nil, &RemoteError{strings.SplitN(importPath, "/", 2)[0], err} + } + } + defer resp.Body.Close() + return parseMeta(scheme, importPath, resp.Body) +} + +func attrValue(attrs []xml.Attr, name string) string { + for _, a := range attrs { + if strings.EqualFold(a.Name.Local, name) { + return a.Value + } + } + return "" +} + +func parseMeta(scheme, importPath string, r io.Reader) (map[string]string, error) { + var match map[string]string + + d := xml.NewDecoder(r) + d.Strict = false +metaScan: + for { + t, tokenErr := d.Token() + if tokenErr != nil { + break metaScan + } + switch t := t.(type) { + case xml.EndElement: + if strings.EqualFold(t.Name.Local, "head") { + break metaScan + } + case xml.StartElement: + if strings.EqualFold(t.Name.Local, "body") { + break metaScan + } + if !strings.EqualFold(t.Name.Local, "meta") || + attrValue(t.Attr, "name") != "go-import" { + continue metaScan + } + f := strings.Fields(attrValue(t.Attr, "content")) + if len(f) != 3 || + !strings.HasPrefix(importPath, f[0]) || + !(len(importPath) == len(f[0]) || importPath[len(f[0])] == '/') { + continue metaScan + } + if match != nil { + return nil, NotFoundError{"More than one found at " + scheme + "://" + importPath} + } + + projectRoot, vcs, repo := f[0], f[1], f[2] + + repo = strings.TrimSuffix(repo, "."+vcs) + i := strings.Index(repo, "://") + if i < 0 { + return nil, NotFoundError{"Bad repo URL in ."} + } + proto := repo[:i] + repo = repo[i+len("://"):] + + match = map[string]string{ + // Used in getVCSDoc, same as vcsPattern matches. + "importPath": importPath, + "repo": repo, + "vcs": vcs, + "dir": importPath[len(projectRoot):], + + // Used in getVCSDoc + "scheme": proto, + + // Used in getDynamic. + "projectRoot": projectRoot, + "projectName": path.Base(projectRoot), + "projectURL": scheme + "://" + projectRoot, + } + } + } + if match == nil { + return nil, NotFoundError{" not found."} + } + return match, nil +} diff --git a/doc/walker.go b/doc/walker.go index 0bc597e24..797c301ae 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -16,7 +16,6 @@ package doc import ( "bytes" - "errors" "go/ast" "go/build" "go/parser" @@ -114,7 +113,8 @@ func (w *walker) build(srcs []*source) ([]string, error) { if nogo { err = nil } else { - return nil, errors.New("doc.walker.build(): " + err.Error()) + ColorLog("[WARN] Error occurs when check imports[ %s ]\n", err) + return nil, nil } } From 83d94c93919fe22a045cf1cbc0cc702204ec2d4d Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 19 Aug 2013 09:53:50 +0800 Subject: [PATCH 132/287] Added oschina repo download --- doc/bitbucket.go | 6 +-- doc/github.go | 58 +++++---------------- doc/google.go | 6 +-- doc/launchpad.go | 8 ++- doc/oschina.go | 129 +++++++++++++++++++++++++++++++++++++++++++++++ doc/struct.go | 9 ++-- gopm.go | 2 +- 7 files changed, 157 insertions(+), 61 deletions(-) create mode 100644 doc/oschina.go diff --git a/doc/bitbucket.go b/doc/bitbucket.go index e2d96b34f..078ebf017 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -28,12 +28,12 @@ import ( ) var ( - BitbucketPattern = regexp.MustCompile(`^bitbucket\.org/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) + bitbucketPattern = regexp.MustCompile(`^bitbucket\.org/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) bitbucketEtagRe = regexp.MustCompile(`^(hg|git)-`) ) -// GetBitbucketDoc downloads tarball from bitbucket.org. -func GetBitbucketDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { +// getBitbucketDoc downloads tarball from bitbucket.org. +func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { // Check version control. if m := bitbucketEtagRe.FindStringSubmatch(nod.Value); m != nil { match["vcs"] = m[1] diff --git a/doc/github.go b/doc/github.go index e5ef672f5..42f59e55a 100644 --- a/doc/github.go +++ b/doc/github.go @@ -28,7 +28,7 @@ import ( var ( githubRawHeader = http.Header{"Accept": {"application/vnd.github-blob.raw"}} - GithubPattern = regexp.MustCompile(`^github\.com/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) + githubPattern = regexp.MustCompile(`^github\.com/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) githubCred string ) @@ -42,64 +42,32 @@ func SetGithubCredentials(token string) { } } -// GetGithubDoc downloads tarball from github.com. -func GetGithubDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { +// getGithubDoc downloads tarball from github.com. +func getGithubDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { match["cred"] = githubCred - if nod.Type == BRANCH { + // Check downlaod type. + switch nod.Type { + case BRANCH: if len(nod.Value) == 0 { match["sha"] = MASTER } else { match["sha"] = nod.Value } - } - - // JSON struct for github.com. - var refs []*struct { - Ref string - Url string - Object struct { - Sha string - Type string - Url string - } - } - - if nod.IsGetDeps { - if nod.Type == COMMIT { - // Get up-to-date version. - err := httpGetJSON(client, expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) - if err != nil { - return nil, err - } - - for _, ref := range refs { - if strings.HasPrefix(ref.Ref, "refs/heads/master") { - match["sha"] = ref.Object.Sha - break - } - } - - nod.Value = match["sha"] - } - } else { - // Check downlaod type. - switch nod.Type { - case TAG, COMMIT, BRANCH: - match["sha"] = nod.Value - default: - return nil, errors.New("Unknown node type: " + nod.Type) - } + case TAG, COMMIT: + match["sha"] = nod.Value + default: + return nil, errors.New("Unknown node type: " + nod.Type) } // We use .zip here. - // zip : https://github.com/{owner}/{repo}/archive/{sha}.zip - // tarball : https://github.com/{owner}/{repo}/tarball/{sha} + // zip: https://github.com/{owner}/{repo}/archive/{sha}.zip + // tarball: https://github.com/{owner}/{repo}/tarball/{sha} // Downlaod archive. p, err := HttpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) if err != nil { - return nil, err + return nil, errors.New("Fail to donwload Github repo -> " + err.Error()) } shaName := expand("{repo}-{sha}", match) diff --git a/doc/google.go b/doc/google.go index 7147deb99..713c5fd9a 100644 --- a/doc/google.go +++ b/doc/google.go @@ -28,7 +28,7 @@ var ( googleEtagRe = regexp.MustCompile(`^(hg|git|svn)-`) googleFileRe = regexp.MustCompile(`
  • [a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) + googlePattern = regexp.MustCompile(`^code\.google\.com/p/(?P[a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) ) func setupGoogleMatch(match map[string]string) { @@ -56,8 +56,8 @@ func getGoogleVCS(client *http.Client, match map[string]string) error { return nil } -// GetGoogleDoc downloads raw files from code.google.com. -func GetGoogleDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { +// getGoogleDoc downloads raw files from code.google.com. +func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { setupGoogleMatch(match) // Check version control. if m := googleEtagRe.FindStringSubmatch(nod.Value); m != nil { diff --git a/doc/launchpad.go b/doc/launchpad.go index 4024e2a92..17fdcc7bb 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -26,10 +26,10 @@ import ( "strings" ) -var LaunchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) +var launchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) -// GetLaunchpadDoc downloads tarball from launchpad.net. -func GetLaunchpadDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { +// getLaunchpadDoc downloads tarball from launchpad.net. +func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { if match["project"] != "" && match["series"] != "" { rc, err := httpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) @@ -101,8 +101,6 @@ func GetLaunchpadDoc(client *http.Client, match map[string]string, installRepoPa dirs = append(dirs, absPath) } case !strings.HasPrefix(fn, "."): - //os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) - // Get data from archive. fbytes := make([]byte, h.Size) if _, err := io.ReadFull(tr, fbytes); err != nil { diff --git a/doc/oschina.go b/doc/oschina.go new file mode 100644 index 000000000..1a874958c --- /dev/null +++ b/doc/oschina.go @@ -0,0 +1,129 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "archive/zip" + "bytes" + "errors" + "io" + "net/http" + "os" + "regexp" + "strings" +) + +var ( + oscTagRe = regexp.MustCompile(`/repository/archive\?ref=(.*)">`) + oscPattern = regexp.MustCompile(`^git\.oschina\.net/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) +) + +// getGithubDoc downloads tarball from git.oschina.com. +func getOSCDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { + // Check downlaod type. + switch nod.Type { + case BRANCH: + if len(nod.Value) == 0 { + match["sha"] = MASTER + } else { + match["sha"] = nod.Value + } + case TAG, COMMIT: + match["sha"] = nod.Value + default: + return nil, errors.New("Unknown node type: " + nod.Type) + } + + // zip: http://{projectRoot}/repository/archive?ref={sha} + + // Downlaod archive. + p, err := HttpGetBytes(client, expand("http://git.oschina.net/{owner}/{repo}/repository/archive?ref={sha}", match), nil) + if err != nil { + return nil, errors.New("Fail to donwload OSChina repo -> " + err.Error()) + } + + suf := "." + nod.Value + if len(suf) == 1 { + suf = "" + } + + projectPath := expand("git.oschina.net/{owner}/{repo}", match) + installPath := installRepoPath + "/" + projectPath + suf + nod.ImportPath = projectPath + + // Remove old files. + os.RemoveAll(installPath + "/") + os.MkdirAll(installPath+"/", os.ModePerm) + + r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) + if err != nil { + return nil, errors.New("Fail to unzip OSChina repo -> " + err.Error()) + } + + nameLen := len(match["repo"]) + dirs := make([]string, 0, 5) + // Need to add root path because we cannot get from tarball. + dirs = append(dirs, installPath+"/") + for _, f := range r.File { + fileName := f.FileInfo().Name()[nameLen+1:] + absPath := installPath + "/" + fileName + + if strings.HasSuffix(absPath, "/") { + dirs = append(dirs, absPath) + os.MkdirAll(absPath, os.ModePerm) + continue + } + // d, _ := path.Split(absPath) + // if !checkDir(d, dirs) { + // dirs = append(dirs, d) + // os.MkdirAll(d, os.ModePerm) + // } + + // Get file from archive. + rc, err := f.Open() + if err != nil { + return nil, errors.New("Fail to open OSChina repo -> " + err.Error()) + } + + // Write data to file + fw, _ := os.Create(absPath) + if err != nil { + return nil, err + } + + _, err = io.Copy(fw, rc) + // Close files. + rc.Close() + fw.Close() + if err != nil { + return nil, err + } + } + + var imports []string + + // Check if need to check imports. + if nod.IsGetDeps { + for _, d := range dirs { + importPkgs, err := CheckImports(d, match["importPath"]) + if err != nil { + return nil, err + } + imports = append(imports, importPkgs...) + } + } + + return imports, err +} diff --git a/doc/struct.go b/doc/struct.go index 968ddf982..3a1163cb7 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -69,8 +69,9 @@ type service struct { // services is the list of source code control services handled by gopkgdoc. var services = []*service{ - {GithubPattern, "github.com/", GetGithubDoc}, - {GooglePattern, "code.google.com/", GetGoogleDoc}, - {BitbucketPattern, "bitbucket.org/", GetBitbucketDoc}, - {LaunchpadPattern, "launchpad.net/", GetLaunchpadDoc}, + {githubPattern, "github.com/", getGithubDoc}, + {googlePattern, "code.google.com/", getGoogleDoc}, + {bitbucketPattern, "bitbucket.org/", getBitbucketDoc}, + {launchpadPattern, "launchpad.net/", getLaunchpadDoc}, + {oscPattern, "git.oschina.net/", getOSCDoc}, } diff --git a/gopm.go b/gopm.go index f0b58f8b0..6671acad3 100644 --- a/gopm.go +++ b/gopm.go @@ -37,7 +37,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.2.0.0818" +const APP_VER = "0.2.2.0819" var ( config map[string]interface{} From e9a5685e2e4c4a0d176cca42ffece47e14b25ddd Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 19 Aug 2013 17:43:57 +0800 Subject: [PATCH 133/287] Added back command serve --- cmd/serve.go | 414 +++++++++++++++++++++++++++++++++++++++++++++++++ cmd/service.go | 213 +++++++++++++++++++++++++ doc/struct.go | 8 + gopm.go | 2 +- 4 files changed, 636 insertions(+), 1 deletion(-) create mode 100644 cmd/serve.go create mode 100644 cmd/service.go diff --git a/cmd/serve.go b/cmd/serve.go new file mode 100644 index 000000000..450585a39 --- /dev/null +++ b/cmd/serve.go @@ -0,0 +1,414 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + "fmt" + "github.com/syndtr/goleveldb/leveldb" + "github.com/syndtr/goleveldb/leveldb/errors" + "github.com/syndtr/goleveldb/leveldb/opt" + "io/ioutil" + "net/http" + "os" + "os/user" + "strconv" + "strings" + + "github.com/gpmgo/gopm/doc" +) + +var ( + dbDir = "~/.gopm/db" +) + +const ( + STOP = iota + LOCALRUN + RUNNING +) + +var CmdServe = &Command{ + UsageLine: "serve [:port]", + Short: "serve for package search", + Long: ` + serve provide a web service to search packages, download packages + +The serve flags are: + + -l + only service for localhost ip +`, +} + +func init() { + CmdServe.Run = runServe + CmdServe.Flags = map[string]bool{ + "-l": false, + } +} + +func printServePrompt(flag string) { + switch flag { + case "-l": + doc.ColorLog("[INFO] You enabled start a service only localhost.\n") + } +} + +// Not implemented +func autoPort() string { + return "8991" +} + +// search packages +func runServe(cmd *Command, args []string) { + // Check flags. + num := checkFlags(cmd.Flags, args, printServePrompt) + if num == -1 { + return + } + args = args[num:] + + var listen string + var port string + if cmd.Flags["-l"] { + listen += "127.0.0.1:" + port = autoPort() + } else { + listen += "0.0.0.0:" + port = "8991" + } + + // Check length of arguments. + if len(args) >= 1 { + port = args[0] + } + + startService(listen + port) +} + +func splitWord(word string, res *map[string]bool) { + for i, _ := range word { + for j, _ := range word[i:] { + w := word[i : i+j+1] + (*res)[w] = true + } + } + return +} + +func splitPkgName(pkgName string) (res map[string]bool) { + //var src string + ps := strings.Split(pkgName, "/") + if len(ps) > 1 { + ps = ps[1:] + } + + res = make(map[string]bool, 0) + res[strings.Join(ps, "/")] = true + for _, w := range ps { + splitWord(w, &res) + } + return +} + +var ( + ro *opt.ReadOptions = &opt.ReadOptions{} + wo *opt.WriteOptions = &opt.WriteOptions{} +) + +func dbGet(key string) (string, error) { + v, err := db.Get([]byte(key), ro) + return string(v), err +} + +func dbPut(key string, value string) error { + fmt.Println("put ", key, ": ", value) + return db.Put([]byte(key), []byte(value), wo) +} + +func batchPut(batch *leveldb.Batch, key string, value string) error { + fmt.Println("put ", key, ": ", value) + batch.Put([]byte(key), []byte(value)) + return nil +} + +func addNode(nod *doc.Node) error { + batch := new(leveldb.Batch) + strLastId, err := dbGet("lastId") + if err != nil { + if err == errors.ErrNotFound { + strLastId = "0" + err = batchPut(batch, "lastId", strLastId) + } else { + return err + } + } + if err != nil { + return err + } + + fmt.Println("last id is ", strLastId) + + lastId, err := strconv.ParseInt(strLastId, 0, 64) + if err != nil { + return err + } + + nodKey := fmt.Sprintf("index:%v", nod.ImportPath) + + id, err := dbGet(nodKey) + if err != nil { + if err == errors.ErrNotFound { + id = fmt.Sprintf("%v", lastId+1) + fmt.Println(id) + err = batchPut(batch, "lastId", id) + if err == nil { + err = batchPut(batch, nodKey, id) + } + if err == nil { + err = batchPut(batch, "pkg:"+id, nod.ImportPath) + } + total, err := dbGet("total") + if err != nil { + if err == errors.ErrNotFound { + total = "1" + } else { + return err + } + } else { + totalInt, err := strconv.ParseInt(total, 0, 64) + if err != nil { + return err + } + totalInt = totalInt + 1 + total = fmt.Sprintf("%v", totalInt) + } + + err = batchPut(batch, "total", total) + } else { + return err + } + } + + if err != nil { + return err + } + + vers, err := dbGet("ver:" + id) + needSplit := (err == errors.ErrNotFound) + if err != nil { + if err != errors.ErrNotFound { + return err + } + } else { + return nil + } + + if vers == "" { + fmt.Println(nod) + vers = nod.VerString() + } else { + if !strings.Contains(vers, nod.VerString()) { + vers = vers + "," + nod.VerString() + } else { + return nil + } + } + + err = batchPut(batch, "ver:"+id, vers) + if err != nil { + return err + } + + if !needSplit { + return nil + } + + keys := splitPkgName(nod.ImportPath) + + for key, _ := range keys { + err = batchPut(batch, fmt.Sprintf("key:%v:%v", key, id), "") + if err != nil { + return err + } + } + + return db.Write(batch, wo) +} + +func rmPkg(nod *doc.Node) { + +} + +var db *leveldb.DB + +// service should be run +func autoRun() { + s, _, _ := runningStatus() + if s == STOP { + os.StartProcess("gopm", []string{"serve", "-l"}, nil) + } +} + +func runningStatus() (int, int, int) { + contentByte, err := ioutil.ReadFile("~/.gopm/var/pid") + if err != nil { + return STOP, 0, 0 + } + content := string(contentByte) + if len(content) < 0 || !strings.Contains(content, ",") { + return STOP, 0, 0 + } + cs := strings.Split(string(content), ",") + if len(cs) != 3 { + return STOP, 0, 0 + } + status, err := strconv.Atoi(cs[0]) + if err != nil { + return STOP, 0, 0 + } + if status < STOP || status > RUNNING { + return STOP, 0, 0 + } + pid, err := strconv.Atoi(cs[1]) + if err != nil { + return STOP, 0, 0 + } + + _, err = os.FindProcess(pid) + if err != nil { + return STOP, 0, 0 + } + + port, err := strconv.Atoi(cs[2]) + if err != nil { + return STOP, 0, 0 + } + + return status, pid, port +} + +func startService(listen string) { + // check the pre serve's type + curUser, err := user.Current() + if err != nil { + fmt.Println(err) + return + } + + dbDir = strings.Replace(dbDir, "~", curUser.HomeDir, -1) + + db, err = leveldb.OpenFile(dbDir, &opt.Options{Flag: opt.OFCreateIfMissing}) + if err != nil { + fmt.Println(err) + return + } + defer db.Close() + + // these handlers should only access by localhost + http.HandleFunc("/add", addHandler) + http.HandleFunc("/rm", rmHandler) + + // these handlers can be accessed according listen's ip + http.HandleFunc("/search", searchHandler) + http.HandleFunc("/searche", searcheHandler) + http.ListenAndServe(listen, nil) +} + +func searchHandler(w http.ResponseWriter, r *http.Request) { + r.ParseForm() + ids := make(map[string]bool) + for key, _ := range r.Form { + iter := db.NewIterator(ro) + rkey := fmt.Sprintf("key:%v:", key) + if iter.Seek([]byte(rkey)) { + k := iter.Key() + if !strings.HasPrefix(string(k), rkey) { + break + } else { + ids[string(k)] = true + } + } + for iter.Next() { + k := iter.Key() + if !strings.HasPrefix(string(k), rkey) { + break + } + ids[string(k)] = true + } + } + + pkgs := make([]string, 0) + + for id, _ := range ids { + idkeys := strings.SplitN(id, ":", -1) + rId := idkeys[len(idkeys)-1] + fmt.Println(rId) + pkg, err := dbGet(fmt.Sprintf("pkg:%v", rId)) + if err != nil { + doc.ColorLog(err.Error()) + continue + } + pkgs = append(pkgs, pkg) + } + + w.Write([]byte("[\"" + strings.Join(pkgs, "\", \"") + "\"]")) +} + +func searcheHandler(w http.ResponseWriter, r *http.Request) { + //if r.Method == "POST" { + r.ParseForm() + pkgs := make([]string, 0) + for key, _ := range r.Form { + _, err := dbGet("index:" + key) + + if err != nil { + doc.ColorLog(err.Error()) + continue + } + + pkgs = append(pkgs, key) + } + + w.Write([]byte("[\"" + strings.Join(pkgs, "\", \"") + "\"]")) + //} +} + +func addHandler(w http.ResponseWriter, r *http.Request) { + //if r.Method == "POST" { + r.ParseForm() + for key, _ := range r.Form { + fmt.Println(key) + // pkg := NewPkg(key, "") + nod := &doc.Node{ + ImportPath: key, + DownloadURL: key, + IsGetDeps: true, + } + if nod != nil { + err := addNode(nod) + if err != nil { + fmt.Println(err) + } + } else { + fmt.Println(key) + } + } + //} +} + +func rmHandler(w http.ResponseWriter, r *http.Request) { + +} diff --git a/cmd/service.go b/cmd/service.go new file mode 100644 index 000000000..11f0bf19e --- /dev/null +++ b/cmd/service.go @@ -0,0 +1,213 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +// func getService(pkgName string) Service { +// for _, service := range services { +// if service.HasPkg(pkgName) { +// return service +// } +// } +// return nil +// } + +// type Service interface { +// PkgUrl(pkg *Pkg) string +// HasPkg(pkgName string) bool +// PkgExt() string +// } + +// type Pkg struct { +// Name string +// Ver string +// VerId string +// } + +// func NewPkg(pkgName string, ver string) *Pkg { +// vers := strings.Split(ver, ":") +// if len(vers) > 2 { +// return nil +// } + +// var verId string +// if len(vers) == 2 { +// verId = vers[1] +// } + +// if len(vers) == 1 { +// vers[0] = TRUNK +// } + +// service := getService(pkgName) +// if service == nil { +// return nil +// } + +// return &Pkg{service, pkgName, vers[0], verId} +// } + +// func (p *Pkg) VerSimpleString() string { +// if p.VerId != "" { +// return p.VerId +// } +// return p.Ver +// } + +// func (p *Pkg) Url() string { +// return p.Service.PkgUrl(p) +// } + +// func (p *Pkg) FileName() string { +// return fmt.Sprintf("%v.%v", p.VerSimpleString(), p.Service.PkgExt()) +// } + +// // github repository +// type GithubService struct { +// } + +// func (s *GithubService) PkgUrl(pkg *Pkg) string { +// var verPath string +// if pkg.Ver == TRUNK { +// verPath = "master" +// } else { +// verPath = pkg.VerId +// } +// return fmt.Sprintf("https://%v/archive/%v.zip", pkg.Name, verPath) +// } + +// func (s *GithubService) HasPkg(pkgName string) bool { +// return strings.HasPrefix(pkgName, "github.com") +// } + +// func (s *GithubService) PkgExt() string { +// return "zip" +// } + +// // git osc repos +// type GitOscService struct { +// } + +// func (s *GitOscService) PkgUrl(pkg *Pkg) string { +// var verPath string +// if pkg.Ver == TRUNK { +// verPath = "master" +// } else { +// verPath = pkg.VerId +// } +// return fmt.Sprintf("https://%v/repository/archive?ref=%v", pkg.Name, verPath) +// } + +// func (s *GitOscService) HasPkg(pkgName string) bool { +// return strings.HasPrefix(pkgName, "git.oschina.net") +// } + +// func (s *GitOscService) PkgExt() string { +// return "zip" +// } + +// // bitbucket.org +// type BitBucketService struct { +// } + +// func (s *BitBucketService) PkgUrl(pkg *Pkg) string { +// var verPath string +// if pkg.Ver == TRUNK { +// verPath = "default" +// } else { +// verPath = pkg.VerId +// } + +// return fmt.Sprintf("https://%v/get/%v.zip", pkg.Name, verPath) +// } + +// func (s *BitBucketService) HasPkg(pkgName string) bool { +// return strings.HasPrefix(pkgName, "bitbucket.org") +// } + +// func (s *BitBucketService) PkgExt() string { +// return "zip" +// } + +// type GitCafeService struct { +// } + +// func (s *GitCafeService) PkgUrl(pkg *Pkg) string { +// var verPath string +// if pkg.Ver == TRUNK { +// verPath = "master" +// } else { +// verPath = pkg.VerId +// } + +// return fmt.Sprintf("https://%v/tarball/%v", pkg.Name, verPath) +// } + +// func (s *GitCafeService) HasPkg(pkgName string) bool { +// return strings.HasPrefix(pkgName, "gitcafe.com") +// } + +// func (s *GitCafeService) PkgExt() string { +// return "tar.gz" +// } + +// // git lab repos, not completed +// type GitLabService struct { +// DomainOrIp string +// Username string +// Passwd string +// PrivateKey string +// } + +// func (s *GitLabService) PkgUrl(pkg *Pkg) string { +// var verPath string +// if pkg.Ver == TRUNK { +// verPath = "master" +// } else { +// verPath = pkg.VerId +// } + +// return fmt.Sprintf("https://%v/repository/archive/%v", pkg.Name, verPath) +// } + +// func (s *GitLabService) HasPkg(pkgName string) bool { +// return strings.HasPrefix(pkgName, s.DomainOrIp) +// } + +// func (s *GitLabService) PkgExt() string { +// return "tar.gz" +// } + +// // code.csdn.net +// type CodeCSDNService struct { +// } + +// func (s *CodeCSDNService) PkgUrl(pkg *Pkg) string { +// var verPath string +// if pkg.Ver == TRUNK { +// verPath = "master" +// } else { +// verPath = pkg.VerId +// } + +// return fmt.Sprintf("https://%v/repository/archive?ref=%v", pkg.Name, verPath) +// } + +// func (s *CodeCSDNService) HasPkg(pkgName string) bool { +// return strings.HasPrefix(pkgName, "code.csdn.net") +// } + +// func (s *CodeCSDNService) PkgExt() string { +// return "zip" +// } diff --git a/doc/struct.go b/doc/struct.go index 3a1163cb7..0993f6707 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -15,6 +15,7 @@ package doc import ( + "fmt" "go/token" "net/http" "os" @@ -39,6 +40,13 @@ type Node struct { IsGetDeps bool } +func (nod *Node) VerString() string { + if nod.Value == "" { + return nod.Type + } + return fmt.Sprintf("%v:%v", nod.Type, nod.Value) +} + // source is source code file. type source struct { rawURL string diff --git a/gopm.go b/gopm.go index 6671acad3..b564be06b 100644 --- a/gopm.go +++ b/gopm.go @@ -48,7 +48,7 @@ var ( var commands = []*cmd.Command{ cmd.CmdGet, cmd.CmdSearch, - //cmd.CmdServe, + cmd.CmdServe, /* cmdBuild, cmdClean, From f7ee57d1ddca1c8462483def03fb51b44b4f8213 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 20 Aug 2013 15:25:43 +0800 Subject: [PATCH 134/287] Update customized domain support --- cmd/get.go | 1 + doc/bitbucket.go | 18 +++++++++------ doc/github.go | 18 +++++++++------ doc/google.go | 18 +++++++++------ doc/oschina.go | 18 +++++++++------ doc/utils.go | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 103 insertions(+), 28 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index ef4cd7da0..d9ac9d66e 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -212,6 +212,7 @@ func downloadPackages(nodes []*doc.Node) { // Invalid import path. doc.ColorLog("[WARN] Skipped invalid package path( %s => %s:%s )\n", n.ImportPath, n.Type, n.Value) + failConut++ } } } diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 078ebf017..752613c93 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -99,15 +99,19 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa return nil, err } - suf := "." + nod.Value - if len(suf) == 1 { - suf = "" + var installPath string + if nod.ImportPath == nod.DownloadURL { + suf := "." + nod.Value + if len(suf) == 1 { + suf = "" + } + projectPath := expand("bitbucket.org/{owner}/{repo}", match) + installPath = installRepoPath + "/" + projectPath + suf + nod.ImportPath = projectPath + } else { + installPath = installRepoPath + "/" + nod.ImportPath } - projectPath := expand("bitbucket.org/{owner}/{repo}", match) - installPath := installRepoPath + "/" + projectPath + suf - nod.ImportPath = projectPath - // Remove old files. os.RemoveAll(installPath + "/") os.MkdirAll(installPath+"/", os.ModePerm) diff --git a/doc/github.go b/doc/github.go index 42f59e55a..fe968335f 100644 --- a/doc/github.go +++ b/doc/github.go @@ -75,15 +75,19 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath shaName = strings.Replace(shaName, "-v", "-", 1) } - suf := "." + nod.Value - if len(suf) == 1 { - suf = "" + var installPath string + if nod.ImportPath == nod.DownloadURL { + suf := "." + nod.Value + if len(suf) == 1 { + suf = "" + } + projectPath := expand("github.com/{owner}/{repo}", match) + installPath = installRepoPath + "/" + projectPath + suf + nod.ImportPath = projectPath + } else { + installPath = installRepoPath + "/" + nod.ImportPath } - projectPath := expand("github.com/{owner}/{repo}", match) - installPath := installRepoPath + "/" + projectPath + suf - nod.ImportPath = projectPath - // Remove old files. os.RemoveAll(installPath + "/") os.MkdirAll(installPath+"/", os.ModePerm) diff --git a/doc/google.go b/doc/google.go index 713c5fd9a..97877aa41 100644 --- a/doc/google.go +++ b/doc/google.go @@ -74,15 +74,19 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath return nil, err } - suf := "." + nod.Value - if len(suf) == 1 { - suf = "" + var installPath string + if nod.ImportPath == nod.DownloadURL { + suf := "." + nod.Value + if len(suf) == 1 { + suf = "" + } + projectPath := expand("code.google.com/p/{repo}{dot}{subrepo}{dir}", match) + installPath = installRepoPath + "/" + projectPath + suf + nod.ImportPath = projectPath + } else { + installPath = installRepoPath + "/" + nod.ImportPath } - projectPath := expand("code.google.com/p/{repo}{dot}{subrepo}{dir}", match) - installPath := installRepoPath + "/" + projectPath + suf - nod.ImportPath = projectPath - // Remove old files. os.RemoveAll(installPath + "/") os.MkdirAll(installPath+"/", os.ModePerm) diff --git a/doc/oschina.go b/doc/oschina.go index 1a874958c..47c075ef3 100644 --- a/doc/oschina.go +++ b/doc/oschina.go @@ -54,15 +54,19 @@ func getOSCDoc(client *http.Client, match map[string]string, installRepoPath str return nil, errors.New("Fail to donwload OSChina repo -> " + err.Error()) } - suf := "." + nod.Value - if len(suf) == 1 { - suf = "" + var installPath string + if nod.ImportPath == nod.DownloadURL { + suf := "." + nod.Value + if len(suf) == 1 { + suf = "" + } + projectPath := expand("git.oschina.net/{owner}/{repo}", match) + installPath = installRepoPath + "/" + projectPath + suf + nod.ImportPath = projectPath + } else { + installPath = installRepoPath + "/" + nod.ImportPath } - projectPath := expand("git.oschina.net/{owner}/{repo}", match) - installPath := installRepoPath + "/" + projectPath + suf - nod.ImportPath = projectPath - // Remove old files. os.RemoveAll(installPath + "/") os.MkdirAll(installPath+"/", os.ModePerm) diff --git a/doc/utils.go b/doc/utils.go index b08fa4f99..271625bba 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -21,6 +21,7 @@ import ( "regexp" "runtime" "strings" + "syscall" ) // IsExist returns if a file or directory exists @@ -29,6 +30,7 @@ func IsExist(path string) bool { return err == nil || os.IsExist(err) } +// Non-Windows. const ( Gray = uint8(iota + 90) Red @@ -40,6 +42,26 @@ const ( EndColor = "\033[0m" ) +// Windows. +const ( + WDefault = uintptr(iota) + WBlue + WGreen + WCyan + WRed + WPurple + WYellow + WGray + WSilver + WLightBlue + WLime + WLightCyan + WLightRed + WLightPurple + WLightYellow + WWhite +) + // ColorLog colors log and print to stdout. // Log format: [ error ]. // Level: TRAC -> blue; ERRO -> red; WARN -> Magenta; SUCC -> green; others -> default. @@ -74,6 +96,16 @@ func ColorLog(format string, a ...interface{}) { log = strings.Replace(log, " #", EndColor, -1) log = clog + log + } else { + // Level. + i := strings.Index(log, "]") + if log[0] == '[' && i > -1 { + fmt.Print("[") + printColorLevel(log[1:i]) + fmt.Print("]") + } + + log = log[i+1:] } fmt.Print(log) @@ -96,6 +128,32 @@ func getColorLevel(level string) string { } } +// printColorLevel prints color level prompt, this is only for Windows. +func printColorLevel(level string) { + cc := WDefault + level = strings.ToUpper(level) + switch level { + case "TRAC": + cc = WBlue + case "ERRO": + cc = WRed + case "WARN": + cc = WPurple + case "SUCC": + cc = WGreen + default: + cc = WWhite + } + + kernel32 := syscall.NewLazyDLL("kernel32.dll") + proc := kernel32.NewProc("SetConsoleTextAttribute") + handle, _, _ := proc.Call(uintptr(syscall.Stdout), uintptr(cc)) + fmt.Print(level) + handle, _, _ = proc.Call(uintptr(syscall.Stdout), uintptr(WSilver)) + CloseHandle := kernel32.NewProc("CloseHandle") + CloseHandle.Call(handle) +} + // GetGOPATH returns all paths in GOPATH variable. func GetGOPATH() []string { gopath := os.Getenv("GOPATH") From 0d6a6222e5059bac453aaf8ac9d31e4393c5c09f Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 27 Aug 2013 03:46:44 +0800 Subject: [PATCH 135/287] Huge imporve download repos on google code --- doc/bitbucket.go | 8 +- doc/error.go | 22 ------ doc/github.go | 4 +- doc/google.go | 187 ++++------------------------------------------- doc/http.go | 102 +------------------------- doc/launchpad.go | 10 ++- doc/oschina.go | 4 +- doc/vcs.go | 135 +++++++++++++++++++--------------- gopm.go | 2 +- 9 files changed, 113 insertions(+), 361 deletions(-) diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 752613c93..5b0e537a0 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -25,6 +25,8 @@ import ( "path" "regexp" "strings" + + "github.com/Unknwon/com" ) var ( @@ -41,7 +43,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa var repo struct { Scm string } - if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}", match), &repo); err != nil { + if err := com.HttpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}", match), &repo); err != nil { return nil, err } match["vcs"] = repo.Scm @@ -62,7 +64,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa var nodes map[string]struct { Node string } - if err := httpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { + if err := com.HttpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { return nil, err } for t, n := range nodes { @@ -94,7 +96,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa // tarball : https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz // Downlaod archive. - p, err := HttpGetBytes(client, expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) + p, err := com.HttpGetBytes(client, expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) if err != nil { return nil, err } diff --git a/doc/error.go b/doc/error.go index 3c6ea8406..56890c961 100644 --- a/doc/error.go +++ b/doc/error.go @@ -23,25 +23,3 @@ var ( errNoMatch = errors.New("no match") errUpdateTimeout = errors.New("update timeout") ) - -type NotFoundError struct { - Message string -} - -func (e NotFoundError) Error() string { - return e.Message -} - -func isNotFound(err error) bool { - _, ok := err.(NotFoundError) - return ok -} - -type RemoteError struct { - Host string - err error -} - -func (e *RemoteError) Error() string { - return e.err.Error() -} diff --git a/doc/github.go b/doc/github.go index fe968335f..7ab20ea8a 100644 --- a/doc/github.go +++ b/doc/github.go @@ -24,6 +24,8 @@ import ( "path" "regexp" "strings" + + "github.com/Unknwon/com" ) var ( @@ -65,7 +67,7 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath // tarball: https://github.com/{owner}/{repo}/tarball/{sha} // Downlaod archive. - p, err := HttpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) + p, err := com.HttpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) if err != nil { return nil, errors.New("Fail to donwload Github repo -> " + err.Error()) } diff --git a/doc/google.go b/doc/google.go index 97877aa41..e9e3000f7 100644 --- a/doc/google.go +++ b/doc/google.go @@ -19,58 +19,20 @@ import ( "os" "path" "regexp" - "strings" + + "github.com/Unknwon/com" + "github.com/Unknwon/ctw/packer" ) var ( - googleRepoRe = regexp.MustCompile(`id="checkoutcmd">(hg|git|svn)`) - googleRevisionRe = regexp.MustCompile(`

    (?:[^ ]+ - )?Revision *([^:]+):`) - googleEtagRe = regexp.MustCompile(`^(hg|git|svn)-`) - googleFileRe = regexp.MustCompile(`
  • [a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) + googlePattern = regexp.MustCompile(`^code\.google\.com/p/(?P[a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) ) -func setupGoogleMatch(match map[string]string) { - if s := match["subrepo"]; s != "" { - match["dot"] = "." - match["query"] = "?repo=" + s - } else { - match["dot"] = "" - match["query"] = "" - } -} - -func getGoogleVCS(client *http.Client, match map[string]string) error { - // Scrape the HTML project page to find the VCS. - p, err := HttpGetBytes(client, expand("http://code.google.com/p/{repo}/source/checkout", match), nil) - if err != nil { - return err - } - m := googleRepoRe.FindSubmatch(p) - if m == nil { - return NotFoundError{"Could not VCS on Google Code project page."} - } - - match["vcs"] = string(m[1]) - return nil -} - // getGoogleDoc downloads raw files from code.google.com. func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { - setupGoogleMatch(match) + packer.SetupGoogleMatch(match) // Check version control. - if m := googleEtagRe.FindStringSubmatch(nod.Value); m != nil { - match["vcs"] = m[1] - } else if err := getGoogleVCS(client, match); err != nil { - return nil, err - } - - rootPath := expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) - - // Scrape the repo browser to find the project revision and individual Go files. - p, err := HttpGetBytes(client, rootPath+"?r="+nod.Value, nil) - if err != nil { + if err := packer.GetGoogleVCS(client, match); err != nil { return nil, err } @@ -89,143 +51,24 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath // Remove old files. os.RemoveAll(installPath + "/") - os.MkdirAll(installPath+"/", os.ModePerm) - - // Get source files in root path. - files := make([]*source, 0, 5) - for _, m := range googleFileRe.FindAllSubmatch(p, -1) { - fname := strings.Split(string(m[1]), "?")[0] - if strings.HasPrefix(fname, ".") { - continue - } - - files = append(files, &source{ - name: fname, - rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/{0}", match, fname) + "?r=" + nod.Value, - }) - } - - // Fetch files from VCS. - if err := fetchFiles(client, files, nil); err != nil { + match["tag"] = nod.Value + err := packer.PackToFile(match["importPath"], installPath+".zip", match) + if err != nil { return nil, err } - // Save files. - for _, f := range files { - absPath := installPath + "/" - - // Create diretory before create file. - os.MkdirAll(path.Dir(absPath), os.ModePerm) - - // Write data to file - fw, err := os.Create(absPath + f.name) - if err != nil { - return nil, err - } - - _, err = fw.Write(f.data) - fw.Close() - if err != nil { - return nil, err - } - } - - dirs := make([]string, 0, 3) - // Get subdirectories. - for _, m := range googleDirRe.FindAllSubmatch(p, -1) { - dirName := strings.Split(string(m[1]), "?")[0] - if strings.HasSuffix(dirName, "/") { - dirs = append(dirs, dirName) - } - } - - err = downloadFiles(client, match, rootPath, installPath+"/", nod.Value, dirs) + dirs, err := com.Unzip(installPath+".zip", path.Dir(installPath)) if err != nil { return nil, err } - - var imports []string + os.Remove(installPath + ".zip") + os.Rename(path.Dir(installPath)+"/"+dirs[0], installPath) // Check if need to check imports. if nod.IsGetDeps { - dirs, err := GetDirsInfo(installPath + "/") - if err != nil { - return nil, err - } - - for _, d := range dirs { - if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { - absPath := installPath + "/" + d.Name() + "/" - importPkgs, err := CheckImports(absPath, match["importPath"]) - if err != nil { - return nil, err - } - imports = append(imports, importPkgs...) - } - } + imports := getImports(installPath+"/", match, cmdFlags) + return imports, err } - return imports, err -} - -func downloadFiles(client *http.Client, match map[string]string, rootPath, installPath, commit string, dirs []string) error { - for _, d := range dirs { - p, err := HttpGetBytes(client, rootPath+d+"?r="+commit, nil) - if err != nil { - return err - } - - // Create destination directory. - os.MkdirAll(installPath+d, os.ModePerm) - - // Get source files in current path. - files := make([]*source, 0, 5) - for _, m := range googleFileRe.FindAllSubmatch(p, -1) { - fname := strings.Split(string(m[1]), "?")[0] - files = append(files, &source{ - name: fname, - rawURL: expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/", match) + d + fname + "?r=" + commit, - }) - } - - // Fetch files from VCS. - if err := fetchFiles(client, files, nil); err != nil { - return err - } - - // Save files. - for _, f := range files { - absPath := installPath + d - - // Create diretory before create file. - os.MkdirAll(path.Dir(absPath), os.ModePerm) - - // Write data to file - fw, err := os.Create(absPath + f.name) - if err != nil { - return err - } - - _, err = fw.Write(f.data) - fw.Close() - if err != nil { - return err - } - } - - subdirs := make([]string, 0, 3) - // Get subdirectories. - for _, m := range googleDirRe.FindAllSubmatch(p, -1) { - dirName := strings.Split(string(m[1]), "?")[0] - if strings.HasSuffix(dirName, "/") { - subdirs = append(subdirs, d+dirName) - } - } - - err = downloadFiles(client, match, rootPath, installPath, commit, subdirs) - if err != nil { - return err - } - } - return nil + return nil, err } diff --git a/doc/http.go b/doc/http.go index d63e31da9..e5f34e05b 100644 --- a/doc/http.go +++ b/doc/http.go @@ -15,20 +15,14 @@ package doc import ( - "encoding/json" "flag" - "fmt" - "io" - "io/ioutil" "net" "net/http" "time" - "github.com/astaxie/beego" + "github.com/Unknwon/com" ) -var userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1541.0 Safari/537.36" - var ( dialTimeout = flag.Duration("dial_timeout", 10*time.Second, "Timeout for dialing an HTTP connection.") requestTimeout = flag.Duration("request_timeout", 20*time.Second, "Time out for roundtripping an HTTP request.") @@ -45,7 +39,7 @@ type transport struct { func (t *transport) RoundTrip(req *http.Request) (*http.Response, error) { timer := time.AfterFunc(*requestTimeout, func() { t.t.CancelRequest(req) - beego.Warn("Canceled request for %s", req.URL) + com.ColorLog("[WARN] Canceled request for %s, please interrupt the program.\n", req.URL) }) defer timer.Stop() resp, err := t.t.RoundTrip(req) @@ -56,95 +50,3 @@ var ( httpTransport = &transport{t: http.Transport{Dial: timeoutDial, ResponseHeaderTimeout: *requestTimeout / 2}} HttpClient = &http.Client{Transport: httpTransport} ) - -// httpGet gets the specified resource. ErrNotFound is returned if the server -// responds with status 404. -func HttpGetBytes(client *http.Client, url string, header http.Header) ([]byte, error) { - rc, err := httpGet(client, url, header) - if err != nil { - return nil, err - } - p, err := ioutil.ReadAll(rc) - rc.Close() - return p, err -} - -// httpGet gets the specified resource. ErrNotFound is returned if the -// server responds with status 404. -func httpGet(client *http.Client, url string, header http.Header) (io.ReadCloser, error) { - req, err := http.NewRequest("GET", url, nil) - if err != nil { - return nil, err - } - req.Header.Set("User-Agent", userAgent) - for k, vs := range header { - req.Header[k] = vs - } - resp, err := client.Do(req) - if err != nil { - return nil, &RemoteError{req.URL.Host, err} - } - if resp.StatusCode == 200 { - return resp.Body, nil - } - resp.Body.Close() - if resp.StatusCode == 404 { // 403 can be rate limit error. || resp.StatusCode == 403 { - err = NotFoundError{"Resource not found: " + url} - } else { - err = &RemoteError{req.URL.Host, fmt.Errorf("get %s -> %d", url, resp.StatusCode)} - } - return nil, err -} - -// fetchFiles fetches the source files specified by the rawURL field in parallel. -func fetchFiles(client *http.Client, files []*source, header http.Header) error { - ch := make(chan error, len(files)) - for i := range files { - go func(i int) { - req, err := http.NewRequest("GET", files[i].rawURL, nil) - if err != nil { - ch <- err - return - } - req.Header.Set("User-Agent", userAgent) - for k, vs := range header { - req.Header[k] = vs - } - resp, err := client.Do(req) - if err != nil { - ch <- &RemoteError{req.URL.Host, err} - return - } - defer resp.Body.Close() - if resp.StatusCode != 200 { - ch <- &RemoteError{req.URL.Host, fmt.Errorf("get %s -> %d", req.URL, resp.StatusCode)} - return - } - files[i].data, err = ioutil.ReadAll(resp.Body) - if err != nil { - ch <- &RemoteError{req.URL.Host, err} - return - } - ch <- nil - }(i) - } - for _ = range files { - if err := <-ch; err != nil { - return err - } - } - return nil -} - -func httpGetJSON(client *http.Client, url string, v interface{}) error { - rc, err := httpGet(client, url, nil) - if err != nil { - return err - } - defer rc.Close() - err = json.NewDecoder(rc).Decode(v) - if _, ok := err.(*json.SyntaxError); ok { - err = NotFoundError{"JSON syntax error at " + url} - } - return err -} diff --git a/doc/launchpad.go b/doc/launchpad.go index 17fdcc7bb..b7ac63c8d 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -21,9 +21,10 @@ import ( "io" "net/http" "os" - //"path" "regexp" "strings" + + "github.com/Unknwon/com" ) var launchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) @@ -32,12 +33,13 @@ var launchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { if match["project"] != "" && match["series"] != "" { - rc, err := httpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) + rc, err := com.HttpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) + _, isNotFound := err.(com.NotFoundError) switch { case err == nil: rc.Close() // The structure of the import path is launchpad.net/{root}/{dir}. - case isNotFound(err): + case isNotFound: // The structure of the import path is is launchpad.net/{project}/{dir}. match["repo"] = match["project"] match["dir"] = expand("{series}{dir}", match) @@ -55,7 +57,7 @@ func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPa } // Scrape the repo browser to find the project revision and individual Go files. - p, err := HttpGetBytes(client, downloadPath, nil) + p, err := com.HttpGetBytes(client, downloadPath, nil) if err != nil { return nil, err } diff --git a/doc/oschina.go b/doc/oschina.go index 47c075ef3..d6ca10bfe 100644 --- a/doc/oschina.go +++ b/doc/oschina.go @@ -23,6 +23,8 @@ import ( "os" "regexp" "strings" + + "github.com/Unknwon/com" ) var ( @@ -49,7 +51,7 @@ func getOSCDoc(client *http.Client, match map[string]string, installRepoPath str // zip: http://{projectRoot}/repository/archive?ref={sha} // Downlaod archive. - p, err := HttpGetBytes(client, expand("http://git.oschina.net/{owner}/{repo}/repository/archive?ref={sha}", match), nil) + p, err := com.HttpGetBytes(client, expand("http://git.oschina.net/{owner}/{repo}/repository/archive?ref={sha}", match), nil) if err != nil { return nil, errors.New("Fail to donwload OSChina repo -> " + err.Error()) } diff --git a/doc/vcs.go b/doc/vcs.go index c54ef4435..1a7f94926 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -28,6 +28,8 @@ import ( "regexp" "strconv" "strings" + + "github.com/Unknwon/com" ) var ( @@ -112,7 +114,7 @@ func downloadGit(schemes []string, repo, savedEtag string) (string, string, erro } if scheme == "" { - return "", "", NotFoundError{"VCS not found"} + return "", "", com.NotFoundError{"VCS not found"} } tags := make(map[string]string) @@ -172,7 +174,7 @@ func bestTag(tags map[string]string, defaultTag string) (string, string, error) if commit, ok := tags[defaultTag]; ok { return defaultTag, commit, nil } - return "", "", NotFoundError{"Tag or branch not found."} + return "", "", com.NotFoundError{"Tag or branch not found."} } // expand replaces {k} in template with match[k] or subs[atoi(k)] if k is not in match. @@ -199,56 +201,6 @@ func expand(template string, match map[string]string, subs ...string) string { return string(p) } -// checkImports checks package denpendencies. -func CheckImports(absPath, importPath string) (importPkgs []string, err error) { - dir, err := os.Open(absPath) - if err != nil { - return nil, err - } - defer dir.Close() - - // Get file info slice. - fis, err := dir.Readdir(0) - if err != nil { - return nil, err - } - - files := make([]*source, 0, 10) - for _, fi := range fis { - // Only handle files. - if strings.HasSuffix(fi.Name(), ".go") { - f, err := os.Open(absPath + fi.Name()) - if err != nil { - return nil, err - } - - fbytes := make([]byte, fi.Size()) - _, err = f.Read(fbytes) - f.Close() - - if err != nil { - return nil, err - } - - files = append(files, &source{ - name: fi.Name(), - data: fbytes, - }) - } - } - - // Check if has Go source files. - if len(files) > 0 { - w := &walker{ImportPath: importPath} - importPkgs, err = w.build(files) - if err != nil { - return nil, err - } - } - - return importPkgs, err -} - // PureDownload downloads package without version control. func PureDownload(nod *Node, installRepoPath string, flags map[string]bool) ([]string, error) { for _, s := range services { @@ -287,7 +239,7 @@ func getDynamic(client *http.Client, nod *Node, installRepoPath string, flags ma return nil, err } if rootMatch["projectRoot"] != match["projectRoot"] { - return nil, NotFoundError{"Project root mismatch."} + return nil, com.NotFoundError{"Project root mismatch."} } } @@ -312,7 +264,7 @@ func fetchMeta(client *http.Client, importPath string) (map[string]string, error scheme = "http" resp, err = client.Get(scheme + "://" + uri) if err != nil { - return nil, &RemoteError{strings.SplitN(importPath, "/", 2)[0], err} + return nil, &com.RemoteError{strings.SplitN(importPath, "/", 2)[0], err} } } defer resp.Body.Close() @@ -359,7 +311,7 @@ metaScan: continue metaScan } if match != nil { - return nil, NotFoundError{"More than one found at " + scheme + "://" + importPath} + return nil, com.NotFoundError{"More than one found at " + scheme + "://" + importPath} } projectRoot, vcs, repo := f[0], f[1], f[2] @@ -367,7 +319,7 @@ metaScan: repo = strings.TrimSuffix(repo, "."+vcs) i := strings.Index(repo, "://") if i < 0 { - return nil, NotFoundError{"Bad repo URL in ."} + return nil, com.NotFoundError{"Bad repo URL in ."} } proto := repo[:i] repo = repo[i+len("://"):] @@ -390,7 +342,76 @@ metaScan: } } if match == nil { - return nil, NotFoundError{" not found."} + return nil, com.NotFoundError{" not found."} } return match, nil } + +func getImports(rootPath string, match map[string]string, cmdFlags map[string]bool) (imports []string) { + dirs, err := GetDirsInfo(rootPath) + if err != nil { + return nil + } + + for _, d := range dirs { + if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { + absPath := rootPath + d.Name() + "/" + importPkgs, err := CheckImports(absPath, match["importPath"]) + if err != nil { + return nil + } + imports = append(imports, importPkgs...) + } + } + return imports +} + +// checkImports checks package denpendencies. +func CheckImports(absPath, importPath string) (importPkgs []string, err error) { + dir, err := os.Open(absPath) + if err != nil { + return nil, err + } + defer dir.Close() + + // Get file info slice. + fis, err := dir.Readdir(0) + if err != nil { + return nil, err + } + + files := make([]*source, 0, 10) + for _, fi := range fis { + // Only handle files. + if strings.HasSuffix(fi.Name(), ".go") { + f, err := os.Open(absPath + fi.Name()) + if err != nil { + return nil, err + } + + fbytes := make([]byte, fi.Size()) + _, err = f.Read(fbytes) + f.Close() + + if err != nil { + return nil, err + } + + files = append(files, &source{ + name: fi.Name(), + data: fbytes, + }) + } + } + + // Check if has Go source files. + if len(files) > 0 { + w := &walker{ImportPath: importPath} + importPkgs, err = w.build(files) + if err != nil { + return nil, err + } + } + + return importPkgs, err +} diff --git a/gopm.go b/gopm.go index b564be06b..a558f3b58 100644 --- a/gopm.go +++ b/gopm.go @@ -37,7 +37,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.2.2.0819" +const APP_VER = "0.2.5.0827" var ( config map[string]interface{} From 34112452562bba3291ee50b994bfcc54c6c8e44d Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 27 Aug 2013 03:52:40 +0800 Subject: [PATCH 136/287] Huge imporve download repos on google code --- gopm.go | 39 ++++----------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) diff --git a/gopm.go b/gopm.go index a558f3b58..b45cae609 100644 --- a/gopm.go +++ b/gopm.go @@ -19,9 +19,6 @@ import ( "fmt" "io" "os" - "os/exec" - "path" - "path/filepath" "runtime" "strings" "sync" @@ -29,8 +26,8 @@ import ( "unicode" "unicode/utf8" + "github.com/Unknwon/com" "github.com/gpmgo/gopm/cmd" - "github.com/gpmgo/gopm/doc" ) // +build go1.1 @@ -71,43 +68,15 @@ var commands = []*cmd.Command{ helpTestfunc,*/ } -// getAppPath returns application execute path for current process. -func getAppPath() bool { - // Look up executable in PATH variable. - cmd.AppPath, _ = exec.LookPath(path.Base(os.Args[0])) - // Check if run under $GOPATH/bin. - if !doc.IsExist(cmd.AppPath + "docs/") { - paths := doc.GetGOPATH() - for _, p := range paths { - if doc.IsExist(p + "/src/github.com/gpmgoo/gopm/") { - cmd.AppPath = p + "/src/github.com/gpmgo/gopm/" - break - } - } - } - - if len(cmd.AppPath) == 0 { - doc.ColorLog("[ERRO] Cannot assign 'AppPath'[ %s ]\n", - "Unable to indicate current execute path") - return false - } - - cmd.AppPath = filepath.Dir(cmd.AppPath) + "/" - if runtime.GOOS == "windows" { - // Replace all '\' to '/'. - cmd.AppPath = strings.Replace(cmd.AppPath, "\\", "/", -1) - } - - return true -} - // We don't use init() to initialize // bacause we need to get execute path in runtime. func initialize() bool { runtime.GOMAXPROCS(runtime.NumCPU()) // Get application execute path. - if !getAppPath() { + var err error + cmd.AppPath, err = com.GetSrcPath("github.com/gpmgoo/gopm") + if err != nil { return false } From bf14e02a1bad738138329dc5484db920e23023b2 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 27 Aug 2013 12:25:47 +0800 Subject: [PATCH 137/287] Huge imporve for downloading repos on google code --- .gitignore | 1 + cmd/get.go | 1 - doc/google.go | 18 +++++++++++++++--- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index f78fbe263..2b4fd370c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ gopm *.exe *.exe~ +repos/ \ No newline at end of file diff --git a/cmd/get.go b/cmd/get.go index d9ac9d66e..6a502cbfc 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -18,7 +18,6 @@ import ( "errors" "fmt" "os/user" - //"path" "strings" "github.com/gpmgo/gopm/doc" diff --git a/doc/google.go b/doc/google.go index e9e3000f7..d1e2c48f2 100644 --- a/doc/google.go +++ b/doc/google.go @@ -52,16 +52,28 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath // Remove old files. os.RemoveAll(installPath + "/") match["tag"] = nod.Value - err := packer.PackToFile(match["importPath"], installPath+".zip", match) + + ext := ".zip" + if match["vcs"] == "svn" { + ext = ".tar.gz" + } + + err := packer.PackToFile(match["importPath"], installPath+ext, match) if err != nil { return nil, err } - dirs, err := com.Unzip(installPath+".zip", path.Dir(installPath)) + var dirs []string + if match["vcs"] != "svn" { + dirs, err = com.Unzip(installPath+ext, path.Dir(installPath)) + } else { + dirs, err = com.UnTarGz(installPath+ext, path.Dir(installPath)) + } + if err != nil { return nil, err } - os.Remove(installPath + ".zip") + os.Remove(installPath + ext) os.Rename(path.Dir(installPath)+"/"+dirs[0], installPath) // Check if need to check imports. From 5e1040fd19be92586aa6646774f79d2f90228e05 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 27 Aug 2013 15:14:41 +0800 Subject: [PATCH 138/287] merge --- build.sh | 20 ++++++++++++++++++++ cmd/search.go | 25 +++++++++++++------------ cmd/serve.go | 19 +++++++++++++++++-- 3 files changed, 50 insertions(+), 14 deletions(-) create mode 100755 build.sh diff --git a/build.sh b/build.sh new file mode 100755 index 000000000..0c59d1202 --- /dev/null +++ b/build.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +if [ ! -f build.sh ]; then +echo 'build.sh must be run within its container folder' 1>&2 +exit 1 +fi + +CURDIR=`pwd` +NEWPATH="$GOPATH/src/github.com/gpmgo/gopm" +if [ ! -d "$NEWPATH" ]; then +ln -s $CURDIR $NEWPATH +fi + +gofmt -w $CURDIR + +cd $NEWPATH +go build +cd $CURDIR + +echo 'Build successfully!' diff --git a/cmd/search.go b/cmd/search.go index 58864f449..917a4b04c 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -30,9 +30,6 @@ search packages The search flags are: - -s - start a search service. This must be run before search a package - -e search extactly, you should input an exactly package name as keyword `, @@ -41,14 +38,12 @@ The search flags are: func init() { CmdSearch.Run = runSearch CmdSearch.Flags = map[string]bool{ - "-s": false, + "-e": false, } } func printSearchPrompt(flag string) { switch flag { - case "-s": - doc.ColorLog("[INFO] You enabled start a service.\n") case "-e": doc.ColorLog("[INFO] You enabled exactly search.\n") } @@ -69,22 +64,28 @@ func runSearch(cmd *Command, args []string) { return } + var host, port string + host = "localhost" + port = "8991" + + autoRun() + if cmd.Flags["-e"] { - search(args[0], true) + search(host, port, args[0], true) } else { - search(args[0], false) + search(host, port, args[0], false) } } /* request local or remote search service to find packages according to keyword inputed */ -func search(keyword string, isExactly bool) { - url := "http://localhost:8991/search?" +func search(host, port, keyword string, isExactly bool) { + url := fmt.Sprintf("http://%v:%v/search?%v", host, port, keyword) if isExactly { - url = "http://localhost:8991/searche?" + url = fmt.Sprintf("http://%v:%v/searche?%v", host, port, keyword) } - resp, err := http.Get(url + keyword) + resp, err := http.Get(url) if err != nil { doc.ColorLog(err.Error()) return diff --git a/cmd/serve.go b/cmd/serve.go index aad54f252..cb7cb53a9 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -240,11 +240,26 @@ func rmPkg(pkg *Pkg) { var db *leveldb.DB // service should be run -func autoRun() { +func autoRun() error { s, _, _ := runningStatus() if s == STOP { - os.StartProcess("gopm", []string{"serve", "-l"}, nil) + attr := &os.ProcAttr{ + Files: make([]*os.File, 0), + } + _, err := os.StartProcess("./gopm", []string{"serve", "-l"}, attr) + if err != nil { + return err + } + + /*f, err := os.OpenFile("~/.gopm/var/pid", os.O_CREATE, 0700) + if err != nil { + return err + } + f.WriteString(fmt.Sprintf("%v,%v,%v", RUNNING, , )) + + fmt.Println(p.Pid)*/ } + return nil } func runningStatus() (int, int, int) { From e3417956555f2c37ef61df067e143967a1ffeb4a Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 27 Aug 2013 17:32:35 +0800 Subject: [PATCH 139/287] add search command --- cmd/get.go | 2 +- cmd/serve.go | 25 +++++++++++++++++++------ doc/utils.go | 18 ++++++++++++++---- doc/utils_windows.go | 15 +++++++++++++++ docs/features_CN.md | 11 +++++++++++ gopm.go | 4 ++-- 6 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 doc/utils_windows.go diff --git a/cmd/get.go b/cmd/get.go index 6a502cbfc..f347ed601 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -201,7 +201,7 @@ func downloadPackages(nodes []*doc.Node) { doc.ColorLog("[SUCC] Downloaded package( %s => %s:%s )\n", n.ImportPath, n.Type, n.Value) downloadCount++ - //saveNode(nod) + saveNode(nod) } } else { doc.ColorLog("[WARN] Skipped downloaded package( %s => %s:%s )\n", diff --git a/cmd/serve.go b/cmd/serve.go index c45f93db7..2deb473be 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -15,18 +15,17 @@ package cmd import ( + serrors "errors" "fmt" + "github.com/gpmgo/gopm/doc" "github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb/errors" "github.com/syndtr/goleveldb/leveldb/opt" "io/ioutil" "net/http" "os" - "os/user" "strconv" "strings" - - "github.com/gpmgo/gopm/doc" ) var ( @@ -144,6 +143,21 @@ func batchPut(batch *leveldb.Batch, key string, value string) error { return nil } +func saveNode(nod *doc.Node) error { + url := fmt.Sprintf("http://%v:%v/add?%v", "localhost", "8991", nod.ImportPath) + resp, err := http.Get(url) + if err != nil { + doc.ColorLog(err.Error()) + return err + } + defer resp.Body.Close() + + if resp.StatusCode == 200 { + return nil + } + return serrors.New("save node failed with " + resp.Status) +} + func addNode(nod *doc.Node) error { batch := new(leveldb.Batch) strLastId, err := dbGet("lastId") @@ -316,14 +330,13 @@ func runningStatus() (int, int, int) { } func startService(listen string) { - // check the pre serve's type - curUser, err := user.Current() + homeDir, err := doc.HomeDir() if err != nil { fmt.Println(err) return } - dbDir = strings.Replace(dbDir, "~", curUser.HomeDir, -1) + dbDir = strings.Replace(dbDir, "~", homeDir, -1) db, err = leveldb.OpenFile(dbDir, &opt.Options{Flag: opt.OFCreateIfMissing}) if err != nil { diff --git a/doc/utils.go b/doc/utils.go index 271625bba..5c072916a 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -17,11 +17,12 @@ package doc import ( "fmt" "os" + "os/user" "path" "regexp" "runtime" "strings" - "syscall" + //"syscall" ) // IsExist returns if a file or directory exists @@ -144,14 +145,14 @@ func printColorLevel(level string) { default: cc = WWhite } - - kernel32 := syscall.NewLazyDLL("kernel32.dll") + fmt.Println(cc) + /*kernel32 := syscall.NewLazyDLL("kernel32.dll") proc := kernel32.NewProc("SetConsoleTextAttribute") handle, _, _ := proc.Call(uintptr(syscall.Stdout), uintptr(cc)) fmt.Print(level) handle, _, _ = proc.Call(uintptr(syscall.Stdout), uintptr(WSilver)) CloseHandle := kernel32.NewProc("CloseHandle") - CloseHandle.Call(handle) + CloseHandle.Call(handle)*/ } // GetGOPATH returns all paths in GOPATH variable. @@ -761,3 +762,12 @@ var standardPath = map[string]bool{ func IsGoRepoPath(importPath string) bool { return standardPath[importPath] } + +func HomeDir() (string, error) { + curUser, err := user.Current() + if err != nil { + return "", err + } + + return curUser.HomeDir, nil +} diff --git a/doc/utils_windows.go b/doc/utils_windows.go new file mode 100644 index 000000000..c389f04ac --- /dev/null +++ b/doc/utils_windows.go @@ -0,0 +1,15 @@ +package doc + +import ( + "errors" + "os" +) + +func HomeDir() (string, error) { + dir := os.Getenv("userprofile") + if dir == "" { + return "", errors.New() + } + + return dir, nil +} diff --git a/docs/features_CN.md b/docs/features_CN.md index 5c057e38b..923c91bf3 100644 --- a/docs/features_CN.md +++ b/docs/features_CN.md @@ -2,6 +2,7 @@ gopm ==== * [总体设计目标](#10) +* [程序结构](#11) * [Go包版本说明](#20) * [各命令的目标和作用](#30) * [gopm help](#31) @@ -30,6 +31,16 @@ gopm 5. 支持依赖管理 6. 支持从github, code.google.com, gitLab, 等常见的源码托管服务下载 + +#最终程序只有一个,但是通过配置,可以有三种模式: +1 独立服务器 +2 子服务器 +3 客户端(默认) + +##独立服务器 + +独立服务器就是本身的包都是直接从源服务器中获取的。 + #Go包版本说明 diff --git a/gopm.go b/gopm.go index b45cae609..2131453aa 100644 --- a/gopm.go +++ b/gopm.go @@ -85,9 +85,9 @@ func initialize() bool { func main() { // Initialization. - if !initialize() { + /*if !initialize() { return - } + }*/ // Check length of arguments. args := os.Args[1:] From 43cd3bf870fb0481efea732d2f0117a55da95dd3 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 27 Aug 2013 18:37:51 +0800 Subject: [PATCH 140/287] Fix code confilt --- README.md | 2 +- cmd/get.go | 48 ++++++------ cmd/search.go | 14 ++-- cmd/serve.go | 12 +-- doc/bitbucket.go | 2 +- doc/github.go | 2 +- doc/google.go | 2 +- doc/launchpad.go | 2 +- doc/oschina.go | 2 +- doc/struct.go | 1 + doc/utils.go | 177 ++++++------------------------------------- doc/utils_windows.go | 15 ---- doc/vcs.go | 10 +-- doc/walker.go | 92 +++++++++++++++++++++- gopm.go | 19 +---- 15 files changed, 165 insertions(+), 235 deletions(-) delete mode 100644 doc/utils_windows.go diff --git a/README.md b/README.md index 2ced87b5c..c1b8e7b40 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ gopm(Go Package Manager) is a Go package manage tool for search, install, update ## Credits -- [garyburd/gddo](https://github.com/garyburd/gddo) +- [Go Walker](https://github.com/Unknwon/gowalker) ## License diff --git a/cmd/get.go b/cmd/get.go index f347ed601..3d44b98ad 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -17,9 +17,9 @@ package cmd import ( "errors" "fmt" - "os/user" "strings" + "github.com/Unknwon/com" "github.com/gpmgo/gopm/doc" ) @@ -70,11 +70,11 @@ func init() { func printGetPrompt(flag string) { switch flag { case "-d": - doc.ColorLog("[INFO] You enabled download without installing.\n") + com.ColorLog("[INFO] You enabled download without installing.\n") case "-u": - doc.ColorLog("[INFO] You enabled force update.\n") + com.ColorLog("[INFO] You enabled force update.\n") case "-e": - doc.ColorLog("[INFO] You enabled download dependencies of example(s).\n") + com.ColorLog("[INFO] You enabled download dependencies of example(s).\n") } } @@ -97,7 +97,7 @@ func checkFlags(flags map[string]bool, args []string, print func(string)) int { fmt.Println("DISABLE: " + f) } } else { - doc.ColorLog("[ERRO] Unknown flag: %s.\n", f) + com.ColorLog("[ERRO] Unknown flag: %s.\n", f) return -1 } num = i + 1 @@ -116,18 +116,18 @@ func runGet(cmd *Command, args []string) { // Check length of arguments. if len(args) < 1 { - doc.ColorLog("[ERROR] Please list the package that you want to install.\n") + com.ColorLog("[ERROR] Please list the package that you want to install.\n") return } - curUser, err := user.Current() + hd, err := doc.GetHomeDir() if err != nil { - doc.ColorLog("[ERROR] Fail to get current user[ %s ]\n", err) + com.ColorLog("[ERROR] Fail to get current user[ %s ]\n", err) return } - installRepoPath = strings.Replace(reposDir, "~", curUser.HomeDir, -1) - doc.ColorLog("[INFO] Packages will be installed into( %s )\n", installRepoPath) + installRepoPath = strings.Replace(reposDir, "~", hd, -1) + com.ColorLog("[INFO] Packages will be installed into( %s )\n", installRepoPath) nodes := []*doc.Node{} // ver describles branch, tag or commit. @@ -136,7 +136,7 @@ func runGet(cmd *Command, args []string) { if len(args) >= 2 { t, ver, err = validPath(args[1]) if err != nil { - doc.ColorLog("[ERROR] Fail to parse 'args'[ %s ]\n", err) + com.ColorLog("[ERROR] Fail to parse 'args'[ %s ]\n", err) return } } @@ -152,7 +152,7 @@ func runGet(cmd *Command, args []string) { // Download package(s). downloadPackages(nodes) - doc.ColorLog("[INFO] %d package(s) downloaded, %d failed.\n", + com.ColorLog("[INFO] %d package(s) downloaded, %d failed.\n", downloadCount, failConut) } @@ -170,9 +170,9 @@ func downloadPackages(nodes []*doc.Node) { if len(n.Value) > 0 { installPath += "." + n.Value } - if doc.IsExist(installPath) { - doc.ColorLog("[WARN] Skipped installed package( %s => %s:%s )\n", - n.ImportPath, n.Type, n.Value) + if com.IsExist(installPath) { + com.ColorLog("[WARN] Skipped installed package( %s => %s:%s )\n", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) continue } } @@ -198,19 +198,19 @@ func downloadPackages(nodes []*doc.Node) { // Only save package information with specific commit. if nod != nil { // Save record in local nodes. - doc.ColorLog("[SUCC] Downloaded package( %s => %s:%s )\n", - n.ImportPath, n.Type, n.Value) + com.ColorLog("[SUCC] Downloaded package( %s => %s:%s )\n", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) downloadCount++ saveNode(nod) } } else { - doc.ColorLog("[WARN] Skipped downloaded package( %s => %s:%s )\n", - n.ImportPath, n.Type, n.Value) + com.ColorLog("[WARN] Skipped downloaded package( %s => %s:%s )\n", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) } } else { // Invalid import path. - doc.ColorLog("[WARN] Skipped invalid package path( %s => %s:%s )\n", - n.ImportPath, n.Type, n.Value) + com.ColorLog("[WARN] Skipped invalid package path( %s => %s:%s )\n", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) failConut++ } } @@ -218,15 +218,15 @@ func downloadPackages(nodes []*doc.Node) { // downloadPackage downloads package either use version control tools or not. func downloadPackage(nod *doc.Node) (*doc.Node, []string) { - doc.ColorLog("[TRAC] Downloading package( %s => %s:%s )\n", - nod.ImportPath, nod.Type, nod.Value) + com.ColorLog("[TRAC] Downloading package( %s => %s:%s )\n", + nod.ImportPath, nod.Type, doc.CheckNodeValue(nod.Value)) // Mark as donwloaded. downloadCache[nod.ImportPath] = true imports, err := doc.PureDownload(nod, installRepoPath, CmdGet.Flags) if err != nil { - doc.ColorLog("[ERRO] Download falied[ %s ]\n", err) + com.ColorLog("[ERRO] Download falied[ %s ]\n", err) failConut++ return nil, nil } diff --git a/cmd/search.go b/cmd/search.go index afbcc694b..0b4487555 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -20,7 +20,7 @@ import ( "io/ioutil" "net/http" - "github.com/gpmgo/gopm/doc" + "github.com/Unknwon/com" ) var CmdSearch = &Command{ @@ -46,7 +46,7 @@ func init() { func printSearchPrompt(flag string) { switch flag { case "-e": - doc.ColorLog("[INFO] You enabled exactly search.\n") + com.ColorLog("[INFO] You enabled exactly search.\n") } } @@ -61,7 +61,7 @@ func runSearch(cmd *Command, args []string) { // Check length of arguments. if len(args) < 1 { - doc.ColorLog("[ERROR] Please input package's keyword.\n") + com.ColorLog("[ERROR] Please input package's keyword.\n") return } @@ -88,7 +88,7 @@ func search(host, port, keyword string, isExactly bool) { } resp, err := http.Get(url) if err != nil { - doc.ColorLog(err.Error()) + com.ColorLog(err.Error()) return } defer resp.Body.Close() @@ -96,20 +96,20 @@ func search(host, port, keyword string, isExactly bool) { if resp.StatusCode == 200 { contents, err := ioutil.ReadAll(resp.Body) if err != nil { - doc.ColorLog(err.Error()) + com.ColorLog(err.Error()) return } pkgs := make([]string, 0) err = json.Unmarshal(contents, &pkgs) if err != nil { - doc.ColorLog(err.Error()) + com.ColorLog(err.Error()) return } for i, pkg := range pkgs { fmt.Println(i+1, pkg) } } else { - doc.ColorLog(resp.Status) + com.ColorLog(resp.Status) } } diff --git a/cmd/serve.go b/cmd/serve.go index 2deb473be..0b2a38555 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -26,6 +26,8 @@ import ( "os" "strconv" "strings" + + "github.com/Unknwon/com" ) var ( @@ -61,7 +63,7 @@ func init() { func printServePrompt(flag string) { switch flag { case "-l": - doc.ColorLog("[INFO] You enabled start a service only localhost.\n") + com.ColorLog("[INFO] You enabled start a service only localhost.\n") } } @@ -147,7 +149,7 @@ func saveNode(nod *doc.Node) error { url := fmt.Sprintf("http://%v:%v/add?%v", "localhost", "8991", nod.ImportPath) resp, err := http.Get(url) if err != nil { - doc.ColorLog(err.Error()) + com.ColorLog("%v\n", err.Error()) return err } defer resp.Body.Close() @@ -330,7 +332,7 @@ func runningStatus() (int, int, int) { } func startService(listen string) { - homeDir, err := doc.HomeDir() + homeDir, err := doc.GetHomeDir() if err != nil { fmt.Println(err) return @@ -386,7 +388,7 @@ func searchHandler(w http.ResponseWriter, r *http.Request) { fmt.Println(rId) pkg, err := dbGet(fmt.Sprintf("pkg:%v", rId)) if err != nil { - doc.ColorLog(err.Error()) + com.ColorLog(err.Error()) continue } pkgs = append(pkgs, pkg) @@ -403,7 +405,7 @@ func searcheHandler(w http.ResponseWriter, r *http.Request) { _, err := dbGet("index:" + key) if err != nil { - doc.ColorLog(err.Error()) + com.ColorLog(err.Error()) continue } diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 5b0e537a0..342f6ce6d 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -188,7 +188,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa // Check if need to check imports. if nod.IsGetDeps { for _, d := range dirs { - importPkgs, err := CheckImports(d+"/", match["importPath"]) + importPkgs, err := CheckImports(d+"/", match["importPath"], nod) if err != nil { return nil, err } diff --git a/doc/github.go b/doc/github.go index 7ab20ea8a..6254f9de5 100644 --- a/doc/github.go +++ b/doc/github.go @@ -150,7 +150,7 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath // Check if need to check imports. if nod.IsGetDeps { for _, d := range dirs { - importPkgs, err := CheckImports(d, match["importPath"]) + importPkgs, err := CheckImports(d, match["importPath"], nod) if err != nil { return nil, err } diff --git a/doc/google.go b/doc/google.go index d1e2c48f2..849abbe9d 100644 --- a/doc/google.go +++ b/doc/google.go @@ -78,7 +78,7 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath // Check if need to check imports. if nod.IsGetDeps { - imports := getImports(installPath+"/", match, cmdFlags) + imports := getImports(installPath+"/", match, cmdFlags, nod) return imports, err } diff --git a/doc/launchpad.go b/doc/launchpad.go index b7ac63c8d..a3bc7cb68 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -128,7 +128,7 @@ func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPa // Check if need to check imports. if nod.IsGetDeps { for _, d := range dirs { - importPkgs, err := CheckImports(d+"/", match["importPath"]) + importPkgs, err := CheckImports(d+"/", match["importPath"], nod) if err != nil { return nil, err } diff --git a/doc/oschina.go b/doc/oschina.go index d6ca10bfe..940d4c535 100644 --- a/doc/oschina.go +++ b/doc/oschina.go @@ -123,7 +123,7 @@ func getOSCDoc(client *http.Client, match map[string]string, installRepoPath str // Check if need to check imports. if nod.IsGetDeps { for _, d := range dirs { - importPkgs, err := CheckImports(d, match["importPath"]) + importPkgs, err := CheckImports(d, match["importPath"], nod) if err != nil { return nil, err } diff --git a/doc/struct.go b/doc/struct.go index 0993f6707..c8e3e2077 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -37,6 +37,7 @@ type Node struct { DownloadURL string Type string Value string // Branch, tag or commit. + Synopsis string IsGetDeps bool } diff --git a/doc/utils.go b/doc/utils.go index 5c072916a..e550e3d5c 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -15,162 +15,19 @@ package doc import ( - "fmt" "os" "os/user" "path" "regexp" "runtime" "strings" - //"syscall" -) - -// IsExist returns if a file or directory exists -func IsExist(path string) bool { - _, err := os.Stat(path) - return err == nil || os.IsExist(err) -} - -// Non-Windows. -const ( - Gray = uint8(iota + 90) - Red - Green - Yellow - Blue - Magenta - //NRed = uint8(31) // Normal - EndColor = "\033[0m" -) -// Windows. -const ( - WDefault = uintptr(iota) - WBlue - WGreen - WCyan - WRed - WPurple - WYellow - WGray - WSilver - WLightBlue - WLime - WLightCyan - WLightRed - WLightPurple - WLightYellow - WWhite + "github.com/Unknwon/com" ) -// ColorLog colors log and print to stdout. -// Log format: [ error ]. -// Level: TRAC -> blue; ERRO -> red; WARN -> Magenta; SUCC -> green; others -> default. -// Content: default; path: yellow; error -> red. -// Level has to be surrounded by "[" and "]". -// Highlights have to be surrounded by "# " and " #"(space). -// Paths have to be surrounded by "( " and " )"(sapce). -// Errors have to be surrounded by "[ " and " ]"(space). -func ColorLog(format string, a ...interface{}) { - log := fmt.Sprintf(format, a...) - if runtime.GOOS != "windows" { - var clog string - - // Level. - i := strings.Index(log, "]") - if log[0] == '[' && i > -1 { - clog += "[" + getColorLevel(log[1:i]) + "]" - } - - log = log[i+1:] - - // Error. - log = strings.Replace(log, "[ ", fmt.Sprintf("[\033[%dm", Red), -1) - log = strings.Replace(log, " ]", EndColor+"]", -1) - - // Path. - log = strings.Replace(log, "( ", fmt.Sprintf("(\033[%dm", Yellow), -1) - log = strings.Replace(log, " )", EndColor+")", -1) - - // Highlights. - log = strings.Replace(log, "# ", fmt.Sprintf("\033[%dm", Gray), -1) - log = strings.Replace(log, " #", EndColor, -1) - - log = clog + log - } else { - // Level. - i := strings.Index(log, "]") - if log[0] == '[' && i > -1 { - fmt.Print("[") - printColorLevel(log[1:i]) - fmt.Print("]") - } - - log = log[i+1:] - } - - fmt.Print(log) -} - -// getColorLevel returns colored level string by given level. -func getColorLevel(level string) string { - level = strings.ToUpper(level) - switch level { - case "TRAC": - return fmt.Sprintf("\033[%dm%s\033[0m", Blue, level) - case "ERRO": - return fmt.Sprintf("\033[%dm%s\033[0m", Red, level) - case "WARN": - return fmt.Sprintf("\033[%dm%s\033[0m", Magenta, level) - case "SUCC": - return fmt.Sprintf("\033[%dm%s\033[0m", Green, level) - default: - return level - } -} - -// printColorLevel prints color level prompt, this is only for Windows. -func printColorLevel(level string) { - cc := WDefault - level = strings.ToUpper(level) - switch level { - case "TRAC": - cc = WBlue - case "ERRO": - cc = WRed - case "WARN": - cc = WPurple - case "SUCC": - cc = WGreen - default: - cc = WWhite - } - fmt.Println(cc) - /*kernel32 := syscall.NewLazyDLL("kernel32.dll") - proc := kernel32.NewProc("SetConsoleTextAttribute") - handle, _, _ := proc.Call(uintptr(syscall.Stdout), uintptr(cc)) - fmt.Print(level) - handle, _, _ = proc.Call(uintptr(syscall.Stdout), uintptr(WSilver)) - CloseHandle := kernel32.NewProc("CloseHandle") - CloseHandle.Call(handle)*/ -} - -// GetGOPATH returns all paths in GOPATH variable. -func GetGOPATH() []string { - gopath := os.Getenv("GOPATH") - var paths []string - if runtime.GOOS == "windows" { - gopath = strings.Replace(gopath, "\\", "/", -1) - paths = strings.Split(gopath, ";") - } else { - paths = strings.Split(gopath, ":") - } - return paths -} - // GetGOPATH returns best matched GOPATH. func GetBestMatchGOPATH(appPath string) string { - paths := GetGOPATH() + paths := com.GetGOPATHs() for _, p := range paths { if strings.HasPrefix(p, appPath) { return strings.Replace(p, "\\", "/", -1) @@ -199,14 +56,14 @@ func GetDirsInfo(rootPath string) ([]os.FileInfo, error) { // or doesn't exist. func CheckIsExistWithVCS(path string) bool { // Check if directory exist. - if !IsExist(path) { + if !com.IsExist(path) { return false } // Check if only has VCS folder. dirs, err := GetDirsInfo(path) if err != nil { - ColorLog("[ERRO] CheckIsExistWithVCS -> [ %s ]\n", err) + com.ColorLog("[ERRO] CheckIsExistWithVCS -> [ %s ]\n", err) return false } @@ -227,7 +84,7 @@ func CheckIsExistWithVCS(path string) bool { // CheckIsExistInGOPATH checks if given package import path exists in any path in GOPATH/src, // and returns corresponding GOPATH. func CheckIsExistInGOPATH(importPath string) (string, bool) { - paths := GetGOPATH() + paths := com.GetGOPATHs() for _, p := range paths { if CheckIsExistWithVCS(p + "/src/" + importPath + "/") { return p, true @@ -763,11 +620,25 @@ func IsGoRepoPath(importPath string) bool { return standardPath[importPath] } -func HomeDir() (string, error) { - curUser, err := user.Current() - if err != nil { - return "", err +func GetHomeDir() (string, error) { + if runtime.GOOS != "windows" { + curUser, err := user.Current() + if err != nil { + return "", err + } + return curUser.HomeDir, nil + } else { + hd, err := com.HomeDir() + if err != nil { + return "", err + } + return hd, nil } +} - return curUser.HomeDir, nil +func CheckNodeValue(v string) string { + if len(v) == 0 { + return "" + } + return v } diff --git a/doc/utils_windows.go b/doc/utils_windows.go deleted file mode 100644 index c389f04ac..000000000 --- a/doc/utils_windows.go +++ /dev/null @@ -1,15 +0,0 @@ -package doc - -import ( - "errors" - "os" -) - -func HomeDir() (string, error) { - dir := os.Getenv("userprofile") - if dir == "" { - return "", errors.New() - } - - return dir, nil -} diff --git a/doc/vcs.go b/doc/vcs.go index 1a7f94926..e8a920621 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -223,7 +223,7 @@ func PureDownload(nod *Node, installRepoPath string, flags map[string]bool) ([]s return s.get(HttpClient, match, installRepoPath, nod, flags) } - ColorLog("[TRAC] Cannot match any service, getting dynamic...\n") + com.ColorLog("[TRAC] Cannot match any service, getting dynamic...\n") return getDynamic(HttpClient, nod, installRepoPath, flags) } @@ -347,7 +347,7 @@ metaScan: return match, nil } -func getImports(rootPath string, match map[string]string, cmdFlags map[string]bool) (imports []string) { +func getImports(rootPath string, match map[string]string, cmdFlags map[string]bool, nod *Node) (imports []string) { dirs, err := GetDirsInfo(rootPath) if err != nil { return nil @@ -356,7 +356,7 @@ func getImports(rootPath string, match map[string]string, cmdFlags map[string]bo for _, d := range dirs { if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { absPath := rootPath + d.Name() + "/" - importPkgs, err := CheckImports(absPath, match["importPath"]) + importPkgs, err := CheckImports(absPath, match["importPath"], nod) if err != nil { return nil } @@ -367,7 +367,7 @@ func getImports(rootPath string, match map[string]string, cmdFlags map[string]bo } // checkImports checks package denpendencies. -func CheckImports(absPath, importPath string) (importPkgs []string, err error) { +func CheckImports(absPath, importPath string, nod *Node) (importPkgs []string, err error) { dir, err := os.Open(absPath) if err != nil { return nil, err @@ -407,7 +407,7 @@ func CheckImports(absPath, importPath string) (importPkgs []string, err error) { // Check if has Go source files. if len(files) > 0 { w := &walker{ImportPath: importPath} - importPkgs, err = w.build(files) + importPkgs, err = w.build(files, nod) if err != nil { return nil, err } diff --git a/doc/walker.go b/doc/walker.go index 797c301ae..9b652c54c 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -18,6 +18,7 @@ import ( "bytes" "go/ast" "go/build" + "go/doc" "go/parser" "go/token" "io" @@ -26,6 +27,10 @@ import ( "path" "runtime" "strings" + "unicode" + "unicode/utf8" + + "github.com/Unknwon/com" ) type sliceWriter struct{ p *[]byte } @@ -82,7 +87,7 @@ func simpleImporter(imports map[string]*ast.Object, path string) (*ast.Object, e } // build gets imports from source files. -func (w *walker) build(srcs []*source) ([]string, error) { +func (w *walker) build(srcs []*source, nod *Node) ([]string, error) { // Add source files to walker, I skipped references here. w.srcs = make(map[string]*source) for _, src := range srcs { @@ -113,7 +118,7 @@ func (w *walker) build(srcs []*source) ([]string, error) { if nogo { err = nil } else { - ColorLog("[WARN] Error occurs when check imports[ %s ]\n", err) + com.ColorLog("[WARN] Error occurs when check imports[ %s ]\n", err) return nil, nil } } @@ -140,5 +145,88 @@ func (w *walker) build(srcs []*source) ([]string, error) { } } + apkg, _ := ast.NewPackage(w.fset, files, simpleImporter, nil) + + mode := doc.Mode(0) + if w.ImportPath == "builtin" { + mode |= doc.AllDecls + } + + pdoc := doc.New(apkg, w.ImportPath, mode) + nod.Synopsis = Synopsis(pdoc.Doc) return imports, err } + +var badSynopsisPrefixes = []string{ + "Autogenerated by Thrift Compiler", + "Automatically generated ", + "Auto-generated by ", + "Copyright ", + "COPYRIGHT ", + `THE SOFTWARE IS PROVIDED "AS IS"`, + "TODO: ", + "vim:", +} + +// Synopsis extracts the first sentence from s. All runs of whitespace are +// replaced by a single space. +func Synopsis(s string) string { + + parts := strings.SplitN(s, "\n\n", 2) + s = parts[0] + + var buf []byte + const ( + other = iota + period + space + ) + last := space +Loop: + for i := 0; i < len(s); i++ { + b := s[i] + switch b { + case ' ', '\t', '\r', '\n': + switch last { + case period: + break Loop + case other: + buf = append(buf, ' ') + last = space + } + case '.': + last = period + buf = append(buf, b) + default: + last = other + buf = append(buf, b) + } + } + + // Ensure that synopsis fits an App Engine datastore text property. + const m = 400 + if len(buf) > m { + buf = buf[:m] + if i := bytes.LastIndex(buf, []byte{' '}); i >= 0 { + buf = buf[:i] + } + buf = append(buf, " ..."...) + } + + s = string(buf) + + r, n := utf8.DecodeRuneInString(s) + if n < 0 || unicode.IsPunct(r) || unicode.IsSymbol(r) { + // ignore Markdown headings, editor settings, Go build constraints, and * in poorly formatted block comments. + s = "" + } else { + for _, prefix := range badSynopsisPrefixes { + if strings.HasPrefix(s, prefix) { + s = "" + break + } + } + } + + return s +} diff --git a/gopm.go b/gopm.go index 2131453aa..c8255c175 100644 --- a/gopm.go +++ b/gopm.go @@ -26,7 +26,6 @@ import ( "unicode" "unicode/utf8" - "github.com/Unknwon/com" "github.com/gpmgo/gopm/cmd" ) @@ -68,27 +67,11 @@ var commands = []*cmd.Command{ helpTestfunc,*/ } -// We don't use init() to initialize -// bacause we need to get execute path in runtime. -func initialize() bool { +func init() { runtime.GOMAXPROCS(runtime.NumCPU()) - - // Get application execute path. - var err error - cmd.AppPath, err = com.GetSrcPath("github.com/gpmgoo/gopm") - if err != nil { - return false - } - - return true } func main() { - // Initialization. - /*if !initialize() { - return - }*/ - // Check length of arguments. args := os.Args[1:] if len(args) < 1 { From 65d9e6ca4ffeade27b3118002fd077a7808a164c Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 27 Aug 2013 20:25:21 +0800 Subject: [PATCH 141/287] Updated --- doc/walker.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/walker.go b/doc/walker.go index 9b652c54c..95ecb5aa9 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -154,6 +154,9 @@ func (w *walker) build(srcs []*source, nod *Node) ([]string, error) { pdoc := doc.New(apkg, w.ImportPath, mode) nod.Synopsis = Synopsis(pdoc.Doc) + if i := strings.Index(nod.Synopsis, "\n"); i > -1 { + nod.Synopsis = nod.Synopsis[:i] + } return imports, err } From ccbe2e6e1ef9191714345a32753faca764227868 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 27 Aug 2013 21:18:07 +0800 Subject: [PATCH 142/287] Updated --- cmd/get.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 3d44b98ad..70a91fdf5 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -116,13 +116,13 @@ func runGet(cmd *Command, args []string) { // Check length of arguments. if len(args) < 1 { - com.ColorLog("[ERROR] Please list the package that you want to install.\n") + com.ColorLog("[ERRO] Please list the package that you want to install.\n") return } hd, err := doc.GetHomeDir() if err != nil { - com.ColorLog("[ERROR] Fail to get current user[ %s ]\n", err) + com.ColorLog("[ERRO] Fail to get current user[ %s ]\n", err) return } From 1177eadf8bcbe40d2eb0fa997ccdbf0b45b0cdcc Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 28 Aug 2013 09:02:03 +0800 Subject: [PATCH 143/287] Litter fix --- cmd/serve.go | 4 ++-- doc/google.go | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cmd/serve.go b/cmd/serve.go index 0b2a38555..5afe15565 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -149,7 +149,7 @@ func saveNode(nod *doc.Node) error { url := fmt.Sprintf("http://%v:%v/add?%v", "localhost", "8991", nod.ImportPath) resp, err := http.Get(url) if err != nil { - com.ColorLog("%v\n", err.Error()) + com.ColorLog("[ERRO] Fail to save node[ %s ]\n", err) return err } defer resp.Body.Close() @@ -430,7 +430,7 @@ func addHandler(w http.ResponseWriter, r *http.Request) { if nod != nil { err := addNode(nod) if err != nil { - fmt.Println(err) + com.ColorLog("[ERRO] SEVER: Cannot add node[ %s ]\n", err) } } else { fmt.Println(key) diff --git a/doc/google.go b/doc/google.go index 849abbe9d..aafe8a452 100644 --- a/doc/google.go +++ b/doc/google.go @@ -15,6 +15,7 @@ package doc import ( + "errors" "net/http" "os" "path" @@ -56,6 +57,7 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath ext := ".zip" if match["vcs"] == "svn" { ext = ".tar.gz" + com.ColorLog("[WARN] SVN detected, may take very long time.\n") } err := packer.PackToFile(match["importPath"], installPath+ext, match) @@ -70,6 +72,10 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath dirs, err = com.UnTarGz(installPath+ext, path.Dir(installPath)) } + if len(dirs) == 0 { + return nil, errors.New("No file in repository") + } + if err != nil { return nil, err } From 53a37e6504c1d7c7f33ce8dd9b88459ad265ef74 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 29 Aug 2013 21:02:37 +0800 Subject: [PATCH 144/287] Done download repos on google code --- doc/google.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/google.go b/doc/google.go index aafe8a452..f363a3b23 100644 --- a/doc/google.go +++ b/doc/google.go @@ -38,16 +38,15 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath } var installPath string + projectPath := GetProjectPath(nod.ImportPath) if nod.ImportPath == nod.DownloadURL { suf := "." + nod.Value if len(suf) == 1 { suf = "" } - projectPath := expand("code.google.com/p/{repo}{dot}{subrepo}{dir}", match) installPath = installRepoPath + "/" + projectPath + suf - nod.ImportPath = projectPath } else { - installPath = installRepoPath + "/" + nod.ImportPath + installPath = installRepoPath + "/" + projectPath } // Remove old files. From 393d351826724308297bde21b7fd0982811a097e Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 30 Aug 2013 00:17:43 +0800 Subject: [PATCH 145/287] Code fix --- cmd/get.go | 2 +- cmd/serve.go | 2 +- doc/utils.go | 18 ------------------ 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 70a91fdf5..6ae456e8c 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -120,7 +120,7 @@ func runGet(cmd *Command, args []string) { return } - hd, err := doc.GetHomeDir() + hd, err := com.HomeDir() if err != nil { com.ColorLog("[ERRO] Fail to get current user[ %s ]\n", err) return diff --git a/cmd/serve.go b/cmd/serve.go index 5afe15565..be4b18c1a 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -332,7 +332,7 @@ func runningStatus() (int, int, int) { } func startService(listen string) { - homeDir, err := doc.GetHomeDir() + homeDir, err := com.HomeDir() if err != nil { fmt.Println(err) return diff --git a/doc/utils.go b/doc/utils.go index e550e3d5c..ebcbf5d72 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -16,10 +16,8 @@ package doc import ( "os" - "os/user" "path" "regexp" - "runtime" "strings" "github.com/Unknwon/com" @@ -620,22 +618,6 @@ func IsGoRepoPath(importPath string) bool { return standardPath[importPath] } -func GetHomeDir() (string, error) { - if runtime.GOOS != "windows" { - curUser, err := user.Current() - if err != nil { - return "", err - } - return curUser.HomeDir, nil - } else { - hd, err := com.HomeDir() - if err != nil { - return "", err - } - return hd, nil - } -} - func CheckNodeValue(v string) string { if len(v) == 0 { return "" From bf2469b4101872b99957834151cfe94899291eed Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 30 Aug 2013 16:00:16 +0800 Subject: [PATCH 146/287] improved serve --- cmd/serve.go | 79 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 59 insertions(+), 20 deletions(-) diff --git a/cmd/serve.go b/cmd/serve.go index 0b2a38555..ba15ca5f3 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -23,6 +23,7 @@ import ( "github.com/syndtr/goleveldb/leveldb/opt" "io/ioutil" "net/http" + "net/url" "os" "strconv" "strings" @@ -145,9 +146,39 @@ func batchPut(batch *leveldb.Batch, key string, value string) error { return nil } +func getServeHost() string { + return "localhost" +} + +func getServePort() string { + return "8991" +} + +func BoolStr(b bool) string { + if b { + return "true" + } + return "false" +} + +func StrBool(bStr string) bool { + if bStr == "true" { + return true + } + return false +} + +// for exernal of serve to add node to db func saveNode(nod *doc.Node) error { - url := fmt.Sprintf("http://%v:%v/add?%v", "localhost", "8991", nod.ImportPath) - resp, err := http.Get(url) + urlPath := fmt.Sprintf("http://%v:%v/add", getServeHost(), getServePort()) + resp, err := http.PostForm(urlPath, + url.Values{"importPath": {nod.ImportPath}, + "synopsis": {nod.Synopsis}, + "downloadURL": {nod.DownloadURL}, + "isGetDeps": {BoolStr(nod.IsGetDeps)}, + "type": {nod.Type}, + "value": {nod.Value}}) + if err != nil { com.ColorLog("%v\n", err.Error()) return err @@ -160,6 +191,7 @@ func saveNode(nod *doc.Node) error { return serrors.New("save node failed with " + resp.Status) } +// for inetrnal of serve to add node to db func addNode(nod *doc.Node) error { batch := new(leveldb.Batch) strLastId, err := dbGet("lastId") @@ -188,7 +220,6 @@ func addNode(nod *doc.Node) error { if err != nil { if err == errors.ErrNotFound { id = fmt.Sprintf("%v", lastId+1) - fmt.Println(id) err = batchPut(batch, "lastId", id) if err == nil { err = batchPut(batch, nodKey, id) @@ -196,6 +227,17 @@ func addNode(nod *doc.Node) error { if err == nil { err = batchPut(batch, "pkg:"+id, nod.ImportPath) } + if err == nil { + err = batchPut(batch, "desc:"+id, nod.Synopsis) + } + if err == nil { + err = batchPut(batch, "down:"+id, nod.DownloadURL) + } + if err == nil { + err = batchPut(batch, "deps:"+id, BoolStr(nod.IsGetDeps)) + } + + // save totals total, err := dbGet("total") if err != nil { if err == errors.ErrNotFound { @@ -222,6 +264,7 @@ func addNode(nod *doc.Node) error { return err } + // save vers vers, err := dbGet("ver:" + id) needSplit := (err == errors.ErrNotFound) if err != nil { @@ -252,8 +295,8 @@ func addNode(nod *doc.Node) error { return nil } + // indexing keys := splitPkgName(nod.ImportPath) - for key, _ := range keys { err = batchPut(batch, fmt.Sprintf("key:%v:%v", key, id), "") if err != nil { @@ -419,22 +462,18 @@ func searcheHandler(w http.ResponseWriter, r *http.Request) { func addHandler(w http.ResponseWriter, r *http.Request) { //if r.Method == "POST" { r.ParseForm() - for key, _ := range r.Form { - fmt.Println(key) - // pkg := NewPkg(key, "") - nod := &doc.Node{ - ImportPath: key, - DownloadURL: key, - IsGetDeps: true, - } - if nod != nil { - err := addNode(nod) - if err != nil { - fmt.Println(err) - } - } else { - fmt.Println(key) - } + + nod := new(doc.Node) + nod.ImportPath = r.FormValue("importPath") + nod.Synopsis = r.FormValue("synopsis") + nod.DownloadURL = r.FormValue("downloadURL") + nod.IsGetDeps = StrBool(r.FormValue("isGetDeps")) + nod.Type = r.FormValue("type") + nod.Value = r.FormValue("value") + + err := addNode(nod) + if err != nil { + fmt.Println(err) } //} } From 41fd7e44386b649cadd3bd0cce86959af3016fa4 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 10 Oct 2013 12:51:02 +0800 Subject: [PATCH 147/287] bug fixed --- cmd/serve.go | 23 +++++++++++++++++++---- build.sh => install.sh | 4 ++-- 2 files changed, 21 insertions(+), 6 deletions(-) rename build.sh => install.sh (87%) diff --git a/cmd/serve.go b/cmd/serve.go index bdc76b95e..f9c71b2e6 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -26,7 +26,8 @@ import ( "net/http" "net/url" "os" - "path" + "os/exec" + "path/filepath" "strconv" "strings" ) @@ -73,6 +74,15 @@ func autoPort() string { return "8991" } +func exePath() (string, error) { + file, err := exec.LookPath(os.Args[0]) + if err != nil { + return "", err + } + + return filepath.Abs(file) +} + // search packages func runServe(cmd *Command, args []string) { // Check flags. @@ -318,7 +328,11 @@ func AutoRun() error { Files: []*os.File{nil, nil, nil}, } - p := path.Join(curPath, "gopm") + p, err := exePath() + if err != nil { + return err + } + _, err = os.StartProcess(p, []string{"gopm", "serve", "-l"}, attr) if err != nil { return err @@ -376,8 +390,9 @@ func getPidPath() (string, error) { return "", err } - pFile := strings.Replace("~/.gopm/var/pid", "~", homeDir, -1) - return pFile, nil + pFile := strings.Replace("~/.gopm/var/", "~", homeDir, -1) + os.MkdirAll(pFile, os.ModePerm) + return pFile + "pid", nil } func startService(listen, port string) error { diff --git a/build.sh b/install.sh similarity index 87% rename from build.sh rename to install.sh index 0c59d1202..9f89ab84f 100755 --- a/build.sh +++ b/install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -if [ ! -f build.sh ]; then +if [ ! -f install.sh ]; then echo 'build.sh must be run within its container folder' 1>&2 exit 1 fi @@ -14,7 +14,7 @@ fi gofmt -w $CURDIR cd $NEWPATH -go build +go install cd $CURDIR echo 'Build successfully!' From 4d0128b05789748c96827f8afcaa9cfd1130612f Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 10 Oct 2013 13:09:19 +0800 Subject: [PATCH 148/287] fixed because of leveldb's change --- cmd/serve.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/cmd/serve.go b/cmd/serve.go index f9c71b2e6..59f8a958c 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -15,12 +15,11 @@ package cmd import ( - serrors "errors" + "errors" "fmt" "github.com/Unknwon/com" "github.com/gpmgo/gopm/doc" "github.com/syndtr/goleveldb/leveldb" - "github.com/syndtr/goleveldb/leveldb/errors" "github.com/syndtr/goleveldb/leveldb/opt" "io/ioutil" "net/http" @@ -184,7 +183,7 @@ func saveNode(nod *doc.Node) error { if resp.StatusCode == 200 { return nil } - return serrors.New("save node failed with " + resp.Status) + return errors.New("save node failed with " + resp.Status) } // for inetrnal of serve to add node to db @@ -192,7 +191,7 @@ func addNode(nod *doc.Node) error { batch := new(leveldb.Batch) strLastId, err := dbGet("lastId") if err != nil { - if err == errors.ErrNotFound { + if err == leveldb.ErrNotFound { strLastId = "0" err = batchPut(batch, "lastId", strLastId) } else { @@ -212,7 +211,7 @@ func addNode(nod *doc.Node) error { id, err := dbGet(nodKey) if err != nil { - if err == errors.ErrNotFound { + if err == leveldb.ErrNotFound { id = fmt.Sprintf("%v", lastId+1) err = batchPut(batch, "lastId", id) if err == nil { @@ -234,7 +233,7 @@ func addNode(nod *doc.Node) error { // save totals total, err := dbGet("total") if err != nil { - if err == errors.ErrNotFound { + if err == leveldb.ErrNotFound { total = "1" } else { return err @@ -260,9 +259,9 @@ func addNode(nod *doc.Node) error { // save vers vers, err := dbGet("ver:" + id) - needSplit := (err == errors.ErrNotFound) + needSplit := (err == leveldb.ErrNotFound) if err != nil { - if err != errors.ErrNotFound { + if err != leveldb.ErrNotFound { return err } } else { From 39ca84fcfe3e9aebe6ce1c5d8290748cbaa22845 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 10 Oct 2013 14:28:22 +0800 Subject: [PATCH 149/287] improved search --- cmd/search.go | 9 +++++-- cmd/serve.go | 74 +++++++++++++++++++++++++++++++++++++-------------- gopm.go | 7 +++-- 3 files changed, 64 insertions(+), 26 deletions(-) diff --git a/cmd/search.go b/cmd/search.go index 70dbeb7f1..c24ba43ae 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -76,6 +76,11 @@ func runSearch(cmd *Command, args []string) { } } +type searchRes struct { + Pkg string + Desc string +} + /* request local or remote search service to find packages according to keyword inputed */ @@ -98,14 +103,14 @@ func search(host, port, keyword string, isExactly bool) { return } - pkgs := make([]string, 0) + pkgs := make([]searchRes, 0) err = json.Unmarshal(contents, &pkgs) if err != nil { com.ColorLog(err.Error()) return } for i, pkg := range pkgs { - fmt.Println(i+1, pkg) + fmt.Println(i+1, pkg.Pkg, "\t", pkg.Desc) } } else { com.ColorLog(resp.Status) diff --git a/cmd/serve.go b/cmd/serve.go index 59f8a958c..39d924cb7 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -29,6 +29,7 @@ import ( "path/filepath" "strconv" "strings" + "time" ) var ( @@ -106,7 +107,10 @@ func runServe(cmd *Command, args []string) { port = args[0] } - startService(listen, port) + err := startService(listen, port) + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + } } func splitWord(word string, res *map[string]bool) { @@ -126,7 +130,7 @@ func splitPkgName(pkgName string) (res map[string]bool) { ps = ps[1:] } - res = make(map[string]bool, 0) + res = make(map[string]bool) res[strings.Join(ps, "/")] = true for _, w := range ps { splitWord(w, &res) @@ -134,6 +138,15 @@ func splitPkgName(pkgName string) (res map[string]bool) { return } +func splitSynopsis(synopsis string) map[string]bool { + res := make(map[string]bool) + ss := strings.Fields(synopsis) + for _, s := range ss { + res[s] = true + } + return res +} + var ( ro *opt.ReadOptions = &opt.ReadOptions{} wo *opt.WriteOptions = &opt.WriteOptions{} @@ -145,12 +158,12 @@ func dbGet(key string) (string, error) { } func dbPut(key string, value string) error { - fmt.Println("put ", key, ": ", value) + //fmt.Println("put ", key, ": ", value) return db.Put([]byte(key), []byte(value), wo) } func batchPut(batch *leveldb.Batch, key string, value string) error { - fmt.Println("put ", key, ": ", value) + //fmt.Println("put ", key, ": ", value) batch.Put([]byte(key), []byte(value)) return nil } @@ -269,7 +282,7 @@ func addNode(nod *doc.Node) error { } if vers == "" { - fmt.Println(nod) + //fmt.Println(nod) vers = nod.VerString() } else { if !strings.Contains(vers, nod.VerString()) { @@ -291,15 +304,20 @@ func addNode(nod *doc.Node) error { // indexing package name keys := splitPkgName(nod.ImportPath) for key, _ := range keys { - err = batchPut(batch, fmt.Sprintf("key:%v:%v", key, id), "") + err = batchPut(batch, fmt.Sprintf("key:%v:%v", strings.ToLower(key), id), "") if err != nil { return err } } - // TODO: indexing desc if nod.Synopsis != "" { - //fields := strings.FieldsFunc(nod.Synopsis, f) + fields := splitSynopsis(nod.Synopsis) + for field, _ := range fields { + err = batchPut(batch, fmt.Sprintf("key:%v:%v", strings.ToLower(field), id), "") + if err != nil { + return err + } + } } return db.Write(batch, wo) @@ -322,9 +340,10 @@ func AutoRun() error { } attr := &os.ProcAttr{ - Dir: curPath, - Env: os.Environ(), - Files: []*os.File{nil, nil, nil}, + Dir: curPath, + Env: os.Environ(), + //Files: []*os.File{nil, nil, nil}, + Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}, } p, err := exePath() @@ -332,10 +351,12 @@ func AutoRun() error { return err } + //com.ColorLog("[INFO] now is starting search daemon ...\n") _, err = os.StartProcess(p, []string{"gopm", "serve", "-l"}, attr) if err != nil { return err } + time.Sleep(time.Second) } return nil } @@ -405,12 +426,15 @@ func startService(listen, port string) error { return err } - f, err := os.OpenFile(pFile, os.O_CREATE, 0700) + f, err := os.OpenFile(pFile, os.O_RDWR|os.O_CREATE, 0700) if err != nil { return err } defer f.Close() - f.WriteString(fmt.Sprintf("%v,%v,%v", RUNNING, os.Getpid(), port)) + _, err = f.WriteString(fmt.Sprintf("%v,%v,%v", RUNNING, os.Getpid(), port)) + if err != nil { + return err + } dbDir = strings.Replace(dbDir, "~", homeDir, -1) @@ -436,7 +460,7 @@ func searchHandler(w http.ResponseWriter, r *http.Request) { ids := make(map[string]bool) for key, _ := range r.Form { iter := db.NewIterator(ro) - rkey := fmt.Sprintf("key:%v:", key) + rkey := fmt.Sprintf("key:%v:", strings.ToLower(key)) if iter.Seek([]byte(rkey)) { k := iter.Key() if !strings.HasPrefix(string(k), rkey) { @@ -459,16 +483,21 @@ func searchHandler(w http.ResponseWriter, r *http.Request) { for id, _ := range ids { idkeys := strings.SplitN(id, ":", -1) rId := idkeys[len(idkeys)-1] - fmt.Println(rId) + //fmt.Println(rId) pkg, err := dbGet(fmt.Sprintf("pkg:%v", rId)) if err != nil { com.ColorLog(err.Error()) continue } - pkgs = append(pkgs, pkg) + desc, err := dbGet(fmt.Sprintf("desc:%v", rId)) + if err != nil { + com.ColorLog(err.Error()) + continue + } + pkgs = append(pkgs, fmt.Sprintf(`{"pkg":"%v", "desc":"%v"}`, pkg, desc)) } - w.Write([]byte("[\"" + strings.Join(pkgs, "\", \"") + "\"]")) + w.Write([]byte("[" + strings.Join(pkgs, ", ") + "]")) } func searcheHandler(w http.ResponseWriter, r *http.Request) { @@ -476,17 +505,22 @@ func searcheHandler(w http.ResponseWriter, r *http.Request) { r.ParseForm() pkgs := make([]string, 0) for key, _ := range r.Form { - _, err := dbGet("index:" + key) + rId, err := dbGet("index:" + key) + if err != nil { + com.ColorLog(err.Error()) + continue + } + desc, err := dbGet(fmt.Sprintf("desc:%v", rId)) if err != nil { com.ColorLog(err.Error()) continue } - pkgs = append(pkgs, key) + pkgs = append(pkgs, fmt.Sprintf(`{"pkg":"%v", "desc":"%v"}`, key, desc)) } - w.Write([]byte("[\"" + strings.Join(pkgs, "\", \"") + "\"]")) + w.Write([]byte("[" + strings.Join(pkgs, ", ") + "]")) //} } diff --git a/gopm.go b/gopm.go index 1eff152f0..547871869 100644 --- a/gopm.go +++ b/gopm.go @@ -17,6 +17,8 @@ package main import ( "fmt" + "github.com/Unknwon/com" + "github.com/gpmgo/gopm/cmd" "io" "os" "runtime" @@ -25,9 +27,6 @@ import ( "text/template" "unicode" "unicode/utf8" - - "github.com/Unknwon/com" - "github.com/gpmgo/gopm/cmd" ) // +build go1.1 @@ -94,7 +93,7 @@ func main() { if err == nil { comm.Run(comm, args[1:]) } else { - com.ColorLog("[ERRO] %v", err) + com.ColorLog("[ERRO] %v\n", err) } } else { comm.Run(comm, args[1:]) From ae3674c2e87a411bd83780637627dcf8f683e5c2 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 10 Oct 2013 16:20:34 +0800 Subject: [PATCH 150/287] added gopm gen --- cmd/gen.go | 85 +++++++++++++++++++++++++++++++++++++++++++-- docs/features_CN.md | 40 +++++++++++++++------ gopm.go | 1 + 3 files changed, 114 insertions(+), 12 deletions(-) diff --git a/cmd/gen.go b/cmd/gen.go index 03c3d8a7a..499c80921 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -14,6 +14,15 @@ package cmd +import ( + "github.com/Unknwon/com" + "go/build" + "os" + "path" + "runtime" + "strings" +) + var CmdGen = &Command{ UsageLine: "gen [.gopmfile]", Short: "generate a gopmfile according current go project", @@ -23,10 +32,82 @@ generate a gopmfile according current go project } func init() { - CmdGen.Run = gen + CmdGen.Run = runGen + CmdGen.Flags = map[string]bool{} +} + +func printGenPrompt(flag string) { +} + +func isStdPkg(pkgName string) bool { + return com.IsExist(path.Join(path.Join(runtime.GOROOT(), "src/pkg"), pkgName)) +} + +func getPkgs(path string, inludeSys bool) ([]string, error) { + pkg, err := build.ImportDir(path, build.AllowBinary) + if err != nil { + return []string{}, err + } + + if inludeSys { + return pkg.Imports, nil + } else { + pkgs := make([]string, 0) + for _, name := range pkg.Imports { + if !isStdPkg(name) { + pkgs = append(pkgs, name) + } + } + return pkgs, nil + } } // scan a directory and gen a gopm file -func gen(cmd *Command, args []string) { +func runGen(cmd *Command, args []string) { + // Check flags. + num := checkFlags(cmd.Flags, args, printGenPrompt) + if num == -1 { + return + } + args = args[num:] + + var gopmFile string = ".gopmfile" + if len(args) > 0 { + gopmFile = args[0] + } + + curPath, err := os.Getwd() + if err != nil { + com.ColorLog("[ERRO] %v.\n", err) + return + } + + gopmPath := path.Join(curPath, gopmFile) + + if com.IsExist(gopmPath) { + com.ColorLog("[WARN] %v already existed.\n", gopmFile) + return + } + + // search the project and gen gopmfile + pkgs, err := getPkgs(curPath, false) + if err != nil { + com.ColorLog("[ERRO] %v.\n", err) + return + } + + f, err := os.OpenFile(gopmPath, os.O_RDWR|os.O_CREATE, 0700) + if err != nil { + com.ColorLog("[ERRO] %v.\n", err) + return + } + defer f.Close() + contents := "[build]\n" + strings.Join(pkgs, "\n") + _, err = f.WriteString(contents) + if err != nil { + com.ColorLog("[ERRO] %v.\n", err) + return + } + com.ColorLog("[INFO] %v generated successfully.\n", gopmFile) } diff --git a/docs/features_CN.md b/docs/features_CN.md index 923c91bf3..642a2888b 100644 --- a/docs/features_CN.md +++ b/docs/features_CN.md @@ -22,7 +22,7 @@ gopm * [gopmspec文件格式](#50) -#总体设计目标 +# 总体设计目标 1. 支持go语言的版本管理 2. 支持文档管理 @@ -32,15 +32,24 @@ gopm 6. 支持从github, code.google.com, gitLab, 等常见的源码托管服务下载 -#最终程序只有一个,但是通过配置,可以有三种模式: +# 最终程序只有一个,但是通过配置,可以有三种模式: + 1 独立服务器 2 子服务器 3 客户端(默认) -##独立服务器 +## 独立服务器 独立服务器就是本身的包都是直接从源服务器中获取的。 +## 子服务器 + +子服务器就是包是从所配置的独立服务器上获取的,而不是直接从github等源服务器获取,在一个局域网中,可以通过架设子服务器来加快包的分发。 + +## 客户端 + +默认下载即为客户端模式,客户端默认是从源服务器获取包,如果要从包服务器获取包,则可在配置文件中通过配置即可。 + #Go包版本说明 @@ -62,14 +71,25 @@ http://gopm.io ~/.gopm/repos #数据库说明 -包信息数据采用goleveldb,这是一个key/value数据库。数据存放规则如下: -"lastId" : "{lastId}" lastId中存放最大的Id,Id为自增 +包信息数据采用goleveldb,这是一个key/value数据库。数据库存默认放在~/.gopm/repos下。数据存放规则如下: + +* "lastId" : "{lastId}" lastId中存放最大的Id,Id为自增 + +* "index:{packageName}": "{id}" index:中存放的是包名,value中存放的是这个包的不同版本的id,不同版本用逗号分隔 + +* “pkg:{id}” : "{pkg}" 某个包的名称 + +* “ver:{id}” : "{verString1}, {verString2}" 某个包版本对应的内容 + +* "desc:{id}" : "{desc}" 某个包的最新版本的描述 + +* "down:{id}" : "{down}" 某个包的下载url -"index:{packageName}": "{id}" index:中存放的是包名,value中存放的是这个包的不同版本的id,不同版本用逗号分隔 +* "deps:{id}" : "{deps}" 某个包的最新版本的描述 -“ver:{id}” : "{verString1}, {verString2}" 某个包版本对应的内容 +* “key:{keyword}:{id}” : "" 关键词及其对应的版本 -“key:{keyword}:{id}” : "" 关键词及其对应的版本 +* “total” :"{total}" 包总数 #各命令的目标和作用 @@ -106,9 +126,9 @@ http://gopm.io 去除一个包,如果不加版本标示,则删除该包的所有版本 -###gopm search {keyword} +###gopm search [-e] {keyword} -根据关键词查找包 +根据关键词查找包名或者包的描述,如果有-e开关,则完全匹配包名 ###gopm doc [-b] {packagename}[:{version}] diff --git a/gopm.go b/gopm.go index 547871869..13a91f1c0 100644 --- a/gopm.go +++ b/gopm.go @@ -45,6 +45,7 @@ var commands = []*cmd.Command{ cmd.CmdGet, cmd.CmdSearch, cmd.CmdServe, + cmd.CmdGen, /* cmdBuild, cmdClean, From d5197865e730f09e5ca6521c9969a66ad2f6303b Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 10 Oct 2013 16:25:33 +0800 Subject: [PATCH 151/287] improved doc --- docs/features_CN.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/features_CN.md b/docs/features_CN.md index 642a2888b..dd11e6c81 100644 --- a/docs/features_CN.md +++ b/docs/features_CN.md @@ -156,7 +156,7 @@ http://gopm.io ###gopm gen [{gopmfile}] -扫描当前目录下的go工程,并自动生成一个.gopmspec的文件依赖文档,如果未指定,则文件名为.gopmspec,如果指定了,则为指定的文件名 +扫描当前目录下的go工程,并自动生成一个.gopmfile的文件依赖文档,如果未指定,则文件名为.gopmfile,如果指定了,则为指定的文件名 ###gopm build [-u] From a3c123b9291561ebbb20d9c3a16229371177d564 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 12 Oct 2013 16:53:17 -0400 Subject: [PATCH 152/287] Fixed bugs in gopm get --- README.md | 105 +++++++++++++++++++++--- beewatch.json | 9 --- doc/bitbucket.go | 23 ++---- doc/github.go | 41 ++-------- doc/google.go | 203 ++++++++++++++++++++++++++++++++++++++++++----- doc/launchpad.go | 19 ++--- doc/oschina.go | 11 +-- doc/utils.go | 3 +- doc/vcs.go | 119 +-------------------------- gopm.go | 2 +- 10 files changed, 308 insertions(+), 227 deletions(-) delete mode 100644 beewatch.json diff --git a/README.md b/README.md index c1b8e7b40..4bb5b4163 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,103 @@ -gopm - Go Package Manager -========================= +validation +============== -![GPMGo_Logo](https://raw.github.com/gpmgo/gopmweb/master/static/img/gpmgo.png?raw=true) +validation is a form validation for a data validation and error collecting using Go. -gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. +## Installation and tests -**Attention** This application still in experiment, we'are working on new break version, you may use [old version](https://github.com/gpmgo/gopm/tree/v0.1.0) for now. +Install: -## Credits + go get github.com/astaxie/beego/validation -- [Go Walker](https://github.com/Unknwon/gowalker) +Test: -## License + go test github.com/astaxie/beego/validation -[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). \ No newline at end of file +## Example + +Direct Use: + + import ( + "github.com/astaxie/beego/validation" + "log" + ) + + type User struct { + Name string + Age int + } + + func main() { + u := User{"man", 40} + valid := validation.Validation{} + valid.Required(u.Name, "name") + valid.MaxSize(u.Name, 15, "nameMax") + valid.Range(u.Age, 0, 140, "age") + if valid.HasErrors { + // validation does not pass + // print invalid message + for _, err := range valid.Errors { + log.Println(err.Key, err.Message) + } + } + // or use like this + if v := valid.Max(u.Age, 140); !v.Ok { + log.Println(v.Error.Key, v.Error.Message) + } + } + +Struct Tag Use: + + import ( + "github.com/astaxie/beego/validation" + ) + + // validation function follow with "valid" tag + // functions divide with ";" + // parameters in parentheses "()" and divide with "," + // Match function's pattern string must in "//" + type user struct { + Id int + Name string `valid:"Required;Match(/^(test)?\\w*@;com$/)"` + Age int `valid:"Required;Range(1, 140)"` + } + + func main() { + valid := Validation{} + u := user{Name: "test", Age: 40} + b, err := valid.Valid(u) + if err != nil { + // handle error + } + if !b { + // validation does not pass + // blabla... + } + } + +Struct Tag Functions: + + Required + Min(min int) + Max(max int) + Range(min, max int) + MinSize(min int) + MaxSize(max int) + Length(length int) + Alpha + Numeric + AlphaNumeric + Match(pattern string) + AlphaDash + Email + IP + Base64 + Mobile + Tel + Phone + ZipCode + + +## LICENSE + +BSD License http://creativecommons.org/licenses/BSD/ diff --git a/beewatch.json b/beewatch.json deleted file mode 100644 index b0d5a08aa..000000000 --- a/beewatch.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "app_name": "Go Package Manager", - "http_port": 23456, - "watch_enabled": true, - "cmd_mode": true, - "skip_suspend": false, - "print_stack": true, - "print_source": true -} diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 342f6ce6d..0b192a9ba 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -43,7 +43,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa var repo struct { Scm string } - if err := com.HttpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}", match), &repo); err != nil { + if err := com.HttpGetJSON(client, com.Expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}", match), &repo); err != nil { return nil, err } match["vcs"] = repo.Scm @@ -64,7 +64,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa var nodes map[string]struct { Node string } - if err := com.HttpGetJSON(client, expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { + if err := com.HttpGetJSON(client, com.Expand("https://api.bitbucket.org/1.0/repositories/{owner}/{repo}/{0}", match, nodeType), &nodes); err != nil { return nil, err } for t, n := range nodes { @@ -96,7 +96,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa // tarball : https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz // Downlaod archive. - p, err := com.HttpGetBytes(client, expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) + p, err := com.HttpGetBytes(client, com.Expand("https://bitbucket.org/{owner}/{repo}/get/{commit}.tar.gz", match), nil) if err != nil { return nil, err } @@ -107,7 +107,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa if len(suf) == 1 { suf = "" } - projectPath := expand("bitbucket.org/{owner}/{repo}", match) + projectPath := com.Expand("bitbucket.org/{owner}/{repo}", match) installPath = installRepoPath + "/" + projectPath + suf nod.ImportPath = projectPath } else { @@ -137,7 +137,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa return nil, err } - fn := h.FileInfo().Name() + fn := h.Name // In case that we find directory, usually we should not. if strings.HasSuffix(fn, "/") { @@ -157,24 +157,13 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa os.MkdirAll(dir+"/", os.ModePerm) } - if strings.HasPrefix(fn, ".") { - continue - } - // Get data from archive. fbytes := make([]byte, h.Size) if _, err := io.ReadFull(tr, fbytes); err != nil { return nil, err } - // Write data to file - fw, err := os.Create(absPath) - if err != nil { - return nil, err - } - - _, err = fw.Write(fbytes) - fw.Close() + _, err = com.SaveFile(absPath, fbytes) if err != nil { return nil, err } diff --git a/doc/github.go b/doc/github.go index 6254f9de5..686234040 100644 --- a/doc/github.go +++ b/doc/github.go @@ -29,25 +29,11 @@ import ( ) var ( - githubRawHeader = http.Header{"Accept": {"application/vnd.github-blob.raw"}} - githubPattern = regexp.MustCompile(`^github\.com/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) - githubCred string + githubPattern = regexp.MustCompile(`^github\.com/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]*)?$`) ) -/*func SetGithubCredentials(id, secret string) { - //githubCred = "client_id=" + id + "&client_secret=" + secret -}*/ - -func SetGithubCredentials(token string) { - if len(token) > 0 { - githubCred = "access_token=" + token - } -} - // getGithubDoc downloads tarball from github.com. func getGithubDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { - match["cred"] = githubCred - // Check downlaod type. switch nod.Type { case BRANCH: @@ -67,12 +53,12 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath // tarball: https://github.com/{owner}/{repo}/tarball/{sha} // Downlaod archive. - p, err := com.HttpGetBytes(client, expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) + p, err := com.HttpGetBytes(client, com.Expand("https://github.com/{owner}/{repo}/archive/{sha}.zip", match), nil) if err != nil { return nil, errors.New("Fail to donwload Github repo -> " + err.Error()) } - shaName := expand("{repo}-{sha}", match) + shaName := com.Expand("{repo}-{sha}", match) if nod.Type == "tag" { shaName = strings.Replace(shaName, "-v", "-", 1) } @@ -83,7 +69,7 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath if len(suf) == 1 { suf = "" } - projectPath := expand("github.com/{owner}/{repo}", match) + projectPath := com.Expand("github.com/{owner}/{repo}", match) installPath = installRepoPath + "/" + projectPath + suf nod.ImportPath = projectPath } else { @@ -96,14 +82,14 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) if err != nil { - return nil, err + return nil, errors.New(nod.ImportPath + " -> new zip: " + err.Error()) } dirs := make([]string, 0, 5) // Need to add root path because we cannot get from tarball. dirs = append(dirs, installPath+"/") for _, f := range r.File { - absPath := strings.Replace(f.FileInfo().Name(), shaName, installPath, 1) + absPath := strings.Replace(f.Name, shaName, installPath, 1) // Create diretory before create file. os.MkdirAll(path.Dir(absPath)+"/", os.ModePerm) @@ -119,7 +105,7 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath } dirs = append(dirs, absPath) } - case !strings.HasPrefix(f.FileInfo().Name(), "."): + default: // Get file from archive. rc, err := f.Open() if err != nil { @@ -157,18 +143,5 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath imports = append(imports, importPkgs...) } } - - /*fpath := appPath + "repo/tarballs/" + node.ImportPath + "-" + node.Value + ".zip" - // Save tarball. - if autoBackup && !utils.IsExist(fpath) { - os.MkdirAll(path.Dir(fpath)+"/", os.ModePerm) - f, err := os.Create(fpath) - if err != nil { - return nil, err - } - defer f.Close() - _, err = f.Write(p) - }*/ - return imports, err } diff --git a/doc/google.go b/doc/google.go index f363a3b23..fae9d9b82 100644 --- a/doc/google.go +++ b/doc/google.go @@ -15,28 +15,47 @@ package doc import ( + "archive/zip" + "bytes" "errors" + "io" "net/http" "os" "path" "regexp" + "strings" "github.com/Unknwon/com" - "github.com/Unknwon/ctw/packer" ) var ( + googleRepoRe = regexp.MustCompile(`id="checkoutcmd">(hg|git|svn)`) + googleFileRe = regexp.MustCompile(`
  • [a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) ) // getGoogleDoc downloads raw files from code.google.com. func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { - packer.SetupGoogleMatch(match) + setupGoogleMatch(match) // Check version control. - if err := packer.GetGoogleVCS(client, match); err != nil { + if err := getGoogleVCS(client, match); err != nil { return nil, err } + switch nod.Type { + case BRANCH: + if len(nod.Value) == 0 { + match["tag"] = defaultTags[match["vcs"]] + } else { + match["tag"] = nod.Value + } + case TAG, COMMIT: + match["tag"] = nod.Value + default: + return nil, errors.New("Unknown node type: " + nod.Type) + } + var installPath string projectPath := GetProjectPath(nod.ImportPath) if nod.ImportPath == nod.DownloadURL { @@ -51,35 +70,67 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath // Remove old files. os.RemoveAll(installPath + "/") - match["tag"] = nod.Value + os.MkdirAll(installPath+"/", os.ModePerm) - ext := ".zip" if match["vcs"] == "svn" { - ext = ".tar.gz" com.ColorLog("[WARN] SVN detected, may take very long time.\n") + + rootPath := com.Expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}", match) + d, f := path.Split(rootPath) + err := downloadFiles(client, match, d, installPath+"/", match["tag"], + []string{f + "/"}) + if err != nil { + return nil, errors.New("Fail to download " + nod.ImportPath + " : " + err.Error()) + } } - err := packer.PackToFile(match["importPath"], installPath+ext, match) + p, err := com.HttpGetBytes(client, com.Expand("http://{subrepo}{dot}{repo}.googlecode.com/archive/{tag}.zip", match), nil) if err != nil { - return nil, err + return nil, errors.New("Fail to download " + nod.ImportPath + " : " + err.Error()) } - var dirs []string - if match["vcs"] != "svn" { - dirs, err = com.Unzip(installPath+ext, path.Dir(installPath)) - } else { - dirs, err = com.UnTarGz(installPath+ext, path.Dir(installPath)) + r, err := zip.NewReader(bytes.NewReader(p), int64(len(p))) + if err != nil { + return nil, errors.New(nod.ImportPath + " -> new zip: " + err.Error()) } - if len(dirs) == 0 { - return nil, errors.New("No file in repository") + nameLen := strings.Index(r.File[0].Name, "/") + dirPrefix := match["dir"] + if len(dirPrefix) != 0 { + dirPrefix = dirPrefix[1:] + "/" } - if err != nil { - return nil, err + dirs := make([]string, 0, 5) + for _, f := range r.File { + absPath := strings.Replace(f.Name, f.Name[:nameLen], installPath, 1) + + // Create diretory before create file. + dir := path.Dir(absPath) + if !checkDir(dir, dirs) && !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + dirs = append(dirs, dir) + os.MkdirAll(dir+"/", os.ModePerm) + } + + // Get file from archive. + rc, err := f.Open() + if err != nil { + return nil, err + } + + // Write data to file + fw, _ := os.Create(absPath) + if err != nil { + return nil, err + } + + _, err = io.Copy(fw, rc) + // Close files. + rc.Close() + fw.Close() + if err != nil { + return nil, err + } } - os.Remove(installPath + ext) - os.Rename(path.Dir(installPath)+"/"+dirs[0], installPath) // Check if need to check imports. if nod.IsGetDeps { @@ -89,3 +140,117 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath return nil, err } + +type rawFile struct { + name string + rawURL string + data []byte +} + +func (rf *rawFile) Name() string { + return rf.name +} + +func (rf *rawFile) RawUrl() string { + return rf.rawURL +} + +func (rf *rawFile) Data() []byte { + return rf.data +} + +func (rf *rawFile) SetData(p []byte) { + rf.data = p +} + +func downloadFiles(client *http.Client, match map[string]string, rootPath, installPath, commit string, dirs []string) error { + suf := "?r=" + commit + if len(commit) == 0 { + suf = "" + } + + for _, d := range dirs { + p, err := com.HttpGetBytes(client, rootPath+d+suf, nil) + if err != nil { + return err + } + + // Create destination directory. + os.MkdirAll(installPath+d, os.ModePerm) + + // Get source files in current path. + files := make([]com.RawFile, 0, 5) + for _, m := range googleFileRe.FindAllSubmatch(p, -1) { + fname := strings.Split(string(m[1]), "?")[0] + files = append(files, &rawFile{ + name: fname, + rawURL: rootPath + d + fname + suf, + }) + } + + // Fetch files from VCS. + if err := com.FetchFilesCurl(files); err != nil { + return err + } + + // Save files. + for _, f := range files { + absPath := installPath + d + + // Create diretory before create file. + os.MkdirAll(path.Dir(absPath), os.ModePerm) + + // Write data to file + fw, err := os.Create(absPath + f.Name()) + if err != nil { + return err + } + + _, err = fw.Write(f.Data()) + fw.Close() + if err != nil { + return err + } + } + files = nil + + subdirs := make([]string, 0, 3) + // Get subdirectories. + for _, m := range googleDirRe.FindAllSubmatch(p, -1) { + dirName := strings.Split(string(m[1]), "?")[0] + if strings.HasSuffix(dirName, "/") { + subdirs = append(subdirs, d+dirName) + } + } + + err = downloadFiles(client, match, rootPath, installPath, commit, subdirs) + if err != nil { + return err + } + } + return nil +} + +func setupGoogleMatch(match map[string]string) { + if s := match["subrepo"]; s != "" { + match["dot"] = "." + match["query"] = "?repo=" + s + } else { + match["dot"] = "" + match["query"] = "" + } +} + +func getGoogleVCS(client *http.Client, match map[string]string) error { + // Scrape the HTML project page to find the VCS. + p, err := com.HttpGetBytes(client, com.Expand("http://code.google.com/p/{repo}/source/checkout", match), nil) + if err != nil { + return errors.New("doc.getGoogleVCS(" + match["importPath"] + ") -> " + err.Error()) + } + m := googleRepoRe.FindSubmatch(p) + if m == nil { + return com.NotFoundError{"Could not VCS on Google Code project page."} + } + match["vcs"] = string(m[1]) + return nil +} diff --git a/doc/launchpad.go b/doc/launchpad.go index a3bc7cb68..24b291d54 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -33,7 +33,7 @@ var launchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { if match["project"] != "" && match["series"] != "" { - rc, err := com.HttpGet(client, expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) + rc, err := com.HttpGet(client, com.Expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) _, isNotFound := err.(com.NotFoundError) switch { case err == nil: @@ -42,7 +42,7 @@ func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPa case isNotFound: // The structure of the import path is is launchpad.net/{project}/{dir}. match["repo"] = match["project"] - match["dir"] = expand("{series}{dir}", match) + match["dir"] = com.Expand("{series}{dir}", match) default: return nil, err } @@ -51,9 +51,9 @@ func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPa var downloadPath string // Check if download with specific revision. if len(nod.Value) == 0 { - downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball", match) + downloadPath = com.Expand("https://bazaar.launchpad.net/+branch/{repo}/tarball", match) } else { - downloadPath = expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+nod.Value, match) + downloadPath = com.Expand("https://bazaar.launchpad.net/+branch/{repo}/tarball/"+nod.Value, match) } // Scrape the repo browser to find the project revision and individual Go files. @@ -87,7 +87,7 @@ func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPa return nil, err } - fn := h.FileInfo().Name() + fn := h.Name // Check root path. if len(autoPath) == 0 { autoPath = fn[:strings.Index(fn, match["repo"])+len(match["repo"])] @@ -109,14 +109,7 @@ func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPa return nil, err } - // Write data to file - fw, err := os.Create(absPath) - if err != nil { - return nil, err - } - - _, err = fw.Write(fbytes) - fw.Close() + _, err = com.SaveFile(absPath, fbytes) if err != nil { return nil, err } diff --git a/doc/oschina.go b/doc/oschina.go index 940d4c535..651651adb 100644 --- a/doc/oschina.go +++ b/doc/oschina.go @@ -51,7 +51,7 @@ func getOSCDoc(client *http.Client, match map[string]string, installRepoPath str // zip: http://{projectRoot}/repository/archive?ref={sha} // Downlaod archive. - p, err := com.HttpGetBytes(client, expand("http://git.oschina.net/{owner}/{repo}/repository/archive?ref={sha}", match), nil) + p, err := com.HttpGetBytes(client, com.Expand("http://git.oschina.net/{owner}/{repo}/repository/archive?ref={sha}", match), nil) if err != nil { return nil, errors.New("Fail to donwload OSChina repo -> " + err.Error()) } @@ -62,7 +62,7 @@ func getOSCDoc(client *http.Client, match map[string]string, installRepoPath str if len(suf) == 1 { suf = "" } - projectPath := expand("git.oschina.net/{owner}/{repo}", match) + projectPath := com.Expand("git.oschina.net/{owner}/{repo}", match) installPath = installRepoPath + "/" + projectPath + suf nod.ImportPath = projectPath } else { @@ -83,7 +83,7 @@ func getOSCDoc(client *http.Client, match map[string]string, installRepoPath str // Need to add root path because we cannot get from tarball. dirs = append(dirs, installPath+"/") for _, f := range r.File { - fileName := f.FileInfo().Name()[nameLen+1:] + fileName := f.Name[nameLen+1:] absPath := installPath + "/" + fileName if strings.HasSuffix(absPath, "/") { @@ -91,11 +91,6 @@ func getOSCDoc(client *http.Client, match map[string]string, installRepoPath str os.MkdirAll(absPath, os.ModePerm) continue } - // d, _ := path.Split(absPath) - // if !checkDir(d, dirs) { - // dirs = append(dirs, d) - // os.MkdirAll(d, os.ModePerm) - // } // Get file from archive. rc, err := f.Open() diff --git a/doc/utils.go b/doc/utils.go index ebcbf5d72..b21cd54a9 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -97,7 +97,8 @@ func GetProjectPath(importPath string) (projectPath string) { // Check project hosting. switch { - case strings.HasPrefix(importPath, "github.com"): + case strings.HasPrefix(importPath, "github.com") || + strings.HasPrefix(importPath, "git.oschina.net"): projectPath = joinPath(importPath, 3) case strings.HasPrefix(importPath, "code.google.com"): projectPath = joinPath(importPath, 3) diff --git a/doc/vcs.go b/doc/vcs.go index e8a920621..51885bb52 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -15,18 +15,13 @@ package doc import ( - "bytes" "encoding/xml" "errors" "io" - "io/ioutil" - "log" "net/http" "os" - "os/exec" "path" "regexp" - "strconv" "strings" "github.com/Unknwon/com" @@ -90,117 +85,17 @@ type vcsCmd struct { download func([]string, string, string) (string, string, error) } -var vcsCmds = map[string]*vcsCmd{ - "git": &vcsCmd{ - schemes: []string{"http", "https", "git"}, - download: downloadGit, - }, -} - var lsremoteRe = regexp.MustCompile(`(?m)^([0-9a-f]{40})\s+refs/(?:tags|heads)/(.+)$`) -func downloadGit(schemes []string, repo, savedEtag string) (string, string, error) { - var p []byte - var scheme string - for i := range schemes { - cmd := exec.Command("git", "ls-remote", "--heads", "--tags", schemes[i]+"://"+repo+".git") - log.Println(strings.Join(cmd.Args, " ")) - var err error - p, err = cmd.Output() - if err == nil { - scheme = schemes[i] - break - } - } - - if scheme == "" { - return "", "", com.NotFoundError{"VCS not found"} - } - - tags := make(map[string]string) - for _, m := range lsremoteRe.FindAllSubmatch(p, -1) { - tags[string(m[2])] = string(m[1]) - } - - tag, commit, err := bestTag(tags, "master") - if err != nil { - return "", "", err - } - - etag := scheme + "-" + commit - - if etag == savedEtag { - return "", "", errNotModified - } - - dir := path.Join(repoRoot, repo+".git") - p, err = ioutil.ReadFile(path.Join(dir, ".git/HEAD")) - switch { - case err != nil: - if err := os.MkdirAll(dir, 0777); err != nil { - return "", "", err - } - cmd := exec.Command("git", "clone", scheme+"://"+repo, dir) - log.Println(strings.Join(cmd.Args, " ")) - if err := cmd.Run(); err != nil { - return "", "", err - } - case string(bytes.TrimRight(p, "\n")) == commit: - return tag, etag, nil - default: - cmd := exec.Command("git", "fetch") - log.Println(strings.Join(cmd.Args, " ")) - cmd.Dir = dir - if err := cmd.Run(); err != nil { - return "", "", err - } - } - - cmd := exec.Command("git", "checkout", "--detach", "--force", commit) - cmd.Dir = dir - if err := cmd.Run(); err != nil { - return "", "", err - } - - return tag, etag, nil -} - var defaultTags = map[string]string{"git": "master", "hg": "default"} func bestTag(tags map[string]string, defaultTag string) (string, string, error) { - if commit, ok := tags["go1"]; ok { - return "go1", commit, nil - } if commit, ok := tags[defaultTag]; ok { return defaultTag, commit, nil } return "", "", com.NotFoundError{"Tag or branch not found."} } -// expand replaces {k} in template with match[k] or subs[atoi(k)] if k is not in match. -func expand(template string, match map[string]string, subs ...string) string { - var p []byte - var i int - for { - i = strings.Index(template, "{") - if i < 0 { - break - } - p = append(p, template[:i]...) - template = template[i+1:] - i = strings.Index(template, "}") - if s, ok := match[template[:i]]; ok { - p = append(p, s...) - } else { - j, _ := strconv.Atoi(template[:i]) - p = append(p, subs[j]...) - } - template = template[i+1:] - } - p = append(p, template...) - return string(p) -} - // PureDownload downloads package without version control. func PureDownload(nod *Node, installRepoPath string, flags map[string]bool) ([]string, error) { for _, s := range services { @@ -243,7 +138,7 @@ func getDynamic(client *http.Client, nod *Node, installRepoPath string, flags ma } } - nod.DownloadURL = expand("{repo}{dir}", match) + nod.DownloadURL = com.Expand("{repo}{dir}", match) return PureDownload(nod, installRepoPath, flags) } @@ -384,22 +279,14 @@ func CheckImports(absPath, importPath string, nod *Node) (importPkgs []string, e for _, fi := range fis { // Only handle files. if strings.HasSuffix(fi.Name(), ".go") { - f, err := os.Open(absPath + fi.Name()) - if err != nil { - return nil, err - } - - fbytes := make([]byte, fi.Size()) - _, err = f.Read(fbytes) - f.Close() - + data, err := com.ReadFile(absPath + fi.Name()) if err != nil { return nil, err } files = append(files, &source{ name: fi.Name(), - data: fbytes, + data: data, }) } } diff --git a/gopm.go b/gopm.go index 13a91f1c0..40b8fe012 100644 --- a/gopm.go +++ b/gopm.go @@ -33,7 +33,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.2.5.0827" +const APP_VER = "0.4.0.1012" var ( config map[string]interface{} From 3f5900adee5a60dc6875f8fc90c09fa9de60f1b5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 12 Oct 2013 16:56:28 -0400 Subject: [PATCH 153/287] Fixed license and readme --- LICENSE | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 105 ++---------------------------- 2 files changed, 196 insertions(+), 100 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..8405e89a0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,191 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/README.md b/README.md index 4bb5b4163..062b639e0 100644 --- a/README.md +++ b/README.md @@ -1,103 +1,8 @@ -validation -============== +gopm - Go Package Manager +========================= -validation is a form validation for a data validation and error collecting using Go. +![GPMGo_Logo](https://raw.github.com/gpmgo/gopmweb/master/static/img/gpmgo.png?raw=true) -## Installation and tests +gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. -Install: - - go get github.com/astaxie/beego/validation - -Test: - - go test github.com/astaxie/beego/validation - -## Example - -Direct Use: - - import ( - "github.com/astaxie/beego/validation" - "log" - ) - - type User struct { - Name string - Age int - } - - func main() { - u := User{"man", 40} - valid := validation.Validation{} - valid.Required(u.Name, "name") - valid.MaxSize(u.Name, 15, "nameMax") - valid.Range(u.Age, 0, 140, "age") - if valid.HasErrors { - // validation does not pass - // print invalid message - for _, err := range valid.Errors { - log.Println(err.Key, err.Message) - } - } - // or use like this - if v := valid.Max(u.Age, 140); !v.Ok { - log.Println(v.Error.Key, v.Error.Message) - } - } - -Struct Tag Use: - - import ( - "github.com/astaxie/beego/validation" - ) - - // validation function follow with "valid" tag - // functions divide with ";" - // parameters in parentheses "()" and divide with "," - // Match function's pattern string must in "//" - type user struct { - Id int - Name string `valid:"Required;Match(/^(test)?\\w*@;com$/)"` - Age int `valid:"Required;Range(1, 140)"` - } - - func main() { - valid := Validation{} - u := user{Name: "test", Age: 40} - b, err := valid.Valid(u) - if err != nil { - // handle error - } - if !b { - // validation does not pass - // blabla... - } - } - -Struct Tag Functions: - - Required - Min(min int) - Max(max int) - Range(min, max int) - MinSize(min int) - MaxSize(max int) - Length(length int) - Alpha - Numeric - AlphaNumeric - Match(pattern string) - AlphaDash - Email - IP - Base64 - Mobile - Tel - Phone - ZipCode - - -## LICENSE - -BSD License http://creativecommons.org/licenses/BSD/ +**Attention** This application still in experiment, we'are working on new break version, you may use [old version](https://github.com/gpmgo/gopm/tree/v0.1.0) for now. \ No newline at end of file From b08babcfec97ec980caf1dc8f73b2051850447e5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 12 Oct 2013 17:30:09 -0400 Subject: [PATCH 154/287] Bug fixed --- cmd/get.go | 4 +++- doc/github.go | 11 ++++------- doc/google.go | 26 +++++++++++++++----------- doc/oschina.go | 11 ++++------- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 6ae456e8c..684ceea03 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -17,6 +17,7 @@ package cmd import ( "errors" "fmt" + //"os" "strings" "github.com/Unknwon/com" @@ -226,8 +227,9 @@ func downloadPackage(nod *doc.Node) (*doc.Node, []string) { imports, err := doc.PureDownload(nod, installRepoPath, CmdGet.Flags) if err != nil { - com.ColorLog("[ERRO] Download falied[ %s ]\n", err) + com.ColorLog("[ERRO] Download falied( %s )[ %s ]\n", nod.ImportPath, err) failConut++ + //os.RemoveAll(installRepoPath + "/" + doc.GetProjectPath(nod.ImportPath) + "/") return nil, nil } return nod, imports diff --git a/doc/github.go b/doc/github.go index 686234040..a47c39a94 100644 --- a/doc/github.go +++ b/doc/github.go @@ -107,21 +107,18 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath } default: // Get file from archive. - rc, err := f.Open() + r, err := f.Open() if err != nil { return nil, err } - // Write data to file - fw, _ := os.Create(absPath) + fbytes := make([]byte, f.FileInfo().Size()) + _, err = io.ReadFull(r, fbytes) if err != nil { return nil, err } - _, err = io.Copy(fw, rc) - // Close files. - rc.Close() - fw.Close() + _, err = com.SaveFile(absPath, fbytes) if err != nil { return nil, err } diff --git a/doc/google.go b/doc/google.go index fae9d9b82..18ab3e4f2 100644 --- a/doc/google.go +++ b/doc/google.go @@ -40,7 +40,7 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath setupGoogleMatch(match) // Check version control. if err := getGoogleVCS(client, match); err != nil { - return nil, err + return nil, errors.New("fail to get vcs " + nod.ImportPath + " : " + err.Error()) } switch nod.Type { @@ -112,33 +112,37 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath } // Get file from archive. - rc, err := f.Open() + r, err := f.Open() if err != nil { return nil, err } - // Write data to file - fw, _ := os.Create(absPath) + fbytes := make([]byte, f.FileInfo().Size()) + _, err = io.ReadFull(r, fbytes) if err != nil { return nil, err } - _, err = io.Copy(fw, rc) - // Close files. - rc.Close() - fw.Close() + _, err = com.SaveFile(absPath, fbytes) if err != nil { return nil, err } } + var imports []string + // Check if need to check imports. if nod.IsGetDeps { - imports := getImports(installPath+"/", match, cmdFlags, nod) - return imports, err + for _, d := range dirs { + importPkgs, err := CheckImports(d, match["importPath"], nod) + if err != nil { + return nil, err + } + imports = append(imports, importPkgs...) + } } - return nil, err + return imports, err } type rawFile struct { diff --git a/doc/oschina.go b/doc/oschina.go index 651651adb..ab3777c3a 100644 --- a/doc/oschina.go +++ b/doc/oschina.go @@ -93,21 +93,18 @@ func getOSCDoc(client *http.Client, match map[string]string, installRepoPath str } // Get file from archive. - rc, err := f.Open() + r, err := f.Open() if err != nil { return nil, errors.New("Fail to open OSChina repo -> " + err.Error()) } - // Write data to file - fw, _ := os.Create(absPath) + fbytes := make([]byte, f.FileInfo().Size()) + _, err = io.ReadFull(r, fbytes) if err != nil { return nil, err } - _, err = io.Copy(fw, rc) - // Close files. - rc.Close() - fw.Close() + _, err = com.SaveFile(absPath, fbytes) if err != nil { return nil, err } From 56ea7cd472c1bca12d1a2cd6f02594868dafdeb3 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 12 Oct 2013 17:46:31 -0400 Subject: [PATCH 155/287] DOne get --- cmd/get.go | 6 ++++-- doc/google.go | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 684ceea03..517390e69 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -17,7 +17,7 @@ package cmd import ( "errors" "fmt" - //"os" + "os" "strings" "github.com/Unknwon/com" @@ -208,6 +208,8 @@ func downloadPackages(nodes []*doc.Node) { com.ColorLog("[WARN] Skipped downloaded package( %s => %s:%s )\n", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) } + } else if n.ImportPath == "C" { + continue } else { // Invalid import path. com.ColorLog("[WARN] Skipped invalid package path( %s => %s:%s )\n", @@ -229,7 +231,7 @@ func downloadPackage(nod *doc.Node) (*doc.Node, []string) { if err != nil { com.ColorLog("[ERRO] Download falied( %s )[ %s ]\n", nod.ImportPath, err) failConut++ - //os.RemoveAll(installRepoPath + "/" + doc.GetProjectPath(nod.ImportPath) + "/") + os.RemoveAll(installRepoPath + "/" + doc.GetProjectPath(nod.ImportPath) + "/") return nil, nil } return nod, imports diff --git a/doc/google.go b/doc/google.go index 18ab3e4f2..ee2b60e39 100644 --- a/doc/google.go +++ b/doc/google.go @@ -107,7 +107,7 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath // Create diretory before create file. dir := path.Dir(absPath) if !checkDir(dir, dirs) && !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { - dirs = append(dirs, dir) + dirs = append(dirs, dir+"/") os.MkdirAll(dir+"/", os.ModePerm) } From 233ffadc5570582dec562eaccf5d7f2fb59931c4 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 30 Oct 2013 23:28:36 +0800 Subject: [PATCH 156/287] added build command - it's not stable, need improved --- cmd/build.go | 213 ++++++++++++++++++++++++++++++++++++++++++++++++ cmd/get.go | 16 +--- cmd/service.go | 10 +-- doc/doc | 1 + doc/gopmfile.go | 99 ++++++++++++++++++++++ doc/struct.go | 37 +++++++-- gopm.go | 4 +- 7 files changed, 353 insertions(+), 27 deletions(-) create mode 100644 cmd/build.go create mode 120000 doc/doc create mode 100644 doc/gopmfile.go diff --git a/cmd/build.go b/cmd/build.go new file mode 100644 index 000000000..2d9991820 --- /dev/null +++ b/cmd/build.go @@ -0,0 +1,213 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + "errors" + "github.com/Unknwon/com" + "github.com/gpmgo/gopm/doc" + "go/build" + "os" + "path/filepath" + //"syscall" + "os/exec" + "strings" +) + +var CmdBuild = &Command{ + UsageLine: "build", + Short: "build according a gopmfile", + Long: ` +build +`, +} + +func init() { + CmdBuild.Run = runBuild + CmdBuild.Flags = map[string]bool{} +} + +func printBuildPrompt(flag string) { +} + +func getGopmPkgs(path string, inludeSys bool) (map[string]*doc.Pkg, error) { + abs, err := filepath.Abs(doc.GopmFileName) + if err != nil { + return nil, err + } + + // load import path + gf := doc.NewGopmfile() + if com.IsExist(abs) { + err := gf.Load(abs) + if err != nil { + return nil, err + } + } else { + sec := doc.NewSection() + sec.Name = "build" + gf.Sections[sec.Name] = sec + } + + var builds *doc.Section + var ok bool + if builds, ok = gf.Sections["build"]; !ok { + return nil, errors.New("no found build section\n") + } + + pkg, err := build.ImportDir(path, build.AllowBinary) + if err != nil { + return map[string]*doc.Pkg{}, err + } + + pkgs := make(map[string]*doc.Pkg) + for _, name := range pkg.Imports { + if inludeSys || !isStdPkg(name) { + if dep, ok := builds.Deps[name]; ok { + pkgs[name] = dep.Pkg + } else { + pkgs[name] = doc.NewDefaultPkg(name) + } + } + } + return pkgs, nil +} + +func pkgInCache(name string, cachePkgs map[string]*doc.Pkg) bool { + //pkgs := strings.Split(name, "/") + _, ok := cachePkgs[name] + return ok +} + +func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) error { + pkgs, err := getGopmPkgs(cpath, false) + if err != nil { + return err + } + for name, pkg := range pkgs { + if !pkgInCache(name, cachePkgs) { + newPath := filepath.Join(installRepoPath, pkg.ImportPath) + if !com.IsExist(newPath) { + var t, ver string = doc.BRANCH, "" + node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) + //node := new(doc.Node) + //node.Pkg = *pkg + + nodes := []*doc.Node{node} + downloadPackages(nodes) + // should handler download failed + } + err = getChildPkgs(newPath, pkg, cachePkgs) + if err != nil { + return err + } + } + } + if ppkg != nil { + cachePkgs[ppkg.ImportPath] = ppkg + } + return nil +} + +func makeLink(oldPath, newPath string) error { + cmd := exec.Command("ln", "-s", oldPath, newPath) + return cmd.Run() +} + +func runBuild(cmd *Command, args []string) { + curPath, err := os.Getwd() + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return + } + + hd, err := com.HomeDir() + if err != nil { + com.ColorLog("[ERRO] Fail to get current user[ %s ]\n", err) + return + } + + installRepoPath = strings.Replace(reposDir, "~", hd, -1) + + cachePkgs := make(map[string]*doc.Pkg) + err = getChildPkgs(curPath, nil, cachePkgs) + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return + } + + newGoPath := filepath.Join(curPath, "vendor") + os.RemoveAll(newGoPath) + newGoPathSrc := filepath.Join(newGoPath, "src") + os.MkdirAll(newGoPathSrc, os.ModePerm) + + for name, pkg := range cachePkgs { + oldPath := filepath.Join(installRepoPath, name) + newPath := filepath.Join(newGoPathSrc, name) + paths := strings.Split(name, "/") + var isExistP bool + for i := 0; i < len(paths)-1; i++ { + pName := filepath.Join(paths[:len(paths)-1-i]...) + if _, ok := cachePkgs[pName]; ok { + isExistP = true + break + } + } + + if !isExistP { + pName := filepath.Join(paths[:len(paths)-1]...) + newPPath := filepath.Join(newGoPathSrc, pName) + com.ColorLog("[TRAC] create dirs %v\n", newPPath) + os.MkdirAll(newPPath, os.ModePerm) + + com.ColorLog("[INFO] linked %v\n", name) + + err = makeLink(oldPath, newPath) + + if err != nil { + com.ColorLog("[ERRO] make link error %v\n", err) + return + } + } + } + + gopath := build.Default.GOPATH + com.ColorLog("[TRAC] set GOPATH=%v\n", newGoPath) + err = os.Setenv("GOPATH", newGoPath) + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return + } + + cmdArgs := []string{"go", "build"} + cmdArgs = append(cmdArgs, args...) + bCmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) + bCmd.Stdout = os.Stdout + bCmd.Stderr = os.Stderr + err = bCmd.Run() + if err != nil { + com.ColorLog("[ERRO] build failed: %v\n", err) + return + } + + com.ColorLog("[TRAC] set GOPATH=%v\n", gopath) + err = os.Setenv("GOPATH", gopath) + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return + } + + com.ColorLog("[SUCC] build successfully!\n") +} diff --git a/cmd/get.go b/cmd/get.go index 6ae456e8c..c678c9118 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -141,13 +141,8 @@ func runGet(cmd *Command, args []string) { } } - nodes = append(nodes, &doc.Node{ - ImportPath: args[0], - DownloadURL: args[0], - Type: t, - Value: ver, - IsGetDeps: true, - }) + node := doc.NewNode(args[0], args[0], t, ver, true) + nodes = append(nodes, node) // Download package(s). downloadPackages(nodes) @@ -185,12 +180,7 @@ func downloadPackages(nodes []*doc.Node) { // Generate temporary nodes. nodes := make([]*doc.Node, len(imports)) for i := range nodes { - nodes[i] = &doc.Node{ - ImportPath: imports[i], - DownloadURL: imports[i], - Type: doc.BRANCH, - IsGetDeps: true, - } + nodes[i] = doc.NewNode(imports[i], imports[i], doc.BRANCH, "", true) } downloadPackages(nodes) } diff --git a/cmd/service.go b/cmd/service.go index 11f0bf19e..b6d56dba1 100644 --- a/cmd/service.go +++ b/cmd/service.go @@ -29,11 +29,11 @@ package cmd // PkgExt() string // } -// type Pkg struct { -// Name string -// Ver string -// VerId string -// } +//type Pkg struct { +// Name string +// Ver string +// VerId string +//} // func NewPkg(pkgName string, ver string) *Pkg { // vers := strings.Split(ver, ":") diff --git a/doc/doc b/doc/doc new file mode 120000 index 000000000..9be75f6a1 --- /dev/null +++ b/doc/doc @@ -0,0 +1 @@ +/Users/lunny/go/src/github.com/gpmgo/gopm/doc \ No newline at end of file diff --git a/doc/gopmfile.go b/doc/gopmfile.go new file mode 100644 index 000000000..f08101116 --- /dev/null +++ b/doc/gopmfile.go @@ -0,0 +1,99 @@ +package doc + +import ( + "bufio" + "errors" + "os" + "strings" +) + +const ( + Greater = ">" + GreaterOrEq = ">=" + Equeal = "=" + Lesser = "<" + LesserOrEq = "<=" +) + +var ( + Ops = []string{GreaterOrEq, LesserOrEq, Greater, Equeal, Lesser} +) + +const ( + GopmFileName = ".gopmfile" +) + +type Depend struct { + Pkg *Pkg + Op string + Ver string +} + +type Section struct { + Name string + Deps map[string]*Depend +} + +func NewSection() *Section { + return &Section{Deps: make(map[string]*Depend)} +} + +type Gopmfile struct { + Sections map[string]*Section +} + +func NewGopmfile() *Gopmfile { + return &Gopmfile{Sections: make(map[string]*Section)} +} + +func (this *Gopmfile) Load(path string) error { + f, err := os.Open(path) + if err != nil { + return err + } + + scanner := bufio.NewScanner(f) + for scanner.Scan() { + var sec *Section + text := strings.TrimSpace(scanner.Text()) + if strings.HasPrefix(text, "[") { + sec = NewSection() + if strings.HasSuffix(text, "]") { + sec.Name = text[1 : len(text)-1] + } else { + return errors.New("need section") + } + this.Sections[sec.Name] = sec + } else { + if sec == nil { + continue + } + + var dep *Depend + for _, op := range Ops { + if strings.Contains(text, op) { + ss := strings.Split(text, op) + pkver := strings.Split(ss[1], ":") + var tp, value string + tp = pkver[0] + if len(pkver) == 2 { + value = pkver[1] + } + dep = &Depend{NewPkg(ss[0], tp, value), ss[1], value} + break + } + } + + if dep == nil { + dep = &Depend{NewDefaultPkg(text), Equeal, ""} + } + sec.Deps[dep.Pkg.ImportPath] = dep + } + } + + return nil +} + +func (this *Gopmfile) Save(path string) error { + return nil +} diff --git a/doc/struct.go b/doc/struct.go index c8e3e2077..94ca77b16 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -32,20 +32,43 @@ const ( COMMIT = "commit" ) +type Pkg struct { + ImportPath string + Type string + Value string // Branch, tag or commit. +} + +func (pkg *Pkg) VerString() string { + if pkg.Value == "" { + return pkg.Type + } + return fmt.Sprintf("%v:%v", pkg.Type, pkg.Value) +} + +func NewPkg(importPath, tp, value string) *Pkg { + return &Pkg{importPath, tp, value} +} + +func NewDefaultPkg(importPath string) *Pkg { + return NewPkg(importPath, BRANCH, "") +} + type Node struct { - ImportPath string + Pkg DownloadURL string - Type string - Value string // Branch, tag or commit. Synopsis string IsGetDeps bool } -func (nod *Node) VerString() string { - if nod.Value == "" { - return nod.Type +func NewNode(importPath, downloadUrl, tp, value string, isGetDeps bool) *Node { + return &Node{ + Pkg: Pkg{ImportPath: importPath, + Type: tp, + Value: value, + }, + DownloadURL: downloadUrl, + IsGetDeps: isGetDeps, } - return fmt.Sprintf("%v:%v", nod.Type, nod.Value) } // source is source code file. diff --git a/gopm.go b/gopm.go index 13a91f1c0..55a5d273a 100644 --- a/gopm.go +++ b/gopm.go @@ -46,8 +46,8 @@ var commands = []*cmd.Command{ cmd.CmdSearch, cmd.CmdServe, cmd.CmdGen, + cmd.CmdBuild, /* - cmdBuild, cmdClean, cmdDoc, cmdEnv, @@ -140,7 +140,7 @@ Use "gopm help [topic]" for more information about that topic. ` -var helpTemplate = `{{if .Runnable}}usage: go {{.UsageLine}} +var helpTemplate = `{{if .Runnable}}usage: gopm {{.UsageLine}} {{end}}{{.Long | trim}} ` From 86d369a75adf4b4e49b9b9a9558931a3beb7240b Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 31 Oct 2013 09:14:24 +0800 Subject: [PATCH 157/287] fixed bug because of leveldb's change --- cmd/serve.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/serve.go b/cmd/serve.go index 39d924cb7..3172700d7 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -438,7 +438,7 @@ func startService(listen, port string) error { dbDir = strings.Replace(dbDir, "~", homeDir, -1) - db, err = leveldb.OpenFile(dbDir, &opt.Options{Flag: opt.OFCreateIfMissing}) + db, err = leveldb.OpenFile(dbDir, nil) if err != nil { return err } From 1c7dca2d8eca739012c86c6f707851c95627a9a9 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 31 Oct 2013 16:07:17 +0800 Subject: [PATCH 158/287] add link support for windows --- cmd/build.go | 5 ----- cmd/helper.go | 13 +++++++++++++ cmd/helper_windows.go | 10 ++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 cmd/helper.go create mode 100644 cmd/helper_windows.go diff --git a/cmd/build.go b/cmd/build.go index 33463b7b3..e023f0864 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -121,11 +121,6 @@ func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) er return nil } -func makeLink(oldPath, newPath string) error { - cmd := exec.Command("ln", "-s", oldPath, newPath) - return cmd.Run() -} - func runBuild(cmd *Command, args []string) { curPath, err := os.Getwd() if err != nil { diff --git a/cmd/helper.go b/cmd/helper.go new file mode 100644 index 000000000..aa80fc17d --- /dev/null +++ b/cmd/helper.go @@ -0,0 +1,13 @@ +// +// +build !windows + +package cmd + +import ( + "os/exec" +) + +func makeLink(oldPath, newPath string) error { + cmd := exec.Command("ln", "-s", oldPath, newPath) + return cmd.Run() +} diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go new file mode 100644 index 000000000..ee3831442 --- /dev/null +++ b/cmd/helper_windows.go @@ -0,0 +1,10 @@ +package cmd + +import ( + "os/exec" +) + +func makeLink(oldPath, newPath string) error { + cmd := exec.Command("mklink", "/j", newPath, oldPath) + return cmd.Run() +} From 9b423adb51404c7020bf6b03438a9981d64941f4 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 31 Oct 2013 17:13:12 +0800 Subject: [PATCH 159/287] add link for windows --- cmd/helper_windows.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index ee3831442..852299b93 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -5,6 +5,6 @@ import ( ) func makeLink(oldPath, newPath string) error { - cmd := exec.Command("mklink", "/j", newPath, oldPath) + cmd := exec.Command("cmd", "/c", "mklink", "/j", newPath, oldPath) return cmd.Run() } From 182c1636491cb3ca58c8bf37c2b29ea716f6fa18 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 31 Oct 2013 17:29:38 +0800 Subject: [PATCH 160/287] fixed bug for build on windows --- cmd/build.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index e023f0864..d05f3e560 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -154,7 +154,7 @@ func runBuild(cmd *Command, args []string) { paths := strings.Split(name, "/") var isExistP bool for i := 0; i < len(paths)-1; i++ { - pName := filepath.Join(paths[:len(paths)-1-i]...) + pName := strings.Join(paths[:len(paths)-1-i], "/") if _, ok := cachePkgs[pName]; ok { isExistP = true break @@ -166,7 +166,6 @@ func runBuild(cmd *Command, args []string) { newPPath := filepath.Join(newGoPathSrc, pName) com.ColorLog("[TRAC] create dirs %v\n", newPPath) os.MkdirAll(newPPath, os.ModePerm) - com.ColorLog("[INFO] linked %v\n", name) err = makeLink(oldPath, newPath) From 2fa3a131762cde40e8a1c2ffc54508f9f3332706 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 31 Oct 2013 17:48:05 +0800 Subject: [PATCH 161/287] improved localimport for build --- cmd/build.go | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index d05f3e560..87f5a5235 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -98,16 +98,21 @@ func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) er } for name, pkg := range pkgs { if !pkgInCache(name, cachePkgs) { - newPath := filepath.Join(installRepoPath, pkg.ImportPath) - if !com.IsExist(newPath) { - var t, ver string = doc.BRANCH, "" - node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) - //node := new(doc.Node) - //node.Pkg = *pkg - - nodes := []*doc.Node{node} - downloadPackages(nodes) - // should handler download failed + var newPath string + if !build.IsLocalImport(name) { + newPath = filepath.Join(installRepoPath, pkg.ImportPath) + if !com.IsExist(newPath) { + var t, ver string = doc.BRANCH, "" + node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) + nodes := []*doc.Node{node} + downloadPackages(nodes) + // should handler download failed + } + } else { + newPath, err = filepath.Abs(name) + if err != nil { + return err + } } err = getChildPkgs(newPath, pkg, cachePkgs) if err != nil { @@ -115,7 +120,7 @@ func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) er } } } - if ppkg != nil { + if ppkg != nil && !build.IsLocalImport(ppkg.ImportPath) { cachePkgs[ppkg.ImportPath] = ppkg } return nil @@ -164,7 +169,7 @@ func runBuild(cmd *Command, args []string) { if !isExistP { pName := filepath.Join(paths[:len(paths)-1]...) newPPath := filepath.Join(newGoPathSrc, pName) - com.ColorLog("[TRAC] create dirs %v\n", newPPath) + //com.ColorLog("[TRAC] create dirs %v\n", newPPath) os.MkdirAll(newPPath, os.ModePerm) com.ColorLog("[INFO] linked %v\n", name) From 58d75a92d76e7df2821a660dd593410e9a390b09 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 1 Nov 2013 16:06:14 +0800 Subject: [PATCH 162/287] add support for child package build --- .gopmfile | 2 ++ cmd/build.go | 78 ++++++++++++++++++++++++++++++++++--------------- doc/gopmfile.go | 60 ++++++++++++++++++++----------------- 3 files changed, 90 insertions(+), 50 deletions(-) create mode 100644 .gopmfile diff --git a/.gopmfile b/.gopmfile new file mode 100644 index 000000000..71798828e --- /dev/null +++ b/.gopmfile @@ -0,0 +1,2 @@ +[target] +path = github.com/gpmgo/gopm \ No newline at end of file diff --git a/cmd/build.go b/cmd/build.go index 87f5a5235..931c69097 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -15,7 +15,7 @@ package cmd import ( - "errors" + //"errors" "github.com/Unknwon/com" "github.com/gpmgo/gopm/doc" "go/build" @@ -43,28 +43,23 @@ func printBuildPrompt(flag string) { } func getGopmPkgs(path string, inludeSys bool) (map[string]*doc.Pkg, error) { - abs, err := filepath.Abs(doc.GopmFileName) + abs, err := filepath.Abs(filepath.Join(path, doc.GopmFileName)) if err != nil { return nil, err } // load import path gf := doc.NewGopmfile() + var builds *doc.Section if com.IsExist(abs) { err := gf.Load(abs) if err != nil { return nil, err } - } else { - sec := doc.NewSection() - sec.Name = "build" - gf.Sections[sec.Name] = sec - } - - var builds *doc.Section - var ok bool - if builds, ok = gf.Sections["build"]; !ok { - return nil, errors.New("no found build section\n") + var ok bool + if builds, ok = gf.Sections["build"]; !ok { + builds = nil + } } pkg, err := build.ImportDir(path, build.AllowBinary) @@ -75,11 +70,13 @@ func getGopmPkgs(path string, inludeSys bool) (map[string]*doc.Pkg, error) { pkgs := make(map[string]*doc.Pkg) for _, name := range pkg.Imports { if inludeSys || !isStdPkg(name) { - if dep, ok := builds.Deps[name]; ok { - pkgs[name] = dep.Pkg - } else { - pkgs[name] = doc.NewDefaultPkg(name) + if builds != nil { + if dep, ok := builds.Deps[name]; ok { + pkgs[name] = dep.Pkg + continue + } } + pkgs[name] = doc.NewDefaultPkg(name) } } return pkgs, nil @@ -91,6 +88,12 @@ func pkgInCache(name string, cachePkgs map[string]*doc.Pkg) bool { return ok } +func autoLink(oldPath, newPath string) error { + newPPath, _ := filepath.Split(newPath) + os.MkdirAll(newPPath, os.ModePerm) + return makeLink(oldPath, newPath) +} + func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) error { pkgs, err := getGopmPkgs(cpath, false) if err != nil { @@ -139,6 +142,23 @@ func runBuild(cmd *Command, args []string) { return } + gf := doc.NewGopmfile() + var pkgName string + gpmPath := filepath.Join(curPath, doc.GopmFileName) + if com.IsExist(gpmPath) { + com.ColorLog("[INFO] loading .gopmfile ...\n") + err := gf.Load(gpmPath) + if err != nil { + com.ColorLog("[ERRO] load .gopmfile failed: %v\n", err) + return + } + } + + if target, ok := gf.Sections["target"]; ok { + pkgName = target.Props["path"] + com.ColorLog("[INFO] target name is %v\n", pkgName) + } + installRepoPath = strings.Replace(reposDir, "~", hd, -1) cachePkgs := make(map[string]*doc.Pkg) @@ -158,23 +178,25 @@ func runBuild(cmd *Command, args []string) { newPath := filepath.Join(newGoPathSrc, name) paths := strings.Split(name, "/") var isExistP bool + var isCurChild bool for i := 0; i < len(paths)-1; i++ { pName := strings.Join(paths[:len(paths)-1-i], "/") if _, ok := cachePkgs[pName]; ok { isExistP = true break } + if pkgName == pName { + isCurChild = true + break + } + } + if isCurChild { + continue } if !isExistP { - pName := filepath.Join(paths[:len(paths)-1]...) - newPPath := filepath.Join(newGoPathSrc, pName) - //com.ColorLog("[TRAC] create dirs %v\n", newPPath) - os.MkdirAll(newPPath, os.ModePerm) com.ColorLog("[INFO] linked %v\n", name) - - err = makeLink(oldPath, newPath) - + err = autoLink(oldPath, newPath) if err != nil { com.ColorLog("[ERRO] make link error %v\n", err) return @@ -182,6 +204,16 @@ func runBuild(cmd *Command, args []string) { } } + if pkgName != "" { + newPath := filepath.Join(newGoPathSrc, pkgName) + com.ColorLog("[INFO] linked %v\n", pkgName) + err = autoLink(curPath, newPath) + if err != nil { + com.ColorLog("[ERRO] make link error %v\n", err) + return + } + } + gopath := build.Default.GOPATH com.ColorLog("[TRAC] set GOPATH=%v\n", newGoPath) err = os.Setenv("GOPATH", newGoPath) diff --git a/doc/gopmfile.go b/doc/gopmfile.go index f08101116..781149fef 100644 --- a/doc/gopmfile.go +++ b/doc/gopmfile.go @@ -2,7 +2,6 @@ package doc import ( "bufio" - "errors" "os" "strings" ) @@ -30,12 +29,15 @@ type Depend struct { } type Section struct { - Name string - Deps map[string]*Depend + Name string + Deps map[string]*Depend + Props map[string]string } func NewSection() *Section { - return &Section{Deps: make(map[string]*Depend)} + return &Section{Deps: make(map[string]*Depend), + Props: make(map[string]string), + } } type Gopmfile struct { @@ -53,41 +55,45 @@ func (this *Gopmfile) Load(path string) error { } scanner := bufio.NewScanner(f) + var sec *Section for scanner.Scan() { - var sec *Section text := strings.TrimSpace(scanner.Text()) - if strings.HasPrefix(text, "[") { + if strings.HasPrefix(text, "[") && strings.HasSuffix(text, "]") { sec = NewSection() - if strings.HasSuffix(text, "]") { - sec.Name = text[1 : len(text)-1] - } else { - return errors.New("need section") - } + sec.Name = text[1 : len(text)-1] this.Sections[sec.Name] = sec } else { if sec == nil { continue } - - var dep *Depend - for _, op := range Ops { - if strings.Contains(text, op) { - ss := strings.Split(text, op) - pkver := strings.Split(ss[1], ":") - var tp, value string - tp = pkver[0] - if len(pkver) == 2 { - value = pkver[1] + if sec.Name == "target" { + ss := strings.Split(text, "=") + if len(ss) == 1 { + sec.Props[strings.TrimSpace(ss[0])] = strings.TrimSpace(ss[0]) + } else if len(ss) == 2 { + sec.Props[strings.TrimSpace(ss[0])] = strings.TrimSpace(ss[1]) + } + } else { + var dep *Depend + for _, op := range Ops { + if strings.Contains(text, op) { + ss := strings.Split(text, op) + pkver := strings.Split(ss[1], ":") + var tp, value string + tp = pkver[0] + if len(pkver) == 2 { + value = pkver[1] + } + dep = &Depend{NewPkg(ss[0], tp, value), ss[1], value} + break } - dep = &Depend{NewPkg(ss[0], tp, value), ss[1], value} - break } - } - if dep == nil { - dep = &Depend{NewDefaultPkg(text), Equeal, ""} + if dep == nil { + dep = &Depend{NewDefaultPkg(text), Equeal, ""} + } + sec.Deps[dep.Pkg.ImportPath] = dep } - sec.Deps[dep.Pkg.ImportPath] = dep } } From c75aafb9aab1274b275252f632bf054810280809 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 1 Nov 2013 16:48:08 +0800 Subject: [PATCH 163/287] add run command --- cmd/build.go | 188 ++---------------------------------------------- cmd/gopath.go | 190 +++++++++++++++++++++++++++++++++++++++++++++++++ cmd/install.go | 66 +++++++++++++++++ cmd/run.go | 66 +++++++++++++++++ gopm.go | 38 +++++----- 5 files changed, 345 insertions(+), 203 deletions(-) create mode 100644 cmd/gopath.go create mode 100644 cmd/install.go create mode 100644 cmd/run.go diff --git a/cmd/build.go b/cmd/build.go index 931c69097..abff63dce 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -15,22 +15,17 @@ package cmd import ( - //"errors" "github.com/Unknwon/com" - "github.com/gpmgo/gopm/doc" "go/build" "os" - "path/filepath" - //"syscall" "os/exec" - "strings" ) var CmdBuild = &Command{ UsageLine: "build", Short: "build according a gopmfile", Long: ` -build +build just like go build `, } @@ -42,185 +37,10 @@ func init() { func printBuildPrompt(flag string) { } -func getGopmPkgs(path string, inludeSys bool) (map[string]*doc.Pkg, error) { - abs, err := filepath.Abs(filepath.Join(path, doc.GopmFileName)) - if err != nil { - return nil, err - } - - // load import path - gf := doc.NewGopmfile() - var builds *doc.Section - if com.IsExist(abs) { - err := gf.Load(abs) - if err != nil { - return nil, err - } - var ok bool - if builds, ok = gf.Sections["build"]; !ok { - builds = nil - } - } - - pkg, err := build.ImportDir(path, build.AllowBinary) - if err != nil { - return map[string]*doc.Pkg{}, err - } - - pkgs := make(map[string]*doc.Pkg) - for _, name := range pkg.Imports { - if inludeSys || !isStdPkg(name) { - if builds != nil { - if dep, ok := builds.Deps[name]; ok { - pkgs[name] = dep.Pkg - continue - } - } - pkgs[name] = doc.NewDefaultPkg(name) - } - } - return pkgs, nil -} - -func pkgInCache(name string, cachePkgs map[string]*doc.Pkg) bool { - //pkgs := strings.Split(name, "/") - _, ok := cachePkgs[name] - return ok -} - -func autoLink(oldPath, newPath string) error { - newPPath, _ := filepath.Split(newPath) - os.MkdirAll(newPPath, os.ModePerm) - return makeLink(oldPath, newPath) -} - -func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) error { - pkgs, err := getGopmPkgs(cpath, false) - if err != nil { - return err - } - for name, pkg := range pkgs { - if !pkgInCache(name, cachePkgs) { - var newPath string - if !build.IsLocalImport(name) { - newPath = filepath.Join(installRepoPath, pkg.ImportPath) - if !com.IsExist(newPath) { - var t, ver string = doc.BRANCH, "" - node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) - nodes := []*doc.Node{node} - downloadPackages(nodes) - // should handler download failed - } - } else { - newPath, err = filepath.Abs(name) - if err != nil { - return err - } - } - err = getChildPkgs(newPath, pkg, cachePkgs) - if err != nil { - return err - } - } - } - if ppkg != nil && !build.IsLocalImport(ppkg.ImportPath) { - cachePkgs[ppkg.ImportPath] = ppkg - } - return nil -} - func runBuild(cmd *Command, args []string) { - curPath, err := os.Getwd() - if err != nil { - com.ColorLog("[ERRO] %v\n", err) - return - } - - hd, err := com.HomeDir() - if err != nil { - com.ColorLog("[ERRO] Fail to get current user[ %s ]\n", err) - return - } - - gf := doc.NewGopmfile() - var pkgName string - gpmPath := filepath.Join(curPath, doc.GopmFileName) - if com.IsExist(gpmPath) { - com.ColorLog("[INFO] loading .gopmfile ...\n") - err := gf.Load(gpmPath) - if err != nil { - com.ColorLog("[ERRO] load .gopmfile failed: %v\n", err) - return - } - } - - if target, ok := gf.Sections["target"]; ok { - pkgName = target.Props["path"] - com.ColorLog("[INFO] target name is %v\n", pkgName) - } - - installRepoPath = strings.Replace(reposDir, "~", hd, -1) - - cachePkgs := make(map[string]*doc.Pkg) - err = getChildPkgs(curPath, nil, cachePkgs) - if err != nil { - com.ColorLog("[ERRO] %v\n", err) - return - } - - newGoPath := filepath.Join(curPath, "vendor") - os.RemoveAll(newGoPath) - newGoPathSrc := filepath.Join(newGoPath, "src") - os.MkdirAll(newGoPathSrc, os.ModePerm) - - for name, _ := range cachePkgs { - oldPath := filepath.Join(installRepoPath, name) - newPath := filepath.Join(newGoPathSrc, name) - paths := strings.Split(name, "/") - var isExistP bool - var isCurChild bool - for i := 0; i < len(paths)-1; i++ { - pName := strings.Join(paths[:len(paths)-1-i], "/") - if _, ok := cachePkgs[pName]; ok { - isExistP = true - break - } - if pkgName == pName { - isCurChild = true - break - } - } - if isCurChild { - continue - } - - if !isExistP { - com.ColorLog("[INFO] linked %v\n", name) - err = autoLink(oldPath, newPath) - if err != nil { - com.ColorLog("[ERRO] make link error %v\n", err) - return - } - } - } - - if pkgName != "" { - newPath := filepath.Join(newGoPathSrc, pkgName) - com.ColorLog("[INFO] linked %v\n", pkgName) - err = autoLink(curPath, newPath) - if err != nil { - com.ColorLog("[ERRO] make link error %v\n", err) - return - } - } - gopath := build.Default.GOPATH - com.ColorLog("[TRAC] set GOPATH=%v\n", newGoPath) - err = os.Setenv("GOPATH", newGoPath) - if err != nil { - com.ColorLog("[ERRO] %v\n", err) - return - } + + genNewGoPath() com.ColorLog("[INFO] building ...\n") @@ -229,7 +49,7 @@ func runBuild(cmd *Command, args []string) { bCmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) bCmd.Stdout = os.Stdout bCmd.Stderr = os.Stderr - err = bCmd.Run() + err := bCmd.Run() if err != nil { com.ColorLog("[ERRO] build failed: %v\n", err) return diff --git a/cmd/gopath.go b/cmd/gopath.go new file mode 100644 index 000000000..c13f1ce85 --- /dev/null +++ b/cmd/gopath.go @@ -0,0 +1,190 @@ +package cmd + +import ( + "github.com/Unknwon/com" + "github.com/gpmgo/gopm/doc" + "go/build" + "os" + "path/filepath" + "strings" +) + +func getGopmPkgs(path string, inludeSys bool) (map[string]*doc.Pkg, error) { + abs, err := filepath.Abs(filepath.Join(path, doc.GopmFileName)) + if err != nil { + return nil, err + } + + // load import path + gf := doc.NewGopmfile() + var builds *doc.Section + if com.IsExist(abs) { + err := gf.Load(abs) + if err != nil { + return nil, err + } + var ok bool + if builds, ok = gf.Sections["build"]; !ok { + builds = nil + } + } + + pkg, err := build.ImportDir(path, build.AllowBinary) + if err != nil { + return map[string]*doc.Pkg{}, err + } + + pkgs := make(map[string]*doc.Pkg) + for _, name := range pkg.Imports { + if inludeSys || !isStdPkg(name) { + if builds != nil { + if dep, ok := builds.Deps[name]; ok { + pkgs[name] = dep.Pkg + continue + } + } + pkgs[name] = doc.NewDefaultPkg(name) + } + } + return pkgs, nil +} + +func pkgInCache(name string, cachePkgs map[string]*doc.Pkg) bool { + //pkgs := strings.Split(name, "/") + _, ok := cachePkgs[name] + return ok +} + +func autoLink(oldPath, newPath string) error { + newPPath, _ := filepath.Split(newPath) + os.MkdirAll(newPPath, os.ModePerm) + return makeLink(oldPath, newPath) +} + +func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) error { + pkgs, err := getGopmPkgs(cpath, false) + if err != nil { + return err + } + for name, pkg := range pkgs { + if !pkgInCache(name, cachePkgs) { + var newPath string + if !build.IsLocalImport(name) { + newPath = filepath.Join(installRepoPath, pkg.ImportPath) + if !com.IsExist(newPath) { + var t, ver string = doc.BRANCH, "" + node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) + nodes := []*doc.Node{node} + downloadPackages(nodes) + // should handler download failed + } + } else { + newPath, err = filepath.Abs(name) + if err != nil { + return err + } + } + err = getChildPkgs(newPath, pkg, cachePkgs) + if err != nil { + return err + } + } + } + if ppkg != nil && !build.IsLocalImport(ppkg.ImportPath) { + cachePkgs[ppkg.ImportPath] = ppkg + } + return nil +} + +func genNewGoPath() { + curPath, err := os.Getwd() + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return + } + + hd, err := com.HomeDir() + if err != nil { + com.ColorLog("[ERRO] Fail to get current user[ %s ]\n", err) + return + } + + gf := doc.NewGopmfile() + var pkgName string + gpmPath := filepath.Join(curPath, doc.GopmFileName) + if com.IsExist(gpmPath) { + com.ColorLog("[INFO] loading .gopmfile ...\n") + err := gf.Load(gpmPath) + if err != nil { + com.ColorLog("[ERRO] load .gopmfile failed: %v\n", err) + return + } + } + + if target, ok := gf.Sections["target"]; ok { + pkgName = target.Props["path"] + com.ColorLog("[INFO] target name is %v\n", pkgName) + } + + installRepoPath = strings.Replace(reposDir, "~", hd, -1) + + cachePkgs := make(map[string]*doc.Pkg) + err = getChildPkgs(curPath, nil, cachePkgs) + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return + } + + newGoPath := filepath.Join(curPath, "vendor") + os.RemoveAll(newGoPath) + newGoPathSrc := filepath.Join(newGoPath, "src") + os.MkdirAll(newGoPathSrc, os.ModePerm) + + for name, _ := range cachePkgs { + oldPath := filepath.Join(installRepoPath, name) + newPath := filepath.Join(newGoPathSrc, name) + paths := strings.Split(name, "/") + var isExistP bool + var isCurChild bool + for i := 0; i < len(paths)-1; i++ { + pName := strings.Join(paths[:len(paths)-1-i], "/") + if _, ok := cachePkgs[pName]; ok { + isExistP = true + break + } + if pkgName == pName { + isCurChild = true + break + } + } + if isCurChild { + continue + } + + if !isExistP { + com.ColorLog("[INFO] linked %v\n", name) + err = autoLink(oldPath, newPath) + if err != nil { + com.ColorLog("[ERRO] make link error %v\n", err) + return + } + } + } + + if pkgName != "" { + newPath := filepath.Join(newGoPathSrc, pkgName) + com.ColorLog("[INFO] linked %v\n", pkgName) + err = autoLink(curPath, newPath) + if err != nil { + com.ColorLog("[ERRO] make link error %v\n", err) + return + } + } + + com.ColorLog("[TRAC] set GOPATH=%v\n", newGoPath) + err = os.Setenv("GOPATH", newGoPath) + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return + } +} diff --git a/cmd/install.go b/cmd/install.go new file mode 100644 index 000000000..77768a4a7 --- /dev/null +++ b/cmd/install.go @@ -0,0 +1,66 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + "github.com/Unknwon/com" + "go/build" + "os" + "os/exec" +) + +var CmdInstall = &Command{ + UsageLine: "install", + Short: "install according a gopmfile", + Long: ` +install just like go install +`, +} + +func init() { + CmdInstall.Run = runInstall + CmdInstall.Flags = map[string]bool{} +} + +func printInstallPrompt(flag string) { +} + +func runInstall(cmd *Command, args []string) { + gopath := build.Default.GOPATH + + genNewGoPath() + + com.ColorLog("[INFO] installing ...\n") + + cmdArgs := []string{"go", "install"} + cmdArgs = append(cmdArgs, args...) + bCmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) + bCmd.Stdout = os.Stdout + bCmd.Stderr = os.Stderr + err := bCmd.Run() + if err != nil { + com.ColorLog("[ERRO] install failed: %v\n", err) + return + } + + com.ColorLog("[TRAC] set GOPATH=%v\n", gopath) + err = os.Setenv("GOPATH", gopath) + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return + } + + com.ColorLog("[SUCC] install successfully!\n") +} diff --git a/cmd/run.go b/cmd/run.go new file mode 100644 index 000000000..7eb03599a --- /dev/null +++ b/cmd/run.go @@ -0,0 +1,66 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + "github.com/Unknwon/com" + "go/build" + "os" + "os/exec" +) + +var CmdRun = &Command{ + UsageLine: "run", + Short: "run according a gopmfile", + Long: ` +run just like go run +`, +} + +func init() { + CmdRun.Run = runRun + CmdRun.Flags = map[string]bool{} +} + +func printRunPrompt(flag string) { +} + +func runRun(cmd *Command, args []string) { + gopath := build.Default.GOPATH + + genNewGoPath() + + com.ColorLog("[INFO] running ...\n") + + cmdArgs := []string{"go", "run"} + cmdArgs = append(cmdArgs, args...) + bCmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) + bCmd.Stdout = os.Stdout + bCmd.Stderr = os.Stderr + err := bCmd.Run() + if err != nil { + com.ColorLog("[ERRO] run failed: %v\n", err) + return + } + + com.ColorLog("[TRAC] set GOPATH=%v\n", gopath) + err = os.Setenv("GOPATH", gopath) + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return + } + + com.ColorLog("[SUCC] run successfully!\n") +} diff --git a/gopm.go b/gopm.go index 331337073..7d5d50041 100644 --- a/gopm.go +++ b/gopm.go @@ -47,25 +47,25 @@ var commands = []*cmd.Command{ cmd.CmdServe, cmd.CmdGen, cmd.CmdBuild, - /* - cmdClean, - cmdDoc, - cmdEnv, - cmdFix, - cmdFmt, - cmdInstall, - cmdList, - cmdRun, - cmdTest, - cmdTool, - cmdVersion, - cmdVet, - - helpGopath, - helpPackages, - helpRemote, - helpTestflag, - helpTestfunc,*/ + cmd.CmdRun, + /*cmd.CmdInstall, + + cmdClean, + cmdDoc, + cmdEnv, + cmdFix, + cmdFmt, + cmdList, + cmdTest, + cmdTool, + cmdVersion, + cmdVet, + + helpGopath, + helpPackages, + helpRemote, + helpTestflag, + helpTestfunc,*/ } func init() { From 8b6825a7e22b92219eac29cebe923db1e73c7d27 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 1 Nov 2013 17:12:00 +0800 Subject: [PATCH 164/287] remove unused install.sh --- install.sh | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100755 install.sh diff --git a/install.sh b/install.sh deleted file mode 100755 index 9f89ab84f..000000000 --- a/install.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash - -if [ ! -f install.sh ]; then -echo 'build.sh must be run within its container folder' 1>&2 -exit 1 -fi - -CURDIR=`pwd` -NEWPATH="$GOPATH/src/github.com/gpmgo/gopm" -if [ ! -d "$NEWPATH" ]; then -ln -s $CURDIR $NEWPATH -fi - -gofmt -w $CURDIR - -cd $NEWPATH -go install -cd $CURDIR - -echo 'Build successfully!' From 4bdcfef6d88793a48d799fc19b9134dde853c141 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 4 Nov 2013 11:03:39 +0800 Subject: [PATCH 165/287] add document and some improved --- .gitignore | 3 ++- README.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++- cmd/cmd.go | 19 +++++++++++++++ cmd/gopath.go | 6 +++++ gopm.go | 3 +-- 5 files changed, 92 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2b4fd370c..3b09fc2d3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ gopm *.exe *.exe~ -repos/ \ No newline at end of file +repos/ +vendor/ diff --git a/README.md b/README.md index 062b639e0..86e992614 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,67 @@ gopm - Go Package Manager gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. -**Attention** This application still in experiment, we'are working on new break version, you may use [old version](https://github.com/gpmgo/gopm/tree/v0.1.0) for now. \ No newline at end of file +**Attention** This application still in experiment, we'are working on new break version, you may use [old version](https://github.com/gpmgo/gopm/tree/v0.1.0) for now. + +# Requirement + +Currently, gopm use soft syb link + +# INSTALL + +You should install Go and Go tool before install gopm currently. + +``` +go get github.com/gpmgo/gopm +``` + +This will install gopm on $GOPATH$/bin。Before using gopm, you should add this to $PATH. + +# Features + +* Don't need to install git, svn, hg etct. for installing packages. +* Package has version +* Every project has owner GOPATH +* Put your Go project on anywhere you want + +# Commands + +1. Show the command help +``` +gopm help +``` + +2. Show gopm version +``` +gopm version +``` + +3. Get a package +``` +gopm get github.com/gpmgo/gopm +``` + +4. Search a package +``` +gopm search gopm +``` + +5. Build a project, the build's arguments are the same as go build. But it will check all the dependencies and dowload them. +``` + +gopm build +``` + +6. Run a go file +``` + +gopm run main.go +``` + +7. Install +``` + +gopm install +``` + + diff --git a/cmd/cmd.go b/cmd/cmd.go index 19c96bb59..6d4efea24 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -20,6 +20,8 @@ import ( "strings" ) +const APP_VER = "0.5.0.1103" + var ( AppPath string reposDir string = "~/.gopm/repos" @@ -67,3 +69,20 @@ func (c *Command) Usage() { func (c *Command) Runnable() bool { return c.Run != nil } + +var CmdVersion = &Command{ + UsageLine: "version", + Short: "show version", + Long: ` +show version +`, +} + +func runVersion(cmd *Command, args []string) { + fmt.Println(APP_VER) +} + +func init() { + CmdVersion.Run = runVersion + CmdVersion.Flags = map[string]bool{} +} diff --git a/cmd/gopath.go b/cmd/gopath.go index c13f1ce85..cadce1de6 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -179,6 +179,12 @@ func genNewGoPath() { com.ColorLog("[ERRO] make link error %v\n", err) return } + com.ColorLog("[INFO] change dir to %v\n", newPath) + err = os.Chdir(newPath) + if err != nil { + com.ColorLog("[ERRO] change current directory error %v\n", err) + return + } } com.ColorLog("[TRAC] set GOPATH=%v\n", newGoPath) diff --git a/gopm.go b/gopm.go index 7d5d50041..7c614e560 100644 --- a/gopm.go +++ b/gopm.go @@ -33,7 +33,6 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.4.0.1012" var ( config map[string]interface{} @@ -48,6 +47,7 @@ var commands = []*cmd.Command{ cmd.CmdGen, cmd.CmdBuild, cmd.CmdRun, + cmd.CmdVersion, /*cmd.CmdInstall, cmdClean, @@ -58,7 +58,6 @@ var commands = []*cmd.Command{ cmdList, cmdTest, cmdTool, - cmdVersion, cmdVet, helpGopath, From 05c95c083287ef0f280d002eeca30d14e3985a0d Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 4 Nov 2013 12:47:20 +0800 Subject: [PATCH 166/287] bug fixed --- cmd/cmd.go | 2 +- cmd/gopath.go | 29 ++++++++++++++++++----------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/cmd/cmd.go b/cmd/cmd.go index 6d4efea24..0740870f5 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -20,7 +20,7 @@ import ( "strings" ) -const APP_VER = "0.5.0.1103" +const APP_VER = "0.5.1.1104" var ( AppPath string diff --git a/cmd/gopath.go b/cmd/gopath.go index cadce1de6..a12d7270e 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -71,12 +71,16 @@ func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) er var newPath string if !build.IsLocalImport(name) { newPath = filepath.Join(installRepoPath, pkg.ImportPath) - if !com.IsExist(newPath) { - var t, ver string = doc.BRANCH, "" - node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) - nodes := []*doc.Node{node} - downloadPackages(nodes) - // should handler download failed + if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { + newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]) + } else { + if !com.IsExist(newPath) { + var t, ver string = doc.BRANCH, "" + node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) + nodes := []*doc.Node{node} + downloadPackages(nodes) + // should handler download failed + } } } else { newPath, err = filepath.Abs(name) @@ -96,8 +100,12 @@ func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) er return nil } +var pkgName string +var curPath string + func genNewGoPath() { - curPath, err := os.Getwd() + var err error + curPath, err = os.Getwd() if err != nil { com.ColorLog("[ERRO] %v\n", err) return @@ -110,7 +118,6 @@ func genNewGoPath() { } gf := doc.NewGopmfile() - var pkgName string gpmPath := filepath.Join(curPath, doc.GopmFileName) if com.IsExist(gpmPath) { com.ColorLog("[INFO] loading .gopmfile ...\n") @@ -121,14 +128,14 @@ func genNewGoPath() { } } + installRepoPath = strings.Replace(reposDir, "~", hd, -1) + + cachePkgs := make(map[string]*doc.Pkg) if target, ok := gf.Sections["target"]; ok { pkgName = target.Props["path"] com.ColorLog("[INFO] target name is %v\n", pkgName) } - installRepoPath = strings.Replace(reposDir, "~", hd, -1) - - cachePkgs := make(map[string]*doc.Pkg) err = getChildPkgs(curPath, nil, cachePkgs) if err != nil { com.ColorLog("[ERRO] %v\n", err) From a79b00bb928a1c0d9b7782f9be47a3ecb873cea9 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 4 Nov 2013 13:48:58 +0800 Subject: [PATCH 167/287] improved doc --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 86e992614..e6b36ed41 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,8 @@ gopm(Go Package Manager) is a Go package manage tool for search, install, update # Requirement -Currently, gopm use soft syb link +Currently, gopm use soft symblink `ln -s` on Unix-like OS and `mklink -j` on Windows. +Make sure that you have the command. # INSTALL From 5c196075e808fc4ed8c7be1bd40bea0d33a0ec07 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 4 Nov 2013 13:52:46 +0800 Subject: [PATCH 168/287] doc --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e6b36ed41..16b6a7559 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ gopm - Go Package Manager ![GPMGo_Logo](https://raw.github.com/gpmgo/gopmweb/master/static/img/gpmgo.png?raw=true) -gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. +Gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. **Attention** This application still in experiment, we'are working on new break version, you may use [old version](https://github.com/gpmgo/gopm/tree/v0.1.0) for now. @@ -12,7 +12,7 @@ gopm(Go Package Manager) is a Go package manage tool for search, install, update Currently, gopm use soft symblink `ln -s` on Unix-like OS and `mklink -j` on Windows. Make sure that you have the command. -# INSTALL +# Install You should install Go and Go tool before install gopm currently. @@ -24,9 +24,9 @@ This will install gopm on $GOPATH$/bin。Before using gopm, you should add this # Features -* Don't need to install git, svn, hg etct. for installing packages. +* Don't need to install git, svn, hg etc. for installing packages. * Package has version -* Every project has owner GOPATH +* Every project has own GOPATH * Put your Go project on anywhere you want # Commands From 540ca09ddf38a37f6981269a72a3b365b48437df Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 5 Nov 2013 17:12:58 -0500 Subject: [PATCH 169/287] Improved README --- README.md | 30 +++++++++++++++++++----------- cmd/cmd.go | 2 +- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 16b6a7559..307eac08b 100644 --- a/README.md +++ b/README.md @@ -5,65 +5,73 @@ gopm - Go Package Manager Gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. -**Attention** This application still in experiment, we'are working on new break version, you may use [old version](https://github.com/gpmgo/gopm/tree/v0.1.0) for now. +Current Version: **v0.5.1** # Requirement -Currently, gopm use soft symblink `ln -s` on Unix-like OS and `mklink -j` on Windows. -Make sure that you have the command. +- Go Development Environment >= 1.1. +- Command `ln -s` support on Mac OS and Unix-like systems. +- Command `mklink -j` support on Windows( **Windows Vista and later** ). -# Install +# Installation -You should install Go and Go tool before install gopm currently. +Because we do NOT offer binaries for now, so before you install the gopm, you should have already installed Go Development Environment with version 1.1 and later. ``` go get github.com/gpmgo/gopm ``` -This will install gopm on $GOPATH$/bin。Before using gopm, you should add this to $PATH. +The executable will be produced under `$GOPATH/bin` in your file system; for global use purpose, we recommand you to add this path into your `PATH` environment variable. # Features -* Don't need to install git, svn, hg etc. for installing packages. -* Package has version -* Every project has own GOPATH -* Put your Go project on anywhere you want +- No requirement for installing any version control system tool like `git`, `svn` or `hg` in order to download packages(although you have to install git for installing gopm though `go get` for now). +- Download, install or build your packages with specific revisions. +- When build program with `gopm build` or `gopm install`, everything just happen in its own GOPATH and do not bother anything you've done. +* Put your Go project on anywhere you want. -# Commands +# Quick start 1. Show the command help + ``` gopm help ``` 2. Show gopm version + ``` gopm version ``` 3. Get a package + ``` gopm get github.com/gpmgo/gopm ``` 4. Search a package + ``` gopm search gopm ``` 5. Build a project, the build's arguments are the same as go build. But it will check all the dependencies and dowload them. + ``` gopm build ``` 6. Run a go file + ``` gopm run main.go ``` 7. Install + ``` gopm install diff --git a/cmd/cmd.go b/cmd/cmd.go index 0740870f5..b87b4998e 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -20,7 +20,7 @@ import ( "strings" ) -const APP_VER = "0.5.1.1104" +const APP_VER = "0.5.1.1105" var ( AppPath string From 0bd637d61605b8ffaa37a0fa1e6a8b3768922d41 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 8 Nov 2013 02:06:48 -0500 Subject: [PATCH 170/287] Improve command prompt --- cmd/cmd.go | 19 - cmd/get.go | 2 +- cmd/serve.go | 1072 +++++++++++++++++++++++++------------------------- gopm.go | 81 ++-- 4 files changed, 576 insertions(+), 598 deletions(-) diff --git a/cmd/cmd.go b/cmd/cmd.go index b87b4998e..19c96bb59 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -20,8 +20,6 @@ import ( "strings" ) -const APP_VER = "0.5.1.1105" - var ( AppPath string reposDir string = "~/.gopm/repos" @@ -69,20 +67,3 @@ func (c *Command) Usage() { func (c *Command) Runnable() bool { return c.Run != nil } - -var CmdVersion = &Command{ - UsageLine: "version", - Short: "show version", - Long: ` -show version -`, -} - -func runVersion(cmd *Command, args []string) { - fmt.Println(APP_VER) -} - -func init() { - CmdVersion.Run = runVersion - CmdVersion.Flags = map[string]bool{} -} diff --git a/cmd/get.go b/cmd/get.go index 585e71198..2c92bf708 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -192,7 +192,7 @@ func downloadPackages(nodes []*doc.Node) { com.ColorLog("[SUCC] Downloaded package( %s => %s:%s )\n", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) downloadCount++ - saveNode(nod) + //saveNode(nod) } } else { com.ColorLog("[WARN] Skipped downloaded package( %s => %s:%s )\n", diff --git a/cmd/serve.go b/cmd/serve.go index 3172700d7..65cb482c7 100644 --- a/cmd/serve.go +++ b/cmd/serve.go @@ -14,539 +14,539 @@ package cmd -import ( - "errors" - "fmt" - "github.com/Unknwon/com" - "github.com/gpmgo/gopm/doc" - "github.com/syndtr/goleveldb/leveldb" - "github.com/syndtr/goleveldb/leveldb/opt" - "io/ioutil" - "net/http" - "net/url" - "os" - "os/exec" - "path/filepath" - "strconv" - "strings" - "time" -) - -var ( - dbDir = "~/.gopm/db" -) - -const ( - STOP = iota - LOCALRUN - RUNNING -) - -var CmdServe = &Command{ - UsageLine: "serve [:port]", - Short: "serve for package search", - Long: ` - serve provide a web service to search packages, download packages - -The serve flags are: - - -l - only service for localhost ip -`, -} - -func init() { - CmdServe.Run = runServe - CmdServe.Flags = map[string]bool{ - "-l": false, - } -} - -func printServePrompt(flag string) { - switch flag { - case "-l": - com.ColorLog("[INFO] You enabled start a service only localhost.\n") - } -} - -// Not implemented -func autoPort() string { - return "8991" -} - -func exePath() (string, error) { - file, err := exec.LookPath(os.Args[0]) - if err != nil { - return "", err - } - - return filepath.Abs(file) -} - -// search packages -func runServe(cmd *Command, args []string) { - // Check flags. - num := checkFlags(cmd.Flags, args, printServePrompt) - if num == -1 { - return - } - args = args[num:] - - var listen string - var port string - if cmd.Flags["-l"] { - listen += "127.0.0.1" - port = autoPort() - } else { - listen += "0.0.0.0" - port = "8991" - } - - // Check length of arguments. - if len(args) >= 1 { - port = args[0] - } - - err := startService(listen, port) - if err != nil { - com.ColorLog("[ERRO] %v\n", err) - } -} - -func splitWord(word string, res *map[string]bool) { - for i, _ := range word { - for j, _ := range word[i:] { - w := word[i : i+j+1] - (*res)[w] = true - } - } - return -} - -func splitPkgName(pkgName string) (res map[string]bool) { - //var src string - ps := strings.Split(pkgName, "/") - if len(ps) > 1 { - ps = ps[1:] - } - - res = make(map[string]bool) - res[strings.Join(ps, "/")] = true - for _, w := range ps { - splitWord(w, &res) - } - return -} - -func splitSynopsis(synopsis string) map[string]bool { - res := make(map[string]bool) - ss := strings.Fields(synopsis) - for _, s := range ss { - res[s] = true - } - return res -} - -var ( - ro *opt.ReadOptions = &opt.ReadOptions{} - wo *opt.WriteOptions = &opt.WriteOptions{} -) - -func dbGet(key string) (string, error) { - v, err := db.Get([]byte(key), ro) - return string(v), err -} - -func dbPut(key string, value string) error { - //fmt.Println("put ", key, ": ", value) - return db.Put([]byte(key), []byte(value), wo) -} - -func batchPut(batch *leveldb.Batch, key string, value string) error { - //fmt.Println("put ", key, ": ", value) - batch.Put([]byte(key), []byte(value)) - return nil -} - -func getServeHost() string { - return "localhost" -} - -func getServePort() string { - return "8991" -} - -// for exernal of serve to add node to db -func saveNode(nod *doc.Node) error { - urlPath := fmt.Sprintf("http://%v:%v/add", getServeHost(), getServePort()) - resp, err := http.PostForm(urlPath, - url.Values{"importPath": {nod.ImportPath}, - "synopsis": {nod.Synopsis}, - "downloadURL": {nod.DownloadURL}, - "isGetDeps": {strconv.FormatBool(nod.IsGetDeps)}, - "type": {nod.Type}, - "value": {nod.Value}}) - - if err != nil { - com.ColorLog("[ERRO] Fail to save node[ %s ]\n", err) - return err - } - defer resp.Body.Close() - - if resp.StatusCode == 200 { - return nil - } - return errors.New("save node failed with " + resp.Status) -} - -// for inetrnal of serve to add node to db -func addNode(nod *doc.Node) error { - batch := new(leveldb.Batch) - strLastId, err := dbGet("lastId") - if err != nil { - if err == leveldb.ErrNotFound { - strLastId = "0" - err = batchPut(batch, "lastId", strLastId) - } else { - return err - } - } - if err != nil { - return err - } - - lastId, err := strconv.ParseInt(strLastId, 0, 64) - if err != nil { - return err - } - - nodKey := fmt.Sprintf("index:%v", nod.ImportPath) - - id, err := dbGet(nodKey) - if err != nil { - if err == leveldb.ErrNotFound { - id = fmt.Sprintf("%v", lastId+1) - err = batchPut(batch, "lastId", id) - if err == nil { - err = batchPut(batch, nodKey, id) - } - if err == nil { - err = batchPut(batch, "pkg:"+id, nod.ImportPath) - } - if err == nil { - err = batchPut(batch, "desc:"+id, nod.Synopsis) - } - if err == nil { - err = batchPut(batch, "down:"+id, nod.DownloadURL) - } - if err == nil { - err = batchPut(batch, "deps:"+id, strconv.FormatBool(nod.IsGetDeps)) - } - - // save totals - total, err := dbGet("total") - if err != nil { - if err == leveldb.ErrNotFound { - total = "1" - } else { - return err - } - } else { - totalInt, err := strconv.ParseInt(total, 0, 64) - if err != nil { - return err - } - totalInt = totalInt + 1 - total = fmt.Sprintf("%v", totalInt) - } - - err = batchPut(batch, "total", total) - } else { - return err - } - } - - if err != nil { - return err - } - - // save vers - vers, err := dbGet("ver:" + id) - needSplit := (err == leveldb.ErrNotFound) - if err != nil { - if err != leveldb.ErrNotFound { - return err - } - } else { - return nil - } - - if vers == "" { - //fmt.Println(nod) - vers = nod.VerString() - } else { - if !strings.Contains(vers, nod.VerString()) { - vers = vers + "," + nod.VerString() - } else { - return nil - } - } - - err = batchPut(batch, "ver:"+id, vers) - if err != nil { - return err - } - - if !needSplit { - return nil - } - - // indexing package name - keys := splitPkgName(nod.ImportPath) - for key, _ := range keys { - err = batchPut(batch, fmt.Sprintf("key:%v:%v", strings.ToLower(key), id), "") - if err != nil { - return err - } - } - - if nod.Synopsis != "" { - fields := splitSynopsis(nod.Synopsis) - for field, _ := range fields { - err = batchPut(batch, fmt.Sprintf("key:%v:%v", strings.ToLower(field), id), "") - if err != nil { - return err - } - } - } - - return db.Write(batch, wo) -} - -func rmPkg(nod *doc.Node) { - -} - -var db *leveldb.DB - -// service should be run -func AutoRun() error { - s, _, _ := runningStatus() - if s == STOP { - // current path - curPath, err := os.Getwd() - if err != nil { - return err - } - - attr := &os.ProcAttr{ - Dir: curPath, - Env: os.Environ(), - //Files: []*os.File{nil, nil, nil}, - Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}, - } - - p, err := exePath() - if err != nil { - return err - } - - //com.ColorLog("[INFO] now is starting search daemon ...\n") - _, err = os.StartProcess(p, []string{"gopm", "serve", "-l"}, attr) - if err != nil { - return err - } - time.Sleep(time.Second) - } - return nil -} - -func runningStatus() (int, int, int) { - pFile, err := getPidPath() - if err != nil { - return STOP, 0, 0 - } - - contentByte, err := ioutil.ReadFile(pFile) - if err != nil { - return STOP, 0, 0 - } - content := string(contentByte) - if len(content) < 0 || !strings.Contains(content, ",") { - return STOP, 0, 0 - } - cs := strings.Split(string(content), ",") - if len(cs) != 3 { - return STOP, 0, 0 - } - status, err := strconv.Atoi(cs[0]) - if err != nil { - return STOP, 0, 0 - } - if status < STOP || status > RUNNING { - return STOP, 0, 0 - } - pid, err := strconv.Atoi(cs[1]) - if err != nil { - return STOP, 0, 0 - } - - _, err = os.FindProcess(pid) - if err != nil { - return STOP, 0, 0 - } - - port, err := strconv.Atoi(cs[2]) - if err != nil { - return STOP, 0, 0 - } - - return status, pid, port -} - -func getPidPath() (string, error) { - homeDir, err := com.HomeDir() - if err != nil { - return "", err - } - - pFile := strings.Replace("~/.gopm/var/", "~", homeDir, -1) - os.MkdirAll(pFile, os.ModePerm) - return pFile + "pid", nil -} - -func startService(listen, port string) error { - homeDir, err := com.HomeDir() - if err != nil { - return err - } - - pFile, err := getPidPath() - if err != nil { - return err - } - - f, err := os.OpenFile(pFile, os.O_RDWR|os.O_CREATE, 0700) - if err != nil { - return err - } - defer f.Close() - _, err = f.WriteString(fmt.Sprintf("%v,%v,%v", RUNNING, os.Getpid(), port)) - if err != nil { - return err - } - - dbDir = strings.Replace(dbDir, "~", homeDir, -1) - - db, err = leveldb.OpenFile(dbDir, nil) - if err != nil { - return err - } - defer db.Close() - - // these handlers should only access by localhost - http.HandleFunc("/add", addHandler) - http.HandleFunc("/rm", rmHandler) - - // these handlers can be accessed according listen's ip - http.HandleFunc("/search", searchHandler) - http.HandleFunc("/searche", searcheHandler) - http.ListenAndServe(listen+":"+port, nil) - return nil -} - -func searchHandler(w http.ResponseWriter, r *http.Request) { - r.ParseForm() - ids := make(map[string]bool) - for key, _ := range r.Form { - iter := db.NewIterator(ro) - rkey := fmt.Sprintf("key:%v:", strings.ToLower(key)) - if iter.Seek([]byte(rkey)) { - k := iter.Key() - if !strings.HasPrefix(string(k), rkey) { - break - } else { - ids[string(k)] = true - } - } - for iter.Next() { - k := iter.Key() - if !strings.HasPrefix(string(k), rkey) { - break - } - ids[string(k)] = true - } - } - - pkgs := make([]string, 0) - - for id, _ := range ids { - idkeys := strings.SplitN(id, ":", -1) - rId := idkeys[len(idkeys)-1] - //fmt.Println(rId) - pkg, err := dbGet(fmt.Sprintf("pkg:%v", rId)) - if err != nil { - com.ColorLog(err.Error()) - continue - } - desc, err := dbGet(fmt.Sprintf("desc:%v", rId)) - if err != nil { - com.ColorLog(err.Error()) - continue - } - pkgs = append(pkgs, fmt.Sprintf(`{"pkg":"%v", "desc":"%v"}`, pkg, desc)) - } - - w.Write([]byte("[" + strings.Join(pkgs, ", ") + "]")) -} - -func searcheHandler(w http.ResponseWriter, r *http.Request) { - //if r.Method == "POST" { - r.ParseForm() - pkgs := make([]string, 0) - for key, _ := range r.Form { - rId, err := dbGet("index:" + key) - if err != nil { - com.ColorLog(err.Error()) - continue - } - - desc, err := dbGet(fmt.Sprintf("desc:%v", rId)) - if err != nil { - com.ColorLog(err.Error()) - continue - } - - pkgs = append(pkgs, fmt.Sprintf(`{"pkg":"%v", "desc":"%v"}`, key, desc)) - } - - w.Write([]byte("[" + strings.Join(pkgs, ", ") + "]")) - //} -} - -func addHandler(w http.ResponseWriter, r *http.Request) { - //if r.Method == "POST" { - r.ParseForm() - - nod := new(doc.Node) - nod.ImportPath = r.FormValue("importPath") - nod.Synopsis = r.FormValue("synopsis") - nod.DownloadURL = r.FormValue("downloadURL") - isGetDeps, err := strconv.ParseBool(r.FormValue("isGetDeps")) - if err != nil { - com.ColorLog("[ERRO] SEVER: Cannot get deps") - } - nod.IsGetDeps = isGetDeps - nod.Type = r.FormValue("type") - nod.Value = r.FormValue("value") - - err = addNode(nod) - if err != nil { - com.ColorLog("[ERRO] SEVER: Cannot add node[ %s ]\n", err) - } - //} -} - -func rmHandler(w http.ResponseWriter, r *http.Request) { - -} +// import ( +// "errors" +// "fmt" +// "github.com/Unknwon/com" +// "github.com/gpmgo/gopm/doc" +// "github.com/syndtr/goleveldb/leveldb" +// "github.com/syndtr/goleveldb/leveldb/opt" +// "io/ioutil" +// "net/http" +// "net/url" +// "os" +// "os/exec" +// "path/filepath" +// "strconv" +// "strings" +// "time" +// ) + +// var ( +// dbDir = "~/.gopm/db" +// ) + +// const ( +// STOP = iota +// LOCALRUN +// RUNNING +// ) + +// var CmdServe = &Command{ +// UsageLine: "serve [:port]", +// Short: "serve for package search", +// Long: ` +// serve provide a web service to search packages, download packages + +// The serve flags are: + +// -l +// only service for localhost ip +// `, +// } + +// func init() { +// CmdServe.Run = runServe +// CmdServe.Flags = map[string]bool{ +// "-l": false, +// } +// } + +// func printServePrompt(flag string) { +// switch flag { +// case "-l": +// com.ColorLog("[INFO] You enabled start a service only localhost.\n") +// } +// } + +// // Not implemented +// func autoPort() string { +// return "8991" +// } + +// func exePath() (string, error) { +// file, err := exec.LookPath(os.Args[0]) +// if err != nil { +// return "", err +// } + +// return filepath.Abs(file) +// } + +// // search packages +// func runServe(cmd *Command, args []string) { +// // Check flags. +// num := checkFlags(cmd.Flags, args, printServePrompt) +// if num == -1 { +// return +// } +// args = args[num:] + +// var listen string +// var port string +// if cmd.Flags["-l"] { +// listen += "127.0.0.1" +// port = autoPort() +// } else { +// listen += "0.0.0.0" +// port = "8991" +// } + +// // Check length of arguments. +// if len(args) >= 1 { +// port = args[0] +// } + +// err := startService(listen, port) +// if err != nil { +// com.ColorLog("[ERRO] %v\n", err) +// } +// } + +// func splitWord(word string, res *map[string]bool) { +// for i, _ := range word { +// for j, _ := range word[i:] { +// w := word[i : i+j+1] +// (*res)[w] = true +// } +// } +// return +// } + +// func splitPkgName(pkgName string) (res map[string]bool) { +// //var src string +// ps := strings.Split(pkgName, "/") +// if len(ps) > 1 { +// ps = ps[1:] +// } + +// res = make(map[string]bool) +// res[strings.Join(ps, "/")] = true +// for _, w := range ps { +// splitWord(w, &res) +// } +// return +// } + +// func splitSynopsis(synopsis string) map[string]bool { +// res := make(map[string]bool) +// ss := strings.Fields(synopsis) +// for _, s := range ss { +// res[s] = true +// } +// return res +// } + +// var ( +// ro *opt.ReadOptions = &opt.ReadOptions{} +// wo *opt.WriteOptions = &opt.WriteOptions{} +// ) + +// func dbGet(key string) (string, error) { +// v, err := db.Get([]byte(key), ro) +// return string(v), err +// } + +// func dbPut(key string, value string) error { +// //fmt.Println("put ", key, ": ", value) +// return db.Put([]byte(key), []byte(value), wo) +// } + +// func batchPut(batch *leveldb.Batch, key string, value string) error { +// //fmt.Println("put ", key, ": ", value) +// batch.Put([]byte(key), []byte(value)) +// return nil +// } + +// func getServeHost() string { +// return "localhost" +// } + +// func getServePort() string { +// return "8991" +// } + +// // for exernal of serve to add node to db +// func saveNode(nod *doc.Node) error { +// urlPath := fmt.Sprintf("http://%v:%v/add", getServeHost(), getServePort()) +// resp, err := http.PostForm(urlPath, +// url.Values{"importPath": {nod.ImportPath}, +// "synopsis": {nod.Synopsis}, +// "downloadURL": {nod.DownloadURL}, +// "isGetDeps": {strconv.FormatBool(nod.IsGetDeps)}, +// "type": {nod.Type}, +// "value": {nod.Value}}) + +// if err != nil { +// com.ColorLog("[ERRO] Fail to save node[ %s ]\n", err) +// return err +// } +// defer resp.Body.Close() + +// if resp.StatusCode == 200 { +// return nil +// } +// return errors.New("save node failed with " + resp.Status) +// } + +// // for inetrnal of serve to add node to db +// func addNode(nod *doc.Node) error { +// batch := new(leveldb.Batch) +// strLastId, err := dbGet("lastId") +// if err != nil { +// if err == leveldb.ErrNotFound { +// strLastId = "0" +// err = batchPut(batch, "lastId", strLastId) +// } else { +// return err +// } +// } +// if err != nil { +// return err +// } + +// lastId, err := strconv.ParseInt(strLastId, 0, 64) +// if err != nil { +// return err +// } + +// nodKey := fmt.Sprintf("index:%v", nod.ImportPath) + +// id, err := dbGet(nodKey) +// if err != nil { +// if err == leveldb.ErrNotFound { +// id = fmt.Sprintf("%v", lastId+1) +// err = batchPut(batch, "lastId", id) +// if err == nil { +// err = batchPut(batch, nodKey, id) +// } +// if err == nil { +// err = batchPut(batch, "pkg:"+id, nod.ImportPath) +// } +// if err == nil { +// err = batchPut(batch, "desc:"+id, nod.Synopsis) +// } +// if err == nil { +// err = batchPut(batch, "down:"+id, nod.DownloadURL) +// } +// if err == nil { +// err = batchPut(batch, "deps:"+id, strconv.FormatBool(nod.IsGetDeps)) +// } + +// // save totals +// total, err := dbGet("total") +// if err != nil { +// if err == leveldb.ErrNotFound { +// total = "1" +// } else { +// return err +// } +// } else { +// totalInt, err := strconv.ParseInt(total, 0, 64) +// if err != nil { +// return err +// } +// totalInt = totalInt + 1 +// total = fmt.Sprintf("%v", totalInt) +// } + +// err = batchPut(batch, "total", total) +// } else { +// return err +// } +// } + +// if err != nil { +// return err +// } + +// // save vers +// vers, err := dbGet("ver:" + id) +// needSplit := (err == leveldb.ErrNotFound) +// if err != nil { +// if err != leveldb.ErrNotFound { +// return err +// } +// } else { +// return nil +// } + +// if vers == "" { +// //fmt.Println(nod) +// vers = nod.VerString() +// } else { +// if !strings.Contains(vers, nod.VerString()) { +// vers = vers + "," + nod.VerString() +// } else { +// return nil +// } +// } + +// err = batchPut(batch, "ver:"+id, vers) +// if err != nil { +// return err +// } + +// if !needSplit { +// return nil +// } + +// // indexing package name +// keys := splitPkgName(nod.ImportPath) +// for key, _ := range keys { +// err = batchPut(batch, fmt.Sprintf("key:%v:%v", strings.ToLower(key), id), "") +// if err != nil { +// return err +// } +// } + +// if nod.Synopsis != "" { +// fields := splitSynopsis(nod.Synopsis) +// for field, _ := range fields { +// err = batchPut(batch, fmt.Sprintf("key:%v:%v", strings.ToLower(field), id), "") +// if err != nil { +// return err +// } +// } +// } + +// return db.Write(batch, wo) +// } + +// func rmPkg(nod *doc.Node) { + +// } + +// var db *leveldb.DB + +// // service should be run +// func AutoRun() error { +// s, _, _ := runningStatus() +// if s == STOP { +// // current path +// curPath, err := os.Getwd() +// if err != nil { +// return err +// } + +// attr := &os.ProcAttr{ +// Dir: curPath, +// Env: os.Environ(), +// //Files: []*os.File{nil, nil, nil}, +// Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}, +// } + +// p, err := exePath() +// if err != nil { +// return err +// } + +// //com.ColorLog("[INFO] now is starting search daemon ...\n") +// _, err = os.StartProcess(p, []string{"gopm", "serve", "-l"}, attr) +// if err != nil { +// return err +// } +// time.Sleep(time.Second) +// } +// return nil +// } + +// func runningStatus() (int, int, int) { +// pFile, err := getPidPath() +// if err != nil { +// return STOP, 0, 0 +// } + +// contentByte, err := ioutil.ReadFile(pFile) +// if err != nil { +// return STOP, 0, 0 +// } +// content := string(contentByte) +// if len(content) < 0 || !strings.Contains(content, ",") { +// return STOP, 0, 0 +// } +// cs := strings.Split(string(content), ",") +// if len(cs) != 3 { +// return STOP, 0, 0 +// } +// status, err := strconv.Atoi(cs[0]) +// if err != nil { +// return STOP, 0, 0 +// } +// if status < STOP || status > RUNNING { +// return STOP, 0, 0 +// } +// pid, err := strconv.Atoi(cs[1]) +// if err != nil { +// return STOP, 0, 0 +// } + +// _, err = os.FindProcess(pid) +// if err != nil { +// return STOP, 0, 0 +// } + +// port, err := strconv.Atoi(cs[2]) +// if err != nil { +// return STOP, 0, 0 +// } + +// return status, pid, port +// } + +// func getPidPath() (string, error) { +// homeDir, err := com.HomeDir() +// if err != nil { +// return "", err +// } + +// pFile := strings.Replace("~/.gopm/var/", "~", homeDir, -1) +// os.MkdirAll(pFile, os.ModePerm) +// return pFile + "pid", nil +// } + +// func startService(listen, port string) error { +// homeDir, err := com.HomeDir() +// if err != nil { +// return err +// } + +// pFile, err := getPidPath() +// if err != nil { +// return err +// } + +// f, err := os.OpenFile(pFile, os.O_RDWR|os.O_CREATE, 0700) +// if err != nil { +// return err +// } +// defer f.Close() +// _, err = f.WriteString(fmt.Sprintf("%v,%v,%v", RUNNING, os.Getpid(), port)) +// if err != nil { +// return err +// } + +// dbDir = strings.Replace(dbDir, "~", homeDir, -1) + +// db, err = leveldb.OpenFile(dbDir, nil) +// if err != nil { +// return err +// } +// defer db.Close() + +// // these handlers should only access by localhost +// http.HandleFunc("/add", addHandler) +// http.HandleFunc("/rm", rmHandler) + +// // these handlers can be accessed according listen's ip +// http.HandleFunc("/search", searchHandler) +// http.HandleFunc("/searche", searcheHandler) +// http.ListenAndServe(listen+":"+port, nil) +// return nil +// } + +// func searchHandler(w http.ResponseWriter, r *http.Request) { +// r.ParseForm() +// ids := make(map[string]bool) +// for key, _ := range r.Form { +// iter := db.NewIterator(ro) +// rkey := fmt.Sprintf("key:%v:", strings.ToLower(key)) +// if iter.Seek([]byte(rkey)) { +// k := iter.Key() +// if !strings.HasPrefix(string(k), rkey) { +// break +// } else { +// ids[string(k)] = true +// } +// } +// for iter.Next() { +// k := iter.Key() +// if !strings.HasPrefix(string(k), rkey) { +// break +// } +// ids[string(k)] = true +// } +// } + +// pkgs := make([]string, 0) + +// for id, _ := range ids { +// idkeys := strings.SplitN(id, ":", -1) +// rId := idkeys[len(idkeys)-1] +// //fmt.Println(rId) +// pkg, err := dbGet(fmt.Sprintf("pkg:%v", rId)) +// if err != nil { +// com.ColorLog(err.Error()) +// continue +// } +// desc, err := dbGet(fmt.Sprintf("desc:%v", rId)) +// if err != nil { +// com.ColorLog(err.Error()) +// continue +// } +// pkgs = append(pkgs, fmt.Sprintf(`{"pkg":"%v", "desc":"%v"}`, pkg, desc)) +// } + +// w.Write([]byte("[" + strings.Join(pkgs, ", ") + "]")) +// } + +// func searcheHandler(w http.ResponseWriter, r *http.Request) { +// //if r.Method == "POST" { +// r.ParseForm() +// pkgs := make([]string, 0) +// for key, _ := range r.Form { +// rId, err := dbGet("index:" + key) +// if err != nil { +// com.ColorLog(err.Error()) +// continue +// } + +// desc, err := dbGet(fmt.Sprintf("desc:%v", rId)) +// if err != nil { +// com.ColorLog(err.Error()) +// continue +// } + +// pkgs = append(pkgs, fmt.Sprintf(`{"pkg":"%v", "desc":"%v"}`, key, desc)) +// } + +// w.Write([]byte("[" + strings.Join(pkgs, ", ") + "]")) +// //} +// } + +// func addHandler(w http.ResponseWriter, r *http.Request) { +// //if r.Method == "POST" { +// r.ParseForm() + +// nod := new(doc.Node) +// nod.ImportPath = r.FormValue("importPath") +// nod.Synopsis = r.FormValue("synopsis") +// nod.DownloadURL = r.FormValue("downloadURL") +// isGetDeps, err := strconv.ParseBool(r.FormValue("isGetDeps")) +// if err != nil { +// com.ColorLog("[ERRO] SEVER: Cannot get deps") +// } +// nod.IsGetDeps = isGetDeps +// nod.Type = r.FormValue("type") +// nod.Value = r.FormValue("value") + +// err = addNode(nod) +// if err != nil { +// com.ColorLog("[ERRO] SEVER: Cannot add node[ %s ]\n", err) +// } +// //} +// } + +// func rmHandler(w http.ResponseWriter, r *http.Request) { + +// } diff --git a/gopm.go b/gopm.go index 7c614e560..81244e3a8 100644 --- a/gopm.go +++ b/gopm.go @@ -17,8 +17,6 @@ package main import ( "fmt" - "github.com/Unknwon/com" - "github.com/gpmgo/gopm/cmd" "io" "os" "runtime" @@ -27,6 +25,10 @@ import ( "text/template" "unicode" "unicode/utf8" + + //"github.com/Unknwon/com" + + "github.com/gpmgo/gopm/cmd" ) // +build go1.1 @@ -34,37 +36,35 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -var ( - config map[string]interface{} -) +const APP_VER = "0.5.1.1108" // Commands lists the available commands and help topics. // The order here is the order in which they are printed by 'gopm help'. var commands = []*cmd.Command{ cmd.CmdGet, - cmd.CmdSearch, - cmd.CmdServe, + //cmd.CmdSearch, + //cmd.CmdServe, cmd.CmdGen, - cmd.CmdBuild, cmd.CmdRun, - cmd.CmdVersion, - /*cmd.CmdInstall, - - cmdClean, - cmdDoc, - cmdEnv, - cmdFix, - cmdFmt, - cmdList, - cmdTest, - cmdTool, - cmdVet, - - helpGopath, - helpPackages, - helpRemote, - helpTestflag, - helpTestfunc,*/ + cmd.CmdBuild, + cmd.CmdInstall, + + /* + cmdClean, + cmdDoc, + cmdEnv, + cmdFix, + cmdFmt, + cmdList, + cmdTest, + cmdTool, + cmdVet, + + helpGopath, + helpPackages, + helpRemote, + helpTestflag, + helpTestfunc,*/ } func init() { @@ -88,16 +88,16 @@ func main() { // Check commands and run. for _, comm := range commands { if comm.Name() == args[0] && comm.Run != nil { - if comm.Name() != "serve" { - err := cmd.AutoRun() - if err == nil { - comm.Run(comm, args[1:]) - } else { - com.ColorLog("[ERRO] %v\n", err) - } - } else { - comm.Run(comm, args[1:]) - } + // if comm.Name() != "serve" { + // err := cmd.AutoRun() + // if err == nil { + // comm.Run(comm, args[1:]) + // } else { + // com.ColorLog("[ERRO] %v\n", err) + // } + // } else { + comm.Run(comm, args[1:]) + // } exit() return } @@ -119,11 +119,8 @@ func setExitStatus(n int) { exitMu.Unlock() } -var usageTemplate = `gopm is a package manage tool for Go programming language. - -Usage: - - gopm command [arguments] +var usageTemplate = ` +Usage: gopm [args] The commands are: {{range .}}{{if .Runnable}} @@ -137,7 +134,7 @@ Additional help topics: Use "gopm help [topic]" for more information about that topic. -` +` + `gopm@` + APP_VER + "\n" var helpTemplate = `{{if .Runnable}}usage: gopm {{.UsageLine}} From 8b176155fcb5ecfa655dfcfea78b0f3b54294829 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 9 Nov 2013 08:13:51 +0800 Subject: [PATCH 171/287] code refactoring --- cmd/build.go | 21 ++------------ cmd/cmd.go | 2 +- cmd/gopath.go | 77 ++++++++++++++++++++++++++++++++++++-------------- cmd/install.go | 21 ++------------ gopm.go | 4 +-- 5 files changed, 65 insertions(+), 60 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index abff63dce..3270197e3 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -16,9 +16,6 @@ package cmd import ( "github.com/Unknwon/com" - "go/build" - "os" - "os/exec" ) var CmdBuild = &Command{ @@ -38,29 +35,17 @@ func printBuildPrompt(flag string) { } func runBuild(cmd *Command, args []string) { - gopath := build.Default.GOPATH - genNewGoPath() com.ColorLog("[INFO] building ...\n") - cmdArgs := []string{"go", "build"} - cmdArgs = append(cmdArgs, args...) - bCmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) - bCmd.Stdout = os.Stdout - bCmd.Stderr = os.Stderr - err := bCmd.Run() + cmds := []string{"go", "build"} + cmds = append(cmds, args...) + err := execCmd(newGoPath, newCurPath, cmds...) if err != nil { com.ColorLog("[ERRO] build failed: %v\n", err) return } - com.ColorLog("[TRAC] set GOPATH=%v\n", gopath) - err = os.Setenv("GOPATH", gopath) - if err != nil { - com.ColorLog("[ERRO] %v\n", err) - return - } - com.ColorLog("[SUCC] build successfully!\n") } diff --git a/cmd/cmd.go b/cmd/cmd.go index b87b4998e..4c7ea5af9 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -20,7 +20,7 @@ import ( "strings" ) -const APP_VER = "0.5.1.1105" +const APP_VER = "0.5.1.1107" var ( AppPath string diff --git a/cmd/gopath.go b/cmd/gopath.go index a12d7270e..ff93bb1b3 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -5,6 +5,7 @@ import ( "github.com/gpmgo/gopm/doc" "go/build" "os" + "os/exec" "path/filepath" "strings" ) @@ -102,6 +103,51 @@ func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) er var pkgName string var curPath string +var newCurPath string +var newGoPath string + +func execCmd(gopath, curPath string, args ...string) error { + cwd, err := os.Getwd() + if err != nil { + return err + } + + com.ColorLog("[INFO] change current dir from %v to %v\n", cwd, curPath) + err = os.Chdir(filepath.Join(cwd, "vendor")) + if err != nil { + com.ColorLog("[ERRO] change current directory error %v\n", err) + return err + } + err = os.Chdir(curPath) + if err != nil { + com.ColorLog("[ERRO] change current directory error %v\n", err) + return err + } + defer os.Chdir(cwd) + ccmd := exec.Command("cd", curPath) + ccmd.Stdout = os.Stdout + ccmd.Stderr = os.Stderr + err = ccmd.Run() + if err != nil { + com.ColorLog("[ERRO] change current directory error %v\n", err) + return err + } + + oldGoPath := os.Getenv("GOPATH") + com.ColorLog("[TRAC] set GOPATH from %v to %v\n", oldGoPath, gopath) + + err = os.Setenv("GOPATH", gopath) + if err != nil { + com.ColorLog("[ERRO] %v\n", err) + return err + } + defer os.Setenv("GOPATH", oldGoPath) + + cmd := exec.Command(args[0], args[1:]...) + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + return cmd.Run() +} func genNewGoPath() { var err error @@ -136,15 +182,19 @@ func genNewGoPath() { com.ColorLog("[INFO] target name is %v\n", pkgName) } + if pkgName == "" { + _, pkgName = filepath.Split(curPath) + } + err = getChildPkgs(curPath, nil, cachePkgs) if err != nil { com.ColorLog("[ERRO] %v\n", err) return } - newGoPath := filepath.Join(curPath, "vendor") - os.RemoveAll(newGoPath) + newGoPath = filepath.Join(curPath, "vendor") newGoPathSrc := filepath.Join(newGoPath, "src") + os.RemoveAll(newGoPathSrc) os.MkdirAll(newGoPathSrc, os.ModePerm) for name, _ := range cachePkgs { @@ -178,26 +228,11 @@ func genNewGoPath() { } } - if pkgName != "" { - newPath := filepath.Join(newGoPathSrc, pkgName) - com.ColorLog("[INFO] linked %v\n", pkgName) - err = autoLink(curPath, newPath) - if err != nil { - com.ColorLog("[ERRO] make link error %v\n", err) - return - } - com.ColorLog("[INFO] change dir to %v\n", newPath) - err = os.Chdir(newPath) - if err != nil { - com.ColorLog("[ERRO] change current directory error %v\n", err) - return - } - } - - com.ColorLog("[TRAC] set GOPATH=%v\n", newGoPath) - err = os.Setenv("GOPATH", newGoPath) + newCurPath = filepath.Join(newGoPathSrc, pkgName) + com.ColorLog("[INFO] linked %v\n", pkgName) + err = autoLink(curPath, newCurPath) if err != nil { - com.ColorLog("[ERRO] %v\n", err) + com.ColorLog("[ERRO] make link error %v\n", err) return } } diff --git a/cmd/install.go b/cmd/install.go index 77768a4a7..5c5c74037 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -16,9 +16,6 @@ package cmd import ( "github.com/Unknwon/com" - "go/build" - "os" - "os/exec" ) var CmdInstall = &Command{ @@ -38,29 +35,17 @@ func printInstallPrompt(flag string) { } func runInstall(cmd *Command, args []string) { - gopath := build.Default.GOPATH - genNewGoPath() com.ColorLog("[INFO] installing ...\n") - cmdArgs := []string{"go", "install"} - cmdArgs = append(cmdArgs, args...) - bCmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) - bCmd.Stdout = os.Stdout - bCmd.Stderr = os.Stderr - err := bCmd.Run() + cmds := []string{"go", "install"} + cmds = append(cmds, args...) + err := execCmd(newGoPath, newCurPath, cmds...) if err != nil { com.ColorLog("[ERRO] install failed: %v\n", err) return } - com.ColorLog("[TRAC] set GOPATH=%v\n", gopath) - err = os.Setenv("GOPATH", gopath) - if err != nil { - com.ColorLog("[ERRO] %v\n", err) - return - } - com.ColorLog("[SUCC] install successfully!\n") } diff --git a/gopm.go b/gopm.go index 7c614e560..1ac799d87 100644 --- a/gopm.go +++ b/gopm.go @@ -48,9 +48,9 @@ var commands = []*cmd.Command{ cmd.CmdBuild, cmd.CmdRun, cmd.CmdVersion, - /*cmd.CmdInstall, + cmd.CmdInstall, - cmdClean, + /*cmdClean, cmdDoc, cmdEnv, cmdFix, From 4ea34afd3fcc47011661ca3f14d38fa54b65a8ae Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 8 Nov 2013 23:28:01 -0500 Subject: [PATCH 172/287] halfway done of get --- .gopmfile | 4 +- cmd/get.go | 168 +++++++++++++++++++------------------ gopm.go | 190 +++++------------------------------------- log/log_nonwindows.go | 39 +++++++++ 4 files changed, 150 insertions(+), 251 deletions(-) create mode 100644 log/log_nonwindows.go diff --git a/.gopmfile b/.gopmfile index 71798828e..2cedaa233 100644 --- a/.gopmfile +++ b/.gopmfile @@ -1,2 +1,4 @@ [target] -path = github.com/gpmgo/gopm \ No newline at end of file +path = github.com/gpmgo/gopm + +[deps] diff --git a/cmd/get.go b/cmd/get.go index 2c92bf708..fde907389 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -21,7 +21,10 @@ import ( "strings" "github.com/Unknwon/com" + "github.com/codegangsta/cli" + "github.com/gpmgo/gopm/doc" + "github.com/gpmgo/gopm/log" ) var ( @@ -31,39 +34,83 @@ var ( failConut int ) -var CmdGet = &Command{ - UsageLine: "get [flags] ", - Short: "download and install packages and dependencies", - Long: ` -Get downloads and installs the packages named by the import paths, -along with their dependencies. - -This command works even you haven't installed any version control tool -such as git, hg, etc. - -The install flags are: +var CmdGet = cli.Command{ + Name: "get", + Usage: "fetch remote package(s) and dependencies to local repository", + Description: `Command get fetches a package, and any pakcages that it depents on. +If the package has a gopmfile, the fetch process will be driven by that. - -d - download without installing package(s). - -u - force to update pakcage(s). - -e - download dependencies for example(s). +gopm get +gopm get @[:] +gopm get @[:] -The list flags accept a space-separated list of strings. +Can specify one or more: gopm get beego@tag:v0.9.0 github.com/beego/bee -For more about specifying packages, see 'go help packages'. -`, +If no argument is supplied, then gopmfile must be present`, + Action: runGet, + Flags: []cli.Flag{ + cli.BoolFlag{"force", "force to update pakcage(s) and dependencies"}, + cli.BoolFlag{"example", "download dependencies for example(s)"}, + }, } func init() { downloadCache = make(map[string]bool) - CmdGet.Run = runGet - CmdGet.Flags = map[string]bool{ - "-d": false, - "-u": false, - "-e": false, +} + +func runGet(ctx *cli.Context) { + // Check number of arguments. + switch len(ctx.Args()) { + case 0: + getByGopmfile(ctx) + } +} + +func getByGopmfile(ctx *cli.Context) { + if !com.IsFile(".gopmfile") { + log.Fatal("install", "No argument is supplied and no gopmfile exist") + } + + hd, err := com.HomeDir() + if err != nil { + log.Error("install", "Fail to get current user") + log.Fatal("", err.Error()) } + + installRepoPath = strings.Replace(reposDir, "~", hd, -1) + log.Log("Local repository path: %s", installRepoPath) + + // TODO: 获取依赖包 + + log.Error("install", "command haven't done yet!") +} + +func processGet() { + +} + +func runGet1(cmd *Command, args []string) { + nodes := []*doc.Node{} + // ver describles branch, tag or commit. + var t, ver string = doc.BRANCH, "" + + var err error + if len(args) >= 2 { + t, ver, err = validPath(args[1]) + if err != nil { + com.ColorLog("[ERROR] Fail to parse 'args'[ %s ]\n", err) + return + } + } + + node := doc.NewNode(args[0], args[0], t, ver, true) + nodes = append(nodes, node) + + // Download package(s). + downloadPackages(nodes) + + com.ColorLog("[INFO] %d package(s) downloaded, %d failed.\n", + downloadCount, failConut) } // printGetPrompt prints prompt information to users to @@ -107,51 +154,6 @@ func checkFlags(flags map[string]bool, args []string, print func(string)) int { return num } -func runGet(cmd *Command, args []string) { - // Check flags. - num := checkFlags(cmd.Flags, args, printGetPrompt) - if num == -1 { - return - } - args = args[num:] - - // Check length of arguments. - if len(args) < 1 { - com.ColorLog("[ERRO] Please list the package that you want to install.\n") - return - } - - hd, err := com.HomeDir() - if err != nil { - com.ColorLog("[ERRO] Fail to get current user[ %s ]\n", err) - return - } - - installRepoPath = strings.Replace(reposDir, "~", hd, -1) - com.ColorLog("[INFO] Packages will be installed into( %s )\n", installRepoPath) - - nodes := []*doc.Node{} - // ver describles branch, tag or commit. - var t, ver string = doc.BRANCH, "" - - if len(args) >= 2 { - t, ver, err = validPath(args[1]) - if err != nil { - com.ColorLog("[ERROR] Fail to parse 'args'[ %s ]\n", err) - return - } - } - - node := doc.NewNode(args[0], args[0], t, ver, true) - nodes = append(nodes, node) - - // Download package(s). - downloadPackages(nodes) - - com.ColorLog("[INFO] %d package(s) downloaded, %d failed.\n", - downloadCount, failConut) -} - // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. @@ -160,18 +162,18 @@ func downloadPackages(nodes []*doc.Node) { for _, n := range nodes { // Check if it is a valid remote path. if doc.IsValidRemotePath(n.ImportPath) { - if !CmdGet.Flags["-u"] { - // Check if package has been downloaded. - installPath := installRepoPath + "/" + doc.GetProjectPath(n.ImportPath) - if len(n.Value) > 0 { - installPath += "." + n.Value - } - if com.IsExist(installPath) { - com.ColorLog("[WARN] Skipped installed package( %s => %s:%s )\n", - n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) - continue - } - } + // if !CmdGet.Flags["-u"] { + // // Check if package has been downloaded. + // installPath := installRepoPath + "/" + doc.GetProjectPath(n.ImportPath) + // if len(n.Value) > 0 { + // installPath += "." + n.Value + // } + // if com.IsExist(installPath) { + // com.ColorLog("[WARN] Skipped installed package( %s => %s:%s )\n", + // n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) + // continue + // } + // } if !downloadCache[n.ImportPath] { // Download package. @@ -216,7 +218,7 @@ func downloadPackage(nod *doc.Node) (*doc.Node, []string) { // Mark as donwloaded. downloadCache[nod.ImportPath] = true - imports, err := doc.PureDownload(nod, installRepoPath, CmdGet.Flags) + imports, err := doc.PureDownload(nod, installRepoPath, nil) //CmdGet.Flags) if err != nil { com.ColorLog("[ERRO] Download falied( %s )[ %s ]\n", nod.ImportPath, err) diff --git a/gopm.go b/gopm.go index 81244e3a8..b6165ca6f 100644 --- a/gopm.go +++ b/gopm.go @@ -16,17 +16,11 @@ package main import ( - "fmt" - "io" "os" "runtime" - "strings" - "sync" - "text/template" - "unicode" - "unicode/utf8" //"github.com/Unknwon/com" + "github.com/codegangsta/cli" "github.com/gpmgo/gopm/cmd" ) @@ -38,171 +32,33 @@ const go11tag = true const APP_VER = "0.5.1.1108" -// Commands lists the available commands and help topics. -// The order here is the order in which they are printed by 'gopm help'. -var commands = []*cmd.Command{ - cmd.CmdGet, - //cmd.CmdSearch, - //cmd.CmdServe, - cmd.CmdGen, - cmd.CmdRun, - cmd.CmdBuild, - cmd.CmdInstall, - - /* - cmdClean, - cmdDoc, - cmdEnv, - cmdFix, - cmdFmt, - cmdList, - cmdTest, - cmdTool, - cmdVet, - - helpGopath, - helpPackages, - helpRemote, - helpTestflag, - helpTestfunc,*/ -} +// //cmd.CmdSearch, +// cmd.CmdGen, +// cmd.CmdRun, +// cmd.CmdBuild, +// cmd.CmdInstall, + +// cmdClean, +// cmdDoc, +// cmdEnv, +// cmdFix, +// cmdList, +// cmdTest, +// cmdTool, +// cmdVet, +// } func init() { runtime.GOMAXPROCS(runtime.NumCPU()) } func main() { - // Check length of arguments. - args := os.Args[1:] - if len(args) < 1 { - usage() - return - } - - // Show help documentation. - if args[0] == "help" { - help(args[1:]) - return - } - - // Check commands and run. - for _, comm := range commands { - if comm.Name() == args[0] && comm.Run != nil { - // if comm.Name() != "serve" { - // err := cmd.AutoRun() - // if err == nil { - // comm.Run(comm, args[1:]) - // } else { - // com.ColorLog("[ERRO] %v\n", err) - // } - // } else { - comm.Run(comm, args[1:]) - // } - exit() - return - } - } - - fmt.Fprintf(os.Stderr, "gopm: unknown subcommand %q\nRun 'gopm help' for usage.\n", args[0]) - setExitStatus(2) - exit() -} - -var exitStatus = 0 -var exitMu sync.Mutex - -func setExitStatus(n int) { - exitMu.Lock() - if exitStatus < n { - exitStatus = n - } - exitMu.Unlock() -} - -var usageTemplate = ` -Usage: gopm [args] - -The commands are: -{{range .}}{{if .Runnable}} - {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} - -Use "gopm help [command]" for more information about a command. - -Additional help topics: -{{range .}}{{if not .Runnable}} - {{.Name | printf "%-11s"}} {{.Short}}{{end}}{{end}} - -Use "gopm help [topic]" for more information about that topic. - -` + `gopm@` + APP_VER + "\n" - -var helpTemplate = `{{if .Runnable}}usage: gopm {{.UsageLine}} - -{{end}}{{.Long | trim}} -` - -// tmpl executes the given template text on data, writing the result to w. -func tmpl(w io.Writer, text string, data interface{}) { - t := template.New("top") - t.Funcs(template.FuncMap{"trim": strings.TrimSpace, "capitalize": capitalize}) - template.Must(t.Parse(text)) - if err := t.Execute(w, data); err != nil { - panic(err) - } -} - -func capitalize(s string) string { - if s == "" { - return s - } - r, n := utf8.DecodeRuneInString(s) - return string(unicode.ToTitle(r)) + s[n:] -} - -func printUsage(w io.Writer) { - tmpl(w, usageTemplate, commands) -} - -func usage() { - printUsage(os.Stderr) - os.Exit(2) -} - -// help implements the 'help' command. -func help(args []string) { - if len(args) == 0 { - printUsage(os.Stdout) - // not exit 2: succeeded at 'gopm help'. - return - } - if len(args) != 1 { - fmt.Fprintf(os.Stderr, "usage: gopm help command\n\nToo many arguments given.\n") - os.Exit(2) // failed at 'gopm help' - } - - arg := args[0] - - for _, cmd := range commands { - if cmd.Name() == arg { - tmpl(os.Stdout, helpTemplate, cmd) - // not exit 2: succeeded at 'gopm help cmd'. - return - } - } - - fmt.Fprintf(os.Stderr, "Unknown help topic %#q. Run 'gopm help'.\n", arg) - os.Exit(2) // failed at 'gopm help cmd' -} - -var atexitFuncs []func() - -func atexit(f func()) { - atexitFuncs = append(atexitFuncs, f) -} - -func exit() { - for _, f := range atexitFuncs { - f() + app := cli.NewApp() + app.Name = "gopm" + app.Usage = "Go Package Manager" + app.Version = APP_VER + app.Commands = []cli.Command{ + cmd.CmdGet, } - os.Exit(exitStatus) + app.Run(os.Args) } diff --git a/log/log_nonwindows.go b/log/log_nonwindows.go new file mode 100644 index 000000000..1c913a218 --- /dev/null +++ b/log/log_nonwindows.go @@ -0,0 +1,39 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package log + +import ( + "fmt" + "os" + + "github.com/aybabtme/color/brush" +) + +func Error(hl, msg string) { + if len(hl) > 0 { + hl = brush.Red(hl).String() + } + fmt.Printf("gopm %s %s %s\n", brush.Red("ERR!"), hl, msg) +} + +func Fatal(hl, msg string) { + Error(hl, msg) + os.Exit(2) +} + +func Log(format string, args ...interface{}) { + fmt.Printf("gopm %s %s\n", brush.White("INFO"), + fmt.Sprintf(format, args...)) +} From f69ced633455d263f101d607562879d36c563a6d Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 9 Nov 2013 03:08:03 -0500 Subject: [PATCH 173/287] Still working on get command --- cmd/gen.go | 6 - cmd/get.go | 176 +++++++++++------------ cmd/gopath.go | 318 +++++++++++++++++++++--------------------- cmd/search.go | 6 - doc/doc | 1 - doc/gopmfile.go | 115 ++++----------- doc/utils.go | 101 +++++++++++--- doc/vcs.go | 5 +- doc/walker.go | 10 +- log/log_nonwindows.go | 23 ++- log/log_windows.go | 56 ++++++++ 11 files changed, 439 insertions(+), 378 deletions(-) delete mode 120000 doc/doc create mode 100644 log/log_windows.go diff --git a/cmd/gen.go b/cmd/gen.go index 499c80921..c7673a1c0 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -64,12 +64,6 @@ func getPkgs(path string, inludeSys bool) ([]string, error) { // scan a directory and gen a gopm file func runGen(cmd *Command, args []string) { - // Check flags. - num := checkFlags(cmd.Flags, args, printGenPrompt) - if num == -1 { - return - } - args = args[num:] var gopmFile string = ".gopmfile" if len(args) > 0 { diff --git a/cmd/get.go b/cmd/get.go index fde907389..4912b3594 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -18,6 +18,7 @@ import ( "errors" "fmt" "os" + "path/filepath" "strings" "github.com/Unknwon/com" @@ -59,145 +60,149 @@ func init() { } func runGet(ctx *cli.Context) { + hd, err := com.HomeDir() + if err != nil { + log.Error("get", "Fail to get current user") + log.Fatal("", err.Error()) + } + + installRepoPath = strings.Replace(reposDir, "~", hd, -1) + log.Log("Local repository path: %s", installRepoPath) + // Check number of arguments. switch len(ctx.Args()) { case 0: getByGopmfile(ctx) + default: + getByPath(ctx) } } func getByGopmfile(ctx *cli.Context) { if !com.IsFile(".gopmfile") { - log.Fatal("install", "No argument is supplied and no gopmfile exist") + log.Fatal("get", "No argument is supplied and no gopmfile exist") } - hd, err := com.HomeDir() + gf := doc.NewGopmfile(".") + + absPath, err := filepath.Abs(".") if err != nil { - log.Error("install", "Fail to get current user") + log.Error("", "Fail to get absolute path of work directory") log.Fatal("", err.Error()) } - installRepoPath = strings.Replace(reposDir, "~", hd, -1) - log.Log("Local repository path: %s", installRepoPath) + log.Log("Work directory: %s", absPath) - // TODO: 获取依赖包 + // Get dependencies. + imports := doc.GetAllImports([]string{absPath}, + gf.MustValue("target", "path"), ctx.Bool("example")) - log.Error("install", "command haven't done yet!") -} + nodes := make([]*doc.Node, 0, len(imports)) + for _, p := range imports { + node := doc.NewNode(p, p, doc.BRANCH, "", true) -func processGet() { - -} - -func runGet1(cmd *Command, args []string) { - nodes := []*doc.Node{} - // ver describles branch, tag or commit. - var t, ver string = doc.BRANCH, "" - - var err error - if len(args) >= 2 { - t, ver, err = validPath(args[1]) - if err != nil { - com.ColorLog("[ERROR] Fail to parse 'args'[ %s ]\n", err) - return + // Check if user specified the version. + if v, err := gf.GetValue("deps", p); err == nil { + tp, ver, err := validPath(v) + if err != nil { + log.Error("", "Fail to parse version") + log.Fatal("", err.Error()) + } + node.Type = tp + node.Value = ver } + nodes = append(nodes, node) } - node := doc.NewNode(args[0], args[0], t, ver, true) - nodes = append(nodes, node) + downloadPackages(ctx, nodes) - // Download package(s). - downloadPackages(nodes) - - com.ColorLog("[INFO] %d package(s) downloaded, %d failed.\n", + log.Log("%d package(s) downloaded, %d failed", downloadCount, failConut) } -// printGetPrompt prints prompt information to users to -// let them know what's going on. -func printGetPrompt(flag string) { - switch flag { - case "-d": - com.ColorLog("[INFO] You enabled download without installing.\n") - case "-u": - com.ColorLog("[INFO] You enabled force update.\n") - case "-e": - com.ColorLog("[INFO] You enabled download dependencies of example(s).\n") - } -} - -// checkFlags checks if the flag exists with correct format. -func checkFlags(flags map[string]bool, args []string, print func(string)) int { - num := 0 // Number of valid flags, use to cut out. - for i, f := range args { - // Check flag prefix '-'. - if !strings.HasPrefix(f, "-") { - // Not a flag, finish check process. - break +func getByPath(ctx *cli.Context) { + nodes := make([]*doc.Node, 0, len(ctx.Args())) + for _, info := range ctx.Args() { + pkg := info + node := doc.NewNode(pkg, pkg, doc.BRANCH, "", true) + + if i := strings.Index(info, "@"); i > -1 { + pkg = info[:i] + tp, ver, err := validPath(info[i+1:]) + if err != nil { + log.Error("", "Fail to parse version") + log.Fatal("", err.Error()) + } + node = doc.NewNode(pkg, pkg, tp, ver, true) } - // Check if it a valid flag. - if v, ok := flags[f]; ok { - flags[f] = !v - if !v { - print(f) - } else { - fmt.Println("DISABLE: " + f) + // Cheeck package name. + if !strings.Contains(pkg, "/") { + name, ok := doc.PackageNameList[pkg] + if !ok { + log.Error("", "Invalid package name: "+pkg) + log.Fatal("", "No match in the package name list") } - } else { - com.ColorLog("[ERRO] Unknown flag: %s.\n", f) - return -1 + pkg = name } - num = i + 1 + + nodes = append(nodes, node) } - return num + downloadPackages(ctx, nodes) + + log.Log("%d package(s) downloaded, %d failed", + downloadCount, failConut) } // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. -func downloadPackages(nodes []*doc.Node) { +func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { // Check all packages, they may be raw packages path. for _, n := range nodes { // Check if it is a valid remote path. if doc.IsValidRemotePath(n.ImportPath) { - // if !CmdGet.Flags["-u"] { - // // Check if package has been downloaded. - // installPath := installRepoPath + "/" + doc.GetProjectPath(n.ImportPath) - // if len(n.Value) > 0 { - // installPath += "." + n.Value - // } - // if com.IsExist(installPath) { - // com.ColorLog("[WARN] Skipped installed package( %s => %s:%s )\n", - // n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) - // continue - // } - // } + if !ctx.Bool("force") { + // Check if package has been downloaded. + installPath := installRepoPath + "/" + doc.GetProjectPath(n.ImportPath) + if len(n.Value) > 0 { + installPath += "." + n.Value + } + if com.IsExist(installPath) { + log.Trace("Skipped installed package: %s@%s:%s", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) + continue + } + } if !downloadCache[n.ImportPath] { // Download package. nod, imports := downloadPackage(n) if len(imports) > 0 { + // TODO: 检查是否有 gopmfile + // Need to download dependencies. // Generate temporary nodes. nodes := make([]*doc.Node, len(imports)) for i := range nodes { nodes[i] = doc.NewNode(imports[i], imports[i], doc.BRANCH, "", true) } - downloadPackages(nodes) + downloadPackages(ctx, nodes) } // Only save package information with specific commit. if nod != nil { // Save record in local nodes. - com.ColorLog("[SUCC] Downloaded package( %s => %s:%s )\n", - n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) + log.Success("SUCC", "GET", fmt.Sprintf("%s@%s:%s", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value))) downloadCount++ + + // TODO: 保存包信息 //saveNode(nod) } } else { - com.ColorLog("[WARN] Skipped downloaded package( %s => %s:%s )\n", + log.Trace("Skipped downloaded package: %s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) } } else if n.ImportPath == "C" { @@ -213,15 +218,16 @@ func downloadPackages(nodes []*doc.Node) { // downloadPackage downloads package either use version control tools or not. func downloadPackage(nod *doc.Node) (*doc.Node, []string) { - com.ColorLog("[TRAC] Downloading package( %s => %s:%s )\n", - nod.ImportPath, nod.Type, doc.CheckNodeValue(nod.Value)) + log.Message("Downloading", fmt.Sprintf("package: %s@%s:%s", + nod.ImportPath, nod.Type, doc.CheckNodeValue(nod.Value))) // Mark as donwloaded. downloadCache[nod.ImportPath] = true imports, err := doc.PureDownload(nod, installRepoPath, nil) //CmdGet.Flags) if err != nil { - com.ColorLog("[ERRO] Download falied( %s )[ %s ]\n", nod.ImportPath, err) + log.Error("Get", "Fail to download pakage: "+nod.ImportPath) + log.Fatal("", err.Error()) failConut++ os.RemoveAll(installRepoPath + "/" + doc.GetProjectPath(nod.ImportPath) + "/") return nil, nil @@ -231,12 +237,10 @@ func downloadPackage(nod *doc.Node) (*doc.Node, []string) { // validPath checks if the information of the package is valid. func validPath(info string) (string, string, error) { - infos := strings.Split(info, ":") + infos := strings.SplitN(info, ":", 2) l := len(infos) switch { - case l > 2: - return "", "", errors.New("Invalid information of package") case l == 1: return doc.BRANCH, "", nil case l == 2: @@ -246,6 +250,6 @@ func validPath(info string) (string, string, error) { } return infos[0], infos[1], nil default: - return "", "", errors.New("Cannot match any case") + return "", "", errors.New("Invalid version information") } } diff --git a/cmd/gopath.go b/cmd/gopath.go index ff93bb1b3..b85a640f5 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -3,51 +3,51 @@ package cmd import ( "github.com/Unknwon/com" "github.com/gpmgo/gopm/doc" - "go/build" + //"go/build" "os" "os/exec" "path/filepath" - "strings" + //"strings" ) func getGopmPkgs(path string, inludeSys bool) (map[string]*doc.Pkg, error) { - abs, err := filepath.Abs(filepath.Join(path, doc.GopmFileName)) - if err != nil { - return nil, err - } - - // load import path - gf := doc.NewGopmfile() - var builds *doc.Section - if com.IsExist(abs) { - err := gf.Load(abs) - if err != nil { - return nil, err - } - var ok bool - if builds, ok = gf.Sections["build"]; !ok { - builds = nil - } - } - - pkg, err := build.ImportDir(path, build.AllowBinary) - if err != nil { - return map[string]*doc.Pkg{}, err - } - - pkgs := make(map[string]*doc.Pkg) - for _, name := range pkg.Imports { - if inludeSys || !isStdPkg(name) { - if builds != nil { - if dep, ok := builds.Deps[name]; ok { - pkgs[name] = dep.Pkg - continue - } - } - pkgs[name] = doc.NewDefaultPkg(name) - } - } - return pkgs, nil + // abs, err := filepath.Abs(filepath.Join(path, doc.GopmFileName)) + // if err != nil { + // return nil, err + // } + + // // load import path + // gf := doc.NewGopmfile() + // var builds *doc.Section + // if com.IsExist(abs) { + // err := gf.Load(abs) + // if err != nil { + // return nil, err + // } + // var ok bool + // if builds, ok = gf.Sections["build"]; !ok { + // builds = nil + // } + // } + + // pkg, err := build.ImportDir(path, build.AllowBinary) + // if err != nil { + // return map[string]*doc.Pkg{}, err + // } + + // pkgs := make(map[string]*doc.Pkg) + // for _, name := range pkg.Imports { + // if inludeSys || !isStdPkg(name) { + // if builds != nil { + // if dep, ok := builds.Deps[name]; ok { + // pkgs[name] = dep.Pkg + // continue + // } + // } + // pkgs[name] = doc.NewDefaultPkg(name) + // } + // } + return nil, nil //pkgs, nil } func pkgInCache(name string, cachePkgs map[string]*doc.Pkg) bool { @@ -63,41 +63,41 @@ func autoLink(oldPath, newPath string) error { } func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) error { - pkgs, err := getGopmPkgs(cpath, false) - if err != nil { - return err - } - for name, pkg := range pkgs { - if !pkgInCache(name, cachePkgs) { - var newPath string - if !build.IsLocalImport(name) { - newPath = filepath.Join(installRepoPath, pkg.ImportPath) - if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { - newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]) - } else { - if !com.IsExist(newPath) { - var t, ver string = doc.BRANCH, "" - node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) - nodes := []*doc.Node{node} - downloadPackages(nodes) - // should handler download failed - } - } - } else { - newPath, err = filepath.Abs(name) - if err != nil { - return err - } - } - err = getChildPkgs(newPath, pkg, cachePkgs) - if err != nil { - return err - } - } - } - if ppkg != nil && !build.IsLocalImport(ppkg.ImportPath) { - cachePkgs[ppkg.ImportPath] = ppkg - } + // pkgs, err := getGopmPkgs(cpath, false) + // if err != nil { + // return err + // } + // for name, pkg := range pkgs { + // if !pkgInCache(name, cachePkgs) { + // var newPath string + // if !build.IsLocalImport(name) { + // newPath = filepath.Join(installRepoPath, pkg.ImportPath) + // if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { + // newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]) + // } else { + // if !com.IsExist(newPath) { + // var t, ver string = doc.BRANCH, "" + // node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) + // nodes := []*doc.Node{node} + // downloadPackages(nodes) + // // should handler download failed + // } + // } + // } else { + // newPath, err = filepath.Abs(name) + // if err != nil { + // return err + // } + // } + // err = getChildPkgs(newPath, pkg, cachePkgs) + // if err != nil { + // return err + // } + // } + // } + // if ppkg != nil && !build.IsLocalImport(ppkg.ImportPath) { + // cachePkgs[ppkg.ImportPath] = ppkg + // } return nil } @@ -150,89 +150,89 @@ func execCmd(gopath, curPath string, args ...string) error { } func genNewGoPath() { - var err error - curPath, err = os.Getwd() - if err != nil { - com.ColorLog("[ERRO] %v\n", err) - return - } - - hd, err := com.HomeDir() - if err != nil { - com.ColorLog("[ERRO] Fail to get current user[ %s ]\n", err) - return - } - - gf := doc.NewGopmfile() - gpmPath := filepath.Join(curPath, doc.GopmFileName) - if com.IsExist(gpmPath) { - com.ColorLog("[INFO] loading .gopmfile ...\n") - err := gf.Load(gpmPath) - if err != nil { - com.ColorLog("[ERRO] load .gopmfile failed: %v\n", err) - return - } - } - - installRepoPath = strings.Replace(reposDir, "~", hd, -1) - - cachePkgs := make(map[string]*doc.Pkg) - if target, ok := gf.Sections["target"]; ok { - pkgName = target.Props["path"] - com.ColorLog("[INFO] target name is %v\n", pkgName) - } - - if pkgName == "" { - _, pkgName = filepath.Split(curPath) - } - - err = getChildPkgs(curPath, nil, cachePkgs) - if err != nil { - com.ColorLog("[ERRO] %v\n", err) - return - } - - newGoPath = filepath.Join(curPath, "vendor") - newGoPathSrc := filepath.Join(newGoPath, "src") - os.RemoveAll(newGoPathSrc) - os.MkdirAll(newGoPathSrc, os.ModePerm) - - for name, _ := range cachePkgs { - oldPath := filepath.Join(installRepoPath, name) - newPath := filepath.Join(newGoPathSrc, name) - paths := strings.Split(name, "/") - var isExistP bool - var isCurChild bool - for i := 0; i < len(paths)-1; i++ { - pName := strings.Join(paths[:len(paths)-1-i], "/") - if _, ok := cachePkgs[pName]; ok { - isExistP = true - break - } - if pkgName == pName { - isCurChild = true - break - } - } - if isCurChild { - continue - } - - if !isExistP { - com.ColorLog("[INFO] linked %v\n", name) - err = autoLink(oldPath, newPath) - if err != nil { - com.ColorLog("[ERRO] make link error %v\n", err) - return - } - } - } - - newCurPath = filepath.Join(newGoPathSrc, pkgName) - com.ColorLog("[INFO] linked %v\n", pkgName) - err = autoLink(curPath, newCurPath) - if err != nil { - com.ColorLog("[ERRO] make link error %v\n", err) - return - } + // var err error + // curPath, err = os.Getwd() + // if err != nil { + // com.ColorLog("[ERRO] %v\n", err) + // return + // } + + // hd, err := com.HomeDir() + // if err != nil { + // com.ColorLog("[ERRO] Fail to get current user[ %s ]\n", err) + // return + // } + + // gf := doc.NewGopmfile() + // gpmPath := filepath.Join(curPath, doc.GopmFileName) + // if com.IsExist(gpmPath) { + // com.ColorLog("[INFO] loading .gopmfile ...\n") + // err := gf.Load(gpmPath) + // if err != nil { + // com.ColorLog("[ERRO] load .gopmfile failed: %v\n", err) + // return + // } + // } + + // installRepoPath = strings.Replace(reposDir, "~", hd, -1) + + // cachePkgs := make(map[string]*doc.Pkg) + // if target, ok := gf.Sections["target"]; ok { + // pkgName = target.Props["path"] + // com.ColorLog("[INFO] target name is %v\n", pkgName) + // } + + // if pkgName == "" { + // _, pkgName = filepath.Split(curPath) + // } + + // err = getChildPkgs(curPath, nil, cachePkgs) + // if err != nil { + // com.ColorLog("[ERRO] %v\n", err) + // return + // } + + // newGoPath = filepath.Join(curPath, "vendor") + // newGoPathSrc := filepath.Join(newGoPath, "src") + // os.RemoveAll(newGoPathSrc) + // os.MkdirAll(newGoPathSrc, os.ModePerm) + + // for name, _ := range cachePkgs { + // oldPath := filepath.Join(installRepoPath, name) + // newPath := filepath.Join(newGoPathSrc, name) + // paths := strings.Split(name, "/") + // var isExistP bool + // var isCurChild bool + // for i := 0; i < len(paths)-1; i++ { + // pName := strings.Join(paths[:len(paths)-1-i], "/") + // if _, ok := cachePkgs[pName]; ok { + // isExistP = true + // break + // } + // if pkgName == pName { + // isCurChild = true + // break + // } + // } + // if isCurChild { + // continue + // } + + // if !isExistP { + // com.ColorLog("[INFO] linked %v\n", name) + // err = autoLink(oldPath, newPath) + // if err != nil { + // com.ColorLog("[ERRO] make link error %v\n", err) + // return + // } + // } + // } + + // newCurPath = filepath.Join(newGoPathSrc, pkgName) + // com.ColorLog("[INFO] linked %v\n", pkgName) + // err = autoLink(curPath, newCurPath) + // if err != nil { + // com.ColorLog("[ERRO] make link error %v\n", err) + // return + // } } diff --git a/cmd/search.go b/cmd/search.go index c24ba43ae..17f8ad405 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -52,12 +52,6 @@ func printSearchPrompt(flag string) { // search packages func runSearch(cmd *Command, args []string) { - // Check flags. - num := checkFlags(cmd.Flags, args, printSearchPrompt) - if num == -1 { - return - } - args = args[num:] // Check length of arguments. if len(args) < 1 { diff --git a/doc/doc b/doc/doc deleted file mode 120000 index 9be75f6a1..000000000 --- a/doc/doc +++ /dev/null @@ -1 +0,0 @@ -/Users/lunny/go/src/github.com/gpmgo/gopm/doc \ No newline at end of file diff --git a/doc/gopmfile.go b/doc/gopmfile.go index 781149fef..d947796c0 100644 --- a/doc/gopmfile.go +++ b/doc/gopmfile.go @@ -1,105 +1,40 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + package doc import ( - "bufio" - "os" - "strings" -) - -const ( - Greater = ">" - GreaterOrEq = ">=" - Equeal = "=" - Lesser = "<" - LesserOrEq = "<=" -) + "github.com/Unknwon/goconfig" -var ( - Ops = []string{GreaterOrEq, LesserOrEq, Greater, Equeal, Lesser} + "github.com/gpmgo/gopm/log" ) const ( GopmFileName = ".gopmfile" ) -type Depend struct { - Pkg *Pkg - Op string - Ver string -} - -type Section struct { - Name string - Deps map[string]*Depend - Props map[string]string -} - -func NewSection() *Section { - return &Section{Deps: make(map[string]*Depend), - Props: make(map[string]string), - } -} - -type Gopmfile struct { - Sections map[string]*Section -} - -func NewGopmfile() *Gopmfile { - return &Gopmfile{Sections: make(map[string]*Section)} -} - -func (this *Gopmfile) Load(path string) error { - f, err := os.Open(path) +func NewGopmfile(dirPath string) *goconfig.ConfigFile { + gf, err := goconfig.LoadConfigFile(dirPath + "/" + GopmFileName) if err != nil { - return err + log.Error("", "Fail to load gopmfile") + log.Fatal("", err.Error()) } - - scanner := bufio.NewScanner(f) - var sec *Section - for scanner.Scan() { - text := strings.TrimSpace(scanner.Text()) - if strings.HasPrefix(text, "[") && strings.HasSuffix(text, "]") { - sec = NewSection() - sec.Name = text[1 : len(text)-1] - this.Sections[sec.Name] = sec - } else { - if sec == nil { - continue - } - if sec.Name == "target" { - ss := strings.Split(text, "=") - if len(ss) == 1 { - sec.Props[strings.TrimSpace(ss[0])] = strings.TrimSpace(ss[0]) - } else if len(ss) == 2 { - sec.Props[strings.TrimSpace(ss[0])] = strings.TrimSpace(ss[1]) - } - } else { - var dep *Depend - for _, op := range Ops { - if strings.Contains(text, op) { - ss := strings.Split(text, op) - pkver := strings.Split(ss[1], ":") - var tp, value string - tp = pkver[0] - if len(pkver) == 2 { - value = pkver[1] - } - dep = &Depend{NewPkg(ss[0], tp, value), ss[1], value} - break - } - } - - if dep == nil { - dep = &Depend{NewDefaultPkg(text), Equeal, ""} - } - sec.Deps[dep.Pkg.ImportPath] = dep - } - } - } - - return nil + return gf } -func (this *Gopmfile) Save(path string) error { - return nil +var PackageNameList map[string]string + +func init() { + PackageNameList = make(map[string]string) } diff --git a/doc/utils.go b/doc/utils.go index b21cd54a9..9af8cfcbb 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -21,33 +21,96 @@ import ( "strings" "github.com/Unknwon/com" -) -// GetGOPATH returns best matched GOPATH. -func GetBestMatchGOPATH(appPath string) string { - paths := com.GetGOPATHs() - for _, p := range paths { - if strings.HasPrefix(p, appPath) { - return strings.Replace(p, "\\", "/", -1) - } - } - return paths[0] -} + "github.com/gpmgo/gopm/log" +) // GetDirsInfo returns os.FileInfo of all sub-directories in root path. -func GetDirsInfo(rootPath string) ([]os.FileInfo, error) { +func GetDirsInfo(rootPath string) []os.FileInfo { rootDir, err := os.Open(rootPath) if err != nil { - return nil, err + log.Error("", "Fail to open directory") + log.Fatal("", err.Error()) } defer rootDir.Close() dirs, err := rootDir.Readdir(0) if err != nil { - return nil, err + log.Error("", "Fail to read directory") + log.Fatal("", err.Error()) } - return dirs, err + return dirs +} + +// GetImports returns package denpendencies. +func GetImports(absPath, importPath string, example bool) (imports []string) { + fis := GetDirsInfo(absPath) + absPath += "/" + + dirs := make([]string, 0) + files := make([]*source, 0, 10) + for _, fi := range fis { + if fi.IsDir() { + dirs = append(dirs, absPath+fi.Name()) + continue + } + + if strings.HasSuffix(fi.Name(), ".go") { + data, err := com.ReadFile(absPath + fi.Name()) + if err != nil { + log.Error("", "Fail to read file") + log.Fatal("", err.Error()) + } + + files = append(files, &source{ + name: fi.Name(), + data: data, + }) + } + } + + var err error + if len(files) > 0 { + w := &walker{ImportPath: importPath} + imports, err = w.build(files, nil) + if err != nil { + log.Error("", "Fail to get imports") + log.Fatal("", err.Error()) + } + } + + if len(dirs) > 0 { + imports = append(imports, GetAllImports(dirs, importPath, example)...) + } + return imports +} + +func isVcsPath(dirPath string) bool { + return strings.Contains(dirPath, "/.git") || + strings.Contains(dirPath, "/.hg") || + strings.Contains(dirPath, "/.svn") +} + +func GetAllImports(dirs []string, importPath string, example bool) (imports []string) { + for _, d := range dirs { + if !isVcsPath(d) && + !(!example && strings.Contains(d, "example")) { + imports = append(imports, GetImports(d, importPath, example)...) + } + } + return imports +} + +// GetGOPATH returns best matched GOPATH. +func GetBestMatchGOPATH(appPath string) string { + paths := com.GetGOPATHs() + for _, p := range paths { + if strings.HasPrefix(p, appPath) { + return strings.Replace(p, "\\", "/", -1) + } + } + return paths[0] } // CheckIsExistWithVCS returns false if directory only has VCS folder, @@ -59,11 +122,7 @@ func CheckIsExistWithVCS(path string) bool { } // Check if only has VCS folder. - dirs, err := GetDirsInfo(path) - if err != nil { - com.ColorLog("[ERRO] CheckIsExistWithVCS -> [ %s ]\n", err) - return false - } + dirs := GetDirsInfo(path) if len(dirs) > 1 { return true @@ -478,7 +537,6 @@ var standardPath = map[string]bool{ "cmd/cgo": true, "cmd/fix": true, "cmd/go": true, - "cmd/godoc": true, "cmd/gofmt": true, "cmd/vet": true, "cmd/yacc": true, @@ -594,6 +652,7 @@ var standardPath = map[string]bool{ "runtime/cgo": true, "runtime/debug": true, "runtime/pprof": true, + "runtime/race": true, "sort": true, "strconv": true, "strings": true, diff --git a/doc/vcs.go b/doc/vcs.go index 51885bb52..a7ab3288a 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -243,10 +243,7 @@ metaScan: } func getImports(rootPath string, match map[string]string, cmdFlags map[string]bool, nod *Node) (imports []string) { - dirs, err := GetDirsInfo(rootPath) - if err != nil { - return nil - } + dirs := GetDirsInfo(rootPath) for _, d := range dirs { if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { diff --git a/doc/walker.go b/doc/walker.go index 95ecb5aa9..11e740b4a 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -153,10 +153,14 @@ func (w *walker) build(srcs []*source, nod *Node) ([]string, error) { } pdoc := doc.New(apkg, w.ImportPath, mode) - nod.Synopsis = Synopsis(pdoc.Doc) - if i := strings.Index(nod.Synopsis, "\n"); i > -1 { - nod.Synopsis = nod.Synopsis[:i] + + if nod != nil { + nod.Synopsis = Synopsis(pdoc.Doc) + if i := strings.Index(nod.Synopsis, "\n"); i > -1 { + nod.Synopsis = nod.Synopsis[:i] + } } + return imports, err } diff --git a/log/log_nonwindows.go b/log/log_nonwindows.go index 1c913a218..f32490655 100644 --- a/log/log_nonwindows.go +++ b/log/log_nonwindows.go @@ -23,9 +23,9 @@ import ( func Error(hl, msg string) { if len(hl) > 0 { - hl = brush.Red(hl).String() + hl = " " + brush.Red(hl).String() } - fmt.Printf("gopm %s %s %s\n", brush.Red("ERR!"), hl, msg) + fmt.Printf("gopm %s%s %s\n", brush.Red("ERR!"), hl, msg) } func Fatal(hl, msg string) { @@ -37,3 +37,22 @@ func Log(format string, args ...interface{}) { fmt.Printf("gopm %s %s\n", brush.White("INFO"), fmt.Sprintf(format, args...)) } + +func Trace(format string, args ...interface{}) { + fmt.Printf("gopm %s %s\n", brush.Blue("TRAC"), + fmt.Sprintf(format, args...)) +} + +func Success(title, hl, msg string) { + if len(hl) > 0 { + hl = " " + brush.Green(hl).String() + } + fmt.Printf("gopm %s%s %s\n", brush.Green(title), hl, msg) +} + +func Message(hl, msg string) { + if len(hl) > 0 { + hl = " " + brush.Yellow(hl).String() + } + fmt.Printf("gopm %s%s %s\n", brush.Yellow("MSG!"), hl, msg) +} diff --git a/log/log_windows.go b/log/log_windows.go new file mode 100644 index 000000000..0c180263b --- /dev/null +++ b/log/log_windows.go @@ -0,0 +1,56 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package log + +import ( + "fmt" + "os" +) + +func Error(hl, msg string) { + if len(hl) > 0 { + hl = " " + hl + } + fmt.Printf("gopm ERR!%s %s\n", hl, msg) +} + +func Fatal(hl, msg string) { + Error(hl, msg) + os.Exit(2) +} + +func Log(format string, args ...interface{}) { + fmt.Printf("gopm INFO %s\n", + fmt.Sprintf(format, args...)) +} + +func Trace(format string, args ...interface{}) { + fmt.Printf("gopm TRAC %s\n", + fmt.Sprintf(format, args...)) +} + +func Success(title, hl, msg string) { + if len(hl) > 0 { + hl = " " + hl + } + fmt.Printf("gopm %s%s %s\n", title, hl, msg) +} + +func Message(hl, msg string) { + if len(hl) > 0 { + hl = " " + hl + } + fmt.Printf("gopm MSG!%s %s\n", hl, msg) +} From 1c63ab09796426d04b37f64d2423e1b4b258c044 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 9 Nov 2013 16:47:39 -0500 Subject: [PATCH 174/287] Done get and gen --- .gopmfile | 7 +++- README.md | 53 +++++++----------------- cmd/cmd.go | 3 +- cmd/gen.go | 104 +++++++++++++++++------------------------------- cmd/get.go | 63 ++++++++++++++++++++++++----- doc/conf.go | 93 +++++++++++++++++++++++++++++++++++++++++++ doc/gopmfile.go | 40 ------------------- doc/utils.go | 38 +++++++----------- gopm.go | 5 +-- 9 files changed, 221 insertions(+), 185 deletions(-) create mode 100644 doc/conf.go delete mode 100644 doc/gopmfile.go diff --git a/.gopmfile b/.gopmfile index 2cedaa233..086c3463a 100644 --- a/.gopmfile +++ b/.gopmfile @@ -1,4 +1,9 @@ [target] -path = github.com/gpmgo/gopm +path=github.com/gpmgo/gopm [deps] +github.com/codegangsta/cli= +github.com/Unknwon/com= +github.com/Unknwon/goconfig= +github.com/aybabtme/color= + diff --git a/README.md b/README.md index 307eac08b..9abcafd48 100644 --- a/README.md +++ b/README.md @@ -30,51 +30,26 @@ The executable will be produced under `$GOPATH/bin` in your file system; for glo - When build program with `gopm build` or `gopm install`, everything just happen in its own GOPATH and do not bother anything you've done. * Put your Go project on anywhere you want. -# Quick start +# Commands -1. Show the command help - -``` -gopm help ``` +NAME: + gopm - Go Package Manager -2. Show gopm version - -``` -gopm version -``` +USAGE: + gopm [global options] command [command options] [arguments...] -3. Get a package +VERSION: + 0.5.2.1109 -``` -gopm get github.com/gpmgo/gopm -``` - -4. Search a package - -``` -gopm search gopm -``` +COMMANDS: + get fetch remote package(s) and dependencies to local repository + gen generate a gopmfile according current go project + help, h Shows a list of commands or help for one command -5. Build a project, the build's arguments are the same as go build. But it will check all the dependencies and dowload them. - -``` - -gopm build -``` - -6. Run a go file - -``` - -gopm run main.go -``` - -7. Install - -``` - -gopm install +GLOBAL OPTIONS: + --version print the version + --help, -h show help ``` diff --git a/cmd/cmd.go b/cmd/cmd.go index 19c96bb59..7bccbbb60 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -21,8 +21,7 @@ import ( ) var ( - AppPath string - reposDir string = "~/.gopm/repos" + AppPath string ) // A Command is an implementation of a go command diff --git a/cmd/gen.go b/cmd/gen.go index c7673a1c0..7d727f094 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -15,93 +15,63 @@ package cmd import ( - "github.com/Unknwon/com" - "go/build" "os" - "path" - "runtime" - "strings" -) - -var CmdGen = &Command{ - UsageLine: "gen [.gopmfile]", - Short: "generate a gopmfile according current go project", - Long: ` -generate a gopmfile according current go project -`, -} -func init() { - CmdGen.Run = runGen - CmdGen.Flags = map[string]bool{} -} + "github.com/Unknwon/com" + "github.com/Unknwon/goconfig" + "github.com/codegangsta/cli" -func printGenPrompt(flag string) { -} + "github.com/gpmgo/gopm/doc" + "github.com/gpmgo/gopm/log" +) -func isStdPkg(pkgName string) bool { - return com.IsExist(path.Join(path.Join(runtime.GOROOT(), "src/pkg"), pkgName)) -} +var CmdGen = cli.Command{ + Name: "gen", + Usage: "generate a gopmfile according current go project", + Description: `Command gen gets dependencies and generates a gopmfile -func getPkgs(path string, inludeSys bool) ([]string, error) { - pkg, err := build.ImportDir(path, build.AllowBinary) - if err != nil { - return []string{}, err - } +gopm gen - if inludeSys { - return pkg.Imports, nil - } else { - pkgs := make([]string, 0) - for _, name := range pkg.Imports { - if !isStdPkg(name) { - pkgs = append(pkgs, name) - } - } - return pkgs, nil - } +Make sure you run this command in the root path of a go project.`, + Action: runGen, + Flags: []cli.Flag{ + cli.BoolFlag{"example", "download dependencies for example(s)"}, + }, } // scan a directory and gen a gopm file -func runGen(cmd *Command, args []string) { +func runGen(ctx *cli.Context) { + if !com.IsExist(".gopmfile") { + os.Create(".gopmfile") + } - var gopmFile string = ".gopmfile" - if len(args) > 0 { - gopmFile = args[0] + gf, err := goconfig.LoadConfigFile(".gopmfile") + if err != nil { + log.Error("Gen", "Fail to load gopmfile") + log.Fatal("", err.Error()) } curPath, err := os.Getwd() if err != nil { - com.ColorLog("[ERRO] %v.\n", err) - return + log.Error("Gen", "Fail to get work directory") + log.Fatal("", err.Error()) } - gopmPath := path.Join(curPath, gopmFile) - - if com.IsExist(gopmPath) { - com.ColorLog("[WARN] %v already existed.\n", gopmFile) - return - } + // Get dependencies. + imports := doc.GetAllImports([]string{curPath}, + gf.MustValue("target", "path"), ctx.Bool("example")) - // search the project and gen gopmfile - pkgs, err := getPkgs(curPath, false) - if err != nil { - com.ColorLog("[ERRO] %v.\n", err) - return + for _, p := range imports { + if _, err := gf.GetValue("deps", doc.GetProjectPath(p)); err != nil { + gf.SetValue("deps", doc.GetProjectPath(p), " ") + } } - f, err := os.OpenFile(gopmPath, os.O_RDWR|os.O_CREATE, 0700) + err = goconfig.SaveConfigFile(gf, ".gopmfile") if err != nil { - com.ColorLog("[ERRO] %v.\n", err) - return + log.Error("Gen", "Fail to save gopmfile") + log.Fatal("", err.Error()) } - defer f.Close() - contents := "[build]\n" + strings.Join(pkgs, "\n") - _, err = f.WriteString(contents) - if err != nil { - com.ColorLog("[ERRO] %v.\n", err) - return - } - com.ColorLog("[INFO] %v generated successfully.\n", gopmFile) + log.Success("SUCC", "Gen", "Generate gopmfile successful!") } diff --git a/cmd/get.go b/cmd/get.go index 4912b3594..8436c7cab 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -22,6 +22,7 @@ import ( "strings" "github.com/Unknwon/com" + "github.com/Unknwon/goconfig" "github.com/codegangsta/cli" "github.com/gpmgo/gopm/doc" @@ -66,7 +67,10 @@ func runGet(ctx *cli.Context) { log.Fatal("", err.Error()) } - installRepoPath = strings.Replace(reposDir, "~", hd, -1) + doc.HomeDir = strings.Replace(doc.HomeDir, "~", hd, -1) + doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") + + installRepoPath = doc.HomeDir + "/repos" log.Log("Local repository path: %s", installRepoPath) // Check number of arguments. @@ -102,7 +106,7 @@ func getByGopmfile(ctx *cli.Context) { node := doc.NewNode(p, p, doc.BRANCH, "", true) // Check if user specified the version. - if v, err := gf.GetValue("deps", p); err == nil { + if v, err := gf.GetValue("deps", p); err == nil && len(v) > 0 { tp, ver, err := validPath(v) if err != nil { log.Error("", "Fail to parse version") @@ -116,6 +120,13 @@ func getByGopmfile(ctx *cli.Context) { downloadPackages(ctx, nodes) + if doc.LocalNodes != nil { + if err := goconfig.SaveConfigFile(doc.LocalNodes, + doc.HomeDir+doc.LocalNodesFile); err != nil { + log.Error("Get", "Fail to save localnodes.list") + } + } + log.Log("%d package(s) downloaded, %d failed", downloadCount, failConut) } @@ -151,6 +162,13 @@ func getByPath(ctx *cli.Context) { downloadPackages(ctx, nodes) + if doc.LocalNodes != nil { + if err := goconfig.SaveConfigFile(doc.LocalNodes, + doc.HomeDir+doc.LocalNodesFile); err != nil { + log.Error("Get", "Fail to save localnodes.list") + } + } + log.Log("%d package(s) downloaded, %d failed", downloadCount, failConut) } @@ -163,12 +181,13 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { for _, n := range nodes { // Check if it is a valid remote path. if doc.IsValidRemotePath(n.ImportPath) { + installPath := installRepoPath + "/" + doc.GetProjectPath(n.ImportPath) + if len(n.Value) > 0 { + installPath += "." + n.Value + } + if !ctx.Bool("force") { // Check if package has been downloaded. - installPath := installRepoPath + "/" + doc.GetProjectPath(n.ImportPath) - if len(n.Value) > 0 { - installPath += "." + n.Value - } if com.IsExist(installPath) { log.Trace("Skipped installed package: %s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) @@ -180,13 +199,37 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { // Download package. nod, imports := downloadPackage(n) if len(imports) > 0 { - // TODO: 检查是否有 gopmfile + var gf *goconfig.ConfigFile + + // Check if has gopmfile + if com.IsFile(installPath + "/.gopmfile") { + log.Log("Found gopmgile: %s@%s:%s", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) + + gf = doc.NewGopmfile(installPath + "/.gopmfile") + } // Need to download dependencies. // Generate temporary nodes. nodes := make([]*doc.Node, len(imports)) for i := range nodes { nodes[i] = doc.NewNode(imports[i], imports[i], doc.BRANCH, "", true) + + if gf == nil { + continue + } + + // Check if user specified the version. + if v, err := gf.GetValue("deps", imports[i]); err == nil && + len(v) > 0 { + tp, ver, err := validPath(v) + if err != nil { + log.Error("Download", "Fail to parse version") + log.Fatal("", err.Error()) + } + nodes[i].Type = tp + nodes[i].Value = ver + } } downloadPackages(ctx, nodes) } @@ -198,8 +241,10 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { n.ImportPath, n.Type, doc.CheckNodeValue(n.Value))) downloadCount++ - // TODO: 保存包信息 - //saveNode(nod) + // Only save non-commit node. + if len(nod.Value) == 0 { + doc.SaveNode(nod) + } } } else { log.Trace("Skipped downloaded package: %s@%s:%s", diff --git a/doc/conf.go b/doc/conf.go new file mode 100644 index 000000000..bed33cdf0 --- /dev/null +++ b/doc/conf.go @@ -0,0 +1,93 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "os" + "strings" + + "github.com/Unknwon/com" + "github.com/Unknwon/goconfig" + + "github.com/gpmgo/gopm/log" +) + +const ( + GopmFileName = ".gopmfile" +) + +var ( + HomeDir = "~/.gopm" + LocalNodesFile = "/data/localnodes.list" + LocalNodes *goconfig.ConfigFile +) + +func NewGopmfile(dirPath string) *goconfig.ConfigFile { + gf, err := goconfig.LoadConfigFile(dirPath + "/" + GopmFileName) + if err != nil { + log.Error("", "Fail to load gopmfile") + log.Fatal("", err.Error()) + } + return gf +} + +var PackageNameList map[string]string + +func LoadPkgNameList(filePath string) { + PackageNameList = make(map[string]string) + + // If file does not exist, simply ignore. + if !com.IsFile(filePath) { + return + } + + data, err := com.ReadFile(filePath) + if err != nil { + log.Error("Package name list", "Fail to read file") + log.Fatal("", err.Error()) + } + + pkgs := strings.Split(string(data), "\n") + for _, line := range pkgs { + infos := strings.Split(line, "=") + if len(infos) != 2 { + log.Error("", "Fail to parse package name: "+line) + log.Fatal("", "Invalid package name information") + } + PackageNameList[strings.TrimSpace(infos[0])] = + strings.TrimSpace(infos[1]) + } +} + +func SaveNode(nod *Node) { + if LocalNodes == nil { + if !com.IsDir(HomeDir + "/data") { + os.Mkdir(HomeDir+"/data", os.ModePerm) + } + + if !com.IsFile(HomeDir + LocalNodesFile) { + os.Create(HomeDir + LocalNodesFile) + } + + var err error + LocalNodes, err = goconfig.LoadConfigFile(HomeDir + LocalNodesFile) + if err != nil { + log.Error("Save node", "Fail to load localnodes.list") + log.Fatal("", err.Error()) + } + } + + LocalNodes.SetValue(nod.ImportPath, "value", nod.Value) +} diff --git a/doc/gopmfile.go b/doc/gopmfile.go deleted file mode 100644 index d947796c0..000000000 --- a/doc/gopmfile.go +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2013 gopm authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"): you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations -// under the License. - -package doc - -import ( - "github.com/Unknwon/goconfig" - - "github.com/gpmgo/gopm/log" -) - -const ( - GopmFileName = ".gopmfile" -) - -func NewGopmfile(dirPath string) *goconfig.ConfigFile { - gf, err := goconfig.LoadConfigFile(dirPath + "/" + GopmFileName) - if err != nil { - log.Error("", "Fail to load gopmfile") - log.Fatal("", err.Error()) - } - return gf -} - -var PackageNameList map[string]string - -func init() { - PackageNameList = make(map[string]string) -} diff --git a/doc/utils.go b/doc/utils.go index 9af8cfcbb..b0daae599 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -15,6 +15,7 @@ package doc import ( + "go/build" "os" "path" "regexp" @@ -44,42 +45,31 @@ func GetDirsInfo(rootPath string) []os.FileInfo { } // GetImports returns package denpendencies. -func GetImports(absPath, importPath string, example bool) (imports []string) { +func GetImports(absPath, importPath string, example bool) []string { + pkg, err := build.ImportDir(absPath, build.AllowBinary) + if err != nil { + if _, ok := err.(*build.NoGoError); !ok { + log.Error("", "Fail to get imports") + log.Fatal("", err.Error()) + } + } + fis := GetDirsInfo(absPath) absPath += "/" dirs := make([]string, 0) - files := make([]*source, 0, 10) for _, fi := range fis { if fi.IsDir() { dirs = append(dirs, absPath+fi.Name()) - continue - } - - if strings.HasSuffix(fi.Name(), ".go") { - data, err := com.ReadFile(absPath + fi.Name()) - if err != nil { - log.Error("", "Fail to read file") - log.Fatal("", err.Error()) - } - - files = append(files, &source{ - name: fi.Name(), - data: data, - }) } } - var err error - if len(files) > 0 { - w := &walker{ImportPath: importPath} - imports, err = w.build(files, nil) - if err != nil { - log.Error("", "Fail to get imports") - log.Fatal("", err.Error()) + imports := make([]string, 0, len(pkg.Imports)) + for _, p := range pkg.Imports { + if !IsGoRepoPath(p) && !strings.HasPrefix(p, importPath) { + imports = append(imports, p) } } - if len(dirs) > 0 { imports = append(imports, GetAllImports(dirs, importPath, example)...) } diff --git a/gopm.go b/gopm.go index b6165ca6f..e9de6bddb 100644 --- a/gopm.go +++ b/gopm.go @@ -19,7 +19,6 @@ import ( "os" "runtime" - //"github.com/Unknwon/com" "github.com/codegangsta/cli" "github.com/gpmgo/gopm/cmd" @@ -30,10 +29,9 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.1.1108" +const APP_VER = "0.5.3.1109" // //cmd.CmdSearch, -// cmd.CmdGen, // cmd.CmdRun, // cmd.CmdBuild, // cmd.CmdInstall, @@ -59,6 +57,7 @@ func main() { app.Version = APP_VER app.Commands = []cli.Command{ cmd.CmdGet, + cmd.CmdGen, } app.Run(os.Args) } From 3d949cb336c7567eec15ce1fc5666df25b14afa9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 10 Nov 2013 23:39:13 -0500 Subject: [PATCH 175/287] Done run command --- cmd/build.go | 2 +- cmd/gen.go | 2 +- cmd/get.go | 12 +- cmd/gopath.go | 325 ++++++++++++++++++++++++------------------------- cmd/install.go | 2 +- cmd/run.go | 52 ++++---- doc/conf.go | 1 + gopm.go | 4 +- 8 files changed, 200 insertions(+), 200 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index 3270197e3..8069f558a 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -35,7 +35,7 @@ func printBuildPrompt(flag string) { } func runBuild(cmd *Command, args []string) { - genNewGoPath() + //genNewGoPath() com.ColorLog("[INFO] building ...\n") diff --git a/cmd/gen.go b/cmd/gen.go index 7d727f094..93710280c 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -73,5 +73,5 @@ func runGen(ctx *cli.Context) { log.Fatal("", err.Error()) } - log.Success("SUCC", "Gen", "Generate gopmfile successful!") + log.Success("SUCC", "Gen", "Generate gopmfile successfully!") } diff --git a/cmd/get.go b/cmd/get.go index 8436c7cab..8d59d8299 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -67,7 +67,7 @@ func runGet(ctx *cli.Context) { log.Fatal("", err.Error()) } - doc.HomeDir = strings.Replace(doc.HomeDir, "~", hd, -1) + doc.HomeDir = strings.Replace(doc.RawHomeDir, "~", hd, -1) doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") installRepoPath = doc.HomeDir + "/repos" @@ -84,14 +84,14 @@ func runGet(ctx *cli.Context) { func getByGopmfile(ctx *cli.Context) { if !com.IsFile(".gopmfile") { - log.Fatal("get", "No argument is supplied and no gopmfile exist") + log.Fatal("Get", "No argument is supplied and no gopmfile exist") } gf := doc.NewGopmfile(".") absPath, err := filepath.Abs(".") if err != nil { - log.Error("", "Fail to get absolute path of work directory") + log.Error("Get", "Fail to get absolute path of work directory") log.Fatal("", err.Error()) } @@ -254,8 +254,8 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { continue } else { // Invalid import path. - com.ColorLog("[WARN] Skipped invalid package path( %s => %s:%s )\n", - n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) + log.Error("", "Skipped invalid package: "+fmt.Sprintf("%s@%s:%s", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value))) failConut++ } } @@ -272,7 +272,7 @@ func downloadPackage(nod *doc.Node) (*doc.Node, []string) { if err != nil { log.Error("Get", "Fail to download pakage: "+nod.ImportPath) - log.Fatal("", err.Error()) + log.Error("", err.Error()) failConut++ os.RemoveAll(installRepoPath + "/" + doc.GetProjectPath(nod.ImportPath) + "/") return nil, nil diff --git a/cmd/gopath.go b/cmd/gopath.go index b85a640f5..ed76c69e2 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -1,53 +1,54 @@ package cmd import ( - "github.com/Unknwon/com" - "github.com/gpmgo/gopm/doc" - //"go/build" + "go/build" "os" "os/exec" "path/filepath" - //"strings" + "strings" + + "github.com/Unknwon/com" + "github.com/codegangsta/cli" + + "github.com/gpmgo/gopm/doc" + "github.com/gpmgo/gopm/log" ) -func getGopmPkgs(path string, inludeSys bool) (map[string]*doc.Pkg, error) { - // abs, err := filepath.Abs(filepath.Join(path, doc.GopmFileName)) - // if err != nil { - // return nil, err - // } - - // // load import path - // gf := doc.NewGopmfile() - // var builds *doc.Section - // if com.IsExist(abs) { - // err := gf.Load(abs) - // if err != nil { - // return nil, err - // } - // var ok bool - // if builds, ok = gf.Sections["build"]; !ok { - // builds = nil - // } - // } - - // pkg, err := build.ImportDir(path, build.AllowBinary) - // if err != nil { - // return map[string]*doc.Pkg{}, err - // } - - // pkgs := make(map[string]*doc.Pkg) - // for _, name := range pkg.Imports { - // if inludeSys || !isStdPkg(name) { - // if builds != nil { - // if dep, ok := builds.Deps[name]; ok { - // pkgs[name] = dep.Pkg - // continue - // } - // } - // pkgs[name] = doc.NewDefaultPkg(name) - // } - // } - return nil, nil //pkgs, nil +func getGopmPkgs(dirPath string) (pkgs map[string]*doc.Pkg, err error) { + absPath, err := filepath.Abs(dirPath) + if err != nil { + log.Error("", "Fail to get absolute path of work directory") + log.Fatal("", err.Error()) + } + + var builds map[string]string + + if com.IsFile(absPath + "/" + doc.GopmFileName) { + gf := doc.NewGopmfile(absPath) + + if builds, err = gf.GetSection("deps"); err != nil { + builds = nil + } + } + + pkg, err := build.ImportDir(dirPath, build.AllowBinary) + if err != nil { + return map[string]*doc.Pkg{}, err + } + + pkgs = make(map[string]*doc.Pkg) + for _, name := range pkg.Imports { + if !doc.IsGoRepoPath(name) { + if builds != nil { + if dep, ok := builds[name]; ok { + pkgs[name] = &doc.Pkg{ImportPath: dep} + continue + } + } + pkgs[name] = doc.NewDefaultPkg(name) + } + } + return pkgs, nil } func pkgInCache(name string, cachePkgs map[string]*doc.Pkg) bool { @@ -62,42 +63,42 @@ func autoLink(oldPath, newPath string) error { return makeLink(oldPath, newPath) } -func getChildPkgs(cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) error { - // pkgs, err := getGopmPkgs(cpath, false) - // if err != nil { - // return err - // } - // for name, pkg := range pkgs { - // if !pkgInCache(name, cachePkgs) { - // var newPath string - // if !build.IsLocalImport(name) { - // newPath = filepath.Join(installRepoPath, pkg.ImportPath) - // if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { - // newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]) - // } else { - // if !com.IsExist(newPath) { - // var t, ver string = doc.BRANCH, "" - // node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) - // nodes := []*doc.Node{node} - // downloadPackages(nodes) - // // should handler download failed - // } - // } - // } else { - // newPath, err = filepath.Abs(name) - // if err != nil { - // return err - // } - // } - // err = getChildPkgs(newPath, pkg, cachePkgs) - // if err != nil { - // return err - // } - // } - // } - // if ppkg != nil && !build.IsLocalImport(ppkg.ImportPath) { - // cachePkgs[ppkg.ImportPath] = ppkg - // } +func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg) error { + pkgs, err := getGopmPkgs(cpath) + if err != nil { + return err + } + for name, pkg := range pkgs { + if !pkgInCache(name, cachePkgs) { + var newPath string + if !build.IsLocalImport(name) { + newPath = filepath.Join(installRepoPath, pkg.ImportPath) + if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { + newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]) + } else { + if !com.IsExist(newPath) { + var t, ver string = doc.BRANCH, "" + node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) + nodes := []*doc.Node{node} + downloadPackages(ctx, nodes) + // should handler download failed + } + } + } else { + newPath, err = filepath.Abs(name) + if err != nil { + return err + } + } + err = getChildPkgs(ctx, newPath, pkg, cachePkgs) + if err != nil { + return err + } + } + } + if ppkg != nil && !build.IsLocalImport(ppkg.ImportPath) { + cachePkgs[ppkg.ImportPath] = ppkg + } return nil } @@ -149,90 +150,86 @@ func execCmd(gopath, curPath string, args ...string) error { return cmd.Run() } -func genNewGoPath() { - // var err error - // curPath, err = os.Getwd() - // if err != nil { - // com.ColorLog("[ERRO] %v\n", err) - // return - // } - - // hd, err := com.HomeDir() - // if err != nil { - // com.ColorLog("[ERRO] Fail to get current user[ %s ]\n", err) - // return - // } - - // gf := doc.NewGopmfile() - // gpmPath := filepath.Join(curPath, doc.GopmFileName) - // if com.IsExist(gpmPath) { - // com.ColorLog("[INFO] loading .gopmfile ...\n") - // err := gf.Load(gpmPath) - // if err != nil { - // com.ColorLog("[ERRO] load .gopmfile failed: %v\n", err) - // return - // } - // } - - // installRepoPath = strings.Replace(reposDir, "~", hd, -1) - - // cachePkgs := make(map[string]*doc.Pkg) - // if target, ok := gf.Sections["target"]; ok { - // pkgName = target.Props["path"] - // com.ColorLog("[INFO] target name is %v\n", pkgName) - // } - - // if pkgName == "" { - // _, pkgName = filepath.Split(curPath) - // } - - // err = getChildPkgs(curPath, nil, cachePkgs) - // if err != nil { - // com.ColorLog("[ERRO] %v\n", err) - // return - // } - - // newGoPath = filepath.Join(curPath, "vendor") - // newGoPathSrc := filepath.Join(newGoPath, "src") - // os.RemoveAll(newGoPathSrc) - // os.MkdirAll(newGoPathSrc, os.ModePerm) - - // for name, _ := range cachePkgs { - // oldPath := filepath.Join(installRepoPath, name) - // newPath := filepath.Join(newGoPathSrc, name) - // paths := strings.Split(name, "/") - // var isExistP bool - // var isCurChild bool - // for i := 0; i < len(paths)-1; i++ { - // pName := strings.Join(paths[:len(paths)-1-i], "/") - // if _, ok := cachePkgs[pName]; ok { - // isExistP = true - // break - // } - // if pkgName == pName { - // isCurChild = true - // break - // } - // } - // if isCurChild { - // continue - // } - - // if !isExistP { - // com.ColorLog("[INFO] linked %v\n", name) - // err = autoLink(oldPath, newPath) - // if err != nil { - // com.ColorLog("[ERRO] make link error %v\n", err) - // return - // } - // } - // } - - // newCurPath = filepath.Join(newGoPathSrc, pkgName) - // com.ColorLog("[INFO] linked %v\n", pkgName) - // err = autoLink(curPath, newCurPath) - // if err != nil { - // com.ColorLog("[ERRO] make link error %v\n", err) - // return - // } +func genNewGoPath(ctx *cli.Context) { + var err error + curPath, err = os.Getwd() + if err != nil { + log.Error("", "Fail to get work directory") + log.Fatal("", err.Error()) + } + + hd, err := com.HomeDir() + if err != nil { + log.Error("", "Fail to get current user") + log.Fatal("", err.Error()) + } + + doc.HomeDir = strings.Replace(doc.RawHomeDir, "~", hd, -1) + installRepoPath = doc.HomeDir + "/repos" + + if com.IsFile(curPath + "/" + doc.GopmFileName) { + log.Trace("Loading gopmfile...") + gf := doc.NewGopmfile(curPath) + + var err error + pkgName, err = gf.GetValue("target", "path") + if err == nil { + log.Log("Target name: %s", pkgName) + } + } + + if len(pkgName) == 0 { + _, pkgName = filepath.Split(curPath) + } + + cachePkgs := make(map[string]*doc.Pkg) + err = getChildPkgs(ctx, curPath, nil, cachePkgs) + if err != nil { + log.Error("", "Fail to get child pakcages") + log.Fatal("", err.Error()) + } + + newGoPath = filepath.Join(curPath, "vendor") + newGoPathSrc := filepath.Join(newGoPath, "src") + os.RemoveAll(newGoPathSrc) + os.MkdirAll(newGoPathSrc, os.ModePerm) + + for name, _ := range cachePkgs { + oldPath := filepath.Join(installRepoPath, name) + newPath := filepath.Join(newGoPathSrc, name) + paths := strings.Split(name, "/") + var isExistP bool + var isCurChild bool + for i := 0; i < len(paths)-1; i++ { + pName := strings.Join(paths[:len(paths)-1-i], "/") + if _, ok := cachePkgs[pName]; ok { + isExistP = true + break + } + if pkgName == pName { + isCurChild = true + break + } + } + if isCurChild { + continue + } + + if !isExistP { + log.Log("Linking %s", name) + err = autoLink(oldPath, newPath) + if err != nil { + log.Error("", "Fail to make link") + log.Fatal("", err.Error()) + } + } + } + + newCurPath = filepath.Join(newGoPathSrc, pkgName) + log.Log("Linking %s", pkgName) + err = autoLink(curPath, newCurPath) + if err != nil { + log.Error("", "Fail to make link") + log.Fatal("", err.Error()) + } } diff --git a/cmd/install.go b/cmd/install.go index 5c5c74037..58ef75a27 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -35,7 +35,7 @@ func printInstallPrompt(flag string) { } func runInstall(cmd *Command, args []string) { - genNewGoPath() + //genNewGoPath() com.ColorLog("[INFO] installing ...\n") diff --git a/cmd/run.go b/cmd/run.go index 7eb03599a..65a04eb47 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -15,52 +15,54 @@ package cmd import ( - "github.com/Unknwon/com" + "fmt" "go/build" "os" "os/exec" -) -var CmdRun = &Command{ - UsageLine: "run", - Short: "run according a gopmfile", - Long: ` -run just like go run -`, -} + "github.com/codegangsta/cli" -func init() { - CmdRun.Run = runRun - CmdRun.Flags = map[string]bool{} -} + "github.com/gpmgo/gopm/log" +) + +var CmdRun = cli.Command{ + Name: "run", + Usage: "link dependencies and go run", + Description: `Command run links dependencies according to gopmfile -func printRunPrompt(flag string) { +gopm run `, + Action: runRun, } -func runRun(cmd *Command, args []string) { +func runRun(ctx *cli.Context) { gopath := build.Default.GOPATH - genNewGoPath() - - com.ColorLog("[INFO] running ...\n") + genNewGoPath(ctx) cmdArgs := []string{"go", "run"} - cmdArgs = append(cmdArgs, args...) + cmdArgs = append(cmdArgs, ctx.Args()...) bCmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) bCmd.Stdout = os.Stdout bCmd.Stderr = os.Stderr + + log.Log("===== application outputs start =====\n") + err := bCmd.Run() + + fmt.Println() + log.Log("====== application outputs end ======") + if err != nil { - com.ColorLog("[ERRO] run failed: %v\n", err) - return + log.Error("Run", "Fail to execute") + log.Fatal("", err.Error()) } - com.ColorLog("[TRAC] set GOPATH=%v\n", gopath) + log.Trace("Set back GOPATH=%s", gopath) err = os.Setenv("GOPATH", gopath) if err != nil { - com.ColorLog("[ERRO] %v\n", err) - return + log.Error("Run", "Fail to set back GOPATH") + log.Fatal("", err.Error()) } - com.ColorLog("[SUCC] run successfully!\n") + log.Success("SUCC", "Run", "Command execute successfully!") } diff --git a/doc/conf.go b/doc/conf.go index bed33cdf0..bc20bf157 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -26,6 +26,7 @@ import ( const ( GopmFileName = ".gopmfile" + RawHomeDir = "~/.gopm" ) var ( diff --git a/gopm.go b/gopm.go index e9de6bddb..dc1d0ff3e 100644 --- a/gopm.go +++ b/gopm.go @@ -29,10 +29,9 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.3.1109" +const APP_VER = "0.5.4.1110" // //cmd.CmdSearch, -// cmd.CmdRun, // cmd.CmdBuild, // cmd.CmdInstall, @@ -58,6 +57,7 @@ func main() { app.Commands = []cli.Command{ cmd.CmdGet, cmd.CmdGen, + cmd.CmdRun, } app.Run(os.Args) } From 7326b09b3d91ba8cf398cc5467d0493118c255e2 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 Nov 2013 01:03:11 -0500 Subject: [PATCH 176/287] Done build and install --- README.md | 17 ++++++++++------- cmd/build.go | 42 +++++++++++++++++++---------------------- cmd/gopath.go | 45 +++++++++++++++++++++++++++----------------- cmd/install.go | 51 +++++++++++++++++++++++++++++--------------------- cmd/run.go | 5 +++-- gopm.go | 7 +++---- 6 files changed, 93 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index 9abcafd48..1fbf8532f 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ gopm - Go Package Manager Gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. -Current Version: **v0.5.1** +Current Version: **v0.5.5** # Requirement @@ -40,16 +40,19 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.5.2.1109 + 0.5.5.1111 COMMANDS: - get fetch remote package(s) and dependencies to local repository - gen generate a gopmfile according current go project - help, h Shows a list of commands or help for one command + get fetch remote package(s) and dependencies to local repository + gen generate a gopmfile according current go project + run link dependencies and go run + build link dependencies and go build + install link dependencies and go install + help, h Shows a list of commands or help for one command GLOBAL OPTIONS: - --version print the version - --help, -h show help + --version print the version + --help, -h show help ``` diff --git a/cmd/build.go b/cmd/build.go index 8069f558a..e94e3b2c4 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -15,37 +15,33 @@ package cmd import ( - "github.com/Unknwon/com" -) + "github.com/codegangsta/cli" -var CmdBuild = &Command{ - UsageLine: "build", - Short: "build according a gopmfile", - Long: ` -build just like go build -`, -} + "github.com/gpmgo/gopm/log" +) -func init() { - CmdBuild.Run = runBuild - CmdBuild.Flags = map[string]bool{} -} +var CmdBuild = cli.Command{ + Name: "build", + Usage: "link dependencies and go build", + Description: `Command build links dependencies according to gopmfile, +and execute 'go build' -func printBuildPrompt(flag string) { +gopm build `, + Action: runBuild, } -func runBuild(cmd *Command, args []string) { - //genNewGoPath() +func runBuild(ctx *cli.Context) { + genNewGoPath(ctx) - com.ColorLog("[INFO] building ...\n") + log.Trace("Building...") - cmds := []string{"go", "build"} - cmds = append(cmds, args...) - err := execCmd(newGoPath, newCurPath, cmds...) + cmdArgs := []string{"go", "build"} + cmdArgs = append(cmdArgs, ctx.Args()...) + err := execCmd(newGoPath, newCurPath, cmdArgs...) if err != nil { - com.ColorLog("[ERRO] build failed: %v\n", err) - return + log.Error("Build", "Fail to build program") + log.Fatal("", err.Error()) } - com.ColorLog("[SUCC] build successfully!\n") + log.Success("SUCC", "Build", "Command execute successfully!") } diff --git a/cmd/gopath.go b/cmd/gopath.go index ed76c69e2..960df2adb 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -1,6 +1,7 @@ package cmd import ( + "fmt" "go/build" "os" "os/exec" @@ -110,44 +111,54 @@ var newGoPath string func execCmd(gopath, curPath string, args ...string) error { cwd, err := os.Getwd() if err != nil { - return err + log.Error("", "Fail to get work directory") + log.Fatal("", err.Error()) } - com.ColorLog("[INFO] change current dir from %v to %v\n", cwd, curPath) - err = os.Chdir(filepath.Join(cwd, "vendor")) - if err != nil { - com.ColorLog("[ERRO] change current directory error %v\n", err) - return err - } + log.Log("Changing work directory to %s", curPath) err = os.Chdir(curPath) if err != nil { - com.ColorLog("[ERRO] change current directory error %v\n", err) - return err + log.Error("", "Fail to change work directory") + log.Fatal("", err.Error()) } - defer os.Chdir(cwd) + defer func() { + log.Log("Changing work directory back to %s", cwd) + os.Chdir(cwd) + }() + ccmd := exec.Command("cd", curPath) ccmd.Stdout = os.Stdout ccmd.Stderr = os.Stderr err = ccmd.Run() if err != nil { - com.ColorLog("[ERRO] change current directory error %v\n", err) - return err + log.Error("", "Fail to change work directory") + log.Fatal("", err.Error()) } oldGoPath := os.Getenv("GOPATH") - com.ColorLog("[TRAC] set GOPATH from %v to %v\n", oldGoPath, gopath) + log.Log("Setting GOPATH to %s", gopath) err = os.Setenv("GOPATH", gopath) if err != nil { - com.ColorLog("[ERRO] %v\n", err) - return err + log.Error("", "Fail to setting GOPATH") + log.Fatal("", err.Error()) } - defer os.Setenv("GOPATH", oldGoPath) + defer func() { + log.Log("Setting GOPATH back to %s", oldGoPath) + os.Setenv("GOPATH", oldGoPath) + }() cmd := exec.Command(args[0], args[1:]...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr - return cmd.Run() + + log.Log("===== application outputs start =====\n") + + err = cmd.Run() + + fmt.Println() + log.Log("====== application outputs end ======") + return err } func genNewGoPath(ctx *cli.Context) { diff --git a/cmd/install.go b/cmd/install.go index 58ef75a27..8080d1b4c 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -16,36 +16,45 @@ package cmd import ( "github.com/Unknwon/com" + "github.com/codegangsta/cli" + + "github.com/gpmgo/gopm/doc" + "github.com/gpmgo/gopm/log" ) -var CmdInstall = &Command{ - UsageLine: "install", - Short: "install according a gopmfile", - Long: ` -install just like go install -`, -} +var CmdInstall = cli.Command{ + Name: "install", + Usage: "link dependencies and go install", + Description: `Command install links dependencies according to gopmfile, +and execute 'go install' -func init() { - CmdInstall.Run = runInstall - CmdInstall.Flags = map[string]bool{} +gopm install`, + Action: runInstall, } -func printInstallPrompt(flag string) { -} +func runInstall(ctx *cli.Context) { + if !com.IsFile(".gopmfile") { + log.Fatal("Install", "No gopmfile exist in work directory") + } + + gf := doc.NewGopmfile(".") + target := gf.MustValue("target", "path") + if len(target) == 0 { + log.Fatal("Install", "Cannot find target in gopmfile") + } -func runInstall(cmd *Command, args []string) { - //genNewGoPath() + genNewGoPath(ctx) - com.ColorLog("[INFO] installing ...\n") + log.Trace("Installing...") - cmds := []string{"go", "install"} - cmds = append(cmds, args...) - err := execCmd(newGoPath, newCurPath, cmds...) + cmdArgs := []string{"go", "install"} + cmdArgs = append(cmdArgs, ctx.Args()...) + cmdArgs = append(cmdArgs, target) + err := execCmd(newGoPath, newCurPath, cmdArgs...) if err != nil { - com.ColorLog("[ERRO] install failed: %v\n", err) - return + log.Error("Install", "Fail to install program") + log.Fatal("", err.Error()) } - com.ColorLog("[SUCC] install successfully!\n") + log.Success("SUCC", "Install", "Command execute successfully!") } diff --git a/cmd/run.go b/cmd/run.go index 65a04eb47..88764eea0 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -28,9 +28,10 @@ import ( var CmdRun = cli.Command{ Name: "run", Usage: "link dependencies and go run", - Description: `Command run links dependencies according to gopmfile + Description: `Command run links dependencies according to gopmfile, +and execute 'go run' -gopm run `, +gopm run `, Action: runRun, } diff --git a/gopm.go b/gopm.go index dc1d0ff3e..6b2ab0f62 100644 --- a/gopm.go +++ b/gopm.go @@ -29,12 +29,9 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.4.1110" +const APP_VER = "0.5.5.1111" // //cmd.CmdSearch, -// cmd.CmdBuild, -// cmd.CmdInstall, - // cmdClean, // cmdDoc, // cmdEnv, @@ -58,6 +55,8 @@ func main() { cmd.CmdGet, cmd.CmdGen, cmd.CmdRun, + cmd.CmdBuild, + cmd.CmdInstall, } app.Run(os.Args) } From 88629917a0277ba0e59122fff03b1529774af015 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 11 Nov 2013 02:17:45 -0500 Subject: [PATCH 177/287] Improve install --- cmd/install.go | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/cmd/install.go b/cmd/install.go index 8080d1b4c..4caba7b06 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -28,19 +28,34 @@ var CmdInstall = cli.Command{ Description: `Command install links dependencies according to gopmfile, and execute 'go install' -gopm install`, +gopm install +gopm install + +If no argument is supplied, then gopmfile must be present`, Action: runInstall, + Flags: []cli.Flag{ + cli.BoolFlag{"verbose", "show process details"}, + }, } func runInstall(ctx *cli.Context) { - if !com.IsFile(".gopmfile") { - log.Fatal("Install", "No gopmfile exist in work directory") - } + var target string + + switch len(ctx.Args()) { + case 0: + if !com.IsFile(".gopmfile") { + log.Fatal("Install", "No gopmfile exist in work directory") + } - gf := doc.NewGopmfile(".") - target := gf.MustValue("target", "path") - if len(target) == 0 { - log.Fatal("Install", "Cannot find target in gopmfile") + gf := doc.NewGopmfile(".") + target = gf.MustValue("target", "path") + if len(target) == 0 { + log.Fatal("Install", "Cannot find target in gopmfile") + } + case 1: + target = ctx.Args()[0] + default: + log.Fatal("Install", "Too many arguments") } genNewGoPath(ctx) @@ -48,7 +63,10 @@ func runInstall(ctx *cli.Context) { log.Trace("Installing...") cmdArgs := []string{"go", "install"} - cmdArgs = append(cmdArgs, ctx.Args()...) + + if ctx.Bool("verbose") { + cmdArgs = append(cmdArgs, "-v") + } cmdArgs = append(cmdArgs, target) err := execCmd(newGoPath, newCurPath, cmdArgs...) if err != nil { From 49fe9b7d03a213b3df34c45ea5fa085951ae6e5c Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 13 Nov 2013 09:34:37 +0800 Subject: [PATCH 178/287] change run command use execCommand method --- cmd/run.go | 31 ++++--------------------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/cmd/run.go b/cmd/run.go index 88764eea0..35ec21993 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -15,13 +15,7 @@ package cmd import ( - "fmt" - "go/build" - "os" - "os/exec" - "github.com/codegangsta/cli" - "github.com/gpmgo/gopm/log" ) @@ -36,32 +30,15 @@ gopm run `, } func runRun(ctx *cli.Context) { - gopath := build.Default.GOPATH - genNewGoPath(ctx) + log.Trace("Running...") + cmdArgs := []string{"go", "run"} cmdArgs = append(cmdArgs, ctx.Args()...) - bCmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) - bCmd.Stdout = os.Stdout - bCmd.Stderr = os.Stderr - - log.Log("===== application outputs start =====\n") - - err := bCmd.Run() - - fmt.Println() - log.Log("====== application outputs end ======") - - if err != nil { - log.Error("Run", "Fail to execute") - log.Fatal("", err.Error()) - } - - log.Trace("Set back GOPATH=%s", gopath) - err = os.Setenv("GOPATH", gopath) + err := execCmd(newGoPath, newCurPath, cmdArgs...) if err != nil { - log.Error("Run", "Fail to set back GOPATH") + log.Error("Run", "Fail to run program") log.Fatal("", err.Error()) } From 6a7f63277b97919d935ed9e2c58800d995686f42 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 21 Nov 2013 00:21:56 -0500 Subject: [PATCH 179/287] Working on get commit --- cmd/get.go | 12 +++++---- doc/bitbucket.go | 7 ++++-- doc/conf.go | 28 +++++++++------------ doc/github.go | 41 +++++++++++++++++++++++++++++-- doc/google.go | 38 +++++++++++++++++++++++----- doc/launchpad.go | 5 ++-- doc/oschina.go | 3 ++- doc/struct.go | 5 +++- doc/vcs.go | 11 +++++---- log/{log_nonwindows.go => log.go} | 2 ++ 10 files changed, 112 insertions(+), 40 deletions(-) rename log/{log_nonwindows.go => log.go} (98%) diff --git a/cmd/get.go b/cmd/get.go index 8d59d8299..b73623e98 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -160,6 +160,7 @@ func getByPath(ctx *cli.Context) { nodes = append(nodes, node) } + doc.LoadLocalNodes() downloadPackages(ctx, nodes) if doc.LocalNodes != nil { @@ -197,7 +198,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { if !downloadCache[n.ImportPath] { // Download package. - nod, imports := downloadPackage(n) + nod, imports := downloadPackage(ctx, n) if len(imports) > 0 { var gf *goconfig.ConfigFile @@ -242,8 +243,8 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { downloadCount++ // Only save non-commit node. - if len(nod.Value) == 0 { - doc.SaveNode(nod) + if len(nod.Value) == 0 && len(nod.Revision) > 0 { + doc.LocalNodes.SetValue(nod.ImportPath, "value", nod.Revision) } } } else { @@ -262,13 +263,14 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { } // downloadPackage downloads package either use version control tools or not. -func downloadPackage(nod *doc.Node) (*doc.Node, []string) { +func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { log.Message("Downloading", fmt.Sprintf("package: %s@%s:%s", nod.ImportPath, nod.Type, doc.CheckNodeValue(nod.Value))) // Mark as donwloaded. downloadCache[nod.ImportPath] = true - imports, err := doc.PureDownload(nod, installRepoPath, nil) //CmdGet.Flags) + nod.Revision = doc.LocalNodes.MustValue(nod.ImportPath, "value") + imports, err := doc.PureDownload(nod, installRepoPath, ctx) //CmdGet.Flags) if err != nil { log.Error("Get", "Fail to download pakage: "+nod.ImportPath) diff --git a/doc/bitbucket.go b/doc/bitbucket.go index 0b192a9ba..b5970ef91 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -27,6 +27,9 @@ import ( "strings" "github.com/Unknwon/com" + "github.com/codegangsta/cli" + + "github.com/gpmgo/gopm/log" ) var ( @@ -35,7 +38,7 @@ var ( ) // getBitbucketDoc downloads tarball from bitbucket.org. -func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { +func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, ctx *cli.Context) ([]string, error) { // Check version control. if m := bitbucketEtagRe.FindStringSubmatch(nod.Value); m != nil { match["vcs"] = m[1] @@ -152,7 +155,7 @@ func getBitbucketDoc(client *http.Client, match map[string]string, installRepoPa // Create diretory before create file. dir := path.Dir(absPath) - if !checkDir(dir, dirs) && !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + if !checkDir(dir, dirs) && !(!ctx.Bool("example") && strings.Contains(absPath, "example")) { dirs = append(dirs, dir) os.MkdirAll(dir+"/", os.ModePerm) } diff --git a/doc/conf.go b/doc/conf.go index bc20bf157..a20e00f28 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -72,23 +72,19 @@ func LoadPkgNameList(filePath string) { } } -func SaveNode(nod *Node) { - if LocalNodes == nil { - if !com.IsDir(HomeDir + "/data") { - os.Mkdir(HomeDir+"/data", os.ModePerm) - } - - if !com.IsFile(HomeDir + LocalNodesFile) { - os.Create(HomeDir + LocalNodesFile) - } +func LoadLocalNodes() { + if !com.IsDir(HomeDir + "/data") { + os.MkdirAll(HomeDir+"/data", os.ModePerm) + } - var err error - LocalNodes, err = goconfig.LoadConfigFile(HomeDir + LocalNodesFile) - if err != nil { - log.Error("Save node", "Fail to load localnodes.list") - log.Fatal("", err.Error()) - } + if !com.IsFile(HomeDir + LocalNodesFile) { + os.Create(HomeDir + LocalNodesFile) } - LocalNodes.SetValue(nod.ImportPath, "value", nod.Value) + var err error + LocalNodes, err = goconfig.LoadConfigFile(HomeDir + LocalNodesFile) + if err != nil { + log.Error("Load node", "Fail to load localnodes.list") + log.Fatal("", err.Error()) + } } diff --git a/doc/github.go b/doc/github.go index a47c39a94..c7885cbd3 100644 --- a/doc/github.go +++ b/doc/github.go @@ -26,6 +26,9 @@ import ( "strings" "github.com/Unknwon/com" + "github.com/codegangsta/cli" + + "github.com/gpmgo/gopm/log" ) var ( @@ -33,12 +36,46 @@ var ( ) // getGithubDoc downloads tarball from github.com. -func getGithubDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { +func getGithubDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, ctx *cli.Context) ([]string, error) { // Check downlaod type. switch nod.Type { case BRANCH: if len(nod.Value) == 0 { match["sha"] = MASTER + + // Only get and check revision with the latest version. + var refs []*struct { + Ref string + Url string + Object struct { + Sha string + Type string + Url string + } + } + + err := com.HttpGetJSON(client, com.Expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) + if err != nil { + log.Error("GET", "Fail to get revision") + log.Error("", err.Error()) + break + } + + var etag string + COMMIT_LOOP: + for _, ref := range refs { + switch { + case strings.HasPrefix(ref.Ref, "refs/heads/master"): + etag = ref.Object.Sha + break COMMIT_LOOP + } + } + if etag == nod.Revision { + log.Log("GET Package hasn't changed: %s", nod.ImportPath) + return nil, nil + } + nod.Revision = etag + } else { match["sha"] = nod.Value } @@ -97,7 +134,7 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath switch { case strings.HasSuffix(absPath, "/"): // Directory. // Check if current directory is example. - if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + if !(!ctx.Bool("example") && strings.Contains(absPath, "example")) { for _, d := range dirs { if d == absPath { break compareDir diff --git a/doc/google.go b/doc/google.go index ee2b60e39..404c33a41 100644 --- a/doc/google.go +++ b/doc/google.go @@ -26,17 +26,21 @@ import ( "strings" "github.com/Unknwon/com" + "github.com/codegangsta/cli" + + "github.com/gpmgo/gopm/log" ) var ( - googleRepoRe = regexp.MustCompile(`id="checkoutcmd">(hg|git|svn)`) - googleFileRe = regexp.MustCompile(`
  • [a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) + googleRepoRe = regexp.MustCompile(`id="checkoutcmd">(hg|git|svn)`) + googleRevisionRe = regexp.MustCompile(`

    (?:[^ ]+ - )?Revision *([^:]+):`) + googleFileRe = regexp.MustCompile(`
  • [a-z0-9\-]+)(:?\.(?P[a-z0-9\-]+))?(?P/[a-z0-9A-Z_.\-/]+)?$`) ) // getGoogleDoc downloads raw files from code.google.com. -func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { +func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, ctx *cli.Context) ([]string, error) { setupGoogleMatch(match) // Check version control. if err := getGoogleVCS(client, match); err != nil { @@ -47,6 +51,28 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath case BRANCH: if len(nod.Value) == 0 { match["tag"] = defaultTags[match["vcs"]] + + // Only get and check revision with the latest version. + p, err := com.HttpGetBytes(client, + com.Expand("http://{subrepo}{dot}{repo}.googlecode.com/{vcs}{dir}/?r={tag}", match), nil) + if err != nil { + log.Error("GET", "Fail to get revision") + log.Error("", err.Error()) + break + } + + if m := googleRevisionRe.FindSubmatch(p); m == nil { + log.Error("GET", "Fail to get revision") + log.Error("", err.Error()) + } else { + etag := string(m[1]) + if etag == nod.Revision { + log.Log("GET Package hasn't changed: %s", nod.ImportPath) + return nil, nil + } + nod.Revision = etag + } + } else { match["tag"] = nod.Value } @@ -106,7 +132,7 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath // Create diretory before create file. dir := path.Dir(absPath) - if !checkDir(dir, dirs) && !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + if !checkDir(dir, dirs) && !(!ctx.Bool("example") && strings.Contains(absPath, "example")) { dirs = append(dirs, dir+"/") os.MkdirAll(dir+"/", os.ModePerm) } diff --git a/doc/launchpad.go b/doc/launchpad.go index 24b291d54..9cb535fd7 100644 --- a/doc/launchpad.go +++ b/doc/launchpad.go @@ -25,12 +25,13 @@ import ( "strings" "github.com/Unknwon/com" + "github.com/codegangsta/cli" ) var launchpadPattern = regexp.MustCompile(`^launchpad\.net/(?P(?P[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-]+)?|~[a-z0-9A-Z_.\-]+/(\+junk|[a-z0-9A-Z_.\-]+)/[a-z0-9A-Z_.\-]+)(?P/[a-z0-9A-Z_.\-/]+)*$`) // getLaunchpadDoc downloads tarball from launchpad.net. -func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { +func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, ctx *cli.Context) ([]string, error) { if match["project"] != "" && match["series"] != "" { rc, err := com.HttpGet(client, com.Expand("https://code.launchpad.net/{project}{series}/.bzr/branch-format", match), nil) @@ -99,7 +100,7 @@ func getLaunchpadDoc(client *http.Client, match map[string]string, installRepoPa // Create diretory before create file. os.MkdirAll(absPath+"/", os.ModePerm) // Check if current directory is example. - if !(!cmdFlags["-e"] && strings.Contains(absPath, "example")) { + if !(!ctx.Bool("example") && strings.Contains(absPath, "example")) { dirs = append(dirs, absPath) } case !strings.HasPrefix(fn, "."): diff --git a/doc/oschina.go b/doc/oschina.go index ab3777c3a..b35151030 100644 --- a/doc/oschina.go +++ b/doc/oschina.go @@ -25,6 +25,7 @@ import ( "strings" "github.com/Unknwon/com" + "github.com/codegangsta/cli" ) var ( @@ -33,7 +34,7 @@ var ( ) // getGithubDoc downloads tarball from git.oschina.com. -func getOSCDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, cmdFlags map[string]bool) ([]string, error) { +func getOSCDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, ctx *cli.Context) ([]string, error) { // Check downlaod type. switch nod.Type { case BRANCH: diff --git a/doc/struct.go b/doc/struct.go index 94ca77b16..f1ad2d4b4 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -21,6 +21,8 @@ import ( "os" "regexp" "time" + + "github.com/codegangsta/cli" ) const ( @@ -58,6 +60,7 @@ type Node struct { DownloadURL string Synopsis string IsGetDeps bool + Revision string } func NewNode(importPath, downloadUrl, tp, value string, isGetDeps bool) *Node { @@ -96,7 +99,7 @@ type walker struct { type service struct { pattern *regexp.Regexp prefix string - get func(*http.Client, map[string]string, string, *Node, map[string]bool) ([]string, error) + get func(*http.Client, map[string]string, string, *Node, *cli.Context) ([]string, error) } // services is the list of source code control services handled by gopkgdoc. diff --git a/doc/vcs.go b/doc/vcs.go index a7ab3288a..58635db3b 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -25,6 +25,7 @@ import ( "strings" "github.com/Unknwon/com" + "github.com/codegangsta/cli" ) var ( @@ -97,7 +98,7 @@ func bestTag(tags map[string]string, defaultTag string) (string, string, error) } // PureDownload downloads package without version control. -func PureDownload(nod *Node, installRepoPath string, flags map[string]bool) ([]string, error) { +func PureDownload(nod *Node, installRepoPath string, ctx *cli.Context) ([]string, error) { for _, s := range services { if s.get == nil || !strings.HasPrefix(nod.DownloadURL, s.prefix) { continue @@ -115,14 +116,14 @@ func PureDownload(nod *Node, installRepoPath string, flags map[string]bool) ([]s match[n] = m[i] } } - return s.get(HttpClient, match, installRepoPath, nod, flags) + return s.get(HttpClient, match, installRepoPath, nod, ctx) } com.ColorLog("[TRAC] Cannot match any service, getting dynamic...\n") - return getDynamic(HttpClient, nod, installRepoPath, flags) + return getDynamic(HttpClient, nod, installRepoPath, ctx) } -func getDynamic(client *http.Client, nod *Node, installRepoPath string, flags map[string]bool) ([]string, error) { +func getDynamic(client *http.Client, nod *Node, installRepoPath string, ctx *cli.Context) ([]string, error) { match, err := fetchMeta(client, nod.ImportPath) if err != nil { return nil, err @@ -139,7 +140,7 @@ func getDynamic(client *http.Client, nod *Node, installRepoPath string, flags ma } nod.DownloadURL = com.Expand("{repo}{dir}", match) - return PureDownload(nod, installRepoPath, flags) + return PureDownload(nod, installRepoPath, ctx) } func fetchMeta(client *http.Client, importPath string) (map[string]string, error) { diff --git a/log/log_nonwindows.go b/log/log.go similarity index 98% rename from log/log_nonwindows.go rename to log/log.go index f32490655..9c445ae61 100644 --- a/log/log_nonwindows.go +++ b/log/log.go @@ -12,6 +12,8 @@ // License for the specific language governing permissions and limitations // under the License. +// +build !windows + package log import ( From d3e06b4e8a42bf9ea7190f813a176f4613d57417 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 21 Nov 2013 23:33:32 -0500 Subject: [PATCH 180/287] bugfix --- doc/bitbucket.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/bitbucket.go b/doc/bitbucket.go index b5970ef91..7521b733c 100644 --- a/doc/bitbucket.go +++ b/doc/bitbucket.go @@ -29,7 +29,7 @@ import ( "github.com/Unknwon/com" "github.com/codegangsta/cli" - "github.com/gpmgo/gopm/log" + //"github.com/gpmgo/gopm/log" ) var ( From 4c64f9e88859ab7649383c4ef44ce85884337019 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 29 Nov 2013 14:31:37 +0800 Subject: [PATCH 181/287] get bug fixed --- cmd/get.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 8d59d8299..393e901d8 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -202,11 +202,11 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { var gf *goconfig.ConfigFile // Check if has gopmfile - if com.IsFile(installPath + "/.gopmfile") { + if com.IsFile(installPath + "/" + GopmFileName) { log.Log("Found gopmgile: %s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) - gf = doc.NewGopmfile(installPath + "/.gopmfile") + gf = doc.NewGopmfile(installPath /* + "/.gopmfile"*/) } // Need to download dependencies. From a5904511136581b1dbd7aa973779ddecfcd4c59d Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 29 Nov 2013 14:37:17 +0800 Subject: [PATCH 182/287] get bug fixed --- gopm.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gopm.go b/gopm.go index 6b2ab0f62..d2cc16d27 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.5.1111" +const APP_VER = "0.5.5.1129" // //cmd.CmdSearch, // cmdClean, @@ -57,6 +57,7 @@ func main() { cmd.CmdRun, cmd.CmdBuild, cmd.CmdInstall, + //cmd.CmdTest, } app.Run(os.Args) } From 09e21eac46706012f75503f539bdd3b9a1c36058 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 29 Nov 2013 02:36:16 -0500 Subject: [PATCH 183/287] update --- gopm.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gopm.go b/gopm.go index 6b2ab0f62..8a29bdbd5 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.5.1111" +const APP_VER = "0.5.5.1116" // //cmd.CmdSearch, // cmdClean, From 90bbb78dee6192fb1cf2c839639a1183359d63ff Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 29 Nov 2013 22:46:51 -0500 Subject: [PATCH 184/287] Added gopm bin --- README.md | 7 ++- cmd/bin.go | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++ cmd/get.go | 22 ++++---- gopm.go | 3 +- 4 files changed, 176 insertions(+), 15 deletions(-) create mode 100644 cmd/bin.go diff --git a/README.md b/README.md index 1fbf8532f..111b022be 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ gopm - Go Package Manager Gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. -Current Version: **v0.5.5** +Current Version: **v0.5.6** # Requirement @@ -40,13 +40,14 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.5.5.1111 + 0.5.6.1130 COMMANDS: get fetch remote package(s) and dependencies to local repository + bin download and link dependencies and build executable binary gen generate a gopmfile according current go project run link dependencies and go run - build link dependencies and go build + build link dependencies and go build install link dependencies and go install help, h Shows a list of commands or help for one command diff --git a/cmd/bin.go b/cmd/bin.go new file mode 100644 index 000000000..fe2cfa5fc --- /dev/null +++ b/cmd/bin.go @@ -0,0 +1,159 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + "os" + "path" + "strings" + + "github.com/Unknwon/com" + "github.com/codegangsta/cli" + + "github.com/gpmgo/gopm/doc" + "github.com/gpmgo/gopm/log" +) + +var CmdBin = cli.Command{ + Name: "bin", + Usage: "download and link dependencies and build executable binary", + Description: `Command bin downloads and links dependencies according to gopmfile, +and build executable binary to work directory + +gopm bin @[:] +gopm bin @[:] + +Can only specify one each time, and only works for projects that +contains main package`, + Action: runBin, + Flags: []cli.Flag{ + cli.BoolFlag{"dir", "build binary to given directory(second argument)"}, + }, +} + +func runBin(ctx *cli.Context) { + if len(ctx.Args()) == 0 { + log.Error("Bin", "Fail to start command") + log.Fatal("", "No package specified") + } + + hd, err := com.HomeDir() + if err != nil { + log.Error("Bin", "Fail to get current user") + log.Fatal("", err.Error()) + } + + doc.HomeDir = strings.Replace(doc.RawHomeDir, "~", hd, -1) + doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") + + installRepoPath = doc.HomeDir + "/repos" + + // Check arguments. + num := 1 + if ctx.Bool("dir") { + num = 2 + } + if len(ctx.Args()) != num { + log.Error("Bin", "Fail to start command") + log.Fatal("", "Invalid argument number") + } + + // Check if given directory exists. + if ctx.Bool("dir") && !com.IsDir(ctx.Args()[1]) { + log.Error("Bin", "Fail to start command") + log.Fatal("", "Given directory does not exist") + } + + // Parse package version. + info := ctx.Args()[0] + pkgName := info + ver := "" + if i := strings.Index(info, "@"); i > -1 { + pkgName = info[:i] + _, ver, err = validPath(info[i+1:]) + if err != nil { + log.Error("Bin", "Fail to parse version") + log.Fatal("", err.Error()) + } + } + + // Check package name. + if !strings.Contains(pkgName, "/") { + name, ok := doc.PackageNameList[pkgName] + if !ok { + log.Error("Bin", "Invalid package name: "+pkgName) + log.Fatal("", "No match in the package name list") + } + pkgName = name + } + + // Get code. + com.ExecCmd("gopm", "get", ctx.Args()[0]) + + // Check if previous steps were successful. + pkgPath := installRepoPath + "/" + pkgName + if len(ver) > 0 { + pkgPath += "." + ver + } + if !com.IsDir(pkgPath) { + log.Error("Bin", "Fail to continue command") + log.Fatal("", "Previous steps weren't successful") + } + + wd, err := os.Getwd() + if err != nil { + log.Error("Bin", "Fail to get work directory") + log.Fatal("", err.Error()) + } + + // Change to repository path. + log.Log("Changing work directory to %s", pkgPath) + err = os.Chdir(pkgPath) + if err != nil { + log.Error("Bin", "Fail to change work directory") + log.Fatal("", err.Error()) + } + + // Build application. + com.ExecCmd("gopm", "build") + defer func() { + // Clean files. + os.RemoveAll(pkgPath + "/vendor") + }() + + // Check if previous steps were successful. + binName := path.Base(pkgName) + if !com.IsFile(binName) { + log.Error("Bin", "Fail to continue command") + log.Fatal("", "Previous steps weren't successful or the project does not contain main package") + } + + // Move binary to given directory. + movePath := wd + if ctx.Bool("dir") { + movePath = ctx.Args()[1] + } + _, err = com.Move(binName, movePath+"/"+binName) + if err != nil { + log.Error("Bin", "Fail to move binary") + log.Fatal("", err.Error()) + } + os.Chmod(movePath+"/"+binName, os.ModePerm) + + log.Log("Changing work directory back to %s", wd) + os.Chdir(wd) + + log.Success("SUCC", "Bin", "Command execute successfully!") +} diff --git a/cmd/get.go b/cmd/get.go index 33875f8a6..c11d2c713 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -63,7 +63,7 @@ func init() { func runGet(ctx *cli.Context) { hd, err := com.HomeDir() if err != nil { - log.Error("get", "Fail to get current user") + log.Error("Get", "Fail to get current user") log.Fatal("", err.Error()) } @@ -134,27 +134,27 @@ func getByGopmfile(ctx *cli.Context) { func getByPath(ctx *cli.Context) { nodes := make([]*doc.Node, 0, len(ctx.Args())) for _, info := range ctx.Args() { - pkg := info - node := doc.NewNode(pkg, pkg, doc.BRANCH, "", true) + pkgName := info + node := doc.NewNode(pkgName, pkgName, doc.BRANCH, "", true) if i := strings.Index(info, "@"); i > -1 { - pkg = info[:i] + pkgName = info[:i] tp, ver, err := validPath(info[i+1:]) if err != nil { - log.Error("", "Fail to parse version") + log.Error("Get", "Fail to parse version") log.Fatal("", err.Error()) } - node = doc.NewNode(pkg, pkg, tp, ver, true) + node = doc.NewNode(pkgName, pkgName, tp, ver, true) } - // Cheeck package name. - if !strings.Contains(pkg, "/") { - name, ok := doc.PackageNameList[pkg] + // Check package name. + if !strings.Contains(pkgName, "/") { + name, ok := doc.PackageNameList[pkgName] if !ok { - log.Error("", "Invalid package name: "+pkg) + log.Error("Get", "Invalid package name: "+pkgName) log.Fatal("", "No match in the package name list") } - pkg = name + pkgName = name } nodes = append(nodes, node) diff --git a/gopm.go b/gopm.go index d2cc16d27..0386df4f0 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.5.1129" +const APP_VER = "0.5.6.1130" // //cmd.CmdSearch, // cmdClean, @@ -53,6 +53,7 @@ func main() { app.Version = APP_VER app.Commands = []cli.Command{ cmd.CmdGet, + cmd.CmdBin, cmd.CmdGen, cmd.CmdRun, cmd.CmdBuild, From 1b1bd986b88e5835a64f6fc2fd915c44b64140ec Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 29 Nov 2013 23:22:36 -0500 Subject: [PATCH 185/287] Added gopm get -gopath --- cmd/build.go | 2 ++ cmd/get.go | 28 +++++++++++++++++++++++++--- doc/github.go | 2 +- doc/google.go | 2 +- gopm.go | 2 +- 5 files changed, 30 insertions(+), 6 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index aa4690cbb..2e128477d 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -17,6 +17,7 @@ package cmd import ( "github.com/codegangsta/cli" + "github.com/gpmgo/gopm/doc" "github.com/gpmgo/gopm/log" ) @@ -31,6 +32,7 @@ gopm build `, } func runBuild(ctx *cli.Context) { + doc.LoadLocalNodes() genNewGoPath(ctx, false) log.Trace("Building...") diff --git a/cmd/get.go b/cmd/get.go index c11d2c713..39f37c6dc 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -51,6 +51,7 @@ Can specify one or more: gopm get beego@tag:v0.9.0 github.com/beego/bee If no argument is supplied, then gopmfile must be present`, Action: runGet, Flags: []cli.Flag{ + cli.BoolFlag{"gopath", "download package(s) to GOPATH"}, cli.BoolFlag{"force", "force to update pakcage(s) and dependencies"}, cli.BoolFlag{"example", "download dependencies for example(s)"}, }, @@ -70,8 +71,19 @@ func runGet(ctx *cli.Context) { doc.HomeDir = strings.Replace(doc.RawHomeDir, "~", hd, -1) doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") - installRepoPath = doc.HomeDir + "/repos" - log.Log("Local repository path: %s", installRepoPath) + if ctx.Bool("gopath") { + installRepoPath = com.GetGOPATHs()[0] + if !com.IsDir(installRepoPath) { + log.Error("Get", "Fail to start command") + log.Fatal("", "GOPATH does not exist: "+installRepoPath) + } + log.Log("Indicate GOPATH: %s", installRepoPath) + + installRepoPath += "/src" + } else { + installRepoPath = doc.HomeDir + "/repos" + log.Log("Local repository path: %s", installRepoPath) + } // Check number of arguments. switch len(ctx.Args()) { @@ -80,6 +92,7 @@ func runGet(ctx *cli.Context) { default: getByPath(ctx) } + } func getByGopmfile(ctx *cli.Context) { @@ -183,7 +196,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { // Check if it is a valid remote path. if doc.IsValidRemotePath(n.ImportPath) { installPath := installRepoPath + "/" + doc.GetProjectPath(n.ImportPath) - if len(n.Value) > 0 { + if len(n.Value) > 0 && !ctx.Bool("gopath") { installPath += "." + n.Value } @@ -279,6 +292,15 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { os.RemoveAll(installRepoPath + "/" + doc.GetProjectPath(nod.ImportPath) + "/") return nil, nil } + + suf := "." + nod.Value + if len(suf) == 1 { + suf = "" + } + if ctx.Bool("gopath") && len(suf) > 0 { + os.RemoveAll(installRepoPath + "/" + nod.ImportPath) + os.Rename(installRepoPath+"/"+nod.ImportPath+suf, installRepoPath+"/"+nod.ImportPath) + } return nod, imports } diff --git a/doc/github.go b/doc/github.go index c7885cbd3..96d4d8322 100644 --- a/doc/github.go +++ b/doc/github.go @@ -70,7 +70,7 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath break COMMIT_LOOP } } - if etag == nod.Revision { + if etag == nod.Revision && !ctx.Bool("gopath") { log.Log("GET Package hasn't changed: %s", nod.ImportPath) return nil, nil } diff --git a/doc/google.go b/doc/google.go index 404c33a41..6e95bc20f 100644 --- a/doc/google.go +++ b/doc/google.go @@ -64,7 +64,7 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath if m := googleRevisionRe.FindSubmatch(p); m == nil { log.Error("GET", "Fail to get revision") log.Error("", err.Error()) - } else { + } else if !ctx.Bool("gopath") { etag := string(m[1]) if etag == nod.Revision { log.Log("GET Package hasn't changed: %s", nod.ImportPath) diff --git a/gopm.go b/gopm.go index 0386df4f0..7a8e289ad 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.6.1130" +const APP_VER = "0.5.7.1130" // //cmd.CmdSearch, // cmdClean, From 71e7d0dd8e659d075dabdf0d9b8422228b059823 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 29 Nov 2013 23:43:01 -0500 Subject: [PATCH 186/287] Update pdocs --- README.md | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/README.md b/README.md index 111b022be..16d0d1912 100644 --- a/README.md +++ b/README.md @@ -5,30 +5,7 @@ gopm - Go Package Manager Gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. -Current Version: **v0.5.6** - -# Requirement - -- Go Development Environment >= 1.1. -- Command `ln -s` support on Mac OS and Unix-like systems. -- Command `mklink -j` support on Windows( **Windows Vista and later** ). - -# Installation - -Because we do NOT offer binaries for now, so before you install the gopm, you should have already installed Go Development Environment with version 1.1 and later. - -``` -go get github.com/gpmgo/gopm -``` - -The executable will be produced under `$GOPATH/bin` in your file system; for global use purpose, we recommand you to add this path into your `PATH` environment variable. - -# Features - -- No requirement for installing any version control system tool like `git`, `svn` or `hg` in order to download packages(although you have to install git for installing gopm though `go get` for now). -- Download, install or build your packages with specific revisions. -- When build program with `gopm build` or `gopm install`, everything just happen in its own GOPATH and do not bother anything you've done. -* Put your Go project on anywhere you want. +**[Documentation](https://github.com/gpmgo/docs)** # Commands From 679b61cd48750625081b4c4bfcac7136ca7aa5c8 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 30 Nov 2013 00:39:52 -0500 Subject: [PATCH 187/287] Bug fixed --- cmd/gopath.go | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/cmd/gopath.go b/cmd/gopath.go index eff4975e7..b5a1b264b 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -49,10 +49,16 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err } if !doc.IsGoRepoPath(name) { if builds != nil { - if dep, ok := builds[name]; ok { - // TODO: need version - pkgs[name] = &doc.Pkg{ImportPath: dep} - continue + if info, ok := builds[name]; ok { + // Check version. + if i := strings.Index(info, ":"); i > -1 { + pkgs[name] = &doc.Pkg{ + ImportPath: name, + Type: info[:i], + Value: info[i+1:], + } + continue + } } } pkgs[name] = doc.NewDefaultPkg(name) @@ -82,16 +88,21 @@ func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[s if !pkgInCache(name, cachePkgs) { var newPath string if !build.IsLocalImport(name) { + + suf := "." + pkg.Value + if len(suf) == 1 { + suf = "" + } newPath = filepath.Join(installRepoPath, pkg.ImportPath) if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { - newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]) + newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]+suf) } else { - if !com.IsExist(newPath) { - var t, ver string = doc.BRANCH, "" - node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true) + if !com.IsExist(newPath + suf) { + node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, + pkg.Type, pkg.Value, true) nodes := []*doc.Node{node} downloadPackages(ctx, nodes) - // should handler download failed + // TODO: Should handler download failed } } } else { @@ -214,8 +225,13 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { os.RemoveAll(newGoPathSrc) os.MkdirAll(newGoPathSrc, os.ModePerm) - for name, _ := range cachePkgs { - oldPath := filepath.Join(installRepoPath, name) + for name, pkg := range cachePkgs { + suf := "." + pkg.Value + if len(suf) == 1 { + suf = "" + } + + oldPath := filepath.Join(installRepoPath, name) + suf newPath := filepath.Join(newGoPathSrc, name) paths := strings.Split(name, "/") var isExistP bool @@ -236,7 +252,7 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { } if !isExistP { - log.Log("Linking %s", name) + log.Log("Linking %s", name+suf) err = autoLink(oldPath, newPath) if err != nil { log.Error("", "Fail to make link") From 44deab39e8ec9df61ea1b562c57f27ae080396c8 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 30 Nov 2013 00:49:27 -0500 Subject: [PATCH 188/287] Bug fixed --- cmd/build.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/build.go b/cmd/build.go index 2e128477d..9c366424a 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -15,6 +15,8 @@ package cmd import ( + "os" + "github.com/codegangsta/cli" "github.com/gpmgo/gopm/doc" @@ -45,5 +47,8 @@ func runBuild(ctx *cli.Context) { log.Fatal("", err.Error()) } + // I don't know why, but there is a folder named "~". + os.RemoveAll("~") + log.Success("SUCC", "Build", "Command execute successfully!") } From ef09484a3b0daa63f0cdd853c153bf1d25872344 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 30 Nov 2013 01:18:56 -0500 Subject: [PATCH 189/287] Fixed bug ~ --- cmd/bin.go | 8 +------- cmd/build.go | 5 +---- cmd/get.go | 7 ------- doc/conf.go | 10 ++++++++++ 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index fe2cfa5fc..9bee3d772 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -49,13 +49,6 @@ func runBin(ctx *cli.Context) { log.Fatal("", "No package specified") } - hd, err := com.HomeDir() - if err != nil { - log.Error("Bin", "Fail to get current user") - log.Fatal("", err.Error()) - } - - doc.HomeDir = strings.Replace(doc.RawHomeDir, "~", hd, -1) doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") installRepoPath = doc.HomeDir + "/repos" @@ -80,6 +73,7 @@ func runBin(ctx *cli.Context) { info := ctx.Args()[0] pkgName := info ver := "" + var err error if i := strings.Index(info, "@"); i > -1 { pkgName = info[:i] _, ver, err = validPath(info[i+1:]) diff --git a/cmd/build.go b/cmd/build.go index 9c366424a..bdb763238 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -15,7 +15,7 @@ package cmd import ( - "os" + //"os" "github.com/codegangsta/cli" @@ -47,8 +47,5 @@ func runBuild(ctx *cli.Context) { log.Fatal("", err.Error()) } - // I don't know why, but there is a folder named "~". - os.RemoveAll("~") - log.Success("SUCC", "Build", "Command execute successfully!") } diff --git a/cmd/get.go b/cmd/get.go index 39f37c6dc..0f3db4a80 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -62,13 +62,6 @@ func init() { } func runGet(ctx *cli.Context) { - hd, err := com.HomeDir() - if err != nil { - log.Error("Get", "Fail to get current user") - log.Fatal("", err.Error()) - } - - doc.HomeDir = strings.Replace(doc.RawHomeDir, "~", hd, -1) doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") if ctx.Bool("gopath") { diff --git a/doc/conf.go b/doc/conf.go index a20e00f28..fbc6dc783 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -35,6 +35,16 @@ var ( LocalNodes *goconfig.ConfigFile ) +func init() { + hd, err := com.HomeDir() + if err != nil { + log.Error("", "Fail to get current user") + log.Fatal("", err.Error()) + } + + HomeDir = strings.Replace(RawHomeDir, "~", hd, -1) +} + func NewGopmfile(dirPath string) *goconfig.ConfigFile { gf, err := goconfig.LoadConfigFile(dirPath + "/" + GopmFileName) if err != nil { From a5ff392e72d6fa00c64d49d5460b9a7e97fa8ce1 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 30 Nov 2013 15:20:39 +0800 Subject: [PATCH 190/287] move docs to docs project --- docs/features_CN.md | 199 ------------------------------------------- docs/images/arch.png | Bin 222252 -> 0 bytes docs/usage.md | 23 ----- 3 files changed, 222 deletions(-) delete mode 100644 docs/features_CN.md delete mode 100644 docs/images/arch.png delete mode 100644 docs/usage.md diff --git a/docs/features_CN.md b/docs/features_CN.md deleted file mode 100644 index dd11e6c81..000000000 --- a/docs/features_CN.md +++ /dev/null @@ -1,199 +0,0 @@ -gopm -==== - -* [总体设计目标](#10) -* [程序结构](#11) -* [Go包版本说明](#20) -* [各命令的目标和作用](#30) - * [gopm help](#31) - * [gopm sources](#32) - * [gopm list](#33) - * [gopm get](#34) - * [gopm rm](#35) - * [gopm search](#36) - * [gopm doc](#37) - * [gopm serve](#38) - * [gopm sync](#39) - * [gopm import](#40) - * [gopm gen](#41) - * [gopm build](#42) - * [gopm run](#43) - * [gopm test](#44) -* [gopmspec文件格式](#50) - - -# 总体设计目标 - -1. 支持go语言的版本管理 -2. 支持文档管理 -3. 支持本地源服务器 -4. 本地源服务器同时支持公共包和私有包 -5. 支持依赖管理 -6. 支持从github, code.google.com, gitLab, 等常见的源码托管服务下载 - - -# 最终程序只有一个,但是通过配置,可以有三种模式: - -1 独立服务器 -2 子服务器 -3 客户端(默认) - -## 独立服务器 - -独立服务器就是本身的包都是直接从源服务器中获取的。 - -## 子服务器 - -子服务器就是包是从所配置的独立服务器上获取的,而不是直接从github等源服务器获取,在一个局域网中,可以通过架设子服务器来加快包的分发。 - -## 客户端 - -默认下载即为客户端模式,客户端默认是从源服务器获取包,如果要从包服务器获取包,则可在配置文件中通过配置即可。 - - -#Go包版本说明 - -版本分为四种: - -* []: 表示的是当前最新版本即trunk -* branch: 表示的是某个分支 -* tag: 表示的是某个tag -* commit: 表示的是某个reversion - -#配置文件说明 - -默认没有配置文件,当系统第一次启动时检测homedir/.gopm/config,看是否存在,如果不存在则自动创建此配置文件。 -配置文件内容如下: -[sources] -http://gopm.io - -[repos] -~/.gopm/repos - -#数据库说明 -包信息数据采用goleveldb,这是一个key/value数据库。数据库存默认放在~/.gopm/repos下。数据存放规则如下: - -* "lastId" : "{lastId}" lastId中存放最大的Id,Id为自增 - -* "index:{packageName}": "{id}" index:中存放的是包名,value中存放的是这个包的不同版本的id,不同版本用逗号分隔 - -* “pkg:{id}” : "{pkg}" 某个包的名称 - -* “ver:{id}” : "{verString1}, {verString2}" 某个包版本对应的内容 - -* "desc:{id}" : "{desc}" 某个包的最新版本的描述 - -* "down:{id}" : "{down}" 某个包的下载url - -* "deps:{id}" : "{deps}" 某个包的最新版本的描述 - -* “key:{keyword}:{id}” : "" 关键词及其对应的版本 - -* “total” :"{total}" 包总数 - - -#各命令的目标和作用 - - -###gopm help - -显示当前可用的命令,以下命令中,[]表示可选,{}表示是参数 - - -###gopm sources [add|rm [{url}]] - -* [] 列出当前可用的所有源,默认为http://gopm.io/ -* add url 添加一个源到本地 -* rm url 删除一个源到本地,如果没有任何源,则自己成为一个独立的服务器,类似gopm.io - - -###gopm list [{packagename}[:{version}]] - -* [] 列出所有本地的包 -* packagename 显示指定名称的包的详细信息 - - -###gopm get [-u] [{packagename}[:{version}]] [-f {gopmfile}] - -* [] 查找当前目录下的所有.gopmfile文件,根据文件的描述下载所有的包 -* packagename 从源中下载某个包 -* -u packagename 从源中更新某个包 -* -f gopmfile 根据指定的文件来下载包 - - -###gopm rm {packagename}[:{version}] - -去除一个包,如果不加版本标示,则删除该包的所有版本 - - -###gopm search [-e] {keyword} - -根据关键词查找包名或者包的描述,如果有-e开关,则完全匹配包名 - - -###gopm doc [-b] {packagename}[:{version}] - -* [] 显示一个包的文档 -* -b 在默认浏览器中显示该包的文档 - - -###gopm serve [-p {port}] - -将本地仓库作为服务对外提供,如果没有-p,则端口为80,如果有,则端口为指定端口,该服务是一个web服务,通过浏览器也可以进行浏览。 - - -###gopm sync [-u] - -[] 如果当前配置了源,则从可用的源中同步所有的包信息和包内容的最新版本到本地仓库; - 如果当前没有配置任何源,则将所有已有的包从源头进行更新 --u 仅更新本地仓库已经有的包,不包含本地仓库没有的包 - - -###gopm import [{url}|{filepath}] - -将某个地址或者本地的包导入到本地仓库中,url应为可支持的源码托管站点或者gitLab - - -###gopm gen [{gopmfile}] - -扫描当前目录下的go工程,并自动生成一个.gopmfile的文件依赖文档,如果未指定,则文件名为.gopmfile,如果指定了,则为指定的文件名 - - -###gopm build [-u] - -此命令依赖于go build - -1. 如果当前没有.gopmspec文件,则扫描当前的go工程的依赖,自动生成.gopmspec文档 -2. 根据.gopmspec文件自动下载所有需要的包,如果加了-u参数,则同时更新所有的包 -3. 根据.gopmspec文件自动切换gopath中的相关版本 -4. 调用go build对工程进行编译 - - -###gopm run [{gofile}] - -此命令依赖于go run - -调用gopm build在临时文件夹生成可执行文件,并设置程序当前目录为当前目录,并执行 - - -###gopm test - -此命令依赖于go test - -调用gopm build在临时文件夹生成可执行的测试文件,并设置程序当前目录为当前目录,并执行 - - -#gopmspec文件格式 - -.gopmspec文件的格式类似一个ini文件,当前分为两个section。 -build段内的依赖保存的是go build所需要依赖的所有包,一行一个,可用 =, >=等等,如果什么符号都没有,就是取最新版本 - -``` -[build] -xweb -beego = tag:0.1 -xorm >= branch:0.2 - -[test] -testing -``` diff --git a/docs/images/arch.png b/docs/images/arch.png deleted file mode 100644 index 357deed357e3480230134d900d6a1f3b5a89947f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222252 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 Date: Sat, 30 Nov 2013 08:30:38 -0500 Subject: [PATCH 191/287] Bug fixed --- cmd/gen.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/gen.go b/cmd/gen.go index 93710280c..a8b222dcc 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -27,7 +27,7 @@ import ( var CmdGen = cli.Command{ Name: "gen", - Usage: "generate a gopmfile according current go project", + Usage: "generate a gopmfile according current Go project", Description: `Command gen gets dependencies and generates a gopmfile gopm gen @@ -35,7 +35,7 @@ gopm gen Make sure you run this command in the root path of a go project.`, Action: runGen, Flags: []cli.Flag{ - cli.BoolFlag{"example", "download dependencies for example(s)"}, + cli.BoolFlag{"example", "check dependencies for example(s)"}, }, } From 209604d0fad5d61540bad74a0235fc0230f613c7 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 1 Dec 2013 04:30:21 -0500 Subject: [PATCH 192/287] Bug fixed --- cmd/get.go | 56 ++++++++++++++++++++++++++++++++------------------- doc/github.go | 2 +- doc/google.go | 2 +- gopm.go | 2 +- 4 files changed, 38 insertions(+), 24 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 0f3db4a80..a9c0cc087 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -18,6 +18,7 @@ import ( "errors" "fmt" "os" + "path" "path/filepath" "strings" @@ -31,6 +32,7 @@ import ( var ( installRepoPath string + installGopath string downloadCache map[string]bool // Saves packages that have been downloaded. downloadCount int failConut int @@ -65,19 +67,19 @@ func runGet(ctx *cli.Context) { doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") if ctx.Bool("gopath") { - installRepoPath = com.GetGOPATHs()[0] - if !com.IsDir(installRepoPath) { + installGopath = com.GetGOPATHs()[0] + if !com.IsDir(installGopath) { log.Error("Get", "Fail to start command") - log.Fatal("", "GOPATH does not exist: "+installRepoPath) + log.Fatal("", "GOPATH does not exist: "+installGopath) } - log.Log("Indicate GOPATH: %s", installRepoPath) + log.Log("Indicate GOPATH: %s", installGopath) - installRepoPath += "/src" - } else { - installRepoPath = doc.HomeDir + "/repos" - log.Log("Local repository path: %s", installRepoPath) + installGopath += "/src" } + installRepoPath = doc.HomeDir + "/repos" + log.Log("Local repository path: %s", installRepoPath) + // Check number of arguments. switch len(ctx.Args()) { case 0: @@ -180,6 +182,16 @@ func getByPath(ctx *cli.Context) { downloadCount, failConut) } +func copyToGopath(srcPath, destPath string) { + fmt.Println(destPath) + os.RemoveAll(destPath) + err := com.CopyDir(srcPath, destPath) + if err != nil { + log.Error("Download", "Fail to copy to GOPATH") + log.Fatal("", err.Error()) + } +} + // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. @@ -188,8 +200,9 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { for _, n := range nodes { // Check if it is a valid remote path. if doc.IsValidRemotePath(n.ImportPath) { - installPath := installRepoPath + "/" + doc.GetProjectPath(n.ImportPath) - if len(n.Value) > 0 && !ctx.Bool("gopath") { + gopathDir := path.Join(installGopath, n.ImportPath) + installPath := path.Join(installRepoPath, doc.GetProjectPath(n.ImportPath)) + if len(n.Value) > 0 { installPath += "." + n.Value } @@ -198,8 +211,14 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { if com.IsExist(installPath) { log.Trace("Skipped installed package: %s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) + + if ctx.Bool("gopath") { + copyToGopath(installPath, gopathDir) + } continue } + } else if !com.IsExist(installPath) { + doc.LocalNodes.SetValue(doc.GetProjectPath(n.ImportPath), "value", "") } if !downloadCache[n.ImportPath] { @@ -250,7 +269,11 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { // Only save non-commit node. if len(nod.Value) == 0 && len(nod.Revision) > 0 { - doc.LocalNodes.SetValue(nod.ImportPath, "value", nod.Revision) + doc.LocalNodes.SetValue(doc.GetProjectPath(nod.ImportPath), "value", nod.Revision) + } + + if ctx.Bool("gopath") { + copyToGopath(installPath, gopathDir) } } } else { @@ -275,7 +298,7 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { // Mark as donwloaded. downloadCache[nod.ImportPath] = true - nod.Revision = doc.LocalNodes.MustValue(nod.ImportPath, "value") + nod.Revision = doc.LocalNodes.MustValue(doc.GetProjectPath(nod.ImportPath), "value") imports, err := doc.PureDownload(nod, installRepoPath, ctx) //CmdGet.Flags) if err != nil { @@ -285,15 +308,6 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { os.RemoveAll(installRepoPath + "/" + doc.GetProjectPath(nod.ImportPath) + "/") return nil, nil } - - suf := "." + nod.Value - if len(suf) == 1 { - suf = "" - } - if ctx.Bool("gopath") && len(suf) > 0 { - os.RemoveAll(installRepoPath + "/" + nod.ImportPath) - os.Rename(installRepoPath+"/"+nod.ImportPath+suf, installRepoPath+"/"+nod.ImportPath) - } return nod, imports } diff --git a/doc/github.go b/doc/github.go index 96d4d8322..c7885cbd3 100644 --- a/doc/github.go +++ b/doc/github.go @@ -70,7 +70,7 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath break COMMIT_LOOP } } - if etag == nod.Revision && !ctx.Bool("gopath") { + if etag == nod.Revision { log.Log("GET Package hasn't changed: %s", nod.ImportPath) return nil, nil } diff --git a/doc/google.go b/doc/google.go index 6e95bc20f..404c33a41 100644 --- a/doc/google.go +++ b/doc/google.go @@ -64,7 +64,7 @@ func getGoogleDoc(client *http.Client, match map[string]string, installRepoPath if m := googleRevisionRe.FindSubmatch(p); m == nil { log.Error("GET", "Fail to get revision") log.Error("", err.Error()) - } else if !ctx.Bool("gopath") { + } else { etag := string(m[1]) if etag == nod.Revision { log.Log("GET Package hasn't changed: %s", nod.ImportPath) diff --git a/gopm.go b/gopm.go index 7a8e289ad..5a8dd4523 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1130" +const APP_VER = "0.5.7.1201" // //cmd.CmdSearch, // cmdClean, From b5f4b189d356561e893867beef99e420c1f21166 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 2 Dec 2013 02:52:19 -0500 Subject: [PATCH 193/287] Bug fixed --- cmd/gopath.go | 5 +---- gopm.go | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/cmd/gopath.go b/cmd/gopath.go index b5a1b264b..c7cb35f99 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -146,10 +146,7 @@ func execCmd(gopath, curPath string, args ...string) error { os.Chdir(cwd) }() - ccmd := exec.Command("cd", curPath) - ccmd.Stdout = os.Stdout - ccmd.Stderr = os.Stderr - err = ccmd.Run() + err = os.Chdir(curPath) if err != nil { log.Error("", "Fail to change work directory") log.Fatal("", err.Error()) diff --git a/gopm.go b/gopm.go index 5a8dd4523..e9e14385c 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1201" +const APP_VER = "0.5.7.1202" // //cmd.CmdSearch, // cmdClean, From 76fb6dc6b175416ce4f62f496be702cbc7f558aa Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 2 Dec 2013 06:20:56 -0500 Subject: [PATCH 194/287] Added support for XP --- cmd/helper_windows.go | 10 ++++++++++ gopm.go | 2 ++ 2 files changed, 12 insertions(+) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index 852299b93..20f9da6f1 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -2,9 +2,19 @@ package cmd import ( "os/exec" + "syscall" ) func makeLink(oldPath, newPath string) error { + // Check if Windows version is XP. + cmd := exec.Command("cmd", "/c", "mklink", "/j", newPath, oldPath) return cmd.Run() } + +func getWindowsVersion() int { + dll := syscall.MustLoadDLL("kernel32.dll") + p := dll.MustFindProc("GetVersion") + v, _, _ := p.Call() + return v +} diff --git a/gopm.go b/gopm.go index e9e14385c..ee4bb4fea 100644 --- a/gopm.go +++ b/gopm.go @@ -18,6 +18,7 @@ package main import ( "os" "runtime" + "time" "github.com/codegangsta/cli" @@ -60,5 +61,6 @@ func main() { cmd.CmdInstall, //cmd.CmdTest, } + app.Compiled = time.Now() app.Run(os.Args) } From 78ac398317c396037fd06b021919509eb2f982d7 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 2 Dec 2013 06:26:41 -0500 Subject: [PATCH 195/287] Added support for XP --- cmd/helper.go | 4 ++-- cmd/helper_windows.go | 19 +++++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/cmd/helper.go b/cmd/helper.go index aa80fc17d..bd7c6f52e 100644 --- a/cmd/helper.go +++ b/cmd/helper.go @@ -7,7 +7,7 @@ import ( "os/exec" ) -func makeLink(oldPath, newPath string) error { - cmd := exec.Command("ln", "-s", oldPath, newPath) +func makeLink(srcPath, destPath string) error { + cmd := exec.Command("ln", "-s", srcPath, destPath) return cmd.Run() } diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index 20f9da6f1..291b30a91 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -1,20 +1,31 @@ package cmd import ( + "os" "os/exec" "syscall" + + "github.com/Unknwon/com" ) -func makeLink(oldPath, newPath string) error { +func init() { +} + +func makeLink(srcPath, destPath string) error { // Check if Windows version is XP. + if getWindowsVersion() >= 6 { + cmd := exec.Command("cmd", "/c", "mklink", "/j", destPath, srcPath) + return cmd.Run() + } - cmd := exec.Command("cmd", "/c", "mklink", "/j", newPath, oldPath) - return cmd.Run() + // XP. + os.RemoveAll(destPath) + return com.CopyDir(srcPath, destPath) } func getWindowsVersion() int { dll := syscall.MustLoadDLL("kernel32.dll") p := dll.MustFindProc("GetVersion") v, _, _ := p.Call() - return v + return int(byte(v)) } From 580f906c8e766f23def696e68a1cf895d91b8777 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 2 Dec 2013 07:57:29 -0500 Subject: [PATCH 196/287] Bug fixed --- README.md | 6 +++--- cmd/bin.go | 17 ++++++++++++++--- cmd/gen.go | 2 +- cmd/get.go | 6 +++--- cmd/gopath.go | 2 +- cmd/helper_windows.go | 3 --- cmd/install.go | 2 +- gopm.go | 2 -- 8 files changed, 23 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 16d0d1912..2c9c2fce3 100644 --- a/README.md +++ b/README.md @@ -17,17 +17,17 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.5.6.1130 + 0.5.7.1202 COMMANDS: get fetch remote package(s) and dependencies to local repository bin download and link dependencies and build executable binary - gen generate a gopmfile according current go project + gen generate a gopmfile according current Go project run link dependencies and go run build link dependencies and go build install link dependencies and go install help, h Shows a list of commands or help for one command - + GLOBAL OPTIONS: --version print the version --help, -h show help diff --git a/cmd/bin.go b/cmd/bin.go index 9bee3d772..c65a91cbb 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -15,8 +15,10 @@ package cmd import ( + "fmt" "os" "path" + "runtime" "strings" "github.com/Unknwon/com" @@ -39,7 +41,7 @@ Can only specify one each time, and only works for projects that contains main package`, Action: runBin, Flags: []cli.Flag{ - cli.BoolFlag{"dir", "build binary to given directory(second argument)"}, + cli.BoolFlag{"dir, d", "build binary to given directory(second argument)"}, }, } @@ -94,7 +96,10 @@ func runBin(ctx *cli.Context) { } // Get code. - com.ExecCmd("gopm", "get", ctx.Args()[0]) + stdout, _, _ := com.ExecCmd("gopm", "get", ctx.Args()[0]) + if len(stdout) > 0 { + fmt.Print(stdout) + } // Check if previous steps were successful. pkgPath := installRepoPath + "/" + pkgName @@ -121,7 +126,10 @@ func runBin(ctx *cli.Context) { } // Build application. - com.ExecCmd("gopm", "build") + stdout, _, _ = com.ExecCmd("gopm", "build") + if len(stdout) > 0 { + fmt.Print(stdout) + } defer func() { // Clean files. os.RemoveAll(pkgPath + "/vendor") @@ -129,6 +137,9 @@ func runBin(ctx *cli.Context) { // Check if previous steps were successful. binName := path.Base(pkgName) + if runtime.GOOS == "windows" { + binName += ".exe" + } if !com.IsFile(binName) { log.Error("Bin", "Fail to continue command") log.Fatal("", "Previous steps weren't successful or the project does not contain main package") diff --git a/cmd/gen.go b/cmd/gen.go index a8b222dcc..ee3e1c5d3 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -35,7 +35,7 @@ gopm gen Make sure you run this command in the root path of a go project.`, Action: runGen, Flags: []cli.Flag{ - cli.BoolFlag{"example", "check dependencies for example(s)"}, + cli.BoolFlag{"example, e", "check dependencies for example(s)"}, }, } diff --git a/cmd/get.go b/cmd/get.go index a9c0cc087..d682e008b 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -53,9 +53,9 @@ Can specify one or more: gopm get beego@tag:v0.9.0 github.com/beego/bee If no argument is supplied, then gopmfile must be present`, Action: runGet, Flags: []cli.Flag{ - cli.BoolFlag{"gopath", "download package(s) to GOPATH"}, - cli.BoolFlag{"force", "force to update pakcage(s) and dependencies"}, - cli.BoolFlag{"example", "download dependencies for example(s)"}, + cli.BoolFlag{"gopath, g", "download package(s) to GOPATH"}, + cli.BoolFlag{"force, f", "force to update pakcage(s) and dependencies"}, + cli.BoolFlag{"example, e", "download dependencies for example(s)"}, }, } diff --git a/cmd/gopath.go b/cmd/gopath.go index c7cb35f99..93f692902 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -217,7 +217,7 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { log.Fatal("", err.Error()) } - newGoPath = filepath.Join(curPath, "vendor") + newGoPath = filepath.Join(curPath, ".vendor") newGoPathSrc := filepath.Join(newGoPath, "src") os.RemoveAll(newGoPathSrc) os.MkdirAll(newGoPathSrc, os.ModePerm) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index 291b30a91..da38f5919 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -8,9 +8,6 @@ import ( "github.com/Unknwon/com" ) -func init() { -} - func makeLink(srcPath, destPath string) error { // Check if Windows version is XP. if getWindowsVersion() >= 6 { diff --git a/cmd/install.go b/cmd/install.go index e614b3d62..0d25f4fc5 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -34,7 +34,7 @@ gopm install If no argument is supplied, then gopmfile must be present`, Action: runInstall, Flags: []cli.Flag{ - cli.BoolFlag{"verbose", "show process details"}, + cli.BoolFlag{"verbose, v", "show process details"}, }, } diff --git a/gopm.go b/gopm.go index ee4bb4fea..e9e14385c 100644 --- a/gopm.go +++ b/gopm.go @@ -18,7 +18,6 @@ package main import ( "os" "runtime" - "time" "github.com/codegangsta/cli" @@ -61,6 +60,5 @@ func main() { cmd.CmdInstall, //cmd.CmdTest, } - app.Compiled = time.Now() app.Run(os.Args) } From 66fc81d36d7e2cd33fa77189199782e278a07869 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 3 Dec 2013 14:45:49 +0800 Subject: [PATCH 197/287] add volume type fun for windows --- cmd/helper_windows.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index da38f5919..f07dcd835 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -20,6 +20,38 @@ func makeLink(srcPath, destPath string) error { return com.CopyDir(srcPath, destPath) } +func volumnType(dir string) string { + pd := dir[:3] + dll := syscall.MustLoadDLL("kernel32.dll") + GetVolumeInformation := dll.MustFindProc("GetVolumeInformationW") + + var volumeNameSize uint32 = 260 + var nFileSystemNameSize, lpVolumeSerialNumber uint32 + var lpFileSystemFlags, lpMaximumComponentLength uint32 + var lpFileSystemNameBuffer, volumeName [260]byte + var ps *uint16 = syscall.StringToUTF16Ptr(pd) + + _, _, _ = GetVolumeInformation.Call(uintptr(unsafe.Pointer(ps)), + uintptr(unsafe.Pointer(&volumeName)), + uintptr(volumeNameSize), + uintptr(unsafe.Pointer(&lpVolumeSerialNumber)), + uintptr(unsafe.Pointer(&lpMaximumComponentLength)), + uintptr(unsafe.Pointer(&lpFileSystemFlags)), + uintptr(unsafe.Pointer(&lpFileSystemNameBuffer)), + uintptr(unsafe.Pointer(&nFileSystemNameSize)), 0) + + var bytes []byte + if lpFileSystemNameBuffer[6] == 0 { + bytes = []byte{lpFileSystemNameBuffer[0], lpFileSystemNameBuffer[2], + lpFileSystemNameBuffer[4]} + } else { + bytes = []byte{lpFileSystemNameBuffer[0], lpFileSystemNameBuffer[2], + lpFileSystemNameBuffer[4], lpFileSystemNameBuffer[6]} + } + + return string(bytes) +} + func getWindowsVersion() int { dll := syscall.MustLoadDLL("kernel32.dll") p := dll.MustFindProc("GetVersion") From 737c94243a809e86eb0b210ab4bdddac87657446 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 3 Dec 2013 14:50:46 +0800 Subject: [PATCH 198/287] add volume type fun for windows --- cmd/helper_windows.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index f07dcd835..efdd29f6d 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -1,11 +1,11 @@ package cmd import ( + "github.com/Unknwon/com" "os" "os/exec" "syscall" - - "github.com/Unknwon/com" + "unsafe" ) func makeLink(srcPath, destPath string) error { From caa894764042ec763c895467c94c78898cabaaa7 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 02:31:04 -0500 Subject: [PATCH 199/287] Bug fixed --- cmd/bin.go | 28 +++++++++++++++------------- cmd/gopath.go | 4 +++- gopm.go | 2 +- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index c65a91cbb..1ec59338c 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -73,11 +73,11 @@ func runBin(ctx *cli.Context) { // Parse package version. info := ctx.Args()[0] - pkgName := info + pkgPath := info ver := "" var err error if i := strings.Index(info, "@"); i > -1 { - pkgName = info[:i] + pkgPath = info[:i] _, ver, err = validPath(info[i+1:]) if err != nil { log.Error("Bin", "Fail to parse version") @@ -86,13 +86,13 @@ func runBin(ctx *cli.Context) { } // Check package name. - if !strings.Contains(pkgName, "/") { - name, ok := doc.PackageNameList[pkgName] + if !strings.Contains(pkgPath, "/") { + name, ok := doc.PackageNameList[pkgPath] if !ok { - log.Error("Bin", "Invalid package name: "+pkgName) + log.Error("Bin", "Invalid package name: "+pkgPath) log.Fatal("", "No match in the package name list") } - pkgName = name + pkgPath = name } // Get code. @@ -102,11 +102,11 @@ func runBin(ctx *cli.Context) { } // Check if previous steps were successful. - pkgPath := installRepoPath + "/" + pkgName + repoPath := installRepoPath + "/" + pkgPath if len(ver) > 0 { - pkgPath += "." + ver + repoPath += "." + ver } - if !com.IsDir(pkgPath) { + if !com.IsDir(repoPath) { log.Error("Bin", "Fail to continue command") log.Fatal("", "Previous steps weren't successful") } @@ -118,8 +118,8 @@ func runBin(ctx *cli.Context) { } // Change to repository path. - log.Log("Changing work directory to %s", pkgPath) - err = os.Chdir(pkgPath) + log.Log("Changing work directory to %s", repoPath) + err = os.Chdir(repoPath) if err != nil { log.Error("Bin", "Fail to change work directory") log.Fatal("", err.Error()) @@ -132,14 +132,16 @@ func runBin(ctx *cli.Context) { } defer func() { // Clean files. - os.RemoveAll(pkgPath + "/vendor") + os.RemoveAll(path.Join(repoPath, VENDOR)) }() // Check if previous steps were successful. - binName := path.Base(pkgName) + binName := path.Base(pkgPath) + binPath := path.Join(VENDOR, "src", binName) if runtime.GOOS == "windows" { binName += ".exe" } + binPath = path.Join(binPath, binName) if !com.IsFile(binName) { log.Error("Bin", "Fail to continue command") log.Fatal("", "Previous steps weren't successful or the project does not contain main package") diff --git a/cmd/gopath.go b/cmd/gopath.go index 93f692902..47a6c6f50 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -15,6 +15,8 @@ import ( "github.com/gpmgo/gopm/log" ) +const VENDOR = ".vendor" + func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err error) { absPath, err := filepath.Abs(dirPath) if err != nil { @@ -217,7 +219,7 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { log.Fatal("", err.Error()) } - newGoPath = filepath.Join(curPath, ".vendor") + newGoPath = filepath.Join(curPath, VENDOR) newGoPathSrc := filepath.Join(newGoPath, "src") os.RemoveAll(newGoPathSrc) os.MkdirAll(newGoPathSrc, os.ModePerm) diff --git a/gopm.go b/gopm.go index e9e14385c..d5520bad2 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1202" +const APP_VER = "0.5.7.1203" // //cmd.CmdSearch, // cmdClean, From 37f3c015c6decded9d82ad94c0e6cb3805de7a5d Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 02:37:48 -0500 Subject: [PATCH 200/287] Bug fixed --- cmd/bin.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 1ec59338c..16f25c003 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -142,7 +142,7 @@ func runBin(ctx *cli.Context) { binName += ".exe" } binPath = path.Join(binPath, binName) - if !com.IsFile(binName) { + if !com.IsFile(binPath) { log.Error("Bin", "Fail to continue command") log.Fatal("", "Previous steps weren't successful or the project does not contain main package") } @@ -152,7 +152,7 @@ func runBin(ctx *cli.Context) { if ctx.Bool("dir") { movePath = ctx.Args()[1] } - _, err = com.Move(binName, movePath+"/"+binName) + _, err = com.Move(binPath, movePath+"/"+binName) if err != nil { log.Error("Bin", "Fail to move binary") log.Fatal("", err.Error()) From e3761fa47fff16b040ad7fb9b99edb1b4a688836 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 02:56:07 -0500 Subject: [PATCH 201/287] Bug fixed --- cmd/bin.go | 2 +- cmd/build.go | 13 ++++++++++++- cmd/gopath.go | 2 ++ cmd/helper_windows.go | 1 + 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 16f25c003..9396bdcb8 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -152,7 +152,7 @@ func runBin(ctx *cli.Context) { if ctx.Bool("dir") { movePath = ctx.Args()[1] } - _, err = com.Move(binPath, movePath+"/"+binName) + err = os.Rename(binPath, movePath+"/"+binName) if err != nil { log.Error("Bin", "Fail to move binary") log.Fatal("", err.Error()) diff --git a/cmd/build.go b/cmd/build.go index bdb763238..8d3706008 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -15,7 +15,8 @@ package cmd import ( - //"os" + "os" + "path" "github.com/codegangsta/cli" @@ -47,5 +48,15 @@ func runBuild(ctx *cli.Context) { log.Fatal("", err.Error()) } + if isWindowsXP { + binName := pkgName + ".exe" + os.Remove(binName) + err = os.Rename(path.Join(VENDOR, "src", pkgName, binName), binName) + if err != nil { + log.Error("Build", "Fail to move binary") + log.Fatal("", err.Error()) + } + } + log.Success("SUCC", "Build", "Command execute successfully!") } diff --git a/cmd/gopath.go b/cmd/gopath.go index 47a6c6f50..7d2159b4c 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -17,6 +17,8 @@ import ( const VENDOR = ".vendor" +var isWindowsXP = false + func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err error) { absPath, err := filepath.Abs(dirPath) if err != nil { diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index efdd29f6d..109aa9c89 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -16,6 +16,7 @@ func makeLink(srcPath, destPath string) error { } // XP. + isWindowsXP = true os.RemoveAll(destPath) return com.CopyDir(srcPath, destPath) } From 4951ad4cc1be87c55a68bfb9d66112eee21ad59d Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 03:03:21 -0500 Subject: [PATCH 202/287] Bug fixed --- cmd/get.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmd/get.go b/cmd/get.go index d682e008b..a53d079c8 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -80,6 +80,8 @@ func runGet(ctx *cli.Context) { installRepoPath = doc.HomeDir + "/repos" log.Log("Local repository path: %s", installRepoPath) + doc.LoadLocalNodes() + // Check number of arguments. switch len(ctx.Args()) { case 0: @@ -168,7 +170,6 @@ func getByPath(ctx *cli.Context) { nodes = append(nodes, node) } - doc.LoadLocalNodes() downloadPackages(ctx, nodes) if doc.LocalNodes != nil { From f19532ca20a2a4c7bf950c30a2b7f95a0bfed732 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 03:09:33 -0500 Subject: [PATCH 203/287] Bug fixed --- cmd/build.go | 1 - cmd/get.go | 2 -- doc/conf.go | 2 ++ 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index 8d3706008..4e557afff 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -35,7 +35,6 @@ gopm build `, } func runBuild(ctx *cli.Context) { - doc.LoadLocalNodes() genNewGoPath(ctx, false) log.Trace("Building...") diff --git a/cmd/get.go b/cmd/get.go index a53d079c8..9ec1e78e6 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -80,8 +80,6 @@ func runGet(ctx *cli.Context) { installRepoPath = doc.HomeDir + "/repos" log.Log("Local repository path: %s", installRepoPath) - doc.LoadLocalNodes() - // Check number of arguments. switch len(ctx.Args()) { case 0: diff --git a/doc/conf.go b/doc/conf.go index fbc6dc783..584d5fc2b 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -43,6 +43,8 @@ func init() { } HomeDir = strings.Replace(RawHomeDir, "~", hd, -1) + + LoadLocalNodes() } func NewGopmfile(dirPath string) *goconfig.ConfigFile { From e3946886fa207c0514d63696482c3b7866e8e6bd Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 03:12:25 -0500 Subject: [PATCH 204/287] Bug fixed --- cmd/build.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cmd/build.go b/cmd/build.go index 4e557afff..0a5a4fe96 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -20,7 +20,6 @@ import ( "github.com/codegangsta/cli" - "github.com/gpmgo/gopm/doc" "github.com/gpmgo/gopm/log" ) From e86bb84e83f79109b61cc50a844c722321bd5b1a Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 04:01:45 -0500 Subject: [PATCH 205/287] Removed dep of target for install --- .gopmfile | 8 ++++---- cmd/bin.go | 21 ++++++++++++++++++--- cmd/get.go | 4 ++-- cmd/gopath.go | 7 ------- cmd/install.go | 9 +++++---- doc/conf.go | 3 ++- 6 files changed, 31 insertions(+), 21 deletions(-) diff --git a/.gopmfile b/.gopmfile index 086c3463a..103a06e97 100644 --- a/.gopmfile +++ b/.gopmfile @@ -2,8 +2,8 @@ path=github.com/gpmgo/gopm [deps] -github.com/codegangsta/cli= -github.com/Unknwon/com= -github.com/Unknwon/goconfig= -github.com/aybabtme/color= +github.com/codegangsta/cli= +github.com/Unknwon/com= +github.com/Unknwon/goconfig= +github.com/aybabtme/color= diff --git a/cmd/bin.go b/cmd/bin.go index 9396bdcb8..9daddf3b6 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -18,6 +18,7 @@ import ( "fmt" "os" "path" + "path/filepath" "runtime" "strings" @@ -136,12 +137,26 @@ func runBin(ctx *cli.Context) { }() // Check if previous steps were successful. - binName := path.Base(pkgPath) - binPath := path.Join(VENDOR, "src", binName) + if com.IsFile(doc.GopmFileName) { + log.Trace("Loading gopmfile...") + gf := doc.NewGopmfile(".") + + var err error + pkgName, err = gf.GetValue("target", "path") + if err == nil { + log.Log("Target name: %s", pkgName) + } + } + + if len(pkgName) == 0 { + _, pkgName = filepath.Split(pkgPath) + } + + binName := path.Base(pkgName) if runtime.GOOS == "windows" { binName += ".exe" } - binPath = path.Join(binPath, binName) + binPath := path.Join(VENDOR, "src", pkgPath, binName) if !com.IsFile(binPath) { log.Error("Bin", "Fail to continue command") log.Fatal("", "Previous steps weren't successful or the project does not contain main package") diff --git a/cmd/get.go b/cmd/get.go index 9ec1e78e6..455eed0d0 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -215,9 +215,9 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { copyToGopath(installPath, gopathDir) } continue + } else { + doc.LocalNodes.SetValue(doc.GetProjectPath(n.ImportPath), "value", "") } - } else if !com.IsExist(installPath) { - doc.LocalNodes.SetValue(doc.GetProjectPath(n.ImportPath), "value", "") } if !downloadCache[n.ImportPath] { diff --git a/cmd/gopath.go b/cmd/gopath.go index 7d2159b4c..4fadd9020 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -190,13 +190,6 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { log.Fatal("", err.Error()) } - hd, err := com.HomeDir() - if err != nil { - log.Error("", "Fail to get current user") - log.Fatal("", err.Error()) - } - - doc.HomeDir = strings.Replace(doc.RawHomeDir, "~", hd, -1) installRepoPath = doc.HomeDir + "/repos" if com.IsFile(curPath + "/" + doc.GopmFileName) { diff --git a/cmd/install.go b/cmd/install.go index 0d25f4fc5..5973ba60f 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -44,14 +44,11 @@ func runInstall(ctx *cli.Context) { switch len(ctx.Args()) { case 0: if !com.IsFile(".gopmfile") { - log.Fatal("Install", "No gopmfile exist in work directory") + break } gf := doc.NewGopmfile(".") target = gf.MustValue("target", "path") - if len(target) == 0 { - log.Fatal("Install", "Cannot find target in gopmfile") - } case 1: target = ctx.Args()[0] default: @@ -60,6 +57,10 @@ func runInstall(ctx *cli.Context) { genNewGoPath(ctx, false) + if len(target) == 0 { + target = pkgName + } + log.Trace("Installing...") cmdArgs := []string{"go", "install"} diff --git a/doc/conf.go b/doc/conf.go index 584d5fc2b..82f8374e8 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -16,6 +16,7 @@ package doc import ( "os" + "path" "strings" "github.com/Unknwon/com" @@ -48,7 +49,7 @@ func init() { } func NewGopmfile(dirPath string) *goconfig.ConfigFile { - gf, err := goconfig.LoadConfigFile(dirPath + "/" + GopmFileName) + gf, err := goconfig.LoadConfigFile(path.Join(dirPath, GopmFileName)) if err != nil { log.Error("", "Fail to load gopmfile") log.Fatal("", err.Error()) From 8e42f49054003a67c801ce3c2929d401beb1fee5 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 04:12:14 -0500 Subject: [PATCH 206/287] Bug fixed --- cmd/gen.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/gen.go b/cmd/gen.go index ee3e1c5d3..fccd070df 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -58,8 +58,12 @@ func runGen(ctx *cli.Context) { } // Get dependencies. + importPath, err := gf.GetValue("target", "path") + if err != nil { + importPath = "." + } imports := doc.GetAllImports([]string{curPath}, - gf.MustValue("target", "path"), ctx.Bool("example")) + importPath, ctx.Bool("example")) for _, p := range imports { if _, err := gf.GetValue("deps", doc.GetProjectPath(p)); err != nil { From c8bb27e8c4a856bbafb2ec863cf702ab486b545c Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 04:42:23 -0500 Subject: [PATCH 207/287] Added install -pkg to only install non-main packages --- cmd/bin.go | 5 +++-- cmd/build.go | 3 ++- cmd/gopath.go | 4 +--- cmd/install.go | 36 +++++++++++++++++++++++++----------- doc/utils.go | 4 +++- 5 files changed, 34 insertions(+), 18 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 9daddf3b6..04994ae48 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -43,6 +43,7 @@ contains main package`, Action: runBin, Flags: []cli.Flag{ cli.BoolFlag{"dir, d", "build binary to given directory(second argument)"}, + cli.BoolFlag{"force, f", "force to update pakcage(s) and dependencies"}, }, } @@ -133,7 +134,7 @@ func runBin(ctx *cli.Context) { } defer func() { // Clean files. - os.RemoveAll(path.Join(repoPath, VENDOR)) + os.RemoveAll(path.Join(repoPath, doc.VENDOR)) }() // Check if previous steps were successful. @@ -156,7 +157,7 @@ func runBin(ctx *cli.Context) { if runtime.GOOS == "windows" { binName += ".exe" } - binPath := path.Join(VENDOR, "src", pkgPath, binName) + binPath := path.Join(doc.VENDOR, "src", pkgPath, binName) if !com.IsFile(binPath) { log.Error("Bin", "Fail to continue command") log.Fatal("", "Previous steps weren't successful or the project does not contain main package") diff --git a/cmd/build.go b/cmd/build.go index 0a5a4fe96..9de4d13a6 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -20,6 +20,7 @@ import ( "github.com/codegangsta/cli" + "github.com/gpmgo/gopm/doc" "github.com/gpmgo/gopm/log" ) @@ -49,7 +50,7 @@ func runBuild(ctx *cli.Context) { if isWindowsXP { binName := pkgName + ".exe" os.Remove(binName) - err = os.Rename(path.Join(VENDOR, "src", pkgName, binName), binName) + err = os.Rename(path.Join(doc.VENDOR, "src", pkgName, binName), binName) if err != nil { log.Error("Build", "Fail to move binary") log.Fatal("", err.Error()) diff --git a/cmd/gopath.go b/cmd/gopath.go index 4fadd9020..4a903ab08 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -15,8 +15,6 @@ import ( "github.com/gpmgo/gopm/log" ) -const VENDOR = ".vendor" - var isWindowsXP = false func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err error) { @@ -214,7 +212,7 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { log.Fatal("", err.Error()) } - newGoPath = filepath.Join(curPath, VENDOR) + newGoPath = filepath.Join(curPath, doc.VENDOR) newGoPathSrc := filepath.Join(newGoPath, "src") os.RemoveAll(newGoPathSrc) os.MkdirAll(newGoPathSrc, os.ModePerm) diff --git a/cmd/install.go b/cmd/install.go index 5973ba60f..5bebc736a 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -15,6 +15,8 @@ package cmd import ( + "path/filepath" + "github.com/Unknwon/com" "github.com/codegangsta/cli" @@ -35,6 +37,7 @@ If no argument is supplied, then gopmfile must be present`, Action: runInstall, Flags: []cli.Flag{ cli.BoolFlag{"verbose, v", "show process details"}, + cli.BoolFlag{"pkg, p", "only install non-main packages"}, }, } @@ -57,22 +60,33 @@ func runInstall(ctx *cli.Context) { genNewGoPath(ctx, false) - if len(target) == 0 { - target = pkgName + var installRepos []string + if ctx.Bool("pkg") { + curPath, _ := filepath.Abs(".") + installRepos = doc.GetAllImports([]string{curPath}, + ".", ctx.Bool("example")) + } else { + if len(target) == 0 { + target = pkgName + } + + installRepos = []string{target} } log.Trace("Installing...") - cmdArgs := []string{"go", "install"} + for _, repo := range installRepos { + cmdArgs := []string{"go", "install"} - if ctx.Bool("verbose") { - cmdArgs = append(cmdArgs, "-v") - } - cmdArgs = append(cmdArgs, target) - err := execCmd(newGoPath, newCurPath, cmdArgs...) - if err != nil { - log.Error("Install", "Fail to install program") - log.Fatal("", err.Error()) + if ctx.Bool("verbose") { + cmdArgs = append(cmdArgs, "-v") + } + cmdArgs = append(cmdArgs, repo) + err := execCmd(newGoPath, newCurPath, cmdArgs...) + if err != nil { + log.Error("Install", "Fail to install program") + log.Fatal("", err.Error()) + } } log.Success("SUCC", "Install", "Command execute successfully!") diff --git a/doc/utils.go b/doc/utils.go index b0daae599..7cc054e83 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -26,6 +26,8 @@ import ( "github.com/gpmgo/gopm/log" ) +const VENDOR = ".vendor" + // GetDirsInfo returns os.FileInfo of all sub-directories in root path. func GetDirsInfo(rootPath string) []os.FileInfo { rootDir, err := os.Open(rootPath) @@ -59,7 +61,7 @@ func GetImports(absPath, importPath string, example bool) []string { dirs := make([]string, 0) for _, fi := range fis { - if fi.IsDir() { + if fi.IsDir() && !strings.Contains(fi.Name(), VENDOR) { dirs = append(dirs, absPath+fi.Name()) } } From 22115b55f75b6eb3d908ea24706a371762ac4490 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 3 Dec 2013 18:25:27 +0800 Subject: [PATCH 208/287] add update command: need verified --- .gitignore | 1 + cmd/update.go | 195 ++++++++++++++++++++++++++++++++++++++++++++++++++ gopm.go | 1 + 3 files changed, 197 insertions(+) create mode 100644 cmd/update.go diff --git a/.gitignore b/.gitignore index 3b09fc2d3..a02904461 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ gopm *.exe~ repos/ vendor/ +.vendor/ diff --git a/cmd/update.go b/cmd/update.go new file mode 100644 index 000000000..646f5ad79 --- /dev/null +++ b/cmd/update.go @@ -0,0 +1,195 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + "fmt" + "os" + "os/exec" + "path" + "path/filepath" + "runtime" + "strings" + + "github.com/Unknwon/com" + "github.com/codegangsta/cli" + + "github.com/gpmgo/gopm/doc" + "github.com/gpmgo/gopm/log" +) + +var CmdUpdate = cli.Command{ + Name: "update", + Usage: "update self", + Description: `Command bin downloads and links dependencies according to gopmfile, +and build executable binary to work directory + +gopm update + +Can only specify one each time, and only works for projects that +contains main package`, + Action: runUpdate, +} + +func exePath() string { + file, _ := exec.LookPath(os.Args[0]) + path, _ := filepath.Abs(file) + return path +} + +func runUpdate(ctx *cli.Context) { + doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") + + installRepoPath = doc.HomeDir + "/repos" + + // Check arguments. + num := 0 + + if len(ctx.Args()) != num { + log.Error("Update", "Fail to start command") + log.Fatal("", "Invalid argument number") + } + + // Parse package version. + info := "github.com/gpmgo/gopm" + pkgPath := info + ver := "" + var err error + if i := strings.Index(info, "@"); i > -1 { + pkgPath = info[:i] + _, ver, err = validPath(info[i+1:]) + if err != nil { + log.Error("Update", "Fail to parse version") + log.Fatal("", err.Error()) + } + } + + // Check package name. + if !strings.Contains(pkgPath, "/") { + name, ok := doc.PackageNameList[pkgPath] + if !ok { + log.Error("Update", "Invalid package name: "+pkgPath) + log.Fatal("", "No match in the package name list") + } + pkgPath = name + } + + // Get code. + stdout, _, _ := com.ExecCmd("gopm", "get", info) + if len(stdout) > 0 { + fmt.Print(stdout) + } + + // Check if previous steps were successful. + repoPath := installRepoPath + "/" + pkgPath + if len(ver) > 0 { + repoPath += "." + ver + } + if !com.IsDir(repoPath) { + log.Error("Bin", "Fail to continue command") + log.Fatal("", "Previous steps weren't successful") + } + + wd, err := os.Getwd() + if err != nil { + log.Error("Bin", "Fail to get work directory") + log.Fatal("", err.Error()) + } + + // Change to repository path. + log.Log("Changing work directory to %s", repoPath) + err = os.Chdir(repoPath) + if err != nil { + log.Error("Bin", "Fail to change work directory") + log.Fatal("", err.Error()) + } + + // Build application. + stdout, _, _ = com.ExecCmd("gopm", "build") + if len(stdout) > 0 { + fmt.Print(stdout) + } + defer func() { + // Clean files. + os.RemoveAll(path.Join(repoPath, VENDOR)) + }() + + // Check if previous steps were successful. + if com.IsFile(doc.GopmFileName) { + log.Trace("Loading gopmfile...") + gf := doc.NewGopmfile(".") + + var err error + pkgName, err = gf.GetValue("target", "path") + if err == nil { + log.Log("Target name: %s", pkgName) + } + } + + if len(pkgName) == 0 { + _, pkgName = filepath.Split(pkgPath) + } + + binName := path.Base(pkgName) + if runtime.GOOS == "windows" { + binName += ".exe" + } + binPath := path.Join(VENDOR, "src", pkgPath, binName) + if !com.IsFile(binPath) { + log.Error("Update", "Fail to continue command") + log.Fatal("", "Previous steps weren't successful or the project does not contain main package") + } + + movePath := exePath() + fmt.Print(movePath) + + // Move binary to given directory. + if runtime.GOOS != "windows" { + err = os.Rename(binPath, movePath) + if err != nil { + log.Error("Update", "Fail to move binary") + log.Fatal("", err.Error()) + } + os.Chmod(movePath+"/"+binName, os.ModePerm) + } else { + batPath := filepath.Join(wd, "a.bat") + f, err := os.Create(batPath) + if err != nil { + log.Error("Update", "Fail to generate bat file") + log.Fatal("", err.Error()) + } + f.WriteString(fmt.Sprintf(`ping -n 1 127.0.0.1>nul\ncopy "%v" "%v"\ndel "%v"`, + binPath, movePath, binPath)) + f.Close() + + attr := &os.ProcAttr{ + Dir: wd, + Env: os.Environ(), + //Files: []*os.File{nil, nil, nil}, + Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}, + } + + _, err = os.StartProcess(batPath, []string{"a.bat"}, attr) + if err != nil { + log.Error("Update", "Fail to start bat process") + log.Fatal("", err.Error()) + } + } + + log.Log("Changing work directory back to %s", wd) + os.Chdir(wd) + + log.Success("SUCC", "Update", "Command execute successfully!") +} diff --git a/gopm.go b/gopm.go index d5520bad2..a89bccbc5 100644 --- a/gopm.go +++ b/gopm.go @@ -58,6 +58,7 @@ func main() { cmd.CmdRun, cmd.CmdBuild, cmd.CmdInstall, + //cmd.CmdUpdate, //cmd.CmdTest, } app.Run(os.Args) From 6eafc83fe514d0388df69120985a482706823f93 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 3 Dec 2013 18:27:20 +0800 Subject: [PATCH 209/287] add update command: need verified --- cmd/update.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/update.go b/cmd/update.go index 646f5ad79..205ed4acd 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -123,7 +123,7 @@ func runUpdate(ctx *cli.Context) { } defer func() { // Clean files. - os.RemoveAll(path.Join(repoPath, VENDOR)) + os.RemoveAll(path.Join(repoPath, doc.VENDOR)) }() // Check if previous steps were successful. @@ -146,7 +146,7 @@ func runUpdate(ctx *cli.Context) { if runtime.GOOS == "windows" { binName += ".exe" } - binPath := path.Join(VENDOR, "src", pkgPath, binName) + binPath := path.Join(doc.VENDOR, "src", pkgPath, binName) if !com.IsFile(binPath) { log.Error("Update", "Fail to continue command") log.Fatal("", "Previous steps weren't successful or the project does not contain main package") From 013f6140edfee042ff34e4149e795f18b65e86e6 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 3 Dec 2013 21:25:59 +0800 Subject: [PATCH 210/287] update add del batch file after update --- cmd/update.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/update.go b/cmd/update.go index 205ed4acd..d72a1ddb1 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -170,8 +170,8 @@ func runUpdate(ctx *cli.Context) { log.Error("Update", "Fail to generate bat file") log.Fatal("", err.Error()) } - f.WriteString(fmt.Sprintf(`ping -n 1 127.0.0.1>nul\ncopy "%v" "%v"\ndel "%v"`, - binPath, movePath, binPath)) + f.WriteString(fmt.Sprintf(`ping -n 1 127.0.0.1>nul\ncopy "%v" "%v"\ndel "%v"\ndel "%v"`, + binPath, movePath, binPath, batPath)) f.Close() attr := &os.ProcAttr{ From 31245fdd404fe940a950f567d45cb550db3aaf9f Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 22:19:08 -0500 Subject: [PATCH 211/287] Improved get, bin, gen --- .gopmfile | 2 +- cmd/bin.go | 65 +++++++++------------ cmd/gen.go | 14 ++--- cmd/get.go | 139 ++++++++++++++++++++++++++------------------- cmd/gopath.go | 4 +- cmd/run.go | 1 + cmd/test.go | 1 + cmd/update.go | 2 +- doc/conf.go | 24 ++++++-- doc/struct.go | 10 ++-- log/log.go | 7 +++ log/log_windows.go | 1 + 12 files changed, 156 insertions(+), 114 deletions(-) diff --git a/.gopmfile b/.gopmfile index 103a06e97..a19877d1b 100644 --- a/.gopmfile +++ b/.gopmfile @@ -5,5 +5,5 @@ path=github.com/gpmgo/gopm github.com/codegangsta/cli= github.com/Unknwon/com= github.com/Unknwon/goconfig= -github.com/aybabtme/color= +github.com/aybabtme/color= diff --git a/cmd/bin.go b/cmd/bin.go index 04994ae48..2a21c189c 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -49,12 +49,10 @@ contains main package`, func runBin(ctx *cli.Context) { if len(ctx.Args()) == 0 { - log.Error("Bin", "Fail to start command") - log.Fatal("", "No package specified") + log.Error("bin", "Cannot start command:") + log.Fatal("", "\tNo package specified") } - doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") - installRepoPath = doc.HomeDir + "/repos" // Check arguments. @@ -63,14 +61,14 @@ func runBin(ctx *cli.Context) { num = 2 } if len(ctx.Args()) != num { - log.Error("Bin", "Fail to start command") - log.Fatal("", "Invalid argument number") + log.Error("bin", "Cannot start command:") + log.Fatal("", "\tMissing indicated path to build binary") } // Check if given directory exists. if ctx.Bool("dir") && !com.IsDir(ctx.Args()[1]) { - log.Error("Bin", "Fail to start command") - log.Fatal("", "Given directory does not exist") + log.Error("bin", "Cannot start command:") + log.Fatal("", "\tIndicated path does not exist or is not a directory") } // Parse package version. @@ -82,49 +80,43 @@ func runBin(ctx *cli.Context) { pkgPath = info[:i] _, ver, err = validPath(info[i+1:]) if err != nil { - log.Error("Bin", "Fail to parse version") - log.Fatal("", err.Error()) + log.Error("bin", "Cannot parse package version") + log.Error("", err.Error()+":") + log.Error("", "\t"+info[i+1:]) + log.Help("Try 'gopm help get' to get more information") } } // Check package name. if !strings.Contains(pkgPath, "/") { - name, ok := doc.PackageNameList[pkgPath] - if !ok { - log.Error("Bin", "Invalid package name: "+pkgPath) - log.Fatal("", "No match in the package name list") - } - pkgPath = name + pkgPath = doc.GetPkgFullPath(pkgPath) } // Get code. - stdout, _, _ := com.ExecCmd("gopm", "get", ctx.Args()[0]) + stdout, _, _ := com.ExecCmd("gopm", "get", "-r", ctx.Args()[0]) if len(stdout) > 0 { fmt.Print(stdout) } // Check if previous steps were successful. - repoPath := installRepoPath + "/" + pkgPath - if len(ver) > 0 { - repoPath += "." + ver - } + repoPath := installRepoPath + "/" + pkgPath + versionSuffix(ver) if !com.IsDir(repoPath) { - log.Error("Bin", "Fail to continue command") - log.Fatal("", "Previous steps weren't successful") + log.Error("bin", "Cannot continue command:") + log.Fatal("", "\tPrevious steps weren't successful") } wd, err := os.Getwd() if err != nil { - log.Error("Bin", "Fail to get work directory") - log.Fatal("", err.Error()) + log.Error("bin", "Cannot get work directory:") + log.Fatal("", "\t"+err.Error()) } // Change to repository path. log.Log("Changing work directory to %s", repoPath) err = os.Chdir(repoPath) if err != nil { - log.Error("Bin", "Fail to change work directory") - log.Fatal("", err.Error()) + log.Error("bin", "Fail to change work directory:") + log.Fatal("", "\t"+err.Error()) } // Build application. @@ -134,11 +126,11 @@ func runBin(ctx *cli.Context) { } defer func() { // Clean files. - os.RemoveAll(path.Join(repoPath, doc.VENDOR)) + //os.RemoveAll(path.Join(repoPath, doc.VENDOR)) }() // Check if previous steps were successful. - if com.IsFile(doc.GopmFileName) { + if com.IsFile(doc.GOPM_FILE_NAME) { log.Trace("Loading gopmfile...") gf := doc.NewGopmfile(".") @@ -157,10 +149,9 @@ func runBin(ctx *cli.Context) { if runtime.GOOS == "windows" { binName += ".exe" } - binPath := path.Join(doc.VENDOR, "src", pkgPath, binName) - if !com.IsFile(binPath) { - log.Error("Bin", "Fail to continue command") - log.Fatal("", "Previous steps weren't successful or the project does not contain main package") + if !com.IsFile(binName) { + log.Error("bin", "Cannot continue command:") + log.Fatal("", "\tPrevious steps weren't successful or the project does not contain main package") } // Move binary to given directory. @@ -168,15 +159,15 @@ func runBin(ctx *cli.Context) { if ctx.Bool("dir") { movePath = ctx.Args()[1] } - err = os.Rename(binPath, movePath+"/"+binName) + err = os.Rename(binName, movePath+"/"+binName) if err != nil { - log.Error("Bin", "Fail to move binary") - log.Fatal("", err.Error()) + log.Error("bin", "Fail to move binary:") + log.Fatal("", "\t"+err.Error()) } os.Chmod(movePath+"/"+binName, os.ModePerm) log.Log("Changing work directory back to %s", wd) os.Chdir(wd) - log.Success("SUCC", "Bin", "Command execute successfully!") + log.Success("SUCC", "bin", "Command execute successfully!") } diff --git a/cmd/gen.go b/cmd/gen.go index fccd070df..0b01cccc7 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -47,14 +47,14 @@ func runGen(ctx *cli.Context) { gf, err := goconfig.LoadConfigFile(".gopmfile") if err != nil { - log.Error("Gen", "Fail to load gopmfile") - log.Fatal("", err.Error()) + log.Error("gen", "Cannot load gopmfile:") + log.Fatal("", "\t"+err.Error()) } curPath, err := os.Getwd() if err != nil { - log.Error("Gen", "Fail to get work directory") - log.Fatal("", err.Error()) + log.Error("gen", "Cannot get work directory:") + log.Fatal("", "\t"+err.Error()) } // Get dependencies. @@ -73,9 +73,9 @@ func runGen(ctx *cli.Context) { err = goconfig.SaveConfigFile(gf, ".gopmfile") if err != nil { - log.Error("Gen", "Fail to save gopmfile") - log.Fatal("", err.Error()) + log.Error("gen", "Fail to save gopmfile:") + log.Fatal("", "\t"+err.Error()) } - log.Success("SUCC", "Gen", "Generate gopmfile successfully!") + log.Success("SUCC", "gen", "Generate gopmfile successfully!") } diff --git a/cmd/get.go b/cmd/get.go index 455eed0d0..7a636c7c9 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -31,8 +31,8 @@ import ( ) var ( - installRepoPath string - installGopath string + installRepoPath string // The path of gopm local repository. + installGopath string // The first path in the GOPATH. downloadCache map[string]bool // Saves packages that have been downloaded. downloadCount int failConut int @@ -41,7 +41,7 @@ var ( var CmdGet = cli.Command{ Name: "get", Usage: "fetch remote package(s) and dependencies to local repository", - Description: `Command get fetches a package, and any pakcages that it depents on. + Description: `Command get fetches a package, and any pakcage that it depents on. If the package has a gopmfile, the fetch process will be driven by that. gopm get @@ -50,12 +50,16 @@ gopm get @[:] Can specify one or more: gopm get beego@tag:v0.9.0 github.com/beego/bee -If no argument is supplied, then gopmfile must be present`, +If no argument is supplied, then gopmfile must be present. +If no version specified and package exists in GOPATH, +it will be skipped unless user enabled '--remote, -r' option +then all the packages go into gopm local repository.`, Action: runGet, Flags: []cli.Flag{ - cli.BoolFlag{"gopath, g", "download package(s) to GOPATH"}, + cli.BoolFlag{"gopath, g", "download all pakcages to GOPATH"}, cli.BoolFlag{"force, f", "force to update pakcage(s) and dependencies"}, - cli.BoolFlag{"example, e", "download dependencies for example(s)"}, + cli.BoolFlag{"example, e", "download dependencies for example folder"}, + cli.BoolFlag{"remote, r", "download all pakcages to gopm local repository"}, }, } @@ -64,19 +68,26 @@ func init() { } func runGet(ctx *cli.Context) { - doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") - - if ctx.Bool("gopath") { - installGopath = com.GetGOPATHs()[0] - if !com.IsDir(installGopath) { - log.Error("Get", "Fail to start command") - log.Fatal("", "GOPATH does not exist: "+installGopath) - } - log.Log("Indicate GOPATH: %s", installGopath) + // Check conflicts. + if ctx.Bool("gopath") && ctx.Bool("remote") { + log.Error("get", "Command options have conflicts") + log.Error("", "Following options are not supposed to use at same time:") + log.Error("", "\t'--gopath, -g' '--remote, -r'") + log.Help("Try 'gopm help get' to get more information") + } - installGopath += "/src" + // Get GOPATH. + installGopath = com.GetGOPATHs()[0] + if !com.IsDir(installGopath) { + log.Error("get", "Invalid GOPATH path") + log.Error("", "GOPATH does not exist or is not a directory:") + log.Error("", "\t"+installGopath) + log.Help("Try 'go help gopath' to get more information") } + log.Log("Indicated GOPATH: %s", installGopath) + installGopath += "/src" + // The gopm local repository. installRepoPath = doc.HomeDir + "/repos" log.Log("Local repository path: %s", installRepoPath) @@ -92,15 +103,20 @@ func runGet(ctx *cli.Context) { func getByGopmfile(ctx *cli.Context) { if !com.IsFile(".gopmfile") { - log.Fatal("Get", "No argument is supplied and no gopmfile exist") + log.Error("get", "Gopmfile not found") + log.Error("", "No argument is supplied and no gopmfile exists") + log.Help("\n%s\n%s\n%s", + "Work directory is supposed to have gopmfile when there is no argument supplied", + "Try 'gopm gen' to auto-generate gopmfile", + "Try 'gopm help gen' to get more information") } gf := doc.NewGopmfile(".") absPath, err := filepath.Abs(".") if err != nil { - log.Error("Get", "Fail to get absolute path of work directory") - log.Fatal("", err.Error()) + log.Error("get", "Fail to get absolute path of work directory") + log.Fatal("", "\t"+err.Error()) } log.Log("Work directory: %s", absPath) @@ -117,8 +133,10 @@ func getByGopmfile(ctx *cli.Context) { if v, err := gf.GetValue("deps", p); err == nil && len(v) > 0 { tp, ver, err := validPath(v) if err != nil { - log.Error("", "Fail to parse version") - log.Fatal("", err.Error()) + log.Error("get", "Cannot parse dependency version") + log.Error("", err.Error()+":") + log.Error("", "\t"+v) + log.Help("Try 'gopm help get' to get more information") } node.Type = tp node.Value = ver @@ -131,7 +149,8 @@ func getByGopmfile(ctx *cli.Context) { if doc.LocalNodes != nil { if err := goconfig.SaveConfigFile(doc.LocalNodes, doc.HomeDir+doc.LocalNodesFile); err != nil { - log.Error("Get", "Fail to save localnodes.list") + log.Error("get", "Fail to save localnodes.list:") + log.Error("", "\t"+err.Error()) } } @@ -142,27 +161,24 @@ func getByGopmfile(ctx *cli.Context) { func getByPath(ctx *cli.Context) { nodes := make([]*doc.Node, 0, len(ctx.Args())) for _, info := range ctx.Args() { - pkgName := info - node := doc.NewNode(pkgName, pkgName, doc.BRANCH, "", true) + pkgPath := info + node := doc.NewNode(pkgPath, pkgPath, doc.BRANCH, "", true) if i := strings.Index(info, "@"); i > -1 { - pkgName = info[:i] + pkgPath = info[:i] tp, ver, err := validPath(info[i+1:]) if err != nil { - log.Error("Get", "Fail to parse version") - log.Fatal("", err.Error()) + log.Error("get", "Cannot parse dependency version") + log.Error("", err.Error()+":") + log.Error("", "\t"+info[i+1:]) + log.Help("Try 'gopm help get' to get more information") } - node = doc.NewNode(pkgName, pkgName, tp, ver, true) + node = doc.NewNode(pkgPath, pkgPath, tp, ver, true) } // Check package name. - if !strings.Contains(pkgName, "/") { - name, ok := doc.PackageNameList[pkgName] - if !ok { - log.Error("Get", "Invalid package name: "+pkgName) - log.Fatal("", "No match in the package name list") - } - pkgName = name + if !strings.Contains(pkgPath, "/") { + pkgPath = doc.GetPkgFullPath(pkgPath) } nodes = append(nodes, node) @@ -173,7 +189,8 @@ func getByPath(ctx *cli.Context) { if doc.LocalNodes != nil { if err := goconfig.SaveConfigFile(doc.LocalNodes, doc.HomeDir+doc.LocalNodesFile); err != nil { - log.Error("Get", "Fail to save localnodes.list") + log.Error("get", "Fail to save localnodes.list:") + log.Error("", "\t"+err.Error()) } } @@ -182,12 +199,11 @@ func getByPath(ctx *cli.Context) { } func copyToGopath(srcPath, destPath string) { - fmt.Println(destPath) os.RemoveAll(destPath) err := com.CopyDir(srcPath, destPath) if err != nil { - log.Error("Download", "Fail to copy to GOPATH") - log.Fatal("", err.Error()) + log.Error("download", "Fail to copy to GOPATH:") + log.Fatal("", "\t"+err.Error()) } } @@ -200,14 +216,14 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { // Check if it is a valid remote path. if doc.IsValidRemotePath(n.ImportPath) { gopathDir := path.Join(installGopath, n.ImportPath) - installPath := path.Join(installRepoPath, doc.GetProjectPath(n.ImportPath)) - if len(n.Value) > 0 { - installPath += "." + n.Value - } + n.RootPath = doc.GetProjectPath(n.ImportPath) + installPath := path.Join(installRepoPath, n.RootPath) + + versionSuffix(n.Value) if !ctx.Bool("force") { // Check if package has been downloaded. - if com.IsExist(installPath) { + if (len(n.Value) == 0 && !ctx.Bool("remote") && com.IsExist(gopathDir)) || + com.IsExist(installPath) { log.Trace("Skipped installed package: %s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) @@ -216,22 +232,22 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { } continue } else { - doc.LocalNodes.SetValue(doc.GetProjectPath(n.ImportPath), "value", "") + doc.LocalNodes.SetValue(n.RootPath, "value", "") } } - if !downloadCache[n.ImportPath] { + if !downloadCache[n.RootPath] { // Download package. nod, imports := downloadPackage(ctx, n) if len(imports) > 0 { var gf *goconfig.ConfigFile // Check if has gopmfile - if com.IsFile(installPath + "/" + doc.GopmFileName) { + if com.IsFile(installPath + "/" + doc.GOPM_FILE_NAME) { log.Log("Found gopmgile: %s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) - gf = doc.NewGopmfile(installPath /* + "/.gopmfile"*/) + gf = doc.NewGopmfile(installPath) } // Need to download dependencies. @@ -249,8 +265,10 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { len(v) > 0 { tp, ver, err := validPath(v) if err != nil { - log.Error("Download", "Fail to parse version") - log.Fatal("", err.Error()) + log.Error("download", "Cannot parse dependency version") + log.Error("", err.Error()+":") + log.Error("", "\t"+v) + log.Help("Try 'gopm help get' to get more information") } nodes[i].Type = tp nodes[i].Value = ver @@ -268,7 +286,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { // Only save non-commit node. if len(nod.Value) == 0 && len(nod.Revision) > 0 { - doc.LocalNodes.SetValue(doc.GetProjectPath(nod.ImportPath), "value", nod.Revision) + doc.LocalNodes.SetValue(nod.RootPath, "value", nod.Revision) } if ctx.Bool("gopath") { @@ -283,7 +301,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { continue } else { // Invalid import path. - log.Error("", "Skipped invalid package: "+fmt.Sprintf("%s@%s:%s", + log.Error("download", "Skipped invalid package: "+fmt.Sprintf("%s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value))) failConut++ } @@ -297,14 +315,14 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { // Mark as donwloaded. downloadCache[nod.ImportPath] = true - nod.Revision = doc.LocalNodes.MustValue(doc.GetProjectPath(nod.ImportPath), "value") + nod.Revision = doc.LocalNodes.MustValue(nod.RootPath, "value") imports, err := doc.PureDownload(nod, installRepoPath, ctx) //CmdGet.Flags) if err != nil { - log.Error("Get", "Fail to download pakage: "+nod.ImportPath) - log.Error("", err.Error()) + log.Error("get", "Fail to download pakage: "+nod.ImportPath) + log.Error("", "\t"+err.Error()) failConut++ - os.RemoveAll(installRepoPath + "/" + doc.GetProjectPath(nod.ImportPath) + "/") + os.RemoveAll(installRepoPath + "/" + nod.RootPath) return nil, nil } return nod, imports @@ -312,7 +330,7 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { // validPath checks if the information of the package is valid. func validPath(info string) (string, string, error) { - infos := strings.SplitN(info, ":", 2) + infos := strings.Split(info, ":") l := len(infos) switch { @@ -328,3 +346,10 @@ func validPath(info string) (string, string, error) { return "", "", errors.New("Invalid version information") } } + +func versionSuffix(value string) string { + if len(value) > 0 { + return "." + value + } + return "" +} diff --git a/cmd/gopath.go b/cmd/gopath.go index 4a903ab08..f6599b27d 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -26,7 +26,7 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err var builds map[string]string - if com.IsFile(absPath + "/" + doc.GopmFileName) { + if com.IsFile(absPath + "/" + doc.GOPM_FILE_NAME) { gf := doc.NewGopmfile(absPath) if builds, err = gf.GetSection("deps"); err != nil { @@ -190,7 +190,7 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { installRepoPath = doc.HomeDir + "/repos" - if com.IsFile(curPath + "/" + doc.GopmFileName) { + if com.IsFile(curPath + "/" + doc.GOPM_FILE_NAME) { log.Trace("Loading gopmfile...") gf := doc.NewGopmfile(curPath) diff --git a/cmd/run.go b/cmd/run.go index faa070e4a..5705782fe 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -16,6 +16,7 @@ package cmd import ( "github.com/codegangsta/cli" + "github.com/gpmgo/gopm/log" ) diff --git a/cmd/test.go b/cmd/test.go index 71308d884..74e837aec 100644 --- a/cmd/test.go +++ b/cmd/test.go @@ -16,6 +16,7 @@ package cmd import ( "github.com/codegangsta/cli" + "github.com/gpmgo/gopm/log" ) diff --git a/cmd/update.go b/cmd/update.go index d72a1ddb1..db592e65a 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -127,7 +127,7 @@ func runUpdate(ctx *cli.Context) { }() // Check if previous steps were successful. - if com.IsFile(doc.GopmFileName) { + if com.IsFile(doc.GOPM_FILE_NAME) { log.Trace("Loading gopmfile...") gf := doc.NewGopmfile(".") diff --git a/doc/conf.go b/doc/conf.go index 82f8374e8..64def7765 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -17,6 +17,7 @@ package doc import ( "os" "path" + "path/filepath" "strings" "github.com/Unknwon/com" @@ -26,8 +27,8 @@ import ( ) const ( - GopmFileName = ".gopmfile" - RawHomeDir = "~/.gopm" + GOPM_FILE_NAME = ".gopmfile" + RawHomeDir = "~/.gopm" ) var ( @@ -46,13 +47,16 @@ func init() { HomeDir = strings.Replace(RawHomeDir, "~", hd, -1) LoadLocalNodes() + LoadPkgNameList(HomeDir + "/data/pkgname.list") } +// NewGopmfile loads gopmgile in given directory. func NewGopmfile(dirPath string) *goconfig.ConfigFile { - gf, err := goconfig.LoadConfigFile(path.Join(dirPath, GopmFileName)) + dirPath, _ = filepath.Abs(dirPath) + gf, err := goconfig.LoadConfigFile(path.Join(dirPath, GOPM_FILE_NAME)) if err != nil { - log.Error("", "Fail to load gopmfile") - log.Fatal("", err.Error()) + log.Error("", "Fail to load gopmfile:") + log.Fatal("", "\t"+err.Error()) } return gf } @@ -85,6 +89,16 @@ func LoadPkgNameList(filePath string) { } } +func GetPkgFullPath(short string) string { + name, ok := PackageNameList[short] + if !ok { + log.Error("", "Invalid package name") + log.Error("", "No match in the package name list:") + log.Fatal("", "\t"+short) + } + return name +} + func LoadLocalNodes() { if !com.IsDir(HomeDir + "/data") { os.MkdirAll(HomeDir+"/data", os.ModePerm) diff --git a/doc/struct.go b/doc/struct.go index f1ad2d4b4..f92151618 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -36,6 +36,7 @@ const ( type Pkg struct { ImportPath string + RootPath string Type string Value string // Branch, tag or commit. } @@ -48,7 +49,7 @@ func (pkg *Pkg) VerString() string { } func NewPkg(importPath, tp, value string) *Pkg { - return &Pkg{importPath, tp, value} + return &Pkg{importPath, "", tp, value} } func NewDefaultPkg(importPath string) *Pkg { @@ -65,9 +66,10 @@ type Node struct { func NewNode(importPath, downloadUrl, tp, value string, isGetDeps bool) *Node { return &Node{ - Pkg: Pkg{ImportPath: importPath, - Type: tp, - Value: value, + Pkg: Pkg{ + ImportPath: importPath, + Type: tp, + Value: value, }, DownloadURL: downloadUrl, IsGetDeps: isGetDeps, diff --git a/log/log.go b/log/log.go index 9c445ae61..07d2be159 100644 --- a/log/log.go +++ b/log/log.go @@ -14,6 +14,7 @@ // +build !windows +// Package log provides npm-like style log output. package log import ( @@ -58,3 +59,9 @@ func Message(hl, msg string) { } fmt.Printf("gopm %s%s %s\n", brush.Yellow("MSG!"), hl, msg) } + +func Help(format string, args ...interface{}) { + fmt.Printf("gopm %s %s\n", brush.Cyan("HELP"), + fmt.Sprintf(format, args...)) + os.Exit(2) +} diff --git a/log/log_windows.go b/log/log_windows.go index 0c180263b..fcfa4174a 100644 --- a/log/log_windows.go +++ b/log/log_windows.go @@ -12,6 +12,7 @@ // License for the specific language governing permissions and limitations // under the License. +// Package log provides npm-like style log output. package log import ( From a16adffbddfe76a6efe99f346efb15ecaa07a720 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 3 Dec 2013 23:27:14 -0500 Subject: [PATCH 212/287] Compatable with GOPATH --- cmd/build.go | 14 ++++++++++ cmd/get.go | 22 ++++++++-------- cmd/gopath.go | 69 +++++++++++++++++++++++++++----------------------- cmd/install.go | 21 ++++++++++++--- cmd/run.go | 20 ++++++++++++--- 5 files changed, 98 insertions(+), 48 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index 9de4d13a6..e0ec71ce2 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -18,6 +18,7 @@ import ( "os" "path" + "github.com/Unknwon/com" "github.com/codegangsta/cli" "github.com/gpmgo/gopm/doc" @@ -35,6 +36,19 @@ gopm build `, } func runBuild(ctx *cli.Context) { + if !ctx.Bool("remote") { + // Get GOPATH. + installGopath = com.GetGOPATHs()[0] + if !com.IsDir(installGopath) { + log.Error("build", "Invalid GOPATH path") + log.Error("", "GOPATH does not exist or is not a directory:") + log.Error("", "\t"+installGopath) + log.Help("Try 'go help gopath' to get more information") + } + log.Log("Indicated GOPATH: %s", installGopath) + installGopath += "/src" + } + genNewGoPath(ctx, false) log.Trace("Building...") diff --git a/cmd/get.go b/cmd/get.go index 7a636c7c9..8d88fbcb9 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -76,16 +76,18 @@ func runGet(ctx *cli.Context) { log.Help("Try 'gopm help get' to get more information") } - // Get GOPATH. - installGopath = com.GetGOPATHs()[0] - if !com.IsDir(installGopath) { - log.Error("get", "Invalid GOPATH path") - log.Error("", "GOPATH does not exist or is not a directory:") - log.Error("", "\t"+installGopath) - log.Help("Try 'go help gopath' to get more information") + if !ctx.Bool("remote") { + // Get GOPATH. + installGopath = com.GetGOPATHs()[0] + if !com.IsDir(installGopath) { + log.Error("get", "Invalid GOPATH path") + log.Error("", "GOPATH does not exist or is not a directory:") + log.Error("", "\t"+installGopath) + log.Help("Try 'go help gopath' to get more information") + } + log.Log("Indicated GOPATH: %s", installGopath) + installGopath += "/src" } - log.Log("Indicated GOPATH: %s", installGopath) - installGopath += "/src" // The gopm local repository. installRepoPath = doc.HomeDir + "/repos" @@ -236,7 +238,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { } } - if !downloadCache[n.RootPath] { + if !downloadCache[n.ImportPath] { // Download package. nod, imports := downloadPackage(ctx, n) if len(imports) > 0 { diff --git a/cmd/gopath.go b/cmd/gopath.go index f6599b27d..066047fdf 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -1,11 +1,13 @@ package cmd import ( + "errors" "fmt" "go/build" "os" "os/exec" "path/filepath" + "runtime" "strings" "github.com/Unknwon/com" @@ -20,8 +22,8 @@ var isWindowsXP = false func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err error) { absPath, err := filepath.Abs(dirPath) if err != nil { - log.Error("", "Fail to get absolute path of work directory") - log.Fatal("", err.Error()) + log.Error("", "Fail to get absolute path of work directory:") + log.Fatal("", "\t"+err.Error()) } var builds map[string]string @@ -36,7 +38,7 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err pkg, err := build.ImportDir(dirPath, build.AllowBinary) if err != nil { - return map[string]*doc.Pkg{}, err + return map[string]*doc.Pkg{}, errors.New("Fail to get imports: " + err.Error()) } pkgs = make(map[string]*doc.Pkg) @@ -82,20 +84,24 @@ func autoLink(oldPath, newPath string) error { } func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg, isTest bool) error { - pkgs, err := getGopmPkgs(cpath, isTest) + var suf string + if ppkg != nil { + suf = versionSuffix(ppkg.Value) + } + pkgs, err := getGopmPkgs(cpath+suf, isTest) if err != nil { - return err + return errors.New("Fail to get gopmfile deps: " + err.Error()) } for name, pkg := range pkgs { if !pkgInCache(name, cachePkgs) { var newPath string if !build.IsLocalImport(name) { - suf := "." + pkg.Value - if len(suf) == 1 { - suf = "" - } + suf := versionSuffix(pkg.Value) newPath = filepath.Join(installRepoPath, pkg.ImportPath) + if len(pkg.Value) == 0 && !ctx.Bool("remote") { + newPath = filepath.Join(installGopath, pkg.ImportPath) + } if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]+suf) } else { @@ -133,15 +139,15 @@ var newGoPath string func execCmd(gopath, curPath string, args ...string) error { cwd, err := os.Getwd() if err != nil { - log.Error("", "Fail to get work directory") - log.Fatal("", err.Error()) + log.Error("", "Fail to get work directory:") + log.Fatal("", "\t"+err.Error()) } log.Log("Changing work directory to %s", curPath) err = os.Chdir(curPath) if err != nil { - log.Error("", "Fail to change work directory") - log.Fatal("", err.Error()) + log.Error("", "Fail to change work directory:") + log.Fatal("", "\t"+err.Error()) } defer func() { log.Log("Changing work directory back to %s", cwd) @@ -150,17 +156,21 @@ func execCmd(gopath, curPath string, args ...string) error { err = os.Chdir(curPath) if err != nil { - log.Error("", "Fail to change work directory") - log.Fatal("", err.Error()) + log.Error("", "Fail to change work directory:") + log.Fatal("", "\t"+err.Error()) } oldGoPath := os.Getenv("GOPATH") log.Log("Setting GOPATH to %s", gopath) - err = os.Setenv("GOPATH", gopath) + sep := ":" + if runtime.GOOS == "windos" { + sep = ";" + } + err = os.Setenv("GOPATH", gopath+sep+oldGoPath) if err != nil { - log.Error("", "Fail to setting GOPATH") - log.Fatal("", err.Error()) + log.Error("", "Fail to setting GOPATH:") + log.Fatal("", "\t"+err.Error()) } defer func() { log.Log("Setting GOPATH back to %s", oldGoPath) @@ -184,8 +194,8 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { var err error curPath, err = os.Getwd() if err != nil { - log.Error("", "Fail to get work directory") - log.Fatal("", err.Error()) + log.Error("", "Fail to get work directory:") + log.Fatal("", "\t"+err.Error()) } installRepoPath = doc.HomeDir + "/repos" @@ -208,8 +218,8 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { cachePkgs := make(map[string]*doc.Pkg) err = getChildPkgs(ctx, curPath, nil, cachePkgs, isTest) if err != nil { - log.Error("", "Fail to get child pakcages") - log.Fatal("", err.Error()) + log.Error("", "Fail to get child pakcages:") + log.Fatal("", "\t"+err.Error()) } newGoPath = filepath.Join(curPath, doc.VENDOR) @@ -218,10 +228,7 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { os.MkdirAll(newGoPathSrc, os.ModePerm) for name, pkg := range cachePkgs { - suf := "." + pkg.Value - if len(suf) == 1 { - suf = "" - } + suf := versionSuffix(pkg.Value) oldPath := filepath.Join(installRepoPath, name) + suf newPath := filepath.Join(newGoPathSrc, name) @@ -243,12 +250,12 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { continue } - if !isExistP { + if !isExistP && (len(pkg.Value) > 0 || ctx.Bool("remote")) { log.Log("Linking %s", name+suf) err = autoLink(oldPath, newPath) if err != nil { - log.Error("", "Fail to make link") - log.Fatal("", err.Error()) + log.Error("", "Fail to make link:") + log.Fatal("", "\t"+err.Error()) } } } @@ -257,7 +264,7 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { log.Log("Linking %s", pkgName) err = autoLink(curPath, newCurPath) if err != nil { - log.Error("", "Fail to make link") - log.Fatal("", err.Error()) + log.Error("", "Fail to make link:") + log.Fatal("", "\t"+err.Error()) } } diff --git a/cmd/install.go b/cmd/install.go index 5bebc736a..35491e581 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -55,7 +55,20 @@ func runInstall(ctx *cli.Context) { case 1: target = ctx.Args()[0] default: - log.Fatal("Install", "Too many arguments") + log.Fatal("install", "Too many arguments") + } + + if !ctx.Bool("remote") { + // Get GOPATH. + installGopath = com.GetGOPATHs()[0] + if !com.IsDir(installGopath) { + log.Error("install", "Invalid GOPATH path") + log.Error("", "GOPATH does not exist or is not a directory:") + log.Error("", "\t"+installGopath) + log.Help("Try 'go help gopath' to get more information") + } + log.Log("Indicated GOPATH: %s", installGopath) + installGopath += "/src" } genNewGoPath(ctx, false) @@ -84,10 +97,10 @@ func runInstall(ctx *cli.Context) { cmdArgs = append(cmdArgs, repo) err := execCmd(newGoPath, newCurPath, cmdArgs...) if err != nil { - log.Error("Install", "Fail to install program") - log.Fatal("", err.Error()) + log.Error("install", "Fail to install program:") + log.Fatal("", "\t"+err.Error()) } } - log.Success("SUCC", "Install", "Command execute successfully!") + log.Success("SUCC", "install", "Command executed successfully!") } diff --git a/cmd/run.go b/cmd/run.go index 5705782fe..bc2c775f5 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -15,6 +15,7 @@ package cmd import ( + "github.com/Unknwon/com" "github.com/codegangsta/cli" "github.com/gpmgo/gopm/log" @@ -31,6 +32,19 @@ gopm run `, } func runRun(ctx *cli.Context) { + if !ctx.Bool("remote") { + // Get GOPATH. + installGopath = com.GetGOPATHs()[0] + if !com.IsDir(installGopath) { + log.Error("run", "Invalid GOPATH path") + log.Error("", "GOPATH does not exist or is not a directory:") + log.Error("", "\t"+installGopath) + log.Help("Try 'go help gopath' to get more information") + } + log.Log("Indicated GOPATH: %s", installGopath) + installGopath += "/src" + } + genNewGoPath(ctx, false) log.Trace("Running...") @@ -39,9 +53,9 @@ func runRun(ctx *cli.Context) { cmdArgs = append(cmdArgs, ctx.Args()...) err := execCmd(newGoPath, newCurPath, cmdArgs...) if err != nil { - log.Error("Run", "Fail to run program") - log.Fatal("", err.Error()) + log.Error("run", "Fail to run program:") + log.Fatal("", "\t"+err.Error()) } - log.Success("SUCC", "Run", "Command execute successfully!") + log.Success("SUCC", "run", "Command executed successfully!") } From 56358901305f6500c13e09208898d448b29fd96a Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 4 Dec 2013 08:24:46 -0500 Subject: [PATCH 213/287] Bug fixed --- cmd/gopath.go | 2 +- log/log_windows.go | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/cmd/gopath.go b/cmd/gopath.go index 066047fdf..4ae0b29c6 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -164,7 +164,7 @@ func execCmd(gopath, curPath string, args ...string) error { log.Log("Setting GOPATH to %s", gopath) sep := ":" - if runtime.GOOS == "windos" { + if runtime.GOOS == "windows" { sep = ";" } err = os.Setenv("GOPATH", gopath+sep+oldGoPath) diff --git a/log/log_windows.go b/log/log_windows.go index fcfa4174a..5650bb0d3 100644 --- a/log/log_windows.go +++ b/log/log_windows.go @@ -33,13 +33,11 @@ func Fatal(hl, msg string) { } func Log(format string, args ...interface{}) { - fmt.Printf("gopm INFO %s\n", - fmt.Sprintf(format, args...)) + fmt.Printf("gopm INFO %s\n", fmt.Sprintf(format, args...)) } func Trace(format string, args ...interface{}) { - fmt.Printf("gopm TRAC %s\n", - fmt.Sprintf(format, args...)) + fmt.Printf("gopm TRAC %s\n", fmt.Sprintf(format, args...)) } func Success(title, hl, msg string) { @@ -55,3 +53,8 @@ func Message(hl, msg string) { } fmt.Printf("gopm MSG!%s %s\n", hl, msg) } + +func Help(format string, args ...interface{}) { + fmt.Printf("gopm HELP %s\n", fmt.Sprintf(format, args...)) + os.Exit(2) +} From 44363c84997cf5b1a6ea4fabdfd6bbfa7dac23ba Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 4 Dec 2013 09:24:03 -0500 Subject: [PATCH 214/287] Bug fixed in XP --- cmd/build.go | 12 ++++++++---- log/log.go | 5 +++++ log/log_windows.go | 4 ++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index e0ec71ce2..8ebb4439f 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -64,10 +64,14 @@ func runBuild(ctx *cli.Context) { if isWindowsXP { binName := pkgName + ".exe" os.Remove(binName) - err = os.Rename(path.Join(doc.VENDOR, "src", pkgName, binName), binName) - if err != nil { - log.Error("Build", "Fail to move binary") - log.Fatal("", err.Error()) + if com.IsFile(path.Join(doc.VENDOR, "src", pkgName, binName)) { + err = os.Rename(path.Join(doc.VENDOR, "src", pkgName, binName), binName) + if err != nil { + log.Error("Build", "Fail to move binary") + log.Fatal("", err.Error()) + } + } else { + log.Warn("No binary generated") } } diff --git a/log/log.go b/log/log.go index 07d2be159..2b1f1c9f0 100644 --- a/log/log.go +++ b/log/log.go @@ -36,6 +36,11 @@ func Fatal(hl, msg string) { os.Exit(2) } +func Warn(format string, args ...interface{}) { + fmt.Printf("gopm %s %s\n", brush.Purple("WARN"), + fmt.Sprintf(format, args...)) +} + func Log(format string, args ...interface{}) { fmt.Printf("gopm %s %s\n", brush.White("INFO"), fmt.Sprintf(format, args...)) diff --git a/log/log_windows.go b/log/log_windows.go index 5650bb0d3..6d8196d7f 100644 --- a/log/log_windows.go +++ b/log/log_windows.go @@ -32,6 +32,10 @@ func Fatal(hl, msg string) { os.Exit(2) } +func Warn(format string, args ...interface{}) { + fmt.Printf("gopm WARN %s\n", fmt.Sprintf(format, args...)) +} + func Log(format string, args ...interface{}) { fmt.Printf("gopm INFO %s\n", fmt.Sprintf(format, args...)) } From f548440f8a2635b1631f8edab3f5ba55b9919e7b Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 5 Dec 2013 15:51:33 +0800 Subject: [PATCH 215/287] copy for windows xp bug fixed --- cmd/helper_windows.go | 7 ++++++- gopm.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index 109aa9c89..1de20a3ec 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -18,7 +18,12 @@ func makeLink(srcPath, destPath string) error { // XP. isWindowsXP = true os.RemoveAll(destPath) - return com.CopyDir(srcPath, destPath) + _, dirName := filepath.Split(destPath) + // .vendor dir should not be copy + if dirName != doc.VENDOR { + return com.CopyDir(srcPath, destPath) + } + return nil } func volumnType(dir string) string { diff --git a/gopm.go b/gopm.go index a89bccbc5..6f3cba5aa 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1203" +const APP_VER = "0.5.7.1205" // //cmd.CmdSearch, // cmdClean, From dd0b977ba2b7d0d11d663c04af6ad632899ae608 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 5 Dec 2013 15:54:42 +0800 Subject: [PATCH 216/287] copy for windows xp bug fixed --- cmd/helper_windows.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index 1de20a3ec..144f0bee2 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -2,8 +2,10 @@ package cmd import ( "github.com/Unknwon/com" + "github.com/gpmgo/gopm/doc" "os" "os/exec" + "path/filepath" "syscall" "unsafe" ) From 8af4d4470b40ae061cc52b71d92aaff1003f038d Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 5 Dec 2013 15:58:51 +0800 Subject: [PATCH 217/287] copy for windows xp bug fixed --- cmd/helper_windows.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index 144f0bee2..d714c68a5 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -20,12 +20,13 @@ func makeLink(srcPath, destPath string) error { // XP. isWindowsXP = true os.RemoveAll(destPath) - _, dirName := filepath.Split(destPath) - // .vendor dir should not be copy - if dirName != doc.VENDOR { - return com.CopyDir(srcPath, destPath) + + err := com.CopyDir(srcPath, destPath) + if err == nil { + // .vendor dir should not be copy + os.RemoveAll(filepath.Join(destPath, doc.VENDOR)) } - return nil + return err } func volumnType(dir string) string { From 8ea0a011a85579980e65a58bae424d3ae90916fe Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 5 Dec 2013 16:27:09 +0800 Subject: [PATCH 218/287] bug fixed --- cmd/gopath.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cmd/gopath.go b/cmd/gopath.go index 4ae0b29c6..b93f02614 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -38,7 +38,10 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err pkg, err := build.ImportDir(dirPath, build.AllowBinary) if err != nil { - return map[string]*doc.Pkg{}, errors.New("Fail to get imports: " + err.Error()) + pkg, err = build.ImportDir(newGoPath+dirPath[len(oldGoPath):], build.AllowBinary) + if err != nil { + return map[string]*doc.Pkg{}, errors.New("Fail to get imports: " + err.Error()) + } } pkgs = make(map[string]*doc.Pkg) @@ -135,6 +138,7 @@ var pkgName string var curPath string var newCurPath string var newGoPath string +var oldGoPath string func execCmd(gopath, curPath string, args ...string) error { cwd, err := os.Getwd() @@ -160,7 +164,7 @@ func execCmd(gopath, curPath string, args ...string) error { log.Fatal("", "\t"+err.Error()) } - oldGoPath := os.Getenv("GOPATH") + oldGoPath = os.Getenv("GOPATH") log.Log("Setting GOPATH to %s", gopath) sep := ":" From 7230bcd33d013099300fba447c211ab9d9239746 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 05:45:03 -0500 Subject: [PATCH 219/287] Bug fixing --- cmd/bin.go | 10 +++++++--- cmd/build.go | 10 +++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 2a21c189c..513febc8c 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -149,8 +149,11 @@ func runBin(ctx *cli.Context) { if runtime.GOOS == "windows" { binName += ".exe" } - if !com.IsFile(binName) { - log.Error("bin", "Cannot continue command:") + binPath := path.Join(doc.VENDOR, "src", pkgName, binName) + fmt.Println(binPath) + if !com.IsFile(binPath) { + log.Error("bin", "Binary does not exist:") + log.Error("", "\t"+binPath) log.Fatal("", "\tPrevious steps weren't successful or the project does not contain main package") } @@ -159,7 +162,8 @@ func runBin(ctx *cli.Context) { if ctx.Bool("dir") { movePath = ctx.Args()[1] } - err = os.Rename(binName, movePath+"/"+binName) + os.Remove(movePath + "/" + binName) + err = os.Rename(binPath, movePath+"/"+binName) if err != nil { log.Error("bin", "Fail to move binary:") log.Fatal("", "\t"+err.Error()) diff --git a/cmd/build.go b/cmd/build.go index 8ebb4439f..d275f86e9 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -57,8 +57,8 @@ func runBuild(ctx *cli.Context) { cmdArgs = append(cmdArgs, ctx.Args()...) err := execCmd(newGoPath, newCurPath, cmdArgs...) if err != nil { - log.Error("Build", "Fail to build program") - log.Fatal("", err.Error()) + log.Error("build", "fail to build program:") + log.Fatal("", "\t"+err.Error()) } if isWindowsXP { @@ -67,13 +67,13 @@ func runBuild(ctx *cli.Context) { if com.IsFile(path.Join(doc.VENDOR, "src", pkgName, binName)) { err = os.Rename(path.Join(doc.VENDOR, "src", pkgName, binName), binName) if err != nil { - log.Error("Build", "Fail to move binary") - log.Fatal("", err.Error()) + log.Error("build", "fail to move binary:") + log.Fatal("", "\t"+err.Error()) } } else { log.Warn("No binary generated") } } - log.Success("SUCC", "Build", "Command execute successfully!") + log.Success("SUCC", "build", "Command execute successfully!") } From 65036e259c0511d7a45aaeae84fec635cbbbc7a9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 06:15:11 -0500 Subject: [PATCH 220/287] Update --- cmd/bin.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cmd/bin.go b/cmd/bin.go index 513febc8c..ad257ab95 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -150,7 +150,6 @@ func runBin(ctx *cli.Context) { binName += ".exe" } binPath := path.Join(doc.VENDOR, "src", pkgName, binName) - fmt.Println(binPath) if !com.IsFile(binPath) { log.Error("bin", "Binary does not exist:") log.Error("", "\t"+binPath) From a4df5e14937cf7a131675f9fd86d832d9960a760 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 20:31:48 +0800 Subject: [PATCH 221/287] Fixed bug in XP --- cmd/bin.go | 14 +++++++++----- gopm.go | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index ad257ab95..41b688cd7 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -145,14 +145,14 @@ func runBin(ctx *cli.Context) { _, pkgName = filepath.Split(pkgPath) } + // Because build command moved binary to root path. binName := path.Base(pkgName) if runtime.GOOS == "windows" { binName += ".exe" } - binPath := path.Join(doc.VENDOR, "src", pkgName, binName) - if !com.IsFile(binPath) { + if !com.IsFile(binName) { log.Error("bin", "Binary does not exist:") - log.Error("", "\t"+binPath) + log.Error("", "\t"+binName) log.Fatal("", "\tPrevious steps weren't successful or the project does not contain main package") } @@ -161,8 +161,12 @@ func runBin(ctx *cli.Context) { if ctx.Bool("dir") { movePath = ctx.Args()[1] } - os.Remove(movePath + "/" + binName) - err = os.Rename(binPath, movePath+"/"+binName) + err = os.Remove(movePath + "/" + binName) + if err != nil { + log.Warn("Cannot remove binary in work directory:") + log.Warn("\t %s", err) + } + err = os.Rename(binName, movePath+"/"+binName) if err != nil { log.Error("bin", "Fail to move binary:") log.Fatal("", "\t"+err.Error()) diff --git a/gopm.go b/gopm.go index 6f3cba5aa..5625a4489 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1205" +const APP_VER = "0.5.7.1205.1" // //cmd.CmdSearch, // cmdClean, From 6f55d7e7ba01e0bcebec162605ad76c79e38cb47 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 07:47:01 -0500 Subject: [PATCH 222/287] Bug fixing --- cmd/bin.go | 15 ++++++++++----- gopm.go | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 41b688cd7..730e3dcc1 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -99,7 +99,8 @@ func runBin(ctx *cli.Context) { } // Check if previous steps were successful. - repoPath := installRepoPath + "/" + pkgPath + versionSuffix(ver) + repoPath := strings.Replace(installRepoPath+"/"+pkgPath+versionSuffix(ver), + "\\", "/", -1) if !com.IsDir(repoPath) { log.Error("bin", "Cannot continue command:") log.Fatal("", "\tPrevious steps weren't successful") @@ -161,11 +162,15 @@ func runBin(ctx *cli.Context) { if ctx.Bool("dir") { movePath = ctx.Args()[1] } - err = os.Remove(movePath + "/" + binName) - if err != nil { - log.Warn("Cannot remove binary in work directory:") - log.Warn("\t %s", err) + + if com.IsExist(movePath + "/" + binName) { + err = os.Remove(movePath + "/" + binName) + if err != nil { + log.Warn("Cannot remove binary in work directory:") + log.Warn("\t %s", err) + } } + err = os.Rename(binName, movePath+"/"+binName) if err != nil { log.Error("bin", "Fail to move binary:") diff --git a/gopm.go b/gopm.go index 5625a4489..eb7824b68 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1205.1" +const APP_VER = "0.5.7.1205.2" // //cmd.CmdSearch, // cmdClean, From cc8d3377debd8013e76e88e51ec2192a51ecf280 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 08:08:40 -0500 Subject: [PATCH 223/287] Added stderr output --- cmd/bin.go | 15 +++++++++++---- gopm.go | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 730e3dcc1..79d8975fb 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -93,14 +93,17 @@ func runBin(ctx *cli.Context) { } // Get code. - stdout, _, _ := com.ExecCmd("gopm", "get", "-r", ctx.Args()[0]) + stdout, stderr, _ := com.ExecCmd("gopm", "get", "-r", ctx.Args()[0]) if len(stdout) > 0 { fmt.Print(stdout) } + if len(stderr) > 0 { + log.Error("bin", "Fail to 'gopm get -r':") + log.Fatal("", "\r"+stderr) + } // Check if previous steps were successful. - repoPath := strings.Replace(installRepoPath+"/"+pkgPath+versionSuffix(ver), - "\\", "/", -1) + repoPath := installRepoPath + "/" + pkgPath + versionSuffix(ver) if !com.IsDir(repoPath) { log.Error("bin", "Cannot continue command:") log.Fatal("", "\tPrevious steps weren't successful") @@ -121,10 +124,14 @@ func runBin(ctx *cli.Context) { } // Build application. - stdout, _, _ = com.ExecCmd("gopm", "build") + stdout, stderr, _ = com.ExecCmd("gopm", "build") if len(stdout) > 0 { fmt.Print(stdout) } + if len(stderr) > 0 { + log.Error("bin", "Fail to 'gopm build':") + log.Fatal("", "\r"+stderr) + } defer func() { // Clean files. //os.RemoveAll(path.Join(repoPath, doc.VENDOR)) diff --git a/gopm.go b/gopm.go index eb7824b68..c70807567 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1205.2" +const APP_VER = "0.5.7.1205.3" // //cmd.CmdSearch, // cmdClean, From f254e376757ef7c7c1ff7ee5dbbf2d797dff7ccd Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 08:14:54 -0500 Subject: [PATCH 224/287] Bug fixed --- cmd/bin.go | 20 ++++++++++++++------ gopm.go | 2 +- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 79d8975fb..2c1129fa3 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -93,14 +93,18 @@ func runBin(ctx *cli.Context) { } // Get code. - stdout, stderr, _ := com.ExecCmd("gopm", "get", "-r", ctx.Args()[0]) - if len(stdout) > 0 { - fmt.Print(stdout) + stdout, stderr, err := com.ExecCmd("gopm", "get", "-r", ctx.Args()[0]) + if err != nil { + log.Error("bin", "Error occurs when 'gopm get -r':") + log.Fatal("", "\r"+err.Error()) } if len(stderr) > 0 { log.Error("bin", "Fail to 'gopm get -r':") log.Fatal("", "\r"+stderr) } + if len(stdout) > 0 { + fmt.Print(stdout) + } // Check if previous steps were successful. repoPath := installRepoPath + "/" + pkgPath + versionSuffix(ver) @@ -124,14 +128,18 @@ func runBin(ctx *cli.Context) { } // Build application. - stdout, stderr, _ = com.ExecCmd("gopm", "build") - if len(stdout) > 0 { - fmt.Print(stdout) + stdout, stderr, err = com.ExecCmd("gopm", "build") + if err != nil { + log.Error("bin", "Error occurs when 'gopm build':") + log.Fatal("", "\r"+err.Error()) } if len(stderr) > 0 { log.Error("bin", "Fail to 'gopm build':") log.Fatal("", "\r"+stderr) } + if len(stdout) > 0 { + fmt.Print(stdout) + } defer func() { // Clean files. //os.RemoveAll(path.Join(repoPath, doc.VENDOR)) diff --git a/gopm.go b/gopm.go index c70807567..49112581e 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1205.3" +const APP_VER = "0.5.7.1205.4" // //cmd.CmdSearch, // cmdClean, From b50baf1876289e6323ba9667c2dd61dba6dbf524 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 08:47:22 -0500 Subject: [PATCH 225/287] Added ide mode --- cmd/build.go | 2 ++ cmd/gen.go | 2 ++ cmd/get.go | 2 ++ cmd/install.go | 2 ++ cmd/run.go | 2 ++ gopm.go | 3 ++- log/log.go | 37 ++++++++++++++++++++++++++ log/logP.go | 65 ++++++++++++++++++++++++++++++++++++++++++++++ log/log_windows.go | 32 ++++++----------------- 9 files changed, 122 insertions(+), 25 deletions(-) create mode 100644 log/logP.go diff --git a/cmd/build.go b/cmd/build.go index d275f86e9..b6fbf8063 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -36,6 +36,8 @@ gopm build `, } func runBuild(ctx *cli.Context) { + log.PureMode = ctx.GlobalBool("ide") + if !ctx.Bool("remote") { // Get GOPATH. installGopath = com.GetGOPATHs()[0] diff --git a/cmd/gen.go b/cmd/gen.go index 0b01cccc7..d6f1ad0ae 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -41,6 +41,8 @@ Make sure you run this command in the root path of a go project.`, // scan a directory and gen a gopm file func runGen(ctx *cli.Context) { + log.PureMode = ctx.GlobalBool("ide") + if !com.IsExist(".gopmfile") { os.Create(".gopmfile") } diff --git a/cmd/get.go b/cmd/get.go index 8d88fbcb9..455138a47 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -68,6 +68,8 @@ func init() { } func runGet(ctx *cli.Context) { + log.PureMode = ctx.GlobalBool("ide") + // Check conflicts. if ctx.Bool("gopath") && ctx.Bool("remote") { log.Error("get", "Command options have conflicts") diff --git a/cmd/install.go b/cmd/install.go index 35491e581..61474bda5 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -42,6 +42,8 @@ If no argument is supplied, then gopmfile must be present`, } func runInstall(ctx *cli.Context) { + log.PureMode = ctx.GlobalBool("ide") + var target string switch len(ctx.Args()) { diff --git a/cmd/run.go b/cmd/run.go index bc2c775f5..4abf9dde0 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -32,6 +32,8 @@ gopm run `, } func runRun(ctx *cli.Context) { + log.PureMode = ctx.GlobalBool("ide") + if !ctx.Bool("remote") { // Get GOPATH. installGopath = com.GetGOPATHs()[0] diff --git a/gopm.go b/gopm.go index 49112581e..77e337c38 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1205.4" +const APP_VER = "0.5.7.1205.5" // //cmd.CmdSearch, // cmdClean, @@ -61,5 +61,6 @@ func main() { //cmd.CmdUpdate, //cmd.CmdTest, } + app.Flags = append(app.Flags, cli.BoolFlag{"ide, i", "IDE mode"}) app.Run(os.Args) } diff --git a/log/log.go b/log/log.go index 2b1f1c9f0..0cf9d3932 100644 --- a/log/log.go +++ b/log/log.go @@ -25,6 +25,10 @@ import ( ) func Error(hl, msg string) { + if PureMode { + errorP(hl, msg) + } + if len(hl) > 0 { hl = " " + brush.Red(hl).String() } @@ -32,26 +36,50 @@ func Error(hl, msg string) { } func Fatal(hl, msg string) { + if PureMode { + fatal(hl, msg) + } + Error(hl, msg) os.Exit(2) } func Warn(format string, args ...interface{}) { + if PureMode { + warn(format, args...) + return + } + fmt.Printf("gopm %s %s\n", brush.Purple("WARN"), fmt.Sprintf(format, args...)) } func Log(format string, args ...interface{}) { + if PureMode { + log(format, args...) + return + } + fmt.Printf("gopm %s %s\n", brush.White("INFO"), fmt.Sprintf(format, args...)) } func Trace(format string, args ...interface{}) { + if PureMode { + trace(format, args...) + return + } + fmt.Printf("gopm %s %s\n", brush.Blue("TRAC"), fmt.Sprintf(format, args...)) } func Success(title, hl, msg string) { + if PureMode { + success(title, hl, msg) + return + } + if len(hl) > 0 { hl = " " + brush.Green(hl).String() } @@ -59,6 +87,11 @@ func Success(title, hl, msg string) { } func Message(hl, msg string) { + if PureMode { + message(hl, msg) + return + } + if len(hl) > 0 { hl = " " + brush.Yellow(hl).String() } @@ -66,6 +99,10 @@ func Message(hl, msg string) { } func Help(format string, args ...interface{}) { + if PureMode { + help(format, atgs...) + } + fmt.Printf("gopm %s %s\n", brush.Cyan("HELP"), fmt.Sprintf(format, args...)) os.Exit(2) diff --git a/log/logP.go b/log/logP.go new file mode 100644 index 000000000..61b88fe16 --- /dev/null +++ b/log/logP.go @@ -0,0 +1,65 @@ +// Copyright 2013 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package log + +import ( + "fmt" + "os" +) + +var PureMode = false + +func errorP(hl, msg string) { + if len(hl) > 0 { + hl = " " + hl + } + fmt.Printf("gopm ERR!%s %s\n", hl, msg) +} + +func fatal(hl, msg string) { + Error(hl, msg) + os.Exit(2) +} + +func warn(format string, args ...interface{}) { + fmt.Printf("gopm WARN %s\n", fmt.Sprintf(format, args...)) +} + +func log(format string, args ...interface{}) { + fmt.Printf("gopm INFO %s\n", fmt.Sprintf(format, args...)) +} + +func trace(format string, args ...interface{}) { + fmt.Printf("gopm TRAC %s\n", fmt.Sprintf(format, args...)) +} + +func success(title, hl, msg string) { + if len(hl) > 0 { + hl = " " + hl + } + fmt.Printf("gopm %s%s %s\n", title, hl, msg) +} + +func message(hl, msg string) { + if len(hl) > 0 { + hl = " " + hl + } + fmt.Printf("gopm MSG!%s %s\n", hl, msg) +} + +func help(format string, args ...interface{}) { + fmt.Printf("gopm HELP %s\n", fmt.Sprintf(format, args...)) + os.Exit(2) +} diff --git a/log/log_windows.go b/log/log_windows.go index 6d8196d7f..661d5e8d2 100644 --- a/log/log_windows.go +++ b/log/log_windows.go @@ -15,50 +15,34 @@ // Package log provides npm-like style log output. package log -import ( - "fmt" - "os" -) - func Error(hl, msg string) { - if len(hl) > 0 { - hl = " " + hl - } - fmt.Printf("gopm ERR!%s %s\n", hl, msg) + errorP(hl, msg) } func Fatal(hl, msg string) { - Error(hl, msg) - os.Exit(2) + fatal(hl, msg) } func Warn(format string, args ...interface{}) { - fmt.Printf("gopm WARN %s\n", fmt.Sprintf(format, args...)) + warn(format, args...) } func Log(format string, args ...interface{}) { - fmt.Printf("gopm INFO %s\n", fmt.Sprintf(format, args...)) + log(format, args...) } func Trace(format string, args ...interface{}) { - fmt.Printf("gopm TRAC %s\n", fmt.Sprintf(format, args...)) + trace(format, args...) } func Success(title, hl, msg string) { - if len(hl) > 0 { - hl = " " + hl - } - fmt.Printf("gopm %s%s %s\n", title, hl, msg) + success(title, hl, msg) } func Message(hl, msg string) { - if len(hl) > 0 { - hl = " " + hl - } - fmt.Printf("gopm MSG!%s %s\n", hl, msg) + message(hl, msg) } func Help(format string, args ...interface{}) { - fmt.Printf("gopm HELP %s\n", fmt.Sprintf(format, args...)) - os.Exit(2) + help(format, args...) } From d91cb6fc77b46d6c0a901f1a572b25932c5e795d Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 08:47:51 -0500 Subject: [PATCH 226/287] Added ide mode --- log/log.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log/log.go b/log/log.go index 0cf9d3932..01ad97a9f 100644 --- a/log/log.go +++ b/log/log.go @@ -100,7 +100,7 @@ func Message(hl, msg string) { func Help(format string, args ...interface{}) { if PureMode { - help(format, atgs...) + help(format, args...) } fmt.Printf("gopm %s %s\n", brush.Cyan("HELP"), From aa3214375df9a256620bfcc4e642fa1ea9859a85 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 08:53:08 -0500 Subject: [PATCH 227/287] Added ide mode --- cmd/bin.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmd/bin.go b/cmd/bin.go index 2c1129fa3..ef86cc07d 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -48,6 +48,8 @@ contains main package`, } func runBin(ctx *cli.Context) { + log.PureMode = ctx.GlobalBool("ide") + if len(ctx.Args()) == 0 { log.Error("bin", "Cannot start command:") log.Fatal("", "\tNo package specified") @@ -93,7 +95,12 @@ func runBin(ctx *cli.Context) { } // Get code. - stdout, stderr, err := com.ExecCmd("gopm", "get", "-r", ctx.Args()[0]) + args := make([]string, 0, 4) + if log.PureMode { + args = append(args, "-ide") + } + args = append(args, []string{"get", "-r", ctx.Args()[0]}...) + stdout, stderr, err := com.ExecCmd("gopm", args...) if err != nil { log.Error("bin", "Error occurs when 'gopm get -r':") log.Fatal("", "\r"+err.Error()) From 9581ea9218ad41401cc6055a31825211b2001f7d Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 08:54:54 -0500 Subject: [PATCH 228/287] Added ide mode --- cmd/bin.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmd/bin.go b/cmd/bin.go index ef86cc07d..c046c83dc 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -135,7 +135,12 @@ func runBin(ctx *cli.Context) { } // Build application. - stdout, stderr, err = com.ExecCmd("gopm", "build") + args = make([]string, 0, 2) + if log.PureMode { + args = append(args, "-ide") + } + args = append(args, "build") + stdout, stderr, err = com.ExecCmd("gopm", args...) if err != nil { log.Error("bin", "Error occurs when 'gopm build':") log.Fatal("", "\r"+err.Error()) From e7c95996a659c47cfbecf9071fc2dd035d98b183 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 09:40:45 -0500 Subject: [PATCH 229/287] Improve verbose --- cmd/bin.go | 11 +++++++---- cmd/build.go | 6 ++++-- cmd/gen.go | 3 ++- cmd/get.go | 3 ++- cmd/gopath.go | 4 +--- cmd/install.go | 3 ++- cmd/run.go | 3 ++- gopm.go | 7 +++++-- log/log.go | 12 ++++++++++++ log/logP.go | 17 ++++++++++++++++- 10 files changed, 53 insertions(+), 16 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index c046c83dc..17a0a2f26 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -48,7 +48,8 @@ contains main package`, } func runBin(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("ide") + log.PureMode = ctx.GlobalBool("noterm") + log.Verbose = ctx.GlobalBool("verbose") if len(ctx.Args()) == 0 { log.Error("bin", "Cannot start command:") @@ -97,7 +98,7 @@ func runBin(ctx *cli.Context) { // Get code. args := make([]string, 0, 4) if log.PureMode { - args = append(args, "-ide") + args = append(args, "-noterm") } args = append(args, []string{"get", "-r", ctx.Args()[0]}...) stdout, stderr, err := com.ExecCmd("gopm", args...) @@ -137,7 +138,7 @@ func runBin(ctx *cli.Context) { // Build application. args = make([]string, 0, 2) if log.PureMode { - args = append(args, "-ide") + args = append(args, "-noterm") } args = append(args, "build") stdout, stderr, err = com.ExecCmd("gopm", args...) @@ -208,5 +209,7 @@ func runBin(ctx *cli.Context) { log.Log("Changing work directory back to %s", wd) os.Chdir(wd) - log.Success("SUCC", "bin", "Command execute successfully!") + log.Verbose = true + log.Success("SUCC", "bin", "Binary has been built into:") + log.Success("SUCC", "", "\t"+movePath) } diff --git a/cmd/build.go b/cmd/build.go index b6fbf8063..7ee73b873 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -36,7 +36,8 @@ gopm build `, } func runBuild(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("ide") + log.PureMode = ctx.GlobalBool("noterm") + log.Verbose = ctx.GlobalBool("verbose") if !ctx.Bool("remote") { // Get GOPATH. @@ -77,5 +78,6 @@ func runBuild(ctx *cli.Context) { } } - log.Success("SUCC", "build", "Command execute successfully!") + log.Success("SUCC", "build", "Binary has been built into:") + log.Success("SUCC", "", "\t"+newCurPath) } diff --git a/cmd/gen.go b/cmd/gen.go index d6f1ad0ae..cedd2b81f 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -41,7 +41,8 @@ Make sure you run this command in the root path of a go project.`, // scan a directory and gen a gopm file func runGen(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("ide") + log.PureMode = ctx.GlobalBool("noterm") + log.Verbose = ctx.GlobalBool("verbose") if !com.IsExist(".gopmfile") { os.Create(".gopmfile") diff --git a/cmd/get.go b/cmd/get.go index 455138a47..6828a8880 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -68,7 +68,8 @@ func init() { } func runGet(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("ide") + log.PureMode = ctx.GlobalBool("noterm") + log.Verbose = ctx.GlobalBool("verbose") // Check conflicts. if ctx.Bool("gopath") && ctx.Bool("remote") { diff --git a/cmd/gopath.go b/cmd/gopath.go index b93f02614..69204d8b8 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -2,7 +2,6 @@ package cmd import ( "errors" - "fmt" "go/build" "os" "os/exec" @@ -189,8 +188,7 @@ func execCmd(gopath, curPath string, args ...string) error { err = cmd.Run() - fmt.Println() - log.Log("====== application outputs end ======") + log.Log("\n====== application outputs end ======") return err } diff --git a/cmd/install.go b/cmd/install.go index 61474bda5..d73e27d2a 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -42,7 +42,8 @@ If no argument is supplied, then gopmfile must be present`, } func runInstall(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("ide") + log.PureMode = ctx.GlobalBool("noterm") + log.Verbose = ctx.GlobalBool("verbose") var target string diff --git a/cmd/run.go b/cmd/run.go index 4abf9dde0..0cabdaecb 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -32,7 +32,8 @@ gopm run `, } func runRun(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("ide") + log.PureMode = ctx.GlobalBool("noterm") + log.Verbose = ctx.GlobalBool("verbose") if !ctx.Bool("remote") { // Get GOPATH. diff --git a/gopm.go b/gopm.go index 77e337c38..a6692edce 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1205.5" +const APP_VER = "0.5.7.1205.7" // //cmd.CmdSearch, // cmdClean, @@ -61,6 +61,9 @@ func main() { //cmd.CmdUpdate, //cmd.CmdTest, } - app.Flags = append(app.Flags, cli.BoolFlag{"ide, i", "IDE mode"}) + app.Flags = append(app.Flags, []cli.Flag{ + cli.BoolFlag{"noterm", "Disable color output"}, + cli.BoolFlag{"verbose, v", "show process details"}, + }...) app.Run(os.Args) } diff --git a/log/log.go b/log/log.go index 01ad97a9f..89b2b39d0 100644 --- a/log/log.go +++ b/log/log.go @@ -60,6 +60,9 @@ func Log(format string, args ...interface{}) { return } + if !Verbose { + return + } fmt.Printf("gopm %s %s\n", brush.White("INFO"), fmt.Sprintf(format, args...)) } @@ -70,6 +73,9 @@ func Trace(format string, args ...interface{}) { return } + if !Verbose { + return + } fmt.Printf("gopm %s %s\n", brush.Blue("TRAC"), fmt.Sprintf(format, args...)) } @@ -80,6 +86,9 @@ func Success(title, hl, msg string) { return } + if !Verbose { + return + } if len(hl) > 0 { hl = " " + brush.Green(hl).String() } @@ -92,6 +101,9 @@ func Message(hl, msg string) { return } + if !Verbose { + return + } if len(hl) > 0 { hl = " " + brush.Yellow(hl).String() } diff --git a/log/logP.go b/log/logP.go index 61b88fe16..10cd9ab99 100644 --- a/log/logP.go +++ b/log/logP.go @@ -19,7 +19,10 @@ import ( "os" ) -var PureMode = false +var ( + PureMode = false + Verbose = false +) func errorP(hl, msg string) { if len(hl) > 0 { @@ -38,14 +41,23 @@ func warn(format string, args ...interface{}) { } func log(format string, args ...interface{}) { + if !Verbose { + return + } fmt.Printf("gopm INFO %s\n", fmt.Sprintf(format, args...)) } func trace(format string, args ...interface{}) { + if !Verbose { + return + } fmt.Printf("gopm TRAC %s\n", fmt.Sprintf(format, args...)) } func success(title, hl, msg string) { + if !Verbose { + return + } if len(hl) > 0 { hl = " " + hl } @@ -53,6 +65,9 @@ func success(title, hl, msg string) { } func message(hl, msg string) { + if !Verbose { + return + } if len(hl) > 0 { hl = " " + hl } From 51b377876a02d4dbb94fda88d70ad57f79809ba4 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 09:48:24 -0500 Subject: [PATCH 230/287] Update --- gopm.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gopm.go b/gopm.go index a6692edce..1169e3b6a 100644 --- a/gopm.go +++ b/gopm.go @@ -63,7 +63,7 @@ func main() { } app.Flags = append(app.Flags, []cli.Flag{ cli.BoolFlag{"noterm", "Disable color output"}, - cli.BoolFlag{"verbose, v", "show process details"}, + cli.BoolFlag{"verbose", "show process details"}, }...) app.Run(os.Args) } From 9098c69b871ee23e4b36bda2d9c53fe1992c78d7 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 10:20:22 -0500 Subject: [PATCH 231/287] Imporve output --- cmd/bin.go | 5 ++--- cmd/build.go | 3 +-- gopm.go | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 17a0a2f26..c79fd8772 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -209,7 +209,6 @@ func runBin(ctx *cli.Context) { log.Log("Changing work directory back to %s", wd) os.Chdir(wd) - log.Verbose = true - log.Success("SUCC", "bin", "Binary has been built into:") - log.Success("SUCC", "", "\t"+movePath) + log.Success("SUCC", "bin", "Command executed successfully!") + fmt.Println("Binary has been built into: " + movePath) } diff --git a/cmd/build.go b/cmd/build.go index 7ee73b873..f1a595e7a 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -78,6 +78,5 @@ func runBuild(ctx *cli.Context) { } } - log.Success("SUCC", "build", "Binary has been built into:") - log.Success("SUCC", "", "\t"+newCurPath) + log.Success("SUCC", "build", "Command executed successfully!") } diff --git a/gopm.go b/gopm.go index 1169e3b6a..93ed8ea9b 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1205.7" +const APP_VER = "0.5.7.1205" // //cmd.CmdSearch, // cmdClean, @@ -62,7 +62,7 @@ func main() { //cmd.CmdTest, } app.Flags = append(app.Flags, []cli.Flag{ - cli.BoolFlag{"noterm", "Disable color output"}, + cli.BoolFlag{"noterm", "disable color output"}, cli.BoolFlag{"verbose", "show process details"}, }...) app.Run(os.Args) From 556c08fad9fbde745517213329088523006f1404 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 16:21:19 -0500 Subject: [PATCH 232/287] Freeze gopm get code for v0.6.0 --- .gopmfile | 6 +- README.md | 27 +++---- cmd/bin.go | 8 +-- cmd/cmd.go | 81 ++++++++++++--------- cmd/gen.go | 17 +---- cmd/get.go | 154 +++++++++++---------------------------- cmd/install.go | 1 - cmd/search.go | 190 ++++++++++++++++++++++++------------------------- cmd/update.go | 6 +- doc/conf.go | 14 +++- doc/vcs.go | 3 +- gopm.go | 3 +- 12 files changed, 220 insertions(+), 290 deletions(-) diff --git a/.gopmfile b/.gopmfile index a19877d1b..086c3463a 100644 --- a/.gopmfile +++ b/.gopmfile @@ -2,8 +2,8 @@ path=github.com/gpmgo/gopm [deps] -github.com/codegangsta/cli= -github.com/Unknwon/com= -github.com/Unknwon/goconfig= +github.com/codegangsta/cli= +github.com/Unknwon/com= +github.com/Unknwon/goconfig= github.com/aybabtme/color= diff --git a/README.md b/README.md index 2c9c2fce3..1cd774352 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,9 @@ gopm - Go Package Manager Gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. -**[Documentation](https://github.com/gpmgo/docs)** +**News** The best IDE for Go development [LiteIDE](https://github.com/visualfc/liteide)(after X20) now has a simple integration of gopm! + +Please see **[Documentation](https://github.com/gpmgo/docs)** before you ever start. # Commands @@ -17,20 +19,21 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.5.7.1202 + 0.6.0.1206 COMMANDS: - get fetch remote package(s) and dependencies to local repository - bin download and link dependencies and build executable binary - gen generate a gopmfile according current Go project - run link dependencies and go run - build link dependencies and go build - install link dependencies and go install - help, h Shows a list of commands or help for one command - + get fetch remote package(s) and dependencies to local repository + bin download and link dependencies and build executable binary + gen generate a gopmfile according current Go project + run link dependencies and go run + build link dependencies and go build + install link dependencies and go install + help, h Shows a list of commands or help for one command + GLOBAL OPTIONS: - --version print the version - --help, -h show help + --noterm disable color output + --version, -v print the version + --help, -h show help ``` diff --git a/cmd/bin.go b/cmd/bin.go index c79fd8772..9ee1007a4 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -81,13 +81,7 @@ func runBin(ctx *cli.Context) { var err error if i := strings.Index(info, "@"); i > -1 { pkgPath = info[:i] - _, ver, err = validPath(info[i+1:]) - if err != nil { - log.Error("bin", "Cannot parse package version") - log.Error("", err.Error()+":") - log.Error("", "\t"+info[i+1:]) - log.Help("Try 'gopm help get' to get more information") - } + _, ver = validPath(info[i+1:]) } // Check package name. diff --git a/cmd/cmd.go b/cmd/cmd.go index 7bccbbb60..a7c2ac839 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -15,54 +15,65 @@ package cmd import ( - "fmt" "os" "strings" + + "github.com/codegangsta/cli" + + "github.com/gpmgo/gopm/doc" + "github.com/gpmgo/gopm/log" ) var ( - AppPath string + workDir string // The path of gopm was executed. ) -// A Command is an implementation of a go command -// like go build or go fix. -type Command struct { - // Run runs the command. - // The args are the arguments after the command name. - Run func(cmd *Command, args []string) - - // UsageLine is the one-line usage message. - // The first word in the line is taken to be the command name. - UsageLine string - - // Short is the short description shown in the 'go help' output. - Short string - - // Long is the long message shown in the 'go help ' output. - Long string +// setup initialize common environment for commands. +func setup(ctx *cli.Context) { + var err error + workDir, err = os.Getwd() + if err != nil { + log.Error("setup", "Fail to get work directory:") + log.Fatal("", "\t"+err.Error()) + } - // Flag is a set of flags specific to this command. - Flags map[string]bool + log.PureMode = ctx.GlobalBool("noterm") + log.Verbose = ctx.Bool("verbose") } -// Name returns the command's name: the first word in the usage line. -func (c *Command) Name() string { - name := c.UsageLine - i := strings.Index(name, " ") - if i >= 0 { - name = name[:i] +// parseTarget returns "." when target is empty string. +func parseTarget(target string) string { + if len(target) == 0 { + target = "." } - return name + return target } -func (c *Command) Usage() { - fmt.Fprintf(os.Stderr, "usage: %s\n\n", c.UsageLine) - fmt.Fprintf(os.Stderr, "%s\n", strings.TrimSpace(c.Long)) - os.Exit(2) +// validPath checks if the information of the package is valid. +func validPath(info string) (string, string) { + infos := strings.Split(info, ":") + + l := len(infos) + switch { + case l == 1: + return doc.BRANCH, "" + case l == 2: + switch infos[1] { + case doc.TRUNK, doc.MASTER, doc.DEFAULT: + infos[1] = "" + } + return infos[0], infos[1] + default: + log.Error("", "Cannot parse dependency version:") + log.Error("", "\t"+info) + log.Help("Try 'gopm help get' to get more information") + return "", "" + } } -// Runnable reports whether the command can be run; otherwise -// it is a documentation pseudo-command such as importpath. -func (c *Command) Runnable() bool { - return c.Run != nil +func versionSuffix(value string) string { + if len(value) > 0 { + return "." + value + } + return "" } diff --git a/cmd/gen.go b/cmd/gen.go index cedd2b81f..0b68f84c5 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -41,8 +41,7 @@ Make sure you run this command in the root path of a go project.`, // scan a directory and gen a gopm file func runGen(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("noterm") - log.Verbose = ctx.GlobalBool("verbose") + setup(ctx) if !com.IsExist(".gopmfile") { os.Create(".gopmfile") @@ -54,19 +53,9 @@ func runGen(ctx *cli.Context) { log.Fatal("", "\t"+err.Error()) } - curPath, err := os.Getwd() - if err != nil { - log.Error("gen", "Cannot get work directory:") - log.Fatal("", "\t"+err.Error()) - } - // Get dependencies. - importPath, err := gf.GetValue("target", "path") - if err != nil { - importPath = "." - } - imports := doc.GetAllImports([]string{curPath}, - importPath, ctx.Bool("example")) + imports := doc.GetAllImports([]string{workDir}, + parseTarget(gf.MustValue("target", "path")), ctx.Bool("example")) for _, p := range imports { if _, err := gf.GetValue("deps", doc.GetProjectPath(p)); err != nil { diff --git a/cmd/get.go b/cmd/get.go index 6828a8880..f96dae1b0 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -15,11 +15,9 @@ package cmd import ( - "errors" "fmt" "os" "path" - "path/filepath" "strings" "github.com/Unknwon/com" @@ -31,11 +29,13 @@ import ( ) var ( - installRepoPath string // The path of gopm local repository. - installGopath string // The first path in the GOPATH. - downloadCache map[string]bool // Saves packages that have been downloaded. - downloadCount int - failConut int + installRepoPath string // The path of gopm local repository. + installGopath string // The first path in the GOPATH. + isHasGopath bool // Indicates whether system has GOPATH. + + downloadCache map[string]bool // Saves packages that have been downloaded. + downloadCount int + failConut int ) var CmdGet = cli.Command{ @@ -50,16 +50,16 @@ gopm get @[:] Can specify one or more: gopm get beego@tag:v0.9.0 github.com/beego/bee -If no argument is supplied, then gopmfile must be present. If no version specified and package exists in GOPATH, it will be skipped unless user enabled '--remote, -r' option then all the packages go into gopm local repository.`, Action: runGet, Flags: []cli.Flag{ cli.BoolFlag{"gopath, g", "download all pakcages to GOPATH"}, - cli.BoolFlag{"force, f", "force to update pakcage(s) and dependencies"}, + cli.BoolFlag{"update, u", "update pakcage(s) and dependencies if any"}, cli.BoolFlag{"example, e", "download dependencies for example folder"}, cli.BoolFlag{"remote, r", "download all pakcages to gopm local repository"}, + cli.BoolFlag{"verbose, v", "show process details"}, }, } @@ -68,8 +68,7 @@ func init() { } func runGet(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("noterm") - log.Verbose = ctx.GlobalBool("verbose") + setup(ctx) // Check conflicts. if ctx.Bool("gopath") && ctx.Bool("remote") { @@ -82,85 +81,62 @@ func runGet(ctx *cli.Context) { if !ctx.Bool("remote") { // Get GOPATH. installGopath = com.GetGOPATHs()[0] - if !com.IsDir(installGopath) { - log.Error("get", "Invalid GOPATH path") - log.Error("", "GOPATH does not exist or is not a directory:") - log.Error("", "\t"+installGopath) - log.Help("Try 'go help gopath' to get more information") + if com.IsDir(installGopath) { + isHasGopath = true + log.Log("Indicated GOPATH: %s", installGopath) + installGopath += "/src" + } else { + if ctx.Bool("gopath") { + log.Error("get", "Invalid GOPATH path") + log.Error("", "GOPATH does not exist or is not a directory:") + log.Error("", "\t"+installGopath) + log.Help("Try 'go help gopath' to get more information") + } else { + // It's OK that no GOPATH setting + // when user does not specify to use. + log.Warn("No GOPATH setting available") + } } - log.Log("Indicated GOPATH: %s", installGopath) - installGopath += "/src" } // The gopm local repository. installRepoPath = doc.HomeDir + "/repos" log.Log("Local repository path: %s", installRepoPath) - // Check number of arguments. + // Check number of arguments to decide which function to call. switch len(ctx.Args()) { case 0: getByGopmfile(ctx) default: getByPath(ctx) } - } func getByGopmfile(ctx *cli.Context) { + // Check if gopmfile exists and generate one if not. if !com.IsFile(".gopmfile") { - log.Error("get", "Gopmfile not found") - log.Error("", "No argument is supplied and no gopmfile exists") - log.Help("\n%s\n%s\n%s", - "Work directory is supposed to have gopmfile when there is no argument supplied", - "Try 'gopm gen' to auto-generate gopmfile", - "Try 'gopm help gen' to get more information") + runGen(ctx) } - gf := doc.NewGopmfile(".") - absPath, err := filepath.Abs(".") - if err != nil { - log.Error("get", "Fail to get absolute path of work directory") - log.Fatal("", "\t"+err.Error()) - } - - log.Log("Work directory: %s", absPath) - // Get dependencies. - imports := doc.GetAllImports([]string{absPath}, - gf.MustValue("target", "path"), ctx.Bool("example")) - + imports := doc.GetAllImports([]string{workDir}, + parseTarget(gf.MustValue("target", "path")), ctx.Bool("example")) nodes := make([]*doc.Node, 0, len(imports)) for _, p := range imports { node := doc.NewNode(p, p, doc.BRANCH, "", true) // Check if user specified the version. if v, err := gf.GetValue("deps", p); err == nil && len(v) > 0 { - tp, ver, err := validPath(v) - if err != nil { - log.Error("get", "Cannot parse dependency version") - log.Error("", err.Error()+":") - log.Error("", "\t"+v) - log.Help("Try 'gopm help get' to get more information") - } - node.Type = tp - node.Value = ver + node.Type, node.Value = validPath(v) } nodes = append(nodes, node) } downloadPackages(ctx, nodes) + doc.SaveLocalNodes() - if doc.LocalNodes != nil { - if err := goconfig.SaveConfigFile(doc.LocalNodes, - doc.HomeDir+doc.LocalNodesFile); err != nil { - log.Error("get", "Fail to save localnodes.list:") - log.Error("", "\t"+err.Error()) - } - } - - log.Log("%d package(s) downloaded, %d failed", - downloadCount, failConut) + log.Log("%d package(s) downloaded, %d failed", downloadCount, failConut) } func getByPath(ctx *cli.Context) { @@ -171,13 +147,7 @@ func getByPath(ctx *cli.Context) { if i := strings.Index(info, "@"); i > -1 { pkgPath = info[:i] - tp, ver, err := validPath(info[i+1:]) - if err != nil { - log.Error("get", "Cannot parse dependency version") - log.Error("", err.Error()+":") - log.Error("", "\t"+info[i+1:]) - log.Help("Try 'gopm help get' to get more information") - } + tp, ver := validPath(info[i+1:]) node = doc.NewNode(pkgPath, pkgPath, tp, ver, true) } @@ -190,17 +160,9 @@ func getByPath(ctx *cli.Context) { } downloadPackages(ctx, nodes) + doc.SaveLocalNodes() - if doc.LocalNodes != nil { - if err := goconfig.SaveConfigFile(doc.LocalNodes, - doc.HomeDir+doc.LocalNodesFile); err != nil { - log.Error("get", "Fail to save localnodes.list:") - log.Error("", "\t"+err.Error()) - } - } - - log.Log("%d package(s) downloaded, %d failed", - downloadCount, failConut) + log.Log("%d package(s) downloaded, %d failed", downloadCount, failConut) } func copyToGopath(srcPath, destPath string) { @@ -234,6 +196,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { if ctx.Bool("gopath") { copyToGopath(installPath, gopathDir) + log.Log("Package copied to GOPATH: %s", n.ImportPath) } continue } else { @@ -241,7 +204,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { } } - if !downloadCache[n.ImportPath] { + if !downloadCache[n.RootPath] { // Download package. nod, imports := downloadPackage(ctx, n) if len(imports) > 0 { @@ -249,7 +212,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { // Check if has gopmfile if com.IsFile(installPath + "/" + doc.GOPM_FILE_NAME) { - log.Log("Found gopmgile: %s@%s:%s", + log.Log("Found gopmfile: %s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) gf = doc.NewGopmfile(installPath) @@ -268,15 +231,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { // Check if user specified the version. if v, err := gf.GetValue("deps", imports[i]); err == nil && len(v) > 0 { - tp, ver, err := validPath(v) - if err != nil { - log.Error("download", "Cannot parse dependency version") - log.Error("", err.Error()+":") - log.Error("", "\t"+v) - log.Help("Try 'gopm help get' to get more information") - } - nodes[i].Type = tp - nodes[i].Value = ver + nodes[i].Type, nodes[i].Value = validPath(v) } } downloadPackages(ctx, nodes) @@ -296,6 +251,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { if ctx.Bool("gopath") { copyToGopath(installPath, gopathDir) + log.Log("Package copied to GOPATH: %s", n.ImportPath) } } } else { @@ -318,7 +274,7 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { log.Message("Downloading", fmt.Sprintf("package: %s@%s:%s", nod.ImportPath, nod.Type, doc.CheckNodeValue(nod.Value))) // Mark as donwloaded. - downloadCache[nod.ImportPath] = true + downloadCache[nod.RootPath] = true nod.Revision = doc.LocalNodes.MustValue(nod.RootPath, "value") imports, err := doc.PureDownload(nod, installRepoPath, ctx) //CmdGet.Flags) @@ -332,29 +288,3 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { } return nod, imports } - -// validPath checks if the information of the package is valid. -func validPath(info string) (string, string, error) { - infos := strings.Split(info, ":") - - l := len(infos) - switch { - case l == 1: - return doc.BRANCH, "", nil - case l == 2: - switch infos[1] { - case doc.TRUNK, doc.MASTER, doc.DEFAULT: - infos[1] = "" - } - return infos[0], infos[1], nil - default: - return "", "", errors.New("Invalid version information") - } -} - -func versionSuffix(value string) string { - if len(value) > 0 { - return "." + value - } - return "" -} diff --git a/cmd/install.go b/cmd/install.go index d73e27d2a..9182c5e32 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -36,7 +36,6 @@ gopm install If no argument is supplied, then gopmfile must be present`, Action: runInstall, Flags: []cli.Flag{ - cli.BoolFlag{"verbose, v", "show process details"}, cli.BoolFlag{"pkg, p", "only install non-main packages"}, }, } diff --git a/cmd/search.go b/cmd/search.go index 17f8ad405..f3cb1b5cc 100644 --- a/cmd/search.go +++ b/cmd/search.go @@ -14,99 +14,99 @@ package cmd -import ( - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - - "github.com/Unknwon/com" -) - -var CmdSearch = &Command{ - UsageLine: "search [keyword]", - Short: "search for package", - Long: ` -search packages - -The search flags are: - - -e - search extactly, you should input an exactly package name as keyword -`, -} - -func init() { - CmdSearch.Run = runSearch - CmdSearch.Flags = map[string]bool{ - "-e": false, - } -} - -func printSearchPrompt(flag string) { - switch flag { - case "-e": - com.ColorLog("[INFO] You enabled exactly search.\n") - } -} - +// import ( +// "encoding/json" +// "fmt" +// "io/ioutil" +// "net/http" + +// "github.com/Unknwon/com" +// ) + +// var CmdSearch = &Command{ +// UsageLine: "search [keyword]", +// Short: "search for package", +// Long: ` // search packages -func runSearch(cmd *Command, args []string) { - - // Check length of arguments. - if len(args) < 1 { - com.ColorLog("[ERROR] Please input package's keyword.\n") - return - } - - var host, port string - host = "localhost" - port = "8991" - - if cmd.Flags["-e"] { - search(host, port, args[0], true) - } else { - search(host, port, args[0], false) - } -} - -type searchRes struct { - Pkg string - Desc string -} - -/* -request local or remote search service to find packages according to keyword inputed -*/ -func search(host, port, keyword string, isExactly bool) { - url := fmt.Sprintf("http://%v:%v/search?%v", host, port, keyword) - if isExactly { - url = fmt.Sprintf("http://%v:%v/searche?%v", host, port, keyword) - } - resp, err := http.Get(url) - if err != nil { - com.ColorLog(err.Error()) - return - } - defer resp.Body.Close() - - if resp.StatusCode == 200 { - contents, err := ioutil.ReadAll(resp.Body) - if err != nil { - com.ColorLog(err.Error()) - return - } - - pkgs := make([]searchRes, 0) - err = json.Unmarshal(contents, &pkgs) - if err != nil { - com.ColorLog(err.Error()) - return - } - for i, pkg := range pkgs { - fmt.Println(i+1, pkg.Pkg, "\t", pkg.Desc) - } - } else { - com.ColorLog(resp.Status) - } -} + +// The search flags are: + +// -e +// search extactly, you should input an exactly package name as keyword +// `, +// } + +// func init() { +// CmdSearch.Run = runSearch +// CmdSearch.Flags = map[string]bool{ +// "-e": false, +// } +// } + +// func printSearchPrompt(flag string) { +// switch flag { +// case "-e": +// com.ColorLog("[INFO] You enabled exactly search.\n") +// } +// } + +// // search packages +// func runSearch(cmd *Command, args []string) { + +// // Check length of arguments. +// if len(args) < 1 { +// com.ColorLog("[ERROR] Please input package's keyword.\n") +// return +// } + +// var host, port string +// host = "localhost" +// port = "8991" + +// if cmd.Flags["-e"] { +// search(host, port, args[0], true) +// } else { +// search(host, port, args[0], false) +// } +// } + +// type searchRes struct { +// Pkg string +// Desc string +// } + +// /* +// request local or remote search service to find packages according to keyword inputed +// */ +// func search(host, port, keyword string, isExactly bool) { +// url := fmt.Sprintf("http://%v:%v/search?%v", host, port, keyword) +// if isExactly { +// url = fmt.Sprintf("http://%v:%v/searche?%v", host, port, keyword) +// } +// resp, err := http.Get(url) +// if err != nil { +// com.ColorLog(err.Error()) +// return +// } +// defer resp.Body.Close() + +// if resp.StatusCode == 200 { +// contents, err := ioutil.ReadAll(resp.Body) +// if err != nil { +// com.ColorLog(err.Error()) +// return +// } + +// pkgs := make([]searchRes, 0) +// err = json.Unmarshal(contents, &pkgs) +// if err != nil { +// com.ColorLog(err.Error()) +// return +// } +// for i, pkg := range pkgs { +// fmt.Println(i+1, pkg.Pkg, "\t", pkg.Desc) +// } +// } else { +// com.ColorLog(resp.Status) +// } +// } diff --git a/cmd/update.go b/cmd/update.go index db592e65a..54d90c6dc 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -69,11 +69,7 @@ func runUpdate(ctx *cli.Context) { var err error if i := strings.Index(info, "@"); i > -1 { pkgPath = info[:i] - _, ver, err = validPath(info[i+1:]) - if err != nil { - log.Error("Update", "Fail to parse version") - log.Fatal("", err.Error()) - } + _, ver = validPath(info[i+1:]) } // Check package name. diff --git a/doc/conf.go b/doc/conf.go index 64def7765..ca964bd96 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -93,7 +93,7 @@ func GetPkgFullPath(short string) string { name, ok := PackageNameList[short] if !ok { log.Error("", "Invalid package name") - log.Error("", "No match in the package name list:") + log.Error("", "It's not a invalid import path and no match in the package name list:") log.Fatal("", "\t"+short) } return name @@ -109,9 +109,17 @@ func LoadLocalNodes() { } var err error - LocalNodes, err = goconfig.LoadConfigFile(HomeDir + LocalNodesFile) + LocalNodes, err = goconfig.LoadConfigFile(path.Join(HomeDir + LocalNodesFile)) if err != nil { - log.Error("Load node", "Fail to load localnodes.list") + log.Error("load node", "Fail to load localnodes.list") log.Fatal("", err.Error()) } } + +func SaveLocalNodes() { + if err := goconfig.SaveConfigFile(LocalNodes, + path.Join(HomeDir+LocalNodesFile)); err != nil { + log.Error("", "Fail to save localnodes.list:") + log.Error("", "\t"+err.Error()) + } +} diff --git a/doc/vcs.go b/doc/vcs.go index 58635db3b..c3afc090c 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -26,6 +26,7 @@ import ( "github.com/Unknwon/com" "github.com/codegangsta/cli" + "github.com/gpmgo/gopm/log" ) var ( @@ -119,7 +120,7 @@ func PureDownload(nod *Node, installRepoPath string, ctx *cli.Context) ([]string return s.get(HttpClient, match, installRepoPath, nod, ctx) } - com.ColorLog("[TRAC] Cannot match any service, getting dynamic...\n") + log.Log("Cannot match any service, getting dynamic...") return getDynamic(HttpClient, nod, installRepoPath, ctx) } diff --git a/gopm.go b/gopm.go index 93ed8ea9b..49ac28adb 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.5.7.1205" +const APP_VER = "0.6.0.1206" // //cmd.CmdSearch, // cmdClean, @@ -63,7 +63,6 @@ func main() { } app.Flags = append(app.Flags, []cli.Flag{ cli.BoolFlag{"noterm", "disable color output"}, - cli.BoolFlag{"verbose", "show process details"}, }...) app.Run(os.Args) } From 5d36170b9567430ee49fbc587bd6b1edab6ee8fe Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 19:46:18 -0500 Subject: [PATCH 233/287] Fixed bug for gopm build --- cmd/build.go | 6 ++++-- cmd/gopath.go | 47 ++++++++++++++++------------------------------- cmd/install.go | 5 ++--- 3 files changed, 22 insertions(+), 36 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index f1a595e7a..155e00880 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -33,11 +33,13 @@ and execute 'go build' gopm build `, Action: runBuild, + Flags: []cli.Flag{ + cli.BoolFlag{"verbose, v", "show process details"}, + }, } func runBuild(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("noterm") - log.Verbose = ctx.GlobalBool("verbose") + setup(ctx) if !ctx.Bool("remote") { // Get GOPATH. diff --git a/cmd/gopath.go b/cmd/gopath.go index 69204d8b8..659ec8be9 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -35,22 +35,10 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err } } - pkg, err := build.ImportDir(dirPath, build.AllowBinary) - if err != nil { - pkg, err = build.ImportDir(newGoPath+dirPath[len(oldGoPath):], build.AllowBinary) - if err != nil { - return map[string]*doc.Pkg{}, errors.New("Fail to get imports: " + err.Error()) - } - } - + imports := doc.GetAllImports([]string{dirPath}, ".", false) pkgs = make(map[string]*doc.Pkg) - var imports []string = pkg.Imports - if isTest { - imports = append(imports, pkg.TestImports...) - } for _, name := range imports { if name == "C" { - //panic("nonono") continue } if !doc.IsGoRepoPath(name) { @@ -74,7 +62,6 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err } func pkgInCache(name string, cachePkgs map[string]*doc.Pkg) bool { - //pkgs := strings.Split(name, "/") _, ok := cachePkgs[name] return ok } @@ -86,28 +73,27 @@ func autoLink(oldPath, newPath string) error { } func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[string]*doc.Pkg, isTest bool) error { - var suf string - if ppkg != nil { - suf = versionSuffix(ppkg.Value) - } - pkgs, err := getGopmPkgs(cpath+suf, isTest) + pkgs, err := getGopmPkgs(cpath, isTest) if err != nil { return errors.New("Fail to get gopmfile deps: " + err.Error()) } for name, pkg := range pkgs { - if !pkgInCache(name, cachePkgs) { + pkg.RootPath = doc.GetProjectPath(pkg.ImportPath) + if !pkgInCache(pkg.RootPath, cachePkgs) { var newPath string if !build.IsLocalImport(name) { - suf := versionSuffix(pkg.Value) - newPath = filepath.Join(installRepoPath, pkg.ImportPath) - if len(pkg.Value) == 0 && !ctx.Bool("remote") { - newPath = filepath.Join(installGopath, pkg.ImportPath) + pkgPath := strings.Replace( + pkg.ImportPath, pkg.RootPath, pkg.RootPath+suf, 1) + newPath = filepath.Join(installRepoPath, pkgPath) + if len(suf) == 0 && !ctx.Bool("remote") && + com.IsDir(filepath.Join(installGopath, pkgPath)) { + newPath = filepath.Join(installGopath, pkgPath) } if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { - newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]+suf) + newPath = filepath.Join(curPath, pkgPath) } else { - if !com.IsExist(newPath + suf) { + if !com.IsExist(newPath) { node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, pkg.Type, pkg.Value, true) nodes := []*doc.Node{node} @@ -121,15 +107,13 @@ func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[s return err } } + cachePkgs[pkg.RootPath] = pkg err = getChildPkgs(ctx, newPath, pkg, cachePkgs, false) if err != nil { return err } } } - if ppkg != nil && !build.IsLocalImport(ppkg.ImportPath) { - cachePkgs[ppkg.ImportPath] = ppkg - } return nil } @@ -188,7 +172,7 @@ func execCmd(gopath, curPath string, args ...string) error { err = cmd.Run() - log.Log("\n====== application outputs end ======") + log.Log("====== application outputs end ======") return err } @@ -252,7 +236,8 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { continue } - if !isExistP && (len(pkg.Value) > 0 || ctx.Bool("remote")) { + if (!isExistP && (len(pkg.Value) > 0 || ctx.Bool("remote"))) || + !com.IsDir(filepath.Join(installGopath, pkg.ImportPath)) { log.Log("Linking %s", name+suf) err = autoLink(oldPath, newPath) if err != nil { diff --git a/cmd/install.go b/cmd/install.go index 9182c5e32..4670fe387 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -37,15 +37,14 @@ If no argument is supplied, then gopmfile must be present`, Action: runInstall, Flags: []cli.Flag{ cli.BoolFlag{"pkg, p", "only install non-main packages"}, + cli.BoolFlag{"verbose, v", "show process details"}, }, } func runInstall(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("noterm") - log.Verbose = ctx.GlobalBool("verbose") + setup(ctx) var target string - switch len(ctx.Args()) { case 0: if !com.IsFile(".gopmfile") { From d4758121e52ca6f3bcea6378b158714e2db1f9cc Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 19:57:41 -0500 Subject: [PATCH 234/287] Fixed bug for gopm build --- doc/walker.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/walker.go b/doc/walker.go index 11e740b4a..a09c4234a 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -31,6 +31,8 @@ import ( "unicode/utf8" "github.com/Unknwon/com" + + "github.com/gpmgo/gopm/log" ) type sliceWriter struct{ p *[]byte } @@ -118,7 +120,8 @@ func (w *walker) build(srcs []*source, nod *Node) ([]string, error) { if nogo { err = nil } else { - com.ColorLog("[WARN] Error occurs when check imports[ %s ]\n", err) + log.Error("walker", "Error occurs when check imports:") + log.Error("", "\t"+err.Error()) return nil, nil } } From 9496fc71c84edfdd60f5a1420264b60835ec1210 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 19:58:44 -0500 Subject: [PATCH 235/287] Fixed bug for gopm build --- doc/walker.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/walker.go b/doc/walker.go index a09c4234a..6d7a3c6ce 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -30,8 +30,6 @@ import ( "unicode" "unicode/utf8" - "github.com/Unknwon/com" - "github.com/gpmgo/gopm/log" ) From 1e3fa1a313372862c26a0465478398b46121e754 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 20:26:14 -0500 Subject: [PATCH 236/287] Fixed bug for gopm build --- doc/walker.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/walker.go b/doc/walker.go index 6d7a3c6ce..28eedd36c 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -117,6 +117,8 @@ func (w *walker) build(srcs []*source, nod *Node) ([]string, error) { if err != nil { if nogo { err = nil + } else if strings.Contains(err.Error(), "expected 'package'") { + log.Warn("walker: %s", err.Error()) } else { log.Error("walker", "Error occurs when check imports:") log.Error("", "\t"+err.Error()) From c1211590867167567624106a6ccffeb755ad8042 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 5 Dec 2013 20:29:32 -0500 Subject: [PATCH 237/287] Fixed bug for gopm build --- doc/walker.go | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/walker.go b/doc/walker.go index 28eedd36c..a3ccc3b0d 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -119,6 +119,7 @@ func (w *walker) build(srcs []*source, nod *Node) ([]string, error) { err = nil } else if strings.Contains(err.Error(), "expected 'package'") { log.Warn("walker: %s", err.Error()) + return nil, nil } else { log.Error("walker", "Error occurs when check imports:") log.Error("", "\t"+err.Error()) From 4aae955ec646df6b86dcd80333bd15d9c1fc9611 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 6 Dec 2013 03:27:39 -0500 Subject: [PATCH 238/287] Bug fixed with gopmgile --- .gopmfile | 8 ++++---- cmd/gopath.go | 2 +- gopm.go | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gopmfile b/.gopmfile index 086c3463a..103a06e97 100644 --- a/.gopmfile +++ b/.gopmfile @@ -2,8 +2,8 @@ path=github.com/gpmgo/gopm [deps] -github.com/codegangsta/cli= -github.com/Unknwon/com= -github.com/Unknwon/goconfig= -github.com/aybabtme/color= +github.com/codegangsta/cli= +github.com/Unknwon/com= +github.com/Unknwon/goconfig= +github.com/aybabtme/color= diff --git a/cmd/gopath.go b/cmd/gopath.go index 659ec8be9..e1a60650a 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -91,7 +91,7 @@ func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[s newPath = filepath.Join(installGopath, pkgPath) } if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { - newPath = filepath.Join(curPath, pkgPath) + newPath = filepath.Join(curPath, strings.TrimPrefix(pkg.ImportPath, pkgName)) } else { if !com.IsExist(newPath) { node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, diff --git a/gopm.go b/gopm.go index 49ac28adb..86008f894 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.0.1206" +const APP_VER = "0.6.0.1206.1" // //cmd.CmdSearch, // cmdClean, From 23ce93ab24806745f9d322150aeb73ec8be04d14 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 6 Dec 2013 04:55:42 -0500 Subject: [PATCH 239/287] Improved gopm bin --- cmd/bin.go | 53 ++++++++++++---------------------------------------- cmd/build.go | 9 ++++++--- cmd/get.go | 2 +- gopm.go | 2 +- 4 files changed, 20 insertions(+), 46 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 9ee1007a4..1910824ba 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -39,17 +39,17 @@ gopm bin @[:] gopm bin @[:] Can only specify one each time, and only works for projects that -contains main package`, +contain main package`, Action: runBin, Flags: []cli.Flag{ cli.BoolFlag{"dir, d", "build binary to given directory(second argument)"}, - cli.BoolFlag{"force, f", "force to update pakcage(s) and dependencies"}, + cli.BoolFlag{"update, u", "update pakcage(s) and dependencies if any"}, + cli.BoolFlag{"verbose, v", "show process details"}, }, } func runBin(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("noterm") - log.Verbose = ctx.GlobalBool("verbose") + setup(ctx) if len(ctx.Args()) == 0 { log.Error("bin", "Cannot start command:") @@ -57,6 +57,7 @@ func runBin(ctx *cli.Context) { } installRepoPath = doc.HomeDir + "/repos" + log.Log("Local repository path: %s", installRepoPath) // Check arguments. num := 1 @@ -77,11 +78,11 @@ func runBin(ctx *cli.Context) { // Parse package version. info := ctx.Args()[0] pkgPath := info - ver := "" + tp, ver := "", "" var err error if i := strings.Index(info, "@"); i > -1 { pkgPath = info[:i] - _, ver = validPath(info[i+1:]) + tp, ver = validPath(info[i+1:]) } // Check package name. @@ -89,24 +90,10 @@ func runBin(ctx *cli.Context) { pkgPath = doc.GetPkgFullPath(pkgPath) } + node := doc.NewNode(pkgPath, pkgPath, tp, ver, true) + // Get code. - args := make([]string, 0, 4) - if log.PureMode { - args = append(args, "-noterm") - } - args = append(args, []string{"get", "-r", ctx.Args()[0]}...) - stdout, stderr, err := com.ExecCmd("gopm", args...) - if err != nil { - log.Error("bin", "Error occurs when 'gopm get -r':") - log.Fatal("", "\r"+err.Error()) - } - if len(stderr) > 0 { - log.Error("bin", "Fail to 'gopm get -r':") - log.Fatal("", "\r"+stderr) - } - if len(stdout) > 0 { - fmt.Print(stdout) - } + downloadPackages(ctx, []*doc.Node{node}) // Check if previous steps were successful. repoPath := installRepoPath + "/" + pkgPath + versionSuffix(ver) @@ -130,26 +117,10 @@ func runBin(ctx *cli.Context) { } // Build application. - args = make([]string, 0, 2) - if log.PureMode { - args = append(args, "-noterm") - } - args = append(args, "build") - stdout, stderr, err = com.ExecCmd("gopm", args...) - if err != nil { - log.Error("bin", "Error occurs when 'gopm build':") - log.Fatal("", "\r"+err.Error()) - } - if len(stderr) > 0 { - log.Error("bin", "Fail to 'gopm build':") - log.Fatal("", "\r"+stderr) - } - if len(stdout) > 0 { - fmt.Print(stdout) - } + buildBinary(ctx) defer func() { // Clean files. - //os.RemoveAll(path.Join(repoPath, doc.VENDOR)) + os.RemoveAll(path.Join(repoPath, doc.VENDOR)) }() // Check if previous steps were successful. diff --git a/cmd/build.go b/cmd/build.go index 155e00880..6b635da67 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -54,12 +54,17 @@ func runBuild(ctx *cli.Context) { installGopath += "/src" } + buildBinary(ctx, ctx.Args()...) + log.Success("SUCC", "build", "Command executed successfully!") +} + +func buildBinary(ctx *cli.Context, args ...string) { genNewGoPath(ctx, false) log.Trace("Building...") cmdArgs := []string{"go", "build"} - cmdArgs = append(cmdArgs, ctx.Args()...) + cmdArgs = append(cmdArgs, args...) err := execCmd(newGoPath, newCurPath, cmdArgs...) if err != nil { log.Error("build", "fail to build program:") @@ -79,6 +84,4 @@ func runBuild(ctx *cli.Context) { log.Warn("No binary generated") } } - - log.Success("SUCC", "build", "Command executed successfully!") } diff --git a/cmd/get.go b/cmd/get.go index f96dae1b0..31668fdd5 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -187,7 +187,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { installPath := path.Join(installRepoPath, n.RootPath) + versionSuffix(n.Value) - if !ctx.Bool("force") { + if !ctx.Bool("update") { // Check if package has been downloaded. if (len(n.Value) == 0 && !ctx.Bool("remote") && com.IsExist(gopathDir)) || com.IsExist(installPath) { diff --git a/gopm.go b/gopm.go index 86008f894..c9604a44c 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.0.1206.1" +const APP_VER = "0.6.0.1206.2" // //cmd.CmdSearch, // cmdClean, From 21ab7cbe5652a46626f906e430e6a7fb9541cd1e Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 6 Dec 2013 05:59:32 -0500 Subject: [PATCH 240/287] Improved gopm gen --- cmd/gen.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cmd/gen.go b/cmd/gen.go index 0b68f84c5..7cdf0f283 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -16,6 +16,7 @@ package cmd import ( "os" + "strings" "github.com/Unknwon/com" "github.com/Unknwon/goconfig" @@ -36,6 +37,7 @@ Make sure you run this command in the root path of a go project.`, Action: runGen, Flags: []cli.Flag{ cli.BoolFlag{"example, e", "check dependencies for example(s)"}, + cli.BoolFlag{"verbose, v", "show process details"}, }, } @@ -58,8 +60,12 @@ func runGen(ctx *cli.Context) { parseTarget(gf.MustValue("target", "path")), ctx.Bool("example")) for _, p := range imports { - if _, err := gf.GetValue("deps", doc.GetProjectPath(p)); err != nil { - gf.SetValue("deps", doc.GetProjectPath(p), " ") + p = doc.GetProjectPath(p) + if strings.HasSuffix(workDir, p) { + continue + } + if value := gf.MustValue("deps", p); len(value) == 0 { + gf.SetValue("deps", p, "") } } From 443231348dac5a86300b37bdbed4b1b0d0cdaaab Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 6 Dec 2013 06:37:29 -0500 Subject: [PATCH 241/287] Bug fixed in bin --- cmd/bin.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cmd/bin.go b/cmd/bin.go index 1910824ba..bc9b0975b 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -78,11 +78,13 @@ func runBin(ctx *cli.Context) { // Parse package version. info := ctx.Args()[0] pkgPath := info - tp, ver := "", "" + node := doc.NewNode(pkgPath, pkgPath, doc.BRANCH, "", true) var err error if i := strings.Index(info, "@"); i > -1 { pkgPath = info[:i] - tp, ver = validPath(info[i+1:]) + node.ImportPath = pkgPath + node.DownloadURL = pkgPath + node.Type, node.Value = validPath(info[i+1:]) } // Check package name. @@ -90,13 +92,11 @@ func runBin(ctx *cli.Context) { pkgPath = doc.GetPkgFullPath(pkgPath) } - node := doc.NewNode(pkgPath, pkgPath, tp, ver, true) - // Get code. downloadPackages(ctx, []*doc.Node{node}) // Check if previous steps were successful. - repoPath := installRepoPath + "/" + pkgPath + versionSuffix(ver) + repoPath := installRepoPath + "/" + pkgPath + versionSuffix(node.Value) if !com.IsDir(repoPath) { log.Error("bin", "Cannot continue command:") log.Fatal("", "\tPrevious steps weren't successful") From ec48397d6926d2c82942a6dc456560c7402cdf5e Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 6 Dec 2013 12:31:35 -0500 Subject: [PATCH 242/287] Clean code --- cmd/build.go | 13 ++++--------- cmd/install.go | 20 +++++++++++++------- cmd/run.go | 16 +++++----------- 3 files changed, 22 insertions(+), 27 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index 6b635da67..4e4feaf21 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -41,15 +41,10 @@ gopm build `, func runBuild(ctx *cli.Context) { setup(ctx) - if !ctx.Bool("remote") { - // Get GOPATH. - installGopath = com.GetGOPATHs()[0] - if !com.IsDir(installGopath) { - log.Error("build", "Invalid GOPATH path") - log.Error("", "GOPATH does not exist or is not a directory:") - log.Error("", "\t"+installGopath) - log.Help("Try 'go help gopath' to get more information") - } + // Get GOPATH. + installGopath = com.GetGOPATHs()[0] + if com.IsDir(installGopath) { + isHasGopath = true log.Log("Indicated GOPATH: %s", installGopath) installGopath += "/src" } diff --git a/cmd/install.go b/cmd/install.go index 4670fe387..f83aff7bb 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -59,17 +59,23 @@ func runInstall(ctx *cli.Context) { log.Fatal("install", "Too many arguments") } - if !ctx.Bool("remote") { - // Get GOPATH. - installGopath = com.GetGOPATHs()[0] - if !com.IsDir(installGopath) { - log.Error("install", "Invalid GOPATH path") + // Get GOPATH. + installGopath = com.GetGOPATHs()[0] + if com.IsDir(installGopath) { + isHasGopath = true + log.Log("Indicated GOPATH: %s", installGopath) + installGopath += "/src" + } else { + if ctx.Bool("gopath") { + log.Error("get", "Invalid GOPATH path") log.Error("", "GOPATH does not exist or is not a directory:") log.Error("", "\t"+installGopath) log.Help("Try 'go help gopath' to get more information") + } else { + // It's OK that no GOPATH setting + // when user does not specify to use. + log.Warn("No GOPATH setting available") } - log.Log("Indicated GOPATH: %s", installGopath) - installGopath += "/src" } genNewGoPath(ctx, false) diff --git a/cmd/run.go b/cmd/run.go index 0cabdaecb..fd07c454b 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -32,18 +32,12 @@ gopm run `, } func runRun(ctx *cli.Context) { - log.PureMode = ctx.GlobalBool("noterm") - log.Verbose = ctx.GlobalBool("verbose") + setup(ctx) - if !ctx.Bool("remote") { - // Get GOPATH. - installGopath = com.GetGOPATHs()[0] - if !com.IsDir(installGopath) { - log.Error("run", "Invalid GOPATH path") - log.Error("", "GOPATH does not exist or is not a directory:") - log.Error("", "\t"+installGopath) - log.Help("Try 'go help gopath' to get more information") - } + // Get GOPATH. + installGopath = com.GetGOPATHs()[0] + if com.IsDir(installGopath) { + isHasGopath = true log.Log("Indicated GOPATH: %s", installGopath) installGopath += "/src" } From ee4aab616ae487ed911b22aca496f84126c06ac6 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 7 Dec 2013 18:01:09 +0800 Subject: [PATCH 243/287] add support for xp & ntfs; gopm build self bug fixed --- cmd/gopath.go | 7 +++++-- cmd/helper_windows.go | 11 +++++++++++ gopm.go | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/cmd/gopath.go b/cmd/gopath.go index e1a60650a..65a1d8fdd 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -219,8 +219,11 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { oldPath := filepath.Join(installRepoPath, name) + suf newPath := filepath.Join(newGoPathSrc, name) paths := strings.Split(name, "/") - var isExistP bool - var isCurChild bool + var isExistP, isCurChild bool + if name == pkgName { + continue + } + for i := 0; i < len(paths)-1; i++ { pName := strings.Join(paths[:len(paths)-1-i], "/") if _, ok := cachePkgs[pName]; ok { diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index d714c68a5..5f170e4f4 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -19,6 +19,17 @@ func makeLink(srcPath, destPath string) error { // XP. isWindowsXP = true + // if both are ntfs file system + if volumnType(srcPath) == "NTFS" && volumnType(destPath) == "NTFS" { + // if has junction command installed + file, err := exec.LookPath("junction") + if err == nil { + path, _ := filepath.Abs(file) + + cmd := exec.Command("cmd", "/c", "junction", destPath, srcPath) + return cmd.Run() + } + } os.RemoveAll(destPath) err := com.CopyDir(srcPath, destPath) diff --git a/gopm.go b/gopm.go index c9604a44c..19d88b883 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.0.1206.2" +const APP_VER = "0.6.0.1207" // //cmd.CmdSearch, // cmdClean, From 8b307cf35eec4eb692cf864619294e481109c820 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 7 Dec 2013 10:15:24 -0500 Subject: [PATCH 244/287] Bug fixed in windows --- cmd/helper_windows.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index 5f170e4f4..ea619c116 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -25,9 +25,10 @@ func makeLink(srcPath, destPath string) error { file, err := exec.LookPath("junction") if err == nil { path, _ := filepath.Abs(file) - - cmd := exec.Command("cmd", "/c", "junction", destPath, srcPath) - return cmd.Run() + if com.IsFile(path) { + cmd := exec.Command("cmd", "/c", "junction", destPath, srcPath) + return cmd.Run() + } } } os.RemoveAll(destPath) From 91d5d3d067e1b06d7e78acca84c5fa6b2bd5ea2b Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 8 Dec 2013 16:16:27 -0500 Subject: [PATCH 245/287] Update --- doc/walker.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/doc/walker.go b/doc/walker.go index a3ccc3b0d..4b9efa713 100644 --- a/doc/walker.go +++ b/doc/walker.go @@ -117,12 +117,8 @@ func (w *walker) build(srcs []*source, nod *Node) ([]string, error) { if err != nil { if nogo { err = nil - } else if strings.Contains(err.Error(), "expected 'package'") { - log.Warn("walker: %s", err.Error()) - return nil, nil } else { - log.Error("walker", "Error occurs when check imports:") - log.Error("", "\t"+err.Error()) + log.Warn("walker: %s", err.Error()) return nil, nil } } From 167b9fb7e37a101f48def96323960eb0123144be Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 9 Dec 2013 09:39:57 -0500 Subject: [PATCH 246/287] Fixed color output when use --noterm in fatal --- README.md | 2 +- gopm.go | 2 +- log/logP.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1cd774352..a2ea519a1 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.6.0.1206 + 0.6.0.1209 COMMANDS: get fetch remote package(s) and dependencies to local repository diff --git a/gopm.go b/gopm.go index 19d88b883..c3d3a7893 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.0.1207" +const APP_VER = "0.6.0.1209" // //cmd.CmdSearch, // cmdClean, diff --git a/log/logP.go b/log/logP.go index 10cd9ab99..406718ad6 100644 --- a/log/logP.go +++ b/log/logP.go @@ -32,7 +32,7 @@ func errorP(hl, msg string) { } func fatal(hl, msg string) { - Error(hl, msg) + errorP(hl, msg) os.Exit(2) } From 5b6ee0cd5caec0652f780fde0de00de410d9ebc8 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 9 Dec 2013 16:04:43 -0500 Subject: [PATCH 247/287] Added filter for .vendor dir --- cmd/helper_windows.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index ea619c116..cf632582d 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -1,13 +1,16 @@ package cmd import ( - "github.com/Unknwon/com" - "github.com/gpmgo/gopm/doc" "os" "os/exec" "path/filepath" + "strings" "syscall" "unsafe" + + "github.com/Unknwon/com" + + "github.com/gpmgo/gopm/doc" ) func makeLink(srcPath, destPath string) error { @@ -33,7 +36,9 @@ func makeLink(srcPath, destPath string) error { } os.RemoveAll(destPath) - err := com.CopyDir(srcPath, destPath) + err := com.CopyDir(srcPath, destPath, func(filePath string) bool { + return strings.Contains(filePath, doc.VENDOR) + }) if err == nil { // .vendor dir should not be copy os.RemoveAll(filepath.Join(destPath, doc.VENDOR)) From 0e1e063bd4e7928bdd190e9ed113a3d1fd18f56a Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 9 Dec 2013 16:12:03 -0500 Subject: [PATCH 248/287] Added filter for .vendor dir --- cmd/helper_windows.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/cmd/helper_windows.go b/cmd/helper_windows.go index cf632582d..3ce70f060 100644 --- a/cmd/helper_windows.go +++ b/cmd/helper_windows.go @@ -36,14 +36,9 @@ func makeLink(srcPath, destPath string) error { } os.RemoveAll(destPath) - err := com.CopyDir(srcPath, destPath, func(filePath string) bool { + return com.CopyDir(srcPath, destPath, func(filePath string) bool { return strings.Contains(filePath, doc.VENDOR) }) - if err == nil { - // .vendor dir should not be copy - os.RemoveAll(filepath.Join(destPath, doc.VENDOR)) - } - return err } func volumnType(dir string) string { From 061cf9aef8eba1e4b921b4ae083539dd2bd3c9d0 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 10 Dec 2013 17:18:07 +0800 Subject: [PATCH 249/287] supports local path for gopmfile deps package's value --- cmd/cmd.go | 6 ++++++ cmd/get.go | 4 ++++ cmd/gopath.go | 23 ++++++++++++++++++++--- doc/struct.go | 3 ++- gopm.go | 2 +- 5 files changed, 33 insertions(+), 5 deletions(-) diff --git a/cmd/cmd.go b/cmd/cmd.go index a7c2ac839..d2bff0c43 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -18,6 +18,7 @@ import ( "os" "strings" + "github.com/Unknwon/com" "github.com/codegangsta/cli" "github.com/gpmgo/gopm/doc" @@ -56,6 +57,11 @@ func validPath(info string) (string, string) { l := len(infos) switch { case l == 1: + // for local imports + if com.IsFile(infos[0]) { + return doc.LOCAL, infos[0] + } + return doc.BRANCH, "" case l == 2: switch infos[1] { diff --git a/cmd/get.go b/cmd/get.go index 31668fdd5..ab98da8e0 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -180,6 +180,10 @@ func copyToGopath(srcPath, destPath string) { func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { // Check all packages, they may be raw packages path. for _, n := range nodes { + // Check if local reference + if n.Type == doc.LOCAL { + continue + } // Check if it is a valid remote path. if doc.IsValidRemotePath(n.ImportPath) { gopathDir := path.Join(installGopath, n.ImportPath) diff --git a/cmd/gopath.go b/cmd/gopath.go index 65a1d8fdd..305ab1eba 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -52,6 +52,13 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err Value: info[i+1:], } continue + } else if com.IsDir(info) { + pkgs[name] = &doc.Pkg{ + ImportPath: name, + Type: doc.LOCAL, + Value: info, + } + continue } } } @@ -81,7 +88,7 @@ func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[s pkg.RootPath = doc.GetProjectPath(pkg.ImportPath) if !pkgInCache(pkg.RootPath, cachePkgs) { var newPath string - if !build.IsLocalImport(name) { + if !build.IsLocalImport(name) && pkg.Type != doc.LOCAL { suf := versionSuffix(pkg.Value) pkgPath := strings.Replace( pkg.ImportPath, pkg.RootPath, pkg.RootPath+suf, 1) @@ -102,7 +109,11 @@ func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[s } } } else { - newPath, err = filepath.Abs(name) + if pkg.Type == doc.LOCAL { + newPath, err = filepath.Abs(pkg.Value) + } else { + newPath, err = filepath.Abs(name) + } if err != nil { return err } @@ -216,7 +227,13 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { for name, pkg := range cachePkgs { suf := versionSuffix(pkg.Value) - oldPath := filepath.Join(installRepoPath, name) + suf + var oldPath string + if pkg.Type == doc.LOCAL { + oldPath, _ = filepath.Abs(pkg.Value) + } else { + oldPath = filepath.Join(installRepoPath, name) + suf + } + newPath := filepath.Join(newGoPathSrc, name) paths := strings.Split(name, "/") var isExistP, isCurChild bool diff --git a/doc/struct.go b/doc/struct.go index f92151618..96c538503 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -32,13 +32,14 @@ const ( TAG = "tag" BRANCH = "branch" COMMIT = "commit" + LOCAL = "local" ) type Pkg struct { ImportPath string RootPath string Type string - Value string // Branch, tag or commit. + Value string // Branch, tag, commit or local. } func (pkg *Pkg) VerString() string { diff --git a/gopm.go b/gopm.go index c3d3a7893..9bf0c7d64 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.0.1209" +const APP_VER = "0.6.0.1210" // //cmd.CmdSearch, // cmdClean, From 56f5a6bce1d397ddfae05cf337916c8c55ba8d9f Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 10 Dec 2013 18:04:28 +0800 Subject: [PATCH 250/287] fixed bug for windows --- cmd/gopath.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/cmd/gopath.go b/cmd/gopath.go index 305ab1eba..124906e77 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -44,19 +44,20 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err if !doc.IsGoRepoPath(name) { if builds != nil { if info, ok := builds[name]; ok { - // Check version. - if i := strings.Index(info, ":"); i > -1 { + // Check version. there should chek + // local first because d:\ contains : + if com.IsDir(info) { pkgs[name] = &doc.Pkg{ ImportPath: name, - Type: info[:i], - Value: info[i+1:], + Type: doc.LOCAL, + Value: info, } continue - } else if com.IsDir(info) { + } else if i := strings.Index(info, ":"); i > -1 { pkgs[name] = &doc.Pkg{ ImportPath: name, - Type: doc.LOCAL, - Value: info, + Type: info[:i], + Value: info[i+1:], } continue } From 6bde06d8c9b4f9017a037a4b696be7dc11ac498f Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 10 Dec 2013 17:47:00 -0500 Subject: [PATCH 251/287] Fixed bug: when use option -g and pkg exists in GOPATH but does not in repos, err shows dir not exists in repos --- cmd/get.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 31668fdd5..08ab86b08 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -194,7 +194,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { log.Trace("Skipped installed package: %s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) - if ctx.Bool("gopath") { + if ctx.Bool("gopath") && !com.IsExist(gopathDir) { copyToGopath(installPath, gopathDir) log.Log("Package copied to GOPATH: %s", n.ImportPath) } @@ -249,7 +249,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { doc.LocalNodes.SetValue(nod.RootPath, "value", nod.Revision) } - if ctx.Bool("gopath") { + if ctx.Bool("gopath") && !com.IsExist(gopathDir) { copyToGopath(installPath, gopathDir) log.Log("Package copied to GOPATH: %s", n.ImportPath) } From 8ce4b5f25266d37afec733f72376ab293fc5d520 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 10 Dec 2013 17:50:30 -0500 Subject: [PATCH 252/287] Fixed bug: when use option -g and pkg exists in GOPATH but does not in repos, err shows dir not exists in repos --- cmd/get.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 08ab86b08..c6b78532b 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -194,7 +194,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { log.Trace("Skipped installed package: %s@%s:%s", n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) - if ctx.Bool("gopath") && !com.IsExist(gopathDir) { + if ctx.Bool("gopath") && com.IsExist(installPath) { copyToGopath(installPath, gopathDir) log.Log("Package copied to GOPATH: %s", n.ImportPath) } @@ -249,7 +249,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { doc.LocalNodes.SetValue(nod.RootPath, "value", nod.Revision) } - if ctx.Bool("gopath") && !com.IsExist(gopathDir) { + if ctx.Bool("gopath") && com.IsExist(installPath) { copyToGopath(installPath, gopathDir) log.Log("Package copied to GOPATH: %s", n.ImportPath) } From 9dc90cac911e949557b60440c6cfc9930ea4498d Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 11 Dec 2013 09:47:30 +0800 Subject: [PATCH 253/287] add trace --- cmd/gopath.go | 1 + doc/utils.go | 1 + 2 files changed, 2 insertions(+) diff --git a/cmd/gopath.go b/cmd/gopath.go index 124906e77..8b196275e 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -38,6 +38,7 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err imports := doc.GetAllImports([]string{dirPath}, ".", false) pkgs = make(map[string]*doc.Pkg) for _, name := range imports { + println(name) if name == "C" { continue } diff --git a/doc/utils.go b/doc/utils.go index 7cc054e83..16c87593e 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -68,6 +68,7 @@ func GetImports(absPath, importPath string, example bool) []string { imports := make([]string, 0, len(pkg.Imports)) for _, p := range pkg.Imports { + println(p, IsGoRepoPath(p), importPath) if !IsGoRepoPath(p) && !strings.HasPrefix(p, importPath) { imports = append(imports, p) } From 9892de104e4eefd000e302ddca31aa2097da7e78 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 11 Dec 2013 10:32:18 +0800 Subject: [PATCH 254/287] remove trace --- cmd/gopath.go | 1 - doc/utils.go | 1 - 2 files changed, 2 deletions(-) diff --git a/cmd/gopath.go b/cmd/gopath.go index 8b196275e..124906e77 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -38,7 +38,6 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err imports := doc.GetAllImports([]string{dirPath}, ".", false) pkgs = make(map[string]*doc.Pkg) for _, name := range imports { - println(name) if name == "C" { continue } diff --git a/doc/utils.go b/doc/utils.go index 16c87593e..7cc054e83 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -68,7 +68,6 @@ func GetImports(absPath, importPath string, example bool) []string { imports := make([]string, 0, len(pkg.Imports)) for _, p := range pkg.Imports { - println(p, IsGoRepoPath(p), importPath) if !IsGoRepoPath(p) && !strings.HasPrefix(p, importPath) { imports = append(imports, p) } From b35b57a14a21c6e38ce2cd06909f6083f25c0437 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 11 Dec 2013 11:23:18 -0500 Subject: [PATCH 255/287] Added git support when package use it as VCS --- cmd/get.go | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++---- gopm.go | 2 +- 2 files changed, 68 insertions(+), 6 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index ec0e81fb4..ec6632b7e 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -166,12 +166,20 @@ func getByPath(ctx *cli.Context) { } func copyToGopath(srcPath, destPath string) { + importPath := strings.TrimPrefix(destPath, installGopath+"/") + if len(getVcsName(destPath)) > 0 { + log.Warn("Package in GOPATH has version control: %s", importPath) + return + } + os.RemoveAll(destPath) err := com.CopyDir(srcPath, destPath) if err != nil { log.Error("download", "Fail to copy to GOPATH:") log.Fatal("", "\t"+err.Error()) } + + log.Log("Package copied to GOPATH: %s", importPath) } // downloadPackages downloads packages with certain commit, @@ -200,7 +208,6 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { if ctx.Bool("gopath") && com.IsExist(installPath) { copyToGopath(installPath, gopathDir) - log.Log("Package copied to GOPATH: %s", n.ImportPath) } continue } else { @@ -253,9 +260,9 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { doc.LocalNodes.SetValue(nod.RootPath, "value", nod.Revision) } - if ctx.Bool("gopath") && com.IsExist(installPath) { + if ctx.Bool("gopath") && com.IsExist(installPath) && !ctx.Bool("update") && + len(getVcsName(path.Join(installGopath, nod.RootPath))) == 0 { copyToGopath(installPath, gopathDir) - log.Log("Package copied to GOPATH: %s", n.ImportPath) } } } else { @@ -280,8 +287,18 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { // Mark as donwloaded. downloadCache[nod.RootPath] = true - nod.Revision = doc.LocalNodes.MustValue(nod.RootPath, "value") - imports, err := doc.PureDownload(nod, installRepoPath, ctx) //CmdGet.Flags) + // Check if only need to use VCS tools. + var imports []string + var err error + gopathDir := path.Join(installGopath, nod.RootPath) + vcs := getVcsName(gopathDir) + if ctx.Bool("update") && ctx.Bool("gopath") && len(vcs) > 0 { + err = updateByVcs(vcs, gopathDir) + imports = doc.GetAllImports([]string{gopathDir}, nod.RootPath, false) + } else { + nod.Revision = doc.LocalNodes.MustValue(nod.RootPath, "value") + imports, err = doc.PureDownload(nod, installRepoPath, ctx) //CmdGet.Flags) + } if err != nil { log.Error("get", "Fail to download pakage: "+nod.ImportPath) @@ -292,3 +309,48 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { } return nod, imports } + +func getVcsName(dirPath string) string { + switch { + case com.IsExist(path.Join(dirPath, ".git")): + return "git" + case com.IsExist(path.Join(dirPath, ".hg")): + return "hg" + case com.IsExist(path.Join(dirPath, ".svn")): + return "svn" + } + return "" +} + +func updateByVcs(vcs, dirPath string) error { + err := os.Chdir(dirPath) + if err != nil { + log.Error("Update by VCS", "Fail to change work directory:") + log.Fatal("", "\t"+err.Error()) + } + defer os.Chdir(workDir) + + switch vcs { + case "git": + stdout, _, err := com.ExecCmd("git", "status") + if err != nil { + log.Error("", "Error occurs when 'git status'") + log.Error("", "\t"+err.Error()) + } + + i := strings.Index(stdout, "\n") + if i == -1 { + log.Error("", "Empty result for 'git status'") + return nil + } + + branch := strings.TrimPrefix(stdout[:i], "# On branch ") + _, _, err = com.ExecCmd("git", "pull", "origin", branch) + if err != nil { + log.Error("", "Error occurs when 'git pull origin "+branch+"'") + log.Error("", "\t"+err.Error()) + } + + } + return nil +} diff --git a/gopm.go b/gopm.go index 9bf0c7d64..1dace5eb4 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.0.1210" +const APP_VER = "0.6.0.1211" // //cmd.CmdSearch, // cmdClean, From 23538cf9a696b8c5a8fed3290299bf33910aa392 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 11 Dec 2013 11:33:17 -0500 Subject: [PATCH 256/287] Added hg support when package use it as VCS --- cmd/get.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/cmd/get.go b/cmd/get.go index ec6632b7e..cb20a36f3 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -350,7 +350,24 @@ func updateByVcs(vcs, dirPath string) error { log.Error("", "Error occurs when 'git pull origin "+branch+"'") log.Error("", "\t"+err.Error()) } + case "hg": + stdout, stderr, err := com.ExecCmd("hg", "pull") + if err != nil { + log.Error("", "Error occurs when 'hg pull'") + log.Error("", "\t"+err.Error()) + } + if len(stderr) > 0 { + log.Error("", "Error: "+stderr) + } + stdout, stderr, err = com.ExecCmd("hg", "up") + if err != nil { + log.Error("", "Error occurs when 'hg up'") + log.Error("", "\t"+err.Error()) + } + if len(stderr) > 0 { + log.Error("", "Error: "+stderr) + } } return nil } From 41d20aa9a5236c1a2e8289ad97edd55e289f8b8d Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 11 Dec 2013 11:39:11 -0500 Subject: [PATCH 257/287] gofmt --- README.md | 10 +++++----- cmd/get.go | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index a2ea519a1..1360a64d3 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.6.0.1209 + 0.6.0.1211 COMMANDS: get fetch remote package(s) and dependencies to local repository @@ -29,11 +29,11 @@ COMMANDS: build link dependencies and go build install link dependencies and go install help, h Shows a list of commands or help for one command - + GLOBAL OPTIONS: - --noterm disable color output - --version, -v print the version - --help, -h show help + --noterm disable color output + --version print the version + --help, -h show help ``` diff --git a/cmd/get.go b/cmd/get.go index cb20a36f3..009fd5049 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -351,7 +351,7 @@ func updateByVcs(vcs, dirPath string) error { log.Error("", "\t"+err.Error()) } case "hg": - stdout, stderr, err := com.ExecCmd("hg", "pull") + _, stderr, err := com.ExecCmd("hg", "pull") if err != nil { log.Error("", "Error occurs when 'hg pull'") log.Error("", "\t"+err.Error()) @@ -360,7 +360,7 @@ func updateByVcs(vcs, dirPath string) error { log.Error("", "Error: "+stderr) } - stdout, stderr, err = com.ExecCmd("hg", "up") + _, stderr, err = com.ExecCmd("hg", "up") if err != nil { log.Error("", "Error occurs when 'hg up'") log.Error("", "\t"+err.Error()) From 61bcb024f6da29dc92103ade330df5dc01c00dd8 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 9 Jan 2014 23:35:36 +0800 Subject: [PATCH 258/287] Fixed bug: has revision but still force to check(which never changes) --- cmd/cmd.go | 16 ++--- cmd/gen.go | 10 +-- cmd/get.go | 180 ++++++++++++++++++++++++++++---------------------- doc/struct.go | 9 +-- gopm.go | 15 ++--- 5 files changed, 125 insertions(+), 105 deletions(-) diff --git a/cmd/cmd.go b/cmd/cmd.go index d2bff0c43..a2e608393 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -1,4 +1,4 @@ -// Copyright 2013 gopm authors. +// Copyright 2013-2014 gopm authors. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -57,24 +57,22 @@ func validPath(info string) (string, string) { l := len(infos) switch { case l == 1: - // for local imports + // For local imports. if com.IsFile(infos[0]) { return doc.LOCAL, infos[0] } - - return doc.BRANCH, "" case l == 2: switch infos[1] { case doc.TRUNK, doc.MASTER, doc.DEFAULT: infos[1] = "" } return infos[0], infos[1] - default: - log.Error("", "Cannot parse dependency version:") - log.Error("", "\t"+info) - log.Help("Try 'gopm help get' to get more information") - return "", "" } + + log.Error("", "Cannot parse dependency version:") + log.Error("", "\t"+info) + log.Help("Try 'gopm help get' to get more information") + return "", "" } func versionSuffix(value string) string { diff --git a/cmd/gen.go b/cmd/gen.go index 7cdf0f283..6abd821d8 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -41,7 +41,6 @@ Make sure you run this command in the root path of a go project.`, }, } -// scan a directory and gen a gopm file func runGen(ctx *cli.Context) { setup(ctx) @@ -55,15 +54,18 @@ func runGen(ctx *cli.Context) { log.Fatal("", "\t"+err.Error()) } + targetPath := parseTarget(gf.MustValue("target", "path")) // Get dependencies. - imports := doc.GetAllImports([]string{workDir}, - parseTarget(gf.MustValue("target", "path")), ctx.Bool("example")) + imports := doc.GetAllImports([]string{workDir}, targetPath, ctx.Bool("example")) for _, p := range imports { p = doc.GetProjectPath(p) - if strings.HasSuffix(workDir, p) { + // Skip subpackage(s) of current project. + if strings.HasSuffix(workDir, p) || strings.HasPrefix(p, targetPath) { continue } + + // Check if user specified the version. if value := gf.MustValue("deps", p); len(value) == 0 { gf.SetValue("deps", p, "") } diff --git a/cmd/get.go b/cmd/get.go index 009fd5049..c572159d5 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -1,4 +1,4 @@ -// Copyright 2013 gopm authors. +// Copyright 2013-2014 gopm authors. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -69,7 +69,6 @@ func init() { func runGet(ctx *cli.Context) { setup(ctx) - // Check conflicts. if ctx.Bool("gopath") && ctx.Bool("remote") { log.Error("get", "Command options have conflicts") @@ -119,11 +118,17 @@ func getByGopmfile(ctx *cli.Context) { } gf := doc.NewGopmfile(".") + targetPath := parseTarget(gf.MustValue("target", "path")) // Get dependencies. - imports := doc.GetAllImports([]string{workDir}, - parseTarget(gf.MustValue("target", "path")), ctx.Bool("example")) + imports := doc.GetAllImports([]string{workDir}, targetPath, ctx.Bool("example")) + nodes := make([]*doc.Node, 0, len(imports)) for _, p := range imports { + p = doc.GetProjectPath(p) + // Skip subpackage(s) of current project. + if strings.HasSuffix(workDir, p) || strings.HasPrefix(p, targetPath) { + continue + } node := doc.NewNode(p, p, doc.BRANCH, "", true) // Check if user specified the version. @@ -140,6 +145,7 @@ func getByGopmfile(ctx *cli.Context) { } func getByPath(ctx *cli.Context) { + return nodes := make([]*doc.Node, 0, len(ctx.Args())) for _, info := range ctx.Args() { pkgPath := info @@ -192,90 +198,99 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { if n.Type == doc.LOCAL { continue } - // Check if it is a valid remote path. - if doc.IsValidRemotePath(n.ImportPath) { - gopathDir := path.Join(installGopath, n.ImportPath) - n.RootPath = doc.GetProjectPath(n.ImportPath) - installPath := path.Join(installRepoPath, n.RootPath) + - versionSuffix(n.Value) - - if !ctx.Bool("update") { - // Check if package has been downloaded. - if (len(n.Value) == 0 && !ctx.Bool("remote") && com.IsExist(gopathDir)) || - com.IsExist(installPath) { - log.Trace("Skipped installed package: %s@%s:%s", - n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) - - if ctx.Bool("gopath") && com.IsExist(installPath) { - copyToGopath(installPath, gopathDir) - } - continue - } else { - doc.LocalNodes.SetValue(n.RootPath, "value", "") + // Check if it is a valid remote path or C. + if n.ImportPath == "C" { + continue + } else if !doc.IsValidRemotePath(n.ImportPath) { + // Invalid import path. + log.Error("download", "Skipped invalid package: "+fmt.Sprintf("%s@%s:%s", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value))) + failConut++ + continue + } + + // Valid import path. + gopathDir := path.Join(installGopath, n.ImportPath) + n.RootPath = doc.GetProjectPath(n.ImportPath) + installPath := path.Join(installRepoPath, n.RootPath) + versionSuffix(n.Value) + + // Indicates whether need to download package again. + if len(n.Value) > 0 && com.IsExist(installPath) { + n.IsGetDepsOnly = true + } + + if !ctx.Bool("update") { + // Check if package has been downloaded. + if (len(n.Value) == 0 && !ctx.Bool("remote") && com.IsExist(gopathDir)) || + com.IsExist(installPath) { + log.Trace("Skipped installed package: %s@%s:%s", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) + + // Only copy when no version control. + if ctx.Bool("gopath") && com.IsExist(installPath) || + len(getVcsName(gopathDir)) == 0 { + copyToGopath(installPath, gopathDir) } + continue + } else { + doc.LocalNodes.SetValue(n.RootPath, "value", "") + } + } + + if downloadCache[n.RootPath] { + log.Trace("Skipped downloaded package: %s@%s:%s", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) + continue + } + + // Download package. + nod, imports := downloadPackage(ctx, n) + if len(imports) > 0 { + var gf *goconfig.ConfigFile + + // Check if has gopmfile. + if com.IsFile(installPath + "/" + doc.GOPM_FILE_NAME) { + log.Log("Found gopmfile: %s@%s:%s", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) + gf = doc.NewGopmfile(installPath) } - if !downloadCache[n.RootPath] { - // Download package. - nod, imports := downloadPackage(ctx, n) - if len(imports) > 0 { - var gf *goconfig.ConfigFile - - // Check if has gopmfile - if com.IsFile(installPath + "/" + doc.GOPM_FILE_NAME) { - log.Log("Found gopmfile: %s@%s:%s", - n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) - - gf = doc.NewGopmfile(installPath) - } - - // Need to download dependencies. - // Generate temporary nodes. - nodes := make([]*doc.Node, len(imports)) - for i := range nodes { - nodes[i] = doc.NewNode(imports[i], imports[i], doc.BRANCH, "", true) - - if gf == nil { - continue - } - - // Check if user specified the version. - if v, err := gf.GetValue("deps", imports[i]); err == nil && - len(v) > 0 { - nodes[i].Type, nodes[i].Value = validPath(v) - } - } - downloadPackages(ctx, nodes) + // Need to download dependencies. + // Generate temporary nodes. + nodes := make([]*doc.Node, len(imports)) + for i := range nodes { + nodes[i] = doc.NewNode(imports[i], imports[i], doc.BRANCH, "", true) + + if gf == nil { + continue } - // Only save package information with specific commit. - if nod != nil { - // Save record in local nodes. - log.Success("SUCC", "GET", fmt.Sprintf("%s@%s:%s", - n.ImportPath, n.Type, doc.CheckNodeValue(n.Value))) - downloadCount++ - - // Only save non-commit node. - if len(nod.Value) == 0 && len(nod.Revision) > 0 { - doc.LocalNodes.SetValue(nod.RootPath, "value", nod.Revision) - } - - if ctx.Bool("gopath") && com.IsExist(installPath) && !ctx.Bool("update") && - len(getVcsName(path.Join(installGopath, nod.RootPath))) == 0 { - copyToGopath(installPath, gopathDir) - } + // Check if user specified the version. + if v, err := gf.GetValue("deps", imports[i]); err == nil && len(v) > 0 { + nodes[i].Type, nodes[i].Value = validPath(v) } - } else { - log.Trace("Skipped downloaded package: %s@%s:%s", - n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) } - } else if n.ImportPath == "C" { + downloadPackages(ctx, nodes) + } + + // Only save package information with specific commit. + if nod == nil { continue - } else { - // Invalid import path. - log.Error("download", "Skipped invalid package: "+fmt.Sprintf("%s@%s:%s", - n.ImportPath, n.Type, doc.CheckNodeValue(n.Value))) - failConut++ + } + + // Save record in local nodes. + log.Success("SUCC", "GET", fmt.Sprintf("%s@%s:%s", + n.ImportPath, n.Type, doc.CheckNodeValue(n.Value))) + downloadCount++ + + // Only save non-commit node. + if len(nod.Value) == 0 && len(nod.Revision) > 0 { + doc.LocalNodes.SetValue(nod.RootPath, "value", nod.Revision) + } + + if ctx.Bool("gopath") && com.IsExist(installPath) && !ctx.Bool("update") && + len(getVcsName(path.Join(installGopath, nod.RootPath))) == 0 { + copyToGopath(installPath, gopathDir) } } } @@ -296,6 +311,11 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { err = updateByVcs(vcs, gopathDir) imports = doc.GetAllImports([]string{gopathDir}, nod.RootPath, false) } else { + // If package has revision and exist, then just check dependencies. + if nod.IsGetDepsOnly { + return nod, doc.GetAllImports([]string{path.Join(installRepoPath, nod.RootPath) + versionSuffix(nod.Value)}, + nod.RootPath, ctx.Bool("example")) + } nod.Revision = doc.LocalNodes.MustValue(nod.RootPath, "value") imports, err = doc.PureDownload(nod, installRepoPath, ctx) //CmdGet.Flags) } diff --git a/doc/struct.go b/doc/struct.go index 96c538503..59258e8d9 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -59,10 +59,11 @@ func NewDefaultPkg(importPath string) *Pkg { type Node struct { Pkg - DownloadURL string - Synopsis string - IsGetDeps bool - Revision string + DownloadURL string + Synopsis string + IsGetDeps bool + IsGetDepsOnly bool + Revision string } func NewNode(importPath, downloadUrl, tp, value string, isGetDeps bool) *Node { diff --git a/gopm.go b/gopm.go index 1dace5eb4..f0db2cd41 100644 --- a/gopm.go +++ b/gopm.go @@ -1,4 +1,4 @@ -// Copyright 2013 gopm authors. +// Copyright 2013-2014 gopm authors. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -12,7 +12,7 @@ // License for the specific language governing permissions and limitations // under the License. -// gopm(Go Package Manager) is a Go package manage tool for search, install, update and share packages in Go. +// gopm(Go Package Manager) is a Go package manage tool for searching, installing, updating and sharing your packages in Go. package main import ( @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.0.1211" +const APP_VER = "0.6.1.0110" // //cmd.CmdSearch, // cmdClean, @@ -37,7 +37,6 @@ const APP_VER = "0.6.0.1211" // cmdEnv, // cmdFix, // cmdList, -// cmdTest, // cmdTool, // cmdVet, // } @@ -53,11 +52,11 @@ func main() { app.Version = APP_VER app.Commands = []cli.Command{ cmd.CmdGet, - cmd.CmdBin, + //cmd.CmdBin, cmd.CmdGen, - cmd.CmdRun, - cmd.CmdBuild, - cmd.CmdInstall, + //cmd.CmdRun, + //cmd.CmdBuild, + //cmd.CmdInstall, //cmd.CmdUpdate, //cmd.CmdTest, } From d9e5e845393df397c9eb6b3e7581db0165746292 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 10 Jan 2014 16:20:26 +0800 Subject: [PATCH 259/287] Fixed bug: do not check update again when using tag and commit, not including branch. --- cmd/get.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index c572159d5..9157f351e 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -99,7 +99,7 @@ func runGet(ctx *cli.Context) { } // The gopm local repository. - installRepoPath = doc.HomeDir + "/repos" + installRepoPath = path.Join(doc.HomeDir, "repos") log.Log("Local repository path: %s", installRepoPath) // Check number of arguments to decide which function to call. @@ -188,6 +188,18 @@ func copyToGopath(srcPath, destPath string) { log.Log("Package copied to GOPATH: %s", importPath) } +func isUnchangablePoint(nod *doc.Node) bool { + if len(nod.Value) == 0 { + return false + } + + switch nod.Type { + case doc.COMMIT, doc.TAG: + return true + } + return false +} + // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. @@ -215,7 +227,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { installPath := path.Join(installRepoPath, n.RootPath) + versionSuffix(n.Value) // Indicates whether need to download package again. - if len(n.Value) > 0 && com.IsExist(installPath) { + if isUnchangablePoint(n) && com.IsExist(installPath) { n.IsGetDepsOnly = true } From 8fe66176a5e6aeec855a4844b634806950d98fe0 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 10 Jan 2014 17:41:32 +0800 Subject: [PATCH 260/287] change isUnchangablePoint to Pkg's method IsFixed --- cmd/get.go | 14 +------------- doc/struct.go | 9 +++++++++ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 9157f351e..4eeb9a471 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -188,18 +188,6 @@ func copyToGopath(srcPath, destPath string) { log.Log("Package copied to GOPATH: %s", importPath) } -func isUnchangablePoint(nod *doc.Node) bool { - if len(nod.Value) == 0 { - return false - } - - switch nod.Type { - case doc.COMMIT, doc.TAG: - return true - } - return false -} - // downloadPackages downloads packages with certain commit, // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. @@ -227,7 +215,7 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { installPath := path.Join(installRepoPath, n.RootPath) + versionSuffix(n.Value) // Indicates whether need to download package again. - if isUnchangablePoint(n) && com.IsExist(installPath) { + if n.IsFixed() && com.IsExist(installPath) { n.IsGetDepsOnly = true } diff --git a/doc/struct.go b/doc/struct.go index 59258e8d9..02e91b5b4 100644 --- a/doc/struct.go +++ b/doc/struct.go @@ -42,6 +42,15 @@ type Pkg struct { Value string // Branch, tag, commit or local. } +// If the package is fixed and no need to updated. +// For commit, tag and local, it's fixed. For branch +func (pkg *Pkg) IsFixed() bool { + if pkg.Type == BRANCH || len(pkg.Value) == 0 { + return false + } + return true +} + func (pkg *Pkg) VerString() string { if pkg.Value == "" { return pkg.Type From 9691733ace154d7890659312b5a5f2b7f55b277a Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 12 Jan 2014 18:02:13 +0800 Subject: [PATCH 261/287] =?UTF-8?q?Added=20option=20=E2=80=9C=E2=80=94upda?= =?UTF-8?q?te,=20-u=E2=80=9D=20for=20build=20command?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 24 ++++++++++++------------ cmd/build.go | 1 + cmd/cmd.go | 4 ++++ cmd/get.go | 9 +++++++-- cmd/gopath.go | 2 +- gopm.go | 8 ++++---- 6 files changed, 29 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 1360a64d3..40f5cafe4 100644 --- a/README.md +++ b/README.md @@ -19,21 +19,21 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.6.0.1211 + 0.6.1.0110 COMMANDS: - get fetch remote package(s) and dependencies to local repository - bin download and link dependencies and build executable binary - gen generate a gopmfile according current Go project - run link dependencies and go run - build link dependencies and go build - install link dependencies and go install - help, h Shows a list of commands or help for one command - + get fetch remote package(s) and dependencies to local repository + bin download and link dependencies and build executable binary + gen generate a gopmfile according current Go project + run link dependencies and go run + build link dependencies and go build + install link dependencies and go install + help, h Shows a list of commands or help for one command + GLOBAL OPTIONS: - --noterm disable color output - --version print the version - --help, -h show help + --noterm disable color output + --version, -v print the version + --help, -h show help ``` diff --git a/cmd/build.go b/cmd/build.go index 4e4feaf21..5461e586d 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -34,6 +34,7 @@ and execute 'go build' gopm build `, Action: runBuild, Flags: []cli.Flag{ + cli.BoolFlag{"update, u", "update pakcage(s) and dependencies if any"}, cli.BoolFlag{"verbose, v", "show process details"}, }, } diff --git a/cmd/cmd.go b/cmd/cmd.go index a2e608393..8a2d5d24a 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -81,3 +81,7 @@ func versionSuffix(value string) string { } return "" } + +func isSubpackage(rootPath, targetPath string) bool { + return strings.HasSuffix(workDir, rootPath) || strings.HasPrefix(rootPath, targetPath) +} diff --git a/cmd/get.go b/cmd/get.go index 4eeb9a471..6a90b1aca 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -126,7 +126,7 @@ func getByGopmfile(ctx *cli.Context) { for _, p := range imports { p = doc.GetProjectPath(p) // Skip subpackage(s) of current project. - if strings.HasSuffix(workDir, p) || strings.HasPrefix(p, targetPath) { + if isSubpackage(p, targetPath) { continue } node := doc.NewNode(p, p, doc.BRANCH, "", true) @@ -145,7 +145,6 @@ func getByGopmfile(ctx *cli.Context) { } func getByPath(ctx *cli.Context) { - return nodes := make([]*doc.Node, 0, len(ctx.Args())) for _, info := range ctx.Args() { pkgPath := info @@ -214,6 +213,10 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { n.RootPath = doc.GetProjectPath(n.ImportPath) installPath := path.Join(installRepoPath, n.RootPath) + versionSuffix(n.Value) + if isSubpackage(n.RootPath, ".") { + continue + } + // Indicates whether need to download package again. if n.IsFixed() && com.IsExist(installPath) { n.IsGetDepsOnly = true @@ -388,6 +391,8 @@ func updateByVcs(vcs, dirPath string) error { if len(stderr) > 0 { log.Error("", "Error: "+stderr) } + case "svn": + log.Error("", "Error: not support svn yet") } return nil } diff --git a/cmd/gopath.go b/cmd/gopath.go index 124906e77..9a32398ee 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -101,7 +101,7 @@ func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[s if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) { newPath = filepath.Join(curPath, strings.TrimPrefix(pkg.ImportPath, pkgName)) } else { - if !com.IsExist(newPath) { + if !com.IsExist(newPath) || ctx.Bool("update") { node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, pkg.Type, pkg.Value, true) nodes := []*doc.Node{node} diff --git a/gopm.go b/gopm.go index f0db2cd41..f58d1663a 100644 --- a/gopm.go +++ b/gopm.go @@ -52,11 +52,11 @@ func main() { app.Version = APP_VER app.Commands = []cli.Command{ cmd.CmdGet, - //cmd.CmdBin, + cmd.CmdBin, cmd.CmdGen, - //cmd.CmdRun, - //cmd.CmdBuild, - //cmd.CmdInstall, + cmd.CmdRun, + cmd.CmdBuild, + cmd.CmdInstall, //cmd.CmdUpdate, //cmd.CmdTest, } From 4954b251f843766bd18b4f4716fe43a4f9dd2745 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 12 Jan 2014 20:21:05 +0800 Subject: [PATCH 262/287] =?UTF-8?q?Added=20svn=20update=20support=20for=20?= =?UTF-8?q?option=20=E2=80=9D=E2=80=94update,=20-u=E2=80=9D=20of=20command?= =?UTF-8?q?=20get=20when=20update=20GOPATH=20projects?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/get.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index 6a90b1aca..b50bbcab5 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -355,19 +355,12 @@ func updateByVcs(vcs, dirPath string) error { switch vcs { case "git": - stdout, _, err := com.ExecCmd("git", "status") + branch, _, err := com.ExecCmd("git", "rev-parse", "--abbrev-ref", "HEAD") if err != nil { - log.Error("", "Error occurs when 'git status'") + log.Error("", "Error occurs when 'git rev-parse --abbrev-ref HEAD'") log.Error("", "\t"+err.Error()) } - i := strings.Index(stdout, "\n") - if i == -1 { - log.Error("", "Empty result for 'git status'") - return nil - } - - branch := strings.TrimPrefix(stdout[:i], "# On branch ") _, _, err = com.ExecCmd("git", "pull", "origin", branch) if err != nil { log.Error("", "Error occurs when 'git pull origin "+branch+"'") @@ -392,7 +385,14 @@ func updateByVcs(vcs, dirPath string) error { log.Error("", "Error: "+stderr) } case "svn": - log.Error("", "Error: not support svn yet") + _, stderr, err := com.ExecCmd("svn", "update") + if err != nil { + log.Error("", "Error occurs when 'svn update'") + log.Error("", "\t"+err.Error()) + } + if len(stderr) > 0 { + log.Error("", "Error: "+stderr) + } } return nil } From 98f542c157b4e377cd309c27c27a51d6cf1345fd Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 13 Jan 2014 23:20:52 +0800 Subject: [PATCH 263/287] Added update command --- cmd/update.go | 260 +++++++++++++++++++++++++++----------------------- doc/conf.go | 14 ++- gopm.go | 4 +- 3 files changed, 150 insertions(+), 128 deletions(-) diff --git a/cmd/update.go b/cmd/update.go index 54d90c6dc..19034b8b8 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -15,13 +15,14 @@ package cmd import ( + "encoding/json" "fmt" + "net/http" "os" "os/exec" "path" "path/filepath" "runtime" - "strings" "github.com/Unknwon/com" "github.com/codegangsta/cli" @@ -32,160 +33,175 @@ import ( var CmdUpdate = cli.Command{ Name: "update", - Usage: "update self", - Description: `Command bin downloads and links dependencies according to gopmfile, -and build executable binary to work directory + Usage: "check and update gopm resources including itself", + Description: `Command update checks updates of resources and gopm itself. gopm update -Can only specify one each time, and only works for projects that -contains main package`, +Resources will be updated automatically after executed this command, +but you have to confirm before updaing gopm itself.`, Action: runUpdate, + Flags: []cli.Flag{ + cli.BoolFlag{"verbose, v", "show process details"}, + }, } func exePath() string { - file, _ := exec.LookPath(os.Args[0]) - path, _ := filepath.Abs(file) + file, err := exec.LookPath(os.Args[0]) + if err != nil { + log.Error("Update", "Fail to execute exec.LookPath") + log.Fatal("", err.Error()) + } + path, err := filepath.Abs(file) + if err != nil { + log.Error("Update", "Fail to get absolutely path") + log.Fatal("", err.Error()) + } return path } -func runUpdate(ctx *cli.Context) { - doc.LoadPkgNameList(doc.HomeDir + "/data/pkgname.list") +type version struct { + Gopm int + PackageNameList int `json:"package_name_list"` +} - installRepoPath = doc.HomeDir + "/repos" +func runUpdate(ctx *cli.Context) { + setup(ctx) - // Check arguments. - num := 0 + isAnythingUpdated := false + // Load local version info. + localVerInfo := loadLocalVerInfo() - if len(ctx.Args()) != num { - log.Error("Update", "Fail to start command") - log.Fatal("", "Invalid argument number") + // Get remote version info. + var remoteVerInfo version + if err := com.HttpGetJSON(http.DefaultClient, "http://gopm.io/VERSION.json", &remoteVerInfo); err != nil { + log.Error("Update", "Fail to fetch VERSION.json") + log.Fatal("", err.Error()) } - // Parse package version. - info := "github.com/gpmgo/gopm" - pkgPath := info - ver := "" - var err error - if i := strings.Index(info, "@"); i > -1 { - pkgPath = info[:i] - _, ver = validPath(info[i+1:]) + // Package name list. + if remoteVerInfo.PackageNameList > localVerInfo.PackageNameList { + log.Log("Updating pkgname.list...%v > %v", + localVerInfo.PackageNameList, remoteVerInfo.PackageNameList) + data, err := com.HttpGetBytes(http.DefaultClient, "https://raw2.github.com/gpmgo/docs/master/pkgname.list", nil) + if err != nil { + log.Error("Update", "Fail to update pkgname.list") + log.Fatal("", err.Error()) + } + _, err = com.SaveFile(path.Join(doc.HomeDir, doc.PKG_NAME_LIST_PATH), data) + if err != nil { + log.Error("Update", "Fail to save pkgname.list") + log.Fatal("", err.Error()) + } + log.Log("Update pkgname.list to %v succeed!", remoteVerInfo.PackageNameList) + isAnythingUpdated = true } - // Check package name. - if !strings.Contains(pkgPath, "/") { - name, ok := doc.PackageNameList[pkgPath] - if !ok { - log.Error("Update", "Invalid package name: "+pkgPath) - log.Fatal("", "No match in the package name list") + // Gopm. + if remoteVerInfo.Gopm > localVerInfo.Gopm { + log.Log("Updating gopm...%v > %v", + localVerInfo.Gopm, remoteVerInfo.Gopm) + installRepoPath = doc.HomeDir + "/repos" + + tmpDirPath := path.Join(doc.HomeDir, "temp") + tmpBinPath := path.Join(tmpDirPath, "gopm") + if runtime.GOOS == "windows" { + tmpBinPath += ".exe" } - pkgPath = name - } - // Get code. - stdout, _, _ := com.ExecCmd("gopm", "get", info) - if len(stdout) > 0 { - fmt.Print(stdout) - } + os.MkdirAll(tmpDirPath, os.ModePerm) + os.Remove(tmpBinPath) + // Fetch code. + stdout, stderr, err := com.ExecCmd("gopm", "bin", "-u", "-d", + "github.com/gpmgo/gopm", tmpDirPath) + if err != nil { + log.Error("Update", "Fail to execute 'gopm bin -u -d github.com/gpmgo/gopm "+tmpDirPath+"'") + log.Fatal("", err.Error()) + } + if len(stderr) > 0 { + fmt.Print(stderr) + } + if len(stdout) > 0 { + fmt.Print(stdout) + } - // Check if previous steps were successful. - repoPath := installRepoPath + "/" + pkgPath - if len(ver) > 0 { - repoPath += "." + ver - } - if !com.IsDir(repoPath) { - log.Error("Bin", "Fail to continue command") - log.Fatal("", "Previous steps weren't successful") + // Check if previous steps were successful. + if !com.IsExist(tmpBinPath) { + log.Error("Update", "Fail to continue command") + log.Fatal("", "Previous steps weren't successful, no binary produced") + } + + movePath := exePath() + log.Log("New binary will be replaced for %s", movePath) + // Move binary to given directory. + if runtime.GOOS != "windows" { + err := os.Rename(tmpBinPath, movePath) + if err != nil { + log.Error("Update", "Fail to move binary") + log.Fatal("", err.Error()) + } + os.Chmod(movePath+"/"+path.Base(tmpBinPath), os.ModePerm) + } else { + batPath := filepath.Join(workDir, "a.bat") + f, err := os.Create(batPath) + if err != nil { + log.Error("Update", "Fail to generate bat file") + log.Fatal("", err.Error()) + } + f.WriteString(fmt.Sprintf(`ping -n 1 127.0.0.1>nul\ncopy "%v" "%v"\ndel "%v"\ndel "%v"`, + tmpBinPath, movePath, tmpBinPath, batPath)) + f.Close() + + attr := &os.ProcAttr{ + Dir: workDir, + Env: os.Environ(), + Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}, + } + + _, err = os.StartProcess(batPath, []string{"a.bat"}, attr) + if err != nil { + log.Error("Update", "Fail to start bat process") + log.Fatal("", err.Error()) + } + } + + log.Success("SUCC", "Update", "Command execute successfully!") + isAnythingUpdated = true } - wd, err := os.Getwd() + // Save JSON. + f, err := os.Create(path.Join(doc.HomeDir, doc.VER_PATH)) if err != nil { - log.Error("Bin", "Fail to get work directory") + log.Error("Update", "Fail to create VERSION.json") log.Fatal("", err.Error()) } - - // Change to repository path. - log.Log("Changing work directory to %s", repoPath) - err = os.Chdir(repoPath) - if err != nil { - log.Error("Bin", "Fail to change work directory") + if err := json.NewEncoder(f).Encode(&remoteVerInfo); err != nil { + log.Error("Update", "Fail to encode VERSION.json") log.Fatal("", err.Error()) } - // Build application. - stdout, _, _ = com.ExecCmd("gopm", "build") - if len(stdout) > 0 { - fmt.Print(stdout) - } - defer func() { - // Clean files. - os.RemoveAll(path.Join(repoPath, doc.VENDOR)) - }() - - // Check if previous steps were successful. - if com.IsFile(doc.GOPM_FILE_NAME) { - log.Trace("Loading gopmfile...") - gf := doc.NewGopmfile(".") - - var err error - pkgName, err = gf.GetValue("target", "path") - if err == nil { - log.Log("Target name: %s", pkgName) - } + if !isAnythingUpdated { + log.Log("Nothing need to be updated") } +} - if len(pkgName) == 0 { - _, pkgName = filepath.Split(pkgPath) - } +func loadLocalVerInfo() (ver version) { + verPath := path.Join(doc.HomeDir, doc.VER_PATH) - binName := path.Base(pkgName) - if runtime.GOOS == "windows" { - binName += ".exe" - } - binPath := path.Join(doc.VENDOR, "src", pkgPath, binName) - if !com.IsFile(binPath) { - log.Error("Update", "Fail to continue command") - log.Fatal("", "Previous steps weren't successful or the project does not contain main package") + // First time run should not exist. + if !com.IsExist(verPath) { + return ver } - movePath := exePath() - fmt.Print(movePath) - - // Move binary to given directory. - if runtime.GOOS != "windows" { - err = os.Rename(binPath, movePath) - if err != nil { - log.Error("Update", "Fail to move binary") - log.Fatal("", err.Error()) - } - os.Chmod(movePath+"/"+binName, os.ModePerm) - } else { - batPath := filepath.Join(wd, "a.bat") - f, err := os.Create(batPath) - if err != nil { - log.Error("Update", "Fail to generate bat file") - log.Fatal("", err.Error()) - } - f.WriteString(fmt.Sprintf(`ping -n 1 127.0.0.1>nul\ncopy "%v" "%v"\ndel "%v"\ndel "%v"`, - binPath, movePath, binPath, batPath)) - f.Close() - - attr := &os.ProcAttr{ - Dir: wd, - Env: os.Environ(), - //Files: []*os.File{nil, nil, nil}, - Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}, - } - - _, err = os.StartProcess(batPath, []string{"a.bat"}, attr) - if err != nil { - log.Error("Update", "Fail to start bat process") - log.Fatal("", err.Error()) - } + f, err := os.Open(verPath) + if err != nil { + log.Error("Update", "Fail to open VERSION.json") + log.Fatal("", err.Error()) } - log.Log("Changing work directory back to %s", wd) - os.Chdir(wd) - - log.Success("SUCC", "Update", "Command execute successfully!") + if err := json.NewDecoder(f).Decode(&ver); err != nil { + log.Error("Update", "Fail to decode VERSION.json") + log.Fatal("", err.Error()) + } + return ver } diff --git a/doc/conf.go b/doc/conf.go index ca964bd96..9f28f0c85 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -27,8 +27,10 @@ import ( ) const ( - GOPM_FILE_NAME = ".gopmfile" - RawHomeDir = "~/.gopm" + GOPM_FILE_NAME = ".gopmfile" + PKG_NAME_LIST_PATH = "data/pkgname.list" + VER_PATH = "data/VERSION.json" + RawHomeDir = "~/.gopm" ) var ( @@ -47,7 +49,7 @@ func init() { HomeDir = strings.Replace(RawHomeDir, "~", hd, -1) LoadLocalNodes() - LoadPkgNameList(HomeDir + "/data/pkgname.list") + LoadPkgNameList(path.Join(HomeDir, PKG_NAME_LIST_PATH)) } // NewGopmfile loads gopmgile in given directory. @@ -78,9 +80,13 @@ func LoadPkgNameList(filePath string) { } pkgs := strings.Split(string(data), "\n") - for _, line := range pkgs { + for i, line := range pkgs { infos := strings.Split(line, "=") if len(infos) != 2 { + // Last item might be empty line. + if i == len(pkgs)-1 { + continue + } log.Error("", "Fail to parse package name: "+line) log.Fatal("", "Invalid package name information") } diff --git a/gopm.go b/gopm.go index f58d1663a..e981408b5 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.1.0110" +const APP_VER = "0.6.2.0113" // //cmd.CmdSearch, // cmdClean, @@ -57,7 +57,7 @@ func main() { cmd.CmdRun, cmd.CmdBuild, cmd.CmdInstall, - //cmd.CmdUpdate, + cmd.CmdUpdate, //cmd.CmdTest, } app.Flags = append(app.Flags, []cli.Flag{ From 857b49e18a572a8ce9c872378d5fb6c343a5bd16 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 14 Jan 2014 18:35:00 +0800 Subject: [PATCH 264/287] bug fixed --- cmd/update.go | 3 ++- gopm.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cmd/update.go b/cmd/update.go index 19034b8b8..83722f61c 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -148,7 +148,8 @@ func runUpdate(ctx *cli.Context) { log.Error("Update", "Fail to generate bat file") log.Fatal("", err.Error()) } - f.WriteString(fmt.Sprintf(`ping -n 1 127.0.0.1>nul\ncopy "%v" "%v"\ndel "%v"\ndel "%v"`, + //f.WriteString("@echo off\r\n") + f.WriteString(fmt.Sprintf("ping -n 1 127.0.0.1>nul\r\ncopy \"%v\" \"%v\"\r\ndel \"%v\"\r\ndel \"%v\"\r\n", tmpBinPath, movePath, tmpBinPath, batPath)) f.Close() diff --git a/gopm.go b/gopm.go index e981408b5..6d00b2189 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.2.0113" +const APP_VER = "0.6.2.0102" // //cmd.CmdSearch, // cmdClean, From d81aca9a69d5fa5c00ac670a4cb1a2171cc19fc1 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 15 Jan 2014 13:41:51 +0800 Subject: [PATCH 265/287] update bug fixed on windows --- cmd/update.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/cmd/update.go b/cmd/update.go index 83722f61c..5f9529d27 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -103,8 +103,8 @@ func runUpdate(ctx *cli.Context) { localVerInfo.Gopm, remoteVerInfo.Gopm) installRepoPath = doc.HomeDir + "/repos" - tmpDirPath := path.Join(doc.HomeDir, "temp") - tmpBinPath := path.Join(tmpDirPath, "gopm") + tmpDirPath := filepath.Join(doc.HomeDir, "temp") + tmpBinPath := filepath.Join(tmpDirPath, "gopm") if runtime.GOOS == "windows" { tmpBinPath += ".exe" } @@ -142,15 +142,16 @@ func runUpdate(ctx *cli.Context) { } os.Chmod(movePath+"/"+path.Base(tmpBinPath), os.ModePerm) } else { - batPath := filepath.Join(workDir, "a.bat") + batPath := filepath.Join(tmpDirPath, "update.bat") f, err := os.Create(batPath) if err != nil { log.Error("Update", "Fail to generate bat file") log.Fatal("", err.Error()) } - //f.WriteString("@echo off\r\n") - f.WriteString(fmt.Sprintf("ping -n 1 127.0.0.1>nul\r\ncopy \"%v\" \"%v\"\r\ndel \"%v\"\r\ndel \"%v\"\r\n", - tmpBinPath, movePath, tmpBinPath, batPath)) + f.WriteString("@echo off\r\n") + f.WriteString(fmt.Sprintf("ping -n 1 127.0.0.1>nul\r\ncopy \"%v\" \"%v\" >nul\r\ndel \"%v\" >nul\r\n\r\n", + tmpBinPath, movePath, tmpBinPath)) + //f.WriteString(fmt.Sprintf("del \"%v\"\r\n", batPath)) f.Close() attr := &os.ProcAttr{ @@ -159,7 +160,7 @@ func runUpdate(ctx *cli.Context) { Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}, } - _, err = os.StartProcess(batPath, []string{"a.bat"}, attr) + _, err = os.StartProcess(batPath, []string{batPath}, attr) if err != nil { log.Error("Update", "Fail to start bat process") log.Fatal("", err.Error()) @@ -184,6 +185,7 @@ func runUpdate(ctx *cli.Context) { if !isAnythingUpdated { log.Log("Nothing need to be updated") } + log.Log("Exit old gopm") } func loadLocalVerInfo() (ver version) { From 2d42d1e584120eede3b0436c3a8016ff16d9b069 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 15 Jan 2014 13:57:13 +0800 Subject: [PATCH 266/287] version --- gopm.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gopm.go b/gopm.go index 6d00b2189..eeef579ec 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.2.0102" +const APP_VER = "0.6.2.0115" // //cmd.CmdSearch, // cmdClean, From 392441d4a4104a8d163a540bda0da7f1c1550b13 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 15 Jan 2014 17:19:32 +0800 Subject: [PATCH 267/287] Added -v for gopm bin when user uses -v in gopm update --- cmd/update.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd/update.go b/cmd/update.go index 5f9529d27..af7d4191f 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -111,9 +111,14 @@ func runUpdate(ctx *cli.Context) { os.MkdirAll(tmpDirPath, os.ModePerm) os.Remove(tmpBinPath) + // Fetch code. - stdout, stderr, err := com.ExecCmd("gopm", "bin", "-u", "-d", - "github.com/gpmgo/gopm", tmpDirPath) + args := []string{"bin", "-u", "-d"} + if ctx.Bool("verbose") { + args = append(args, "-v") + } + args = append(args, []string{"github.com/gpmgo/gopm", tmpDirPath}...) + stdout, stderr, err := com.ExecCmd("gopm", args...) if err != nil { log.Error("Update", "Fail to execute 'gopm bin -u -d github.com/gpmgo/gopm "+tmpDirPath+"'") log.Fatal("", err.Error()) From ca0e776d5eaa2c141cd00b3e528df570fc3f3142 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 18 Jan 2014 23:46:43 +0800 Subject: [PATCH 268/287] Updated README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 40f5cafe4..dee1c7d56 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ Gopm(Go Package Manager) is a Go package manage tool for search, install, update **News** The best IDE for Go development [LiteIDE](https://github.com/visualfc/liteide)(after X20) now has a simple integration of gopm! +**News** Want online cross-platform compile service? Just try [gobuild](http://build.gopm.io) and it won't let you down! + Please see **[Documentation](https://github.com/gpmgo/docs)** before you ever start. # Commands From 511782dd774b0a10d59789973680e9a2fb38b875 Mon Sep 17 00:00:00 2001 From: lunny Date: Sat, 25 Jan 2014 15:00:31 +0800 Subject: [PATCH 269/287] bug fixed on windowsxp --- cmd/build.go | 9 ++++++--- gopm.go | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cmd/build.go b/cmd/build.go index 5461e586d..8e8cb68b2 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -17,6 +17,7 @@ package cmd import ( "os" "path" + "path/filepath" "github.com/Unknwon/com" "github.com/codegangsta/cli" @@ -68,10 +69,12 @@ func buildBinary(ctx *cli.Context, args ...string) { } if isWindowsXP { - binName := pkgName + ".exe" + fName := path.Base(pkgName) + binName := fName + ".exe" os.Remove(binName) - if com.IsFile(path.Join(doc.VENDOR, "src", pkgName, binName)) { - err = os.Rename(path.Join(doc.VENDOR, "src", pkgName, binName), binName) + exePath := filepath.Join(curPath, doc.VENDOR, "src", pkgName, binName) + if com.IsFile(exePath) { + err = os.Rename(exePath, filepath.Join(curPath, binName)) if err != nil { log.Error("build", "fail to move binary:") log.Fatal("", "\t"+err.Error()) diff --git a/gopm.go b/gopm.go index eeef579ec..bb45dc884 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.2.0115" +const APP_VER = "0.6.2.0125" // //cmd.CmdSearch, // cmdClean, From 2a267cd9673ca9e78c1f09f7d246a66baf5cc7e4 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 25 Jan 2014 16:42:19 +0900 Subject: [PATCH 270/287] Update README --- README.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index dee1c7d56..6ad52bb65 100644 --- a/README.md +++ b/README.md @@ -21,21 +21,22 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.6.1.0110 + 0.6.2.0125 COMMANDS: - get fetch remote package(s) and dependencies to local repository - bin download and link dependencies and build executable binary - gen generate a gopmfile according current Go project - run link dependencies and go run - build link dependencies and go build - install link dependencies and go install - help, h Shows a list of commands or help for one command + get fetch remote package(s) and dependencies to local repository + bin download and link dependencies and build executable binary + gen generate a gopmfile according current Go project + run link dependencies and go run + build link dependencies and go build + install link dependencies and go install + update check and update gopm resources including itself + help, h Shows a list of commands or help for one command GLOBAL OPTIONS: - --noterm disable color output - --version, -v print the version - --help, -h show help + --noterm disable color output + --version, -v print the version + --help, -h show help ``` From 5ec42c4b87714d3d30aa16e2be15501a17c2cfbc Mon Sep 17 00:00:00 2001 From: Joe Chen Date: Wed, 12 Feb 2014 02:38:28 -0500 Subject: [PATCH 271/287] Create wercker.yml --- wercker.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 wercker.yml diff --git a/wercker.yml b/wercker.yml new file mode 100644 index 000000000..7c64bf0a9 --- /dev/null +++ b/wercker.yml @@ -0,0 +1 @@ +box: wercker/default From f58c3af7393d948840512897009cacf8be9cf29f Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 12 Feb 2014 02:41:23 -0500 Subject: [PATCH 272/287] Add badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6ad52bb65..1cc8b9a2f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -gopm - Go Package Manager +gopm - Go Package Manager [![wercker status](https://app.wercker.com/status/899e79d6738e606dab98c915a269d531/s/ "wercker status")](https://app.wercker.com/project/bykey/899e79d6738e606dab98c915a269d531) ========================= ![GPMGo_Logo](https://raw.github.com/gpmgo/gopmweb/master/static/img/gpmgo.png?raw=true) From e6fc1004ad7950692588ff3de916d5efc33c29d8 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 18 Feb 2014 08:55:44 -0500 Subject: [PATCH 273/287] Bug fix --- cmd/get.go | 3 +++ doc/utils.go | 13 +++++++------ gopm.go | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index b50bbcab5..7742d2d2d 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -191,6 +191,9 @@ func copyToGopath(srcPath, destPath string) { // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { + for _, node := range nodes { + fmt.Println(node) + } // Check all packages, they may be raw packages path. for _, n := range nodes { // Check if local reference diff --git a/doc/utils.go b/doc/utils.go index 7cc054e83..dab7e4b57 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -59,12 +59,13 @@ func GetImports(absPath, importPath string, example bool) []string { fis := GetDirsInfo(absPath) absPath += "/" - dirs := make([]string, 0) - for _, fi := range fis { - if fi.IsDir() && !strings.Contains(fi.Name(), VENDOR) { - dirs = append(dirs, absPath+fi.Name()) - } - } + // Load too much, skip for now. + // dirs := make([]string, 0) + // for _, fi := range fis { + // if fi.IsDir() && !strings.Contains(fi.Name(), VENDOR) { + // dirs = append(dirs, absPath+fi.Name()) + // } + // } imports := make([]string, 0, len(pkg.Imports)) for _, p := range pkg.Imports { diff --git a/gopm.go b/gopm.go index bb45dc884..8d678d733 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.2.0125" +const APP_VER = "0.6.2.0218" // //cmd.CmdSearch, // cmdClean, From 59c67597a5d2e4736c8e024583696545c11ae7d2 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 20 Feb 2014 12:11:58 -0500 Subject: [PATCH 274/287] Add command config, able to config github client_id and client_secret --- README.md | 6 ++---- cmd/config.go | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ doc/conf.go | 15 +++++++++++++ doc/github.go | 7 ++++++ doc/utils.go | 8 +++---- gopm.go | 3 ++- 6 files changed, 90 insertions(+), 9 deletions(-) create mode 100644 cmd/config.go diff --git a/README.md b/README.md index 6ad52bb65..918477308 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,11 @@ Please see **[Documentation](https://github.com/gpmgo/docs)** before you ever st # Commands ``` -NAME: - gopm - Go Package Manager - USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.6.2.0125 + 0.6.3.0220 COMMANDS: get fetch remote package(s) and dependencies to local repository @@ -31,6 +28,7 @@ COMMANDS: build link dependencies and go build install link dependencies and go install update check and update gopm resources including itself + config configurate gopm global settings help, h Shows a list of commands or help for one command GLOBAL OPTIONS: diff --git a/cmd/config.go b/cmd/config.go new file mode 100644 index 000000000..28b0f6412 --- /dev/null +++ b/cmd/config.go @@ -0,0 +1,60 @@ +// Copyright 2013-2014 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + "path" + + "github.com/Unknwon/goconfig" + "github.com/codegangsta/cli" + + "github.com/gpmgo/gopm/doc" + "github.com/gpmgo/gopm/log" +) + +var CmdConfig = cli.Command{ + Name: "config", + Usage: "configurate gopm global settings", + Description: `Command config configurates gopm global settings + +gopm config github [client_id] [client_secret] +`, + Action: runConfig, + Flags: []cli.Flag{ + cli.BoolFlag{"verbose, v", "show process details"}, + }, +} + +func runConfig(ctx *cli.Context) { + setup(ctx) + + if len(ctx.Args()) == 0 { + log.Error("config", "Cannot start command:") + log.Fatal("", "\tNo section specified") + } + + switch ctx.Args()[0] { + case "github": + if len(ctx.Args()) < 3 { + log.Error("config", "Cannot config section 'github'") + log.Fatal("", "\tNot enough arguments for client_id and client_secret") + } + doc.Cfg.SetValue("github", "client_id", ctx.Args()[1]) + doc.Cfg.SetValue("github", "client_secret", ctx.Args()[2]) + goconfig.SaveConfigFile(doc.Cfg, path.Join(doc.HomeDir, doc.GOPM_CONFIG_FILE)) + } + + log.Success("SUCC", "config", "Command executed successfully!") +} diff --git a/doc/conf.go b/doc/conf.go index 9f28f0c85..8d46d17cf 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -28,6 +28,7 @@ import ( const ( GOPM_FILE_NAME = ".gopmfile" + GOPM_CONFIG_FILE = "data/gopm.ini" PKG_NAME_LIST_PATH = "data/pkgname.list" VER_PATH = "data/VERSION.json" RawHomeDir = "~/.gopm" @@ -37,6 +38,7 @@ var ( HomeDir = "~/.gopm" LocalNodesFile = "/data/localnodes.list" LocalNodes *goconfig.ConfigFile + Cfg *goconfig.ConfigFile ) func init() { @@ -48,6 +50,19 @@ func init() { HomeDir = strings.Replace(RawHomeDir, "~", hd, -1) + cfgPath := path.Join(HomeDir, GOPM_CONFIG_FILE) + if !com.IsExist(cfgPath) { + if _, err = os.Create(cfgPath); err != nil { + log.Error("", "Fail to create gopm config file") + log.Fatal("", err.Error()) + } + } + Cfg, err = goconfig.LoadConfigFile(cfgPath) + if _, err = os.Create(cfgPath); err != nil { + log.Error("", "Fail to load gopm config file") + log.Fatal("", err.Error()) + } + LoadLocalNodes() LoadPkgNameList(path.Join(HomeDir, PKG_NAME_LIST_PATH)) } diff --git a/doc/github.go b/doc/github.go index c7885cbd3..ffd7a77ea 100644 --- a/doc/github.go +++ b/doc/github.go @@ -35,8 +35,15 @@ var ( githubPattern = regexp.MustCompile(`^github\.com/(?P[a-z0-9A-Z_.\-]+)/(?P[a-z0-9A-Z_.\-]+)(?P

    /[a-z0-9A-Z_.\-/]*)?$`) ) +func GetGithubCredentials() string { + return "client_id=" + Cfg.MustValue("github", "client_id") + + "&client_secret=" + Cfg.MustValue("github", "client_secret") +} + // getGithubDoc downloads tarball from github.com. func getGithubDoc(client *http.Client, match map[string]string, installRepoPath string, nod *Node, ctx *cli.Context) ([]string, error) { + match["cred"] = GetGithubCredentials() + // Check downlaod type. switch nod.Type { case BRANCH: diff --git a/doc/utils.go b/doc/utils.go index dab7e4b57..327a29dea 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -56,7 +56,7 @@ func GetImports(absPath, importPath string, example bool) []string { } } - fis := GetDirsInfo(absPath) + //fis := GetDirsInfo(absPath) absPath += "/" // Load too much, skip for now. @@ -73,9 +73,9 @@ func GetImports(absPath, importPath string, example bool) []string { imports = append(imports, p) } } - if len(dirs) > 0 { - imports = append(imports, GetAllImports(dirs, importPath, example)...) - } + // if len(dirs) > 0 { + // imports = append(imports, GetAllImports(dirs, importPath, example)...) + // } return imports } diff --git a/gopm.go b/gopm.go index 8d678d733..a1b8a7fcf 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.2.0218" +const APP_VER = "0.6.3.0220" // //cmd.CmdSearch, // cmdClean, @@ -58,6 +58,7 @@ func main() { cmd.CmdBuild, cmd.CmdInstall, cmd.CmdUpdate, + cmd.CmdConfig, //cmd.CmdTest, } app.Flags = append(app.Flags, []cli.Flag{ From a5474a128a212d9d3aef6ca836e656692f0db86f Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 1 Mar 2014 15:44:45 -0500 Subject: [PATCH 275/287] Bug fix --- doc/conf.go | 1 + gopm.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/conf.go b/doc/conf.go index 8d46d17cf..610da82d9 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -52,6 +52,7 @@ func init() { cfgPath := path.Join(HomeDir, GOPM_CONFIG_FILE) if !com.IsExist(cfgPath) { + os.MkdirAll(path.Dir(cfgPath), os.ModePerm) if _, err = os.Create(cfgPath); err != nil { log.Error("", "Fail to create gopm config file") log.Fatal("", err.Error()) diff --git a/gopm.go b/gopm.go index a1b8a7fcf..5f00d2467 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.3.0220" +const APP_VER = "0.6.3.0301" // //cmd.CmdSearch, // cmdClean, From a7125daad6aa64fd5645081b47d1db0de6d45753 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 11 Mar 2014 23:28:45 -0400 Subject: [PATCH 276/287] Bug fix --- cmd/gen.go | 2 +- cmd/get.go | 4 ++-- doc/utils.go | 25 +++++++++++++------------ gopm.go | 2 +- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/cmd/gen.go b/cmd/gen.go index 6abd821d8..314a65e9e 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -57,7 +57,7 @@ func runGen(ctx *cli.Context) { targetPath := parseTarget(gf.MustValue("target", "path")) // Get dependencies. imports := doc.GetAllImports([]string{workDir}, targetPath, ctx.Bool("example")) - + log.Log("%v", imports) for _, p := range imports { p = doc.GetProjectPath(p) // Skip subpackage(s) of current project. diff --git a/cmd/get.go b/cmd/get.go index 7742d2d2d..fac5890f6 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -233,8 +233,8 @@ func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { n.ImportPath, n.Type, doc.CheckNodeValue(n.Value)) // Only copy when no version control. - if ctx.Bool("gopath") && com.IsExist(installPath) || - len(getVcsName(gopathDir)) == 0 { + if ctx.Bool("gopath") && (com.IsExist(installPath) || + len(getVcsName(gopathDir)) == 0) { copyToGopath(installPath, gopathDir) } continue diff --git a/doc/utils.go b/doc/utils.go index 327a29dea..558ab2ac9 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -56,26 +56,27 @@ func GetImports(absPath, importPath string, example bool) []string { } } - //fis := GetDirsInfo(absPath) + fis := GetDirsInfo(absPath) absPath += "/" - // Load too much, skip for now. - // dirs := make([]string, 0) - // for _, fi := range fis { - // if fi.IsDir() && !strings.Contains(fi.Name(), VENDOR) { - // dirs = append(dirs, absPath+fi.Name()) - // } - // } - imports := make([]string, 0, len(pkg.Imports)) for _, p := range pkg.Imports { if !IsGoRepoPath(p) && !strings.HasPrefix(p, importPath) { imports = append(imports, p) } } - // if len(dirs) > 0 { - // imports = append(imports, GetAllImports(dirs, importPath, example)...) - // } + + // TODO: Load too much + dirs := make([]string, 0, len(imports)) + for _, fi := range fis { + if fi.IsDir() && !strings.Contains(fi.Name(), VENDOR) { + dirs = append(dirs, absPath+fi.Name()) + } + } + + if len(dirs) > 0 { + imports = append(imports, GetAllImports(dirs, importPath, example)...) + } return imports } diff --git a/gopm.go b/gopm.go index 5f00d2467..1b454ce47 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.3.0301" +const APP_VER = "0.6.3.0311" // //cmd.CmdSearch, // cmdClean, From 5a213c08345a2f93c39a52bcfe1f6c94798c5340 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 11 Mar 2014 23:38:22 -0400 Subject: [PATCH 277/287] Bug fix --- cmd/get.go | 3 --- doc/github.go | 5 +++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/cmd/get.go b/cmd/get.go index fac5890f6..a6f616b86 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -191,9 +191,6 @@ func copyToGopath(srcPath, destPath string) { // if the commit is empty string, then it downloads all dependencies, // otherwise, it only downloada package with specific commit only. func downloadPackages(ctx *cli.Context, nodes []*doc.Node) { - for _, node := range nodes { - fmt.Println(node) - } // Check all packages, they may be raw packages path. for _, n := range nodes { // Check if local reference diff --git a/doc/github.go b/doc/github.go index ffd7a77ea..0bd62c391 100644 --- a/doc/github.go +++ b/doc/github.go @@ -63,8 +63,9 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath err := com.HttpGetJSON(client, com.Expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) if err != nil { - log.Error("GET", "Fail to get revision") - log.Error("", err.Error()) + log.Warn("GET", "Fail to get revision") + log.Warn("", err.Error()) + log.Help("Try 'gopm config github' to set and gain more API calls") break } From dd724eb8be6b6eb8088d2649af4c503f80fcf04c Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 12 Mar 2014 05:05:25 -0400 Subject: [PATCH 278/287] Add res section in gopmfile --- cmd/gen.go | 13 ++++++++++++- gopm.go | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/cmd/gen.go b/cmd/gen.go index 314a65e9e..1c78171e0 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -41,6 +41,8 @@ Make sure you run this command in the root path of a go project.`, }, } +var commonRes = []string{"views", "templates", "static", "public", "conf"} + func runGen(ctx *cli.Context) { setup(ctx) @@ -55,7 +57,7 @@ func runGen(ctx *cli.Context) { } targetPath := parseTarget(gf.MustValue("target", "path")) - // Get dependencies. + // Get and set dependencies. imports := doc.GetAllImports([]string{workDir}, targetPath, ctx.Bool("example")) log.Log("%v", imports) for _, p := range imports { @@ -71,6 +73,15 @@ func runGen(ctx *cli.Context) { } } + // Get and set resources. + res := make([]string, 0, len(commonRes)) + for _, cr := range commonRes { + if com.IsExist(cr) { + res = append(res, cr) + } + } + gf.SetValue("res", "include", strings.Join(res, "|")) + err = goconfig.SaveConfigFile(gf, ".gopmfile") if err != nil { log.Error("gen", "Fail to save gopmfile:") diff --git a/gopm.go b/gopm.go index 1b454ce47..0695a5ad9 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.3.0311" +const APP_VER = "0.6.3.0312" // //cmd.CmdSearch, // cmdClean, From c40e2850731ab5af13d012d4e965d692cd2a27b9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 13 Mar 2014 16:58:57 -0400 Subject: [PATCH 279/287] Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 918477308..7a3748cad 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.6.3.0220 + 0.6.3.0311 COMMANDS: get fetch remote package(s) and dependencies to local repository From a7b073b56f470f5653a86b0bd2ee0ba6ce067287 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 13 Mar 2014 17:07:46 -0400 Subject: [PATCH 280/287] Bug fix --- cmd/gopath.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/gopath.go b/cmd/gopath.go index 9a32398ee..8fe40064e 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -257,8 +257,8 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { continue } - if (!isExistP && (len(pkg.Value) > 0 || ctx.Bool("remote"))) || - !com.IsDir(filepath.Join(installGopath, pkg.ImportPath)) { + if !isExistP && ((len(pkg.Value) > 0 || ctx.Bool("remote")) || + !com.IsDir(filepath.Join(installGopath, pkg.ImportPath))) { log.Log("Linking %s", name+suf) err = autoLink(oldPath, newPath) if err != nil { From 8067b8ec45c5628b618064c445a66330b7661136 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 13 Mar 2014 17:10:38 -0400 Subject: [PATCH 281/287] Clean code --- README.md | 2 +- cmd/gopath.go | 2 +- gopm.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8574a9a26..2e27181f6 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.6.3.0311 + 0.6.3.0313 COMMANDS: get fetch remote package(s) and dependencies to local repository diff --git a/cmd/gopath.go b/cmd/gopath.go index 8fe40064e..aac6b7457 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -257,7 +257,7 @@ func genNewGoPath(ctx *cli.Context, isTest bool) { continue } - if !isExistP && ((len(pkg.Value) > 0 || ctx.Bool("remote")) || + if !isExistP && (len(pkg.Value) > 0 || ctx.Bool("remote") || !com.IsDir(filepath.Join(installGopath, pkg.ImportPath))) { log.Log("Linking %s", name+suf) err = autoLink(oldPath, newPath) diff --git a/gopm.go b/gopm.go index 0695a5ad9..80700358e 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.3.0312" +const APP_VER = "0.6.3.0313" // //cmd.CmdSearch, // cmdClean, From 149080db4b1b8bab5e7e137b96181eb98cbed00a Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 15 Mar 2014 17:44:02 -0400 Subject: [PATCH 282/287] Add some test cases --- cmd/cmd_test.go | 31 +++++++++++++++++++++ cmd/get.go | 6 +++- doc/utils.go | 31 +++++++++++++++------ doc/utils_test.go | 71 +++++++++++++++++++++++++++++++++++++++++++++++ doc/vcs.go | 8 ++++-- gopm.go | 2 +- 6 files changed, 136 insertions(+), 13 deletions(-) create mode 100644 cmd/cmd_test.go create mode 100644 doc/utils_test.go diff --git a/cmd/cmd_test.go b/cmd/cmd_test.go new file mode 100644 index 000000000..70a146b4f --- /dev/null +++ b/cmd/cmd_test.go @@ -0,0 +1,31 @@ +// Copyright 2013-2014 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package cmd + +import ( + "testing" + + . "github.com/smartystreets/goconvey/convey" +) + +func Test_parseTarget(t *testing.T) { + Convey("Target is empty", t, func() { + So(parseTarget(""), ShouldEqual, ".") + }) + + Convey("Target is not empty", t, func() { + So(parseTarget("github.com/gpmgo/gopm"), ShouldEqual, "github.com/gpmgo/gopm") + }) +} diff --git a/cmd/get.go b/cmd/get.go index a6f616b86..252d4c3a0 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -106,8 +106,11 @@ func runGet(ctx *cli.Context) { switch len(ctx.Args()) { case 0: getByGopmfile(ctx) - default: + case 1: getByPath(ctx) + default: + log.Error("get", "too many arguments") + log.Help("Try 'gopm help get' to get more information") } } @@ -124,6 +127,7 @@ func getByGopmfile(ctx *cli.Context) { nodes := make([]*doc.Node, 0, len(imports)) for _, p := range imports { + // TODO: DOING TEST CASES!!! p = doc.GetProjectPath(p) // Skip subpackage(s) of current project. if isSubpackage(p, targetPath) { diff --git a/doc/utils.go b/doc/utils.go index 558ab2ac9..98243d8d3 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -29,21 +29,24 @@ import ( const VENDOR = ".vendor" // GetDirsInfo returns os.FileInfo of all sub-directories in root path. -func GetDirsInfo(rootPath string) []os.FileInfo { +func GetDirsInfo(rootPath string) ([]os.FileInfo, error) { + if !com.IsDir(rootPath) { + log.Warn("Directory %s does not exist", rootPath) + return []os.FileInfo{}, nil + } + rootDir, err := os.Open(rootPath) if err != nil { - log.Error("", "Fail to open directory") - log.Fatal("", err.Error()) + return nil, err } defer rootDir.Close() dirs, err := rootDir.Readdir(0) if err != nil { - log.Error("", "Fail to read directory") - log.Fatal("", err.Error()) + return nil, err } - return dirs + return dirs, nil } // GetImports returns package denpendencies. @@ -56,7 +59,11 @@ func GetImports(absPath, importPath string, example bool) []string { } } - fis := GetDirsInfo(absPath) + fis, err := GetDirsInfo(absPath) + if err != nil { + log.Error("", "Fail to get directory's information") + log.Fatal("", err.Error()) + } absPath += "/" imports := make([]string, 0, len(pkg.Imports)) @@ -66,7 +73,7 @@ func GetImports(absPath, importPath string, example bool) []string { } } - // TODO: Load too much + // TODO: Load too much, need to make sure which is imported which are not. dirs := make([]string, 0, len(imports)) for _, fi := range fis { if fi.IsDir() && !strings.Contains(fi.Name(), VENDOR) { @@ -80,12 +87,14 @@ func GetImports(absPath, importPath string, example bool) []string { return imports } +// isVcsPath returns true if the directory was created by VCS. func isVcsPath(dirPath string) bool { return strings.Contains(dirPath, "/.git") || strings.Contains(dirPath, "/.hg") || strings.Contains(dirPath, "/.svn") } +// GetAllImports returns all imports in given directory and all sub-directories. func GetAllImports(dirs []string, importPath string, example bool) (imports []string) { for _, d := range dirs { if !isVcsPath(d) && @@ -116,7 +125,11 @@ func CheckIsExistWithVCS(path string) bool { } // Check if only has VCS folder. - dirs := GetDirsInfo(path) + dirs, err := GetDirsInfo(path) + if err != nil { + log.Error("", "Fail to get directory's information") + log.Fatal("", err.Error()) + } if len(dirs) > 1 { return true diff --git a/doc/utils_test.go b/doc/utils_test.go new file mode 100644 index 000000000..568cc6d0f --- /dev/null +++ b/doc/utils_test.go @@ -0,0 +1,71 @@ +// Copyright 2013-2014 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package doc + +import ( + "testing" + + . "github.com/smartystreets/goconvey/convey" +) + +var VcsTestPairs = map[string]bool{ + "/.hg": true, + "/.git": true, + "/.svn": true, + "/.vendor": false, +} + +func Test_isVcsPath(t *testing.T) { + Convey("Test if the path is belonging to VCS", t, func() { + for name, expect := range VcsTestPairs { + So(isVcsPath(name), ShouldEqual, expect) + } + }) +} + +func TestGetDirsInfo(t *testing.T) { + Convey("Get directory's information that exist", t, func() { + dis, err := GetDirsInfo(".") + So(err, ShouldBeNil) + So(len(dis), ShouldEqual, 13) + }) + + Convey("Get directory's information does not exist", t, func() { + dis, err := GetDirsInfo("./404") + So(err, ShouldBeNil) + So(len(dis), ShouldEqual, 0) + }) +} + +var GoStdTestPairs = map[string]bool{ + "net/http": true, + "fmt": true, + "github.com/gpmgo/gopm": false, + "github.com/Unknwon/com": false, +} + +func TestIsGoRepoPath(t *testing.T) { + Convey("Test if the path is belonging to Go STD", t, func() { + for name, expect := range GoStdTestPairs { + So(IsGoRepoPath(name), ShouldEqual, expect) + } + }) +} + +func TestGetImports(t *testing.T) { + Convey("Get package that are imported", t, func() { + So(len(GetImports(".", "github.com/gpmgo/gopm/docs", false)), ShouldEqual, 4) + }) +} diff --git a/doc/vcs.go b/doc/vcs.go index c3afc090c..224ae7507 100644 --- a/doc/vcs.go +++ b/doc/vcs.go @@ -1,4 +1,4 @@ -// Copyright 2013 gopm authors. +// Copyright 2013-2014 gopm authors. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -245,7 +245,11 @@ metaScan: } func getImports(rootPath string, match map[string]string, cmdFlags map[string]bool, nod *Node) (imports []string) { - dirs := GetDirsInfo(rootPath) + dirs, err := GetDirsInfo(rootPath) + if err != nil { + log.Error("", "Fail to get directory's information") + log.Fatal("", err.Error()) + } for _, d := range dirs { if d.IsDir() && !(!cmdFlags["-e"] && strings.Contains(d.Name(), "example")) { diff --git a/gopm.go b/gopm.go index 80700358e..3d3d98cdf 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.3.0313" +const APP_VER = "0.6.3.0315" // //cmd.CmdSearch, // cmdClean, From 58a744ca577bfd6cbcb80da473e3ed31adc7b4c1 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 18 Mar 2014 03:05:16 -0400 Subject: [PATCH 283/287] Add res copy for command bin --- README.md | 7 +++++-- cmd/bin.go | 26 +++++++++++++++++++------- cmd/gen.go | 1 - gopm.go | 2 +- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 2e27181f6..54ab15b33 100644 --- a/README.md +++ b/README.md @@ -14,11 +14,14 @@ Please see **[Documentation](https://github.com/gpmgo/docs)** before you ever st # Commands ``` +NAME: + gopm - Go Package Manager + USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.6.3.0313 + 0.6.4.0318 COMMANDS: get fetch remote package(s) and dependencies to local repository @@ -30,7 +33,7 @@ COMMANDS: update check and update gopm resources including itself config configurate gopm global settings help, h Shows a list of commands or help for one command - + GLOBAL OPTIONS: --noterm disable color output --version, -v print the version diff --git a/cmd/bin.go b/cmd/bin.go index bc9b0975b..b1fd5c088 100644 --- a/cmd/bin.go +++ b/cmd/bin.go @@ -1,4 +1,4 @@ -// Copyright 2013 gopm authors. +// Copyright 2013-2014 gopm authors. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -110,8 +110,7 @@ func runBin(ctx *cli.Context) { // Change to repository path. log.Log("Changing work directory to %s", repoPath) - err = os.Chdir(repoPath) - if err != nil { + if err = os.Chdir(repoPath); err != nil { log.Error("bin", "Fail to change work directory:") log.Fatal("", "\t"+err.Error()) } @@ -123,6 +122,7 @@ func runBin(ctx *cli.Context) { os.RemoveAll(path.Join(repoPath, doc.VENDOR)) }() + includes := make([]string, 0, 3) // Check if previous steps were successful. if com.IsFile(doc.GOPM_FILE_NAME) { log.Trace("Loading gopmfile...") @@ -133,6 +133,8 @@ func runBin(ctx *cli.Context) { if err == nil { log.Log("Target name: %s", pkgName) } + + includes = strings.Split(gf.MustValue("res", "include"), "|") } if len(pkgName) == 0 { @@ -157,20 +159,30 @@ func runBin(ctx *cli.Context) { } if com.IsExist(movePath + "/" + binName) { - err = os.Remove(movePath + "/" + binName) - if err != nil { + if err = os.Remove(movePath + "/" + binName); err != nil { log.Warn("Cannot remove binary in work directory:") log.Warn("\t %s", err) } } - err = os.Rename(binName, movePath+"/"+binName) - if err != nil { + if err = os.Rename(binName, movePath+"/"+binName); err != nil { log.Error("bin", "Fail to move binary:") log.Fatal("", "\t"+err.Error()) } os.Chmod(movePath+"/"+binName, os.ModePerm) + if len(includes) > 0 { + log.Log("Copying resources to %s", movePath) + for _, include := range includes { + if com.IsDir(include) { + if err = com.CopyDir(include, filepath.Join(movePath, include)); err != nil { + log.Error("bin", "Fail to copy following resource:") + log.Error("", "\t"+include) + } + } + } + } + log.Log("Changing work directory back to %s", wd) os.Chdir(wd) diff --git a/cmd/gen.go b/cmd/gen.go index 1c78171e0..fe504a9f9 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -59,7 +59,6 @@ func runGen(ctx *cli.Context) { targetPath := parseTarget(gf.MustValue("target", "path")) // Get and set dependencies. imports := doc.GetAllImports([]string{workDir}, targetPath, ctx.Bool("example")) - log.Log("%v", imports) for _, p := range imports { p = doc.GetProjectPath(p) // Skip subpackage(s) of current project. diff --git a/gopm.go b/gopm.go index 3d3d98cdf..3e6385f00 100644 --- a/gopm.go +++ b/gopm.go @@ -29,7 +29,7 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.3.0315" +const APP_VER = "0.6.4.0318" // //cmd.CmdSearch, // cmdClean, From cbfb81009d54168ea8f45f36d1cfa14452cea34a Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 20 Mar 2014 13:53:51 -0400 Subject: [PATCH 284/287] Work on #13 --- README.md | 2 +- cmd/gen.go | 7 ++-- cmd/get.go | 6 +-- cmd/gopath.go | 16 +++++++- cmd/install.go | 5 +-- doc/utils.go | 106 +++++++++++++++++++++++++++++++++++++++---------- gopm.go | 7 ++-- 7 files changed, 114 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 54ab15b33..2b95db977 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ USAGE: gopm [global options] command [command options] [arguments...] VERSION: - 0.6.4.0318 + 0.6.5.0320 COMMANDS: get fetch remote package(s) and dependencies to local repository diff --git a/cmd/gen.go b/cmd/gen.go index fe504a9f9..3b31516d4 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -1,4 +1,4 @@ -// Copyright 2013 gopm authors. +// Copyright 2013-2014 gopm authors. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -58,11 +58,12 @@ func runGen(ctx *cli.Context) { targetPath := parseTarget(gf.MustValue("target", "path")) // Get and set dependencies. - imports := doc.GetAllImports([]string{workDir}, targetPath, ctx.Bool("example")) + imports := doc.GetAllImports([]string{workDir}, targetPath, ctx.Bool("example"), false) for _, p := range imports { p = doc.GetProjectPath(p) // Skip subpackage(s) of current project. - if strings.HasSuffix(workDir, p) || strings.HasPrefix(p, targetPath) { + if strings.HasSuffix(strings.Replace(workDir, "\\", "/", -1), p) || + strings.HasPrefix(p, targetPath) { continue } diff --git a/cmd/get.go b/cmd/get.go index 252d4c3a0..d747502e6 100644 --- a/cmd/get.go +++ b/cmd/get.go @@ -123,7 +123,7 @@ func getByGopmfile(ctx *cli.Context) { targetPath := parseTarget(gf.MustValue("target", "path")) // Get dependencies. - imports := doc.GetAllImports([]string{workDir}, targetPath, ctx.Bool("example")) + imports := doc.GetAllImports([]string{workDir}, targetPath, ctx.Bool("example"), false) nodes := make([]*doc.Node, 0, len(imports)) for _, p := range imports { @@ -316,12 +316,12 @@ func downloadPackage(ctx *cli.Context, nod *doc.Node) (*doc.Node, []string) { vcs := getVcsName(gopathDir) if ctx.Bool("update") && ctx.Bool("gopath") && len(vcs) > 0 { err = updateByVcs(vcs, gopathDir) - imports = doc.GetAllImports([]string{gopathDir}, nod.RootPath, false) + imports = doc.GetAllImports([]string{gopathDir}, nod.RootPath, false, false) } else { // If package has revision and exist, then just check dependencies. if nod.IsGetDepsOnly { return nod, doc.GetAllImports([]string{path.Join(installRepoPath, nod.RootPath) + versionSuffix(nod.Value)}, - nod.RootPath, ctx.Bool("example")) + nod.RootPath, ctx.Bool("example"), false) } nod.Revision = doc.LocalNodes.MustValue(nod.RootPath, "value") imports, err = doc.PureDownload(nod, installRepoPath, ctx) //CmdGet.Flags) diff --git a/cmd/gopath.go b/cmd/gopath.go index aac6b7457..1c5c321cb 100644 --- a/cmd/gopath.go +++ b/cmd/gopath.go @@ -1,3 +1,17 @@ +// Copyright 2013-2014 gopm authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + package cmd import ( @@ -35,7 +49,7 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err } } - imports := doc.GetAllImports([]string{dirPath}, ".", false) + imports := doc.GetAllImports([]string{dirPath}, ".", false, false) pkgs = make(map[string]*doc.Pkg) for _, name := range imports { if name == "C" { diff --git a/cmd/install.go b/cmd/install.go index f83aff7bb..7d8af31a0 100644 --- a/cmd/install.go +++ b/cmd/install.go @@ -1,4 +1,4 @@ -// Copyright 2013 gopm authors. +// Copyright 2013-2014 gopm authors. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -83,8 +83,7 @@ func runInstall(ctx *cli.Context) { var installRepos []string if ctx.Bool("pkg") { curPath, _ := filepath.Abs(".") - installRepos = doc.GetAllImports([]string{curPath}, - ".", ctx.Bool("example")) + installRepos = doc.GetAllImports([]string{curPath}, ".", ctx.Bool("example"), false) } else { if len(target) == 0 { target = pkgName diff --git a/doc/utils.go b/doc/utils.go index 98243d8d3..7ff1fc8a1 100644 --- a/doc/utils.go +++ b/doc/utils.go @@ -1,4 +1,4 @@ -// Copyright 2013 gopm authors. +// Copyright 2013-2014 gopm authors. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -15,11 +15,16 @@ package doc import ( + "bytes" "go/build" + "io" + "io/ioutil" "os" "path" + "path/filepath" "regexp" "strings" + "time" "github.com/Unknwon/com" @@ -49,16 +54,43 @@ func GetDirsInfo(rootPath string) ([]os.FileInfo, error) { return dirs, nil } -// GetImports returns package denpendencies. -func GetImports(absPath, importPath string, example bool) []string { - pkg, err := build.ImportDir(absPath, build.AllowBinary) - if err != nil { - if _, ok := err.(*build.NoGoError); !ok { - log.Error("", "Fail to get imports") - log.Fatal("", err.Error()) - } +// A Source describles a Source code file. +type Source struct { + SrcName string + SrcData []byte +} + +func (s *Source) Name() string { return s.SrcName } +func (s *Source) Size() int64 { return int64(len(s.SrcData)) } +func (s *Source) Mode() os.FileMode { return 0 } +func (s *Source) ModTime() time.Time { return time.Time{} } +func (s *Source) IsDir() bool { return false } +func (s *Source) Sys() interface{} { return nil } +func (s *Source) Data() []byte { return s.SrcData } + +type Context struct { + build.Context + importPath string + srcFiles map[string]*Source +} + +func (ctx *Context) readDir(dir string) ([]os.FileInfo, error) { + fis := make([]os.FileInfo, 0, len(ctx.srcFiles)) + for _, src := range ctx.srcFiles { + fis = append(fis, src) } + return fis, nil +} +func (ctx *Context) openFile(path string) (r io.ReadCloser, err error) { + if src, ok := ctx.srcFiles[filepath.Base(path)]; ok { + return ioutil.NopCloser(bytes.NewReader(src.Data())), nil + } + return nil, os.ErrNotExist +} + +// GetImports returns package denpendencies. +func GetImports(absPath, importPath string, example, test bool) []string { fis, err := GetDirsInfo(absPath) if err != nil { log.Error("", "Fail to get directory's information") @@ -66,23 +98,57 @@ func GetImports(absPath, importPath string, example bool) []string { } absPath += "/" - imports := make([]string, 0, len(pkg.Imports)) - for _, p := range pkg.Imports { - if !IsGoRepoPath(p) && !strings.HasPrefix(p, importPath) { - imports = append(imports, p) - } - } + ctx := new(Context) + ctx.importPath = importPath + ctx.srcFiles = make(map[string]*Source) + ctx.Context = build.Default + ctx.JoinPath = path.Join + ctx.IsAbsPath = path.IsAbs + ctx.ReadDir = ctx.readDir + ctx.OpenFile = ctx.openFile // TODO: Load too much, need to make sure which is imported which are not. - dirs := make([]string, 0, len(imports)) + dirs := make([]string, 0, 10) for _, fi := range fis { - if fi.IsDir() && !strings.Contains(fi.Name(), VENDOR) { + if strings.Contains(fi.Name(), VENDOR) { + continue + } + + if fi.IsDir() { dirs = append(dirs, absPath+fi.Name()) + continue + } else if !test && strings.HasSuffix(fi.Name(), "_test.go") { + continue + } else if !strings.HasSuffix(fi.Name(), ".go") || strings.HasPrefix(fi.Name(), ".") || + strings.HasPrefix(fi.Name(), "_") { + continue + } + src := &Source{SrcName: fi.Name()} + src.SrcData, err = ioutil.ReadFile(absPath + fi.Name()) + if err != nil { + log.Error("", "Fail to read file") + log.Fatal("", err.Error()) + } + ctx.srcFiles[fi.Name()] = src + } + + pkg, err := ctx.ImportDir(absPath, build.AllowBinary) + if err != nil { + if _, ok := err.(*build.NoGoError); !ok { + log.Error("", "Fail to get imports") + log.Fatal("", err.Error()) + } + } + + imports := make([]string, 0, len(pkg.Imports)) + for _, p := range pkg.Imports { + if !IsGoRepoPath(p) && !strings.HasPrefix(p, importPath) { + imports = append(imports, p) } } if len(dirs) > 0 { - imports = append(imports, GetAllImports(dirs, importPath, example)...) + imports = append(imports, GetAllImports(dirs, importPath, example, test)...) } return imports } @@ -95,11 +161,11 @@ func isVcsPath(dirPath string) bool { } // GetAllImports returns all imports in given directory and all sub-directories. -func GetAllImports(dirs []string, importPath string, example bool) (imports []string) { +func GetAllImports(dirs []string, importPath string, example, test bool) (imports []string) { for _, d := range dirs { if !isVcsPath(d) && !(!example && strings.Contains(d, "example")) { - imports = append(imports, GetImports(d, importPath, example)...) + imports = append(imports, GetImports(d, importPath, example, test)...) } } return imports diff --git a/gopm.go b/gopm.go index 3e6385f00..072f2299b 100644 --- a/gopm.go +++ b/gopm.go @@ -29,9 +29,10 @@ import ( // Test that go1.1 tag above is included in builds. main.go refers to this definition. const go11tag = true -const APP_VER = "0.6.4.0318" +const APP_VER = "0.6.5.0320" -// //cmd.CmdSearch, +// cmd.CmdTest, +// cmd.CmdSearch, // cmdClean, // cmdDoc, // cmdEnv, @@ -39,7 +40,6 @@ const APP_VER = "0.6.4.0318" // cmdList, // cmdTool, // cmdVet, -// } func init() { runtime.GOMAXPROCS(runtime.NumCPU()) @@ -59,7 +59,6 @@ func main() { cmd.CmdInstall, cmd.CmdUpdate, cmd.CmdConfig, - //cmd.CmdTest, } app.Flags = append(app.Flags, []cli.Flag{ cli.BoolFlag{"noterm", "disable color output"}, From 948bbfbae49492cd825646c3991457ccc767a016 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 20 Mar 2014 14:32:59 -0400 Subject: [PATCH 285/287] Mirror fix --- cmd/cmd.go | 3 ++- cmd/gen.go | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/cmd.go b/cmd/cmd.go index 8a2d5d24a..279bb84d3 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -83,5 +83,6 @@ func versionSuffix(value string) string { } func isSubpackage(rootPath, targetPath string) bool { - return strings.HasSuffix(workDir, rootPath) || strings.HasPrefix(rootPath, targetPath) + return strings.HasSuffix(strings.Replace(workDir, "\\", "/", -1), rootPath) || + strings.HasPrefix(rootPath, targetPath) } diff --git a/cmd/gen.go b/cmd/gen.go index 3b31516d4..5e067b7a8 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -62,8 +62,7 @@ func runGen(ctx *cli.Context) { for _, p := range imports { p = doc.GetProjectPath(p) // Skip subpackage(s) of current project. - if strings.HasSuffix(strings.Replace(workDir, "\\", "/", -1), p) || - strings.HasPrefix(p, targetPath) { + if isSubpackage(p, targetPath) { continue } From 46e3de5d542ccc2071fba79f9ce358811f57689e Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 23 Mar 2014 04:56:01 -0400 Subject: [PATCH 286/287] Bug fix --- doc/conf.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.go b/doc/conf.go index 610da82d9..590afafd6 100644 --- a/doc/conf.go +++ b/doc/conf.go @@ -59,7 +59,7 @@ func init() { } } Cfg, err = goconfig.LoadConfigFile(cfgPath) - if _, err = os.Create(cfgPath); err != nil { + if err != nil { log.Error("", "Fail to load gopm config file") log.Fatal("", err.Error()) } From db6693c7ecc7d496bb40b5a4ea6498be5d0d12ec Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 23 Mar 2014 11:17:37 -0400 Subject: [PATCH 287/287] Bug fix --- doc/github.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/github.go b/doc/github.go index 0bd62c391..6d4099977 100644 --- a/doc/github.go +++ b/doc/github.go @@ -63,9 +63,11 @@ func getGithubDoc(client *http.Client, match map[string]string, installRepoPath err := com.HttpGetJSON(client, com.Expand("https://api.github.com/repos/{owner}/{repo}/git/refs?{cred}", match), &refs) if err != nil { + if strings.Contains(err.Error(), "403") { + break + } log.Warn("GET", "Fail to get revision") log.Warn("", err.Error()) - log.Help("Try 'gopm config github' to set and gain more API calls") break }