v1.509.25 Latest Latest

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

Go to latest
Published: Mar 28, 2024 License: Apache-2.0 Imports: 28 Imported by: 0


Kotlin Gazelle Extension

EXPERIMENTAL: This is a work in progress and is not yet ready for use. Work is ongoing including upcoming support for rules_jvm maven dependencies.

This is a Gazelle Language implementation for Kotlin using the rules_kotlin jvm rules.




View Source
const (
	KtJvmLibrary              = "kt_jvm_library"
	KtJvmBinary               = "kt_jvm_binary"
	RulesKotlinRepositoryName = "io_bazel_rules_kotlin"
View Source
const (
	Resolution_Error        = -1
	Resolution_None         = 0
	Resolution_NotFound     = 1
	Resolution_Label        = 2
	Resolution_NativeKotlin = 3
View Source
const LanguageName = "kotlin"
View Source
const (
	// TODO: move to common
	MaxWorkerCount = 12


This section is empty.


func IsNativeImport

func IsNativeImport(impt string) bool

func NewLanguage

func NewLanguage() language.Language

NewLanguage initializes a new TypeScript that satisfies the language.Language interface. This is the entrypoint for the extension initialization.


type Configurer

type Configurer struct {
	// contains filtered or unexported fields

func NewConfigurer

func NewConfigurer(lang *kotlinLang) *Configurer

func (*Configurer) CheckFlags

func (kc *Configurer) CheckFlags(fs *flag.FlagSet, c *config.Config) error

func (*Configurer) Configure

func (kt *Configurer) Configure(c *config.Config, rel string, f *rule.File)

func (*Configurer) KnownDirectives

func (kt *Configurer) KnownDirectives() []string

func (*Configurer) RegisterFlags

func (kc *Configurer) RegisterFlags(fs *flag.FlagSet, cmd string, c *config.Config)

type ImportStatement

type ImportStatement struct {

	// The path of the file containing the import
	SourcePath string

TODO: drop? still used?

type Java_MavenResolver

type Java_MavenResolver interface {
	Resolve(pkg Java_PackageName) (label.Label, error)

type Java_PackageName

type Java_PackageName struct {
	Name string

type KotlinBinTarget added in v1.507.2

type KotlinBinTarget struct {

	File    string
	Package string


  • Information for kotlin binary (main() method) including:
  • - kotlin import statements from all files
  • - the package
  • - the file

func NewKotlinBinTarget added in v1.507.2

func NewKotlinBinTarget(file, pkg string) *KotlinBinTarget

type KotlinLibTarget added in v1.507.2

type KotlinLibTarget struct {

	Packages *treeset.Set
	Files    *treeset.Set


  • Information for kotlin library target including:
  • - kotlin files
  • - kotlin import statements from all files
  • - kotlin packages implemented

func NewKotlinLibTarget added in v1.507.2

func NewKotlinLibTarget() *KotlinLibTarget

type KotlinTarget added in v1.507.2

type KotlinTarget struct {
	Imports *treeset.Set

type ResolutionType

type ResolutionType = int

type Resolver

type Resolver struct {
	// contains filtered or unexported fields

func NewResolver

func NewResolver(lang *kotlinLang) *Resolver

func (*Resolver) Embeds

func (kt *Resolver) Embeds(r *rule.Rule, from label.Label) []label.Label

func (*Resolver) Imports

func (kt *Resolver) Imports(c *config.Config, r *rule.Rule, f *rule.File) []resolve.ImportSpec

Determine what rule (r) outputs which can be imported.

func (*Resolver) Name

func (*Resolver) Name() string

func (*Resolver) Resolve

func (kt *Resolver) Resolve(c *config.Config, ix *resolve.RuleIndex, rc *repo.RemoteCache, r *rule.Rule, importData interface{}, from label.Label)


Path Synopsis

Jump to

Keyboard shortcuts

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