func()

in internal/indexer/indexer.go [163:198]


func (i *Indexer) index(ctx context.Context) (*IndexingResult, error) {
	if err := ctx.Err(); err != nil {
		return nil, err
	}

	if err := i.initClients(ctx); err != nil {
		return nil, err
	}
	defer i.gitalyClient.Close()

	i.Initialized = true

	skipIndexing := i.zoektClient.IncrementalSkipIndexing()

	if skipIndexing && !i.ForceReindex {
		return nil, nil
	}

	if i.TargetSHA == "" {
		slog.Info("skip IndexRepository because TargetSHA is empty", "project_id", i.ProjectID, "force", i.ForceReindex)
		return nil, nil
	}

	builder, builderErr := i.zoektClient.NewBuilder()
	if builderErr != nil {
		return nil, builderErr
	}

	return i.Writer.Write(ctx, &IndexParams{
		skipIndexing: skipIndexing,
		forceReindex: i.ForceReindex,
		zoektBuilder: builder,
		zoektClient:  i.zoektClient,
		gitalyClient: i.gitalyClient,
	})
}