provider

package
v0.0.0-...-2e562ea Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

README

pkg/provider

The TestScalaSourceProviderParseScalaRule test parses .scala files in the testdata/ directory and compares the output to a similarly-named golden file.

To regenerate the golden files, run the test with the -update flag:

bazel run //pkg/provider:provider_test -- -update

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JavaProvider

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

JavaProvider is a provider of symbols for a set of jarindex protos.

func NewJavaProvider

func NewJavaProvider() *JavaProvider

NewJavaProvider constructs a new provider.

func (*JavaProvider) CanProvide

func (p *JavaProvider) CanProvide(dep label.Label, knownRule func(from label.Label) (*rule.Rule, bool)) bool

CanProvide implements part of the resolver.SymbolProvider interface.

func (*JavaProvider) CheckFlags

func (p *JavaProvider) CheckFlags(fs *flag.FlagSet, c *config.Config, scope resolver.Scope) error

CheckFlags implements part of the resolver.SymbolProvider interface.

func (*JavaProvider) Name

func (p *JavaProvider) Name() string

Name implements part of the resolver.SymbolProvider interface.

func (*JavaProvider) OnEnd

func (p *JavaProvider) OnEnd() error

OnEnd implements part of the resolver.SymbolProvider interface.

func (*JavaProvider) OnResolve

func (p *JavaProvider) OnResolve() error

OnResolve implements part of the resolver.SymbolProvider interface.

func (*JavaProvider) RegisterFlags

func (p *JavaProvider) RegisterFlags(fs *flag.FlagSet, cmd string, c *config.Config)

RegisterFlags implements part of the resolver.SymbolProvider interface.

Example (Printdefaults)
package main

import (
	"flag"
	"os"

	"github.com/bazelbuild/bazel-gazelle/config"

	"github.com/stackb/scala-gazelle/pkg/provider"
)

func main() {
	os.Stderr = os.Stdout
	cr := provider.NewJavaProvider()
	got := flag.NewFlagSet("", flag.ExitOnError)
	c := &config.Config{}
	cr.RegisterFlags(got, "update", c)
	got.PrintDefaults()
}
Output:

	-javaindex_file value
    	path to javaindex.pb or javaindex.json file

type MavenProvider

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

MavenProvider is a provider of symbols for the bazelbuild/rules_jvm_external gazelle extension.

func NewMavenProvider

func NewMavenProvider(lang string) *MavenProvider

NewMavenProvider constructs a new provider having the given resolving lang.

func (*MavenProvider) CanProvide

func (p *MavenProvider) CanProvide(dep label.Label, knownRule func(from label.Label) (*rule.Rule, bool)) bool

CanProvide implements part of the provider.SymbolProvider interface.

func (*MavenProvider) CheckFlags

func (p *MavenProvider) CheckFlags(fs *flag.FlagSet, c *config.Config, scope resolver.Scope) error

CheckFlags implements part of the provider.SymbolProvider interface.

func (*MavenProvider) Name

func (p *MavenProvider) Name() string

Name implements part of the provider.SymbolProvider interface.

func (*MavenProvider) OnEnd

func (p *MavenProvider) OnEnd() error

OnEnd implements part of the provider.SymbolProvider interface.

func (*MavenProvider) OnResolve

func (p *MavenProvider) OnResolve() error

OnResolve implements part of the provider.SymbolProvider interface.

func (*MavenProvider) RegisterFlags

func (p *MavenProvider) RegisterFlags(fs *flag.FlagSet, cmd string, c *config.Config)

RegisterFlags implements part of the provider.SymbolProvider interface.

Example (Printdefaults)
package main

import (
	"flag"
	"os"

	"github.com/bazelbuild/bazel-gazelle/config"

	"github.com/stackb/scala-gazelle/pkg/provider"
)

const scalaName = "scala"

func main() {
	os.Stderr = os.Stdout
	cr := provider.NewMavenProvider(scalaName)
	got := flag.NewFlagSet(scalaName, flag.ExitOnError)
	c := &config.Config{}
	cr.RegisterFlags(got, "update", c)
	got.PrintDefaults()
}
Output:

	-maven_install_json_file value
    	path to maven_install.json file

type ProtobufProvider

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

ProtobufProvider is a provider of symbols for the stackb/rules_proto gazelle extension.

func NewProtobufProvider

func NewProtobufProvider(lang, impLang string, importProvider ProvidedImports) *ProtobufProvider

NewProtobufProvider constructs a new provider. The lang/impLang arguments are used to fetch the provided imports in the given importProvider struct.

func (*ProtobufProvider) CanProvide

func (p *ProtobufProvider) CanProvide(dep label.Label, knownRule func(from label.Label) (*rule.Rule, bool)) bool

CanProvide implements part of the resolver.SymbolProvider interface.

func (*ProtobufProvider) CheckFlags

func (p *ProtobufProvider) CheckFlags(fs *flag.FlagSet, c *config.Config, scope resolver.Scope) error

CheckFlags implements part of the resolver.SymbolProvider interface.

func (*ProtobufProvider) Name

func (p *ProtobufProvider) Name() string

Name implements part of the resolver.SymbolProvider interface.

func (*ProtobufProvider) OnEnd

func (p *ProtobufProvider) OnEnd() error

OnEnd implements part of the resolver.SymbolProvider interface.

func (*ProtobufProvider) OnResolve

func (p *ProtobufProvider) OnResolve() error

OnResolve implements part of the resolver.SymbolProvider interface.

func (*ProtobufProvider) RegisterFlags

func (p *ProtobufProvider) RegisterFlags(fs *flag.FlagSet, cmd string, c *config.Config)

RegisterFlags implements part of the resolver.SymbolProvider interface.

type ProvidedImports

type ProvidedImports func(lang, impLang string) map[label.Label][]string

ProvidedImports is the protoc.ImportProvider interface func.

type SourceProvider

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

SourceProvider is provider for scala source files. If -scala_source_index_in is configured, the given source index will be used to bootstrap the internal cache. At runtime the .ParseScalaRule function can be used to parse scala files. If the cache already has an entry for the filename with matching sha256, the cache hit will be used.

func NewSourceProvider

func NewSourceProvider(progress progressFunc) *SourceProvider

NewSourceProvider constructs a new NewSourceProvider.

func (*SourceProvider) CanProvide

func (cr *SourceProvider) CanProvide(from label.Label, ruleIndex func(from label.Label) (*rule.Rule, bool)) bool

CanProvide implements the resolver.SymbolProvider interface.

func (*SourceProvider) CheckFlags

func (r *SourceProvider) CheckFlags(flags *flag.FlagSet, c *config.Config, scope resolver.Scope) error

CheckFlags implements part of the resolver.SymbolProvider interface.

func (*SourceProvider) LoadScalaRule

func (r *SourceProvider) LoadScalaRule(from label.Label, rule *sppb.Rule) error

LoadScalaRule loads the given state.

func (*SourceProvider) Name

func (r *SourceProvider) Name() string

Name implements part of the resolver.SymbolProvider interface.

func (*SourceProvider) OnEnd

func (r *SourceProvider) OnEnd() error

OnEnd implements part of the resolver.SymbolProvider interface.

func (*SourceProvider) OnResolve

func (r *SourceProvider) OnResolve() error

OnResolve implements part of the resolver.SymbolProvider interface.

func (*SourceProvider) ParseScalaRule

func (r *SourceProvider) ParseScalaRule(kind string, from label.Label, dir string, srcs ...string) (*sppb.Rule, error)

ParseScalaRule implements scalarule.Parser

func (*SourceProvider) RegisterFlags

func (r *SourceProvider) RegisterFlags(flags *flag.FlagSet, cmd string, c *config.Config)

RegisterFlags implements part of the resolver.SymbolProvider interface.

Jump to

Keyboard shortcuts

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