gop

package module
v0.0.0-...-9326be8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2023 License: MIT Imports: 9 Imported by: 0

README

gop

gop は Go のモジュールの絶対パスを扱うコマンドです。 Modules内にあるパスを出力します。

似たような所作

$ go list -m -f {{.Dir}} all

でほとんど同じことができます。

install

$ go install github.com/shizuokago/gop/_cmd/gop

GOBINにコマンドが生成されます

実行

$ gop
D:\Go\PATH\pkg\mod\golang.org\x\mod@v0.12.0
D:\Go\PATH\pkg\mod\golang.org\x\net@v0.14.0
D:\Go\PATH\pkg\mod\golang.org\x\sync@v0.3.0
---省略

一覧はgo.modの指定に依存するため、go.modがない位置ではエラーになります。

パッケージ指定

$ gop {パッケージ名}

指定したパッケージのバージョンのパスを返します。

$ gop golang.org/x/sys
D:\Go\PATH\pkg\mod\golang.org\x\sys@v0.11.0

バージョンリストを表示

$ gop -list {パッケージ名}
$ gop -list golang.org/x/sys
golang.org/x/sys:
    0.8.0 => D:\Go\PATH\pkg\mod\golang.org\x\sys@v0.8.0
    0.10.0 => D:\Go\PATH\pkg\mod\golang.org\x\sys@v0.10.0
  * 0.11.0 => D:\Go\PATH\pkg\mod\golang.org\x\sys@v0.11.0

指定したパッケージのバージョンのリスト表示を行います パッケージを指定せずに、-listを行うとすべてのパッケージのバージョンを返します。

全指定(-all)

$ gop -all {packagename}

端末にあるパッケージが表示できます。 あまり利用用途はないと思いますが

$ gop -all -list

で端末内にあるすべてのパッケージのすべてのバージョンを表示できます。

Issue

  • バージョン指定周り
  • ブランチ指定周り
  • replace

Documentation

Overview

"github.com/hajimehoshi/ebiten/v2/inpututil"のようなパッケージ名称から、 実パスを割り出す用の構造体 v指定があるディレクトリをすべて候補にする 実際にはその可能性を総当たりして、バージョン指定を決定する

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Print

func Print(verbose, allMode, list bool, input string) error

Types

type Module

type Module struct {
	// contains filtered or unexported fields
}

func NewModuleGoMod

func NewModuleGoMod(line string) *Module

func NewModuleManual

func NewModuleManual(str string) *Module

func (*Module) Eq

func (m1 *Module) Eq(m2 *Module) bool

func (*Module) Names

func (m *Module) Names() []string

パッケージ名の候補一覧

func (*Module) String

func (m *Module) String() string

type Package

type Package struct {
	// contains filtered or unexported fields
}

TODO バージョン指定のパッケージが存在する場合 v1を採用するロジックを作成

全バージョンを確認して、省略形が0か1であることを確認

func NewPackage

func NewPackage(path, n string) *Package

func (*Package) AddVersion

func (p *Package) AddVersion(v *Version)

func (*Package) GetPath

func (p *Package) GetPath() string

func (*Package) Print

func (p *Package) Print()

func (*Package) Same

func (p *Package) Same(m *Module) bool

func (*Package) String

func (p *Package) String() string

type Version

type Version struct {
	// contains filtered or unexported fields
}

func NewVersion

func NewVersion(src string) *Version

func (*Version) Compare

func (v1 *Version) Compare(v2 *Version) int

比較

func (*Version) Eq

func (v1 *Version) Eq(v2 *Version) bool

func (*Version) EqCore

func (v1 *Version) EqCore(v2 *Version) bool

func (*Version) Ge

func (v1 *Version) Ge(v2 *Version) bool

func (*Version) Gt

func (v1 *Version) Gt(v2 *Version) bool

func (*Version) IsError

func (v *Version) IsError() bool

エラーが怒ってないか?

func (*Version) IsRelease

func (v *Version) IsRelease() bool

PR,Buildが存在しないものをリリース状態とする

func (*Version) IsVersion

func (v *Version) IsVersion(val int) bool

指定バージョンのバージョンかを判定

func (*Version) Le

func (v1 *Version) Le(v2 *Version) bool

func (*Version) Lt

func (v1 *Version) Lt(v2 *Version) bool

func (*Version) String

func (v *Version) String() string

Directories

Path Synopsis
_cmd
gop

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL