2
0
Fork 0
mirror of https://github.com/bazelbuild/bazel-skylib synced 2024-11-28 08:43:51 +00:00
bazel-skylib/gazelle/bzl/testdata/README.md
Ivo List bc97abb33e
Move bzl ext (#265)
* Move Gazelle extension to //gazelle/bzl and change package name

This fixes an issue with importing bazel-skylib into
google3. Currently, Glaze (internal Go build file generator) attempts
to generate a target (//gazelle:gazelle) that conflicts with one
that's already declared here.

I think the right solution is actually to move the package into a
subdirectory. In the future (bazelbuild/bazel-gazelle#5), Gazelle's Go
extension will generate target names similar to what Glaze does, so
the same conflict will happen in open source. I think it's also
logical to have a directory of packages in case more need to be added
in the future, and for the extension to have a package name matching
the language it works with.

This is an incompatible change, but the //gazelle directory isn't part
of a tagged release yet, so hopefully it won't break anyone.

* fix runfiles access in test

* Fix gazelle package names.

Co-authored-by: Jay Conrod <jayconrod@google.com>
2020-08-20 13:14:55 -04:00

1.9 KiB

Gazelle test cases

This directory contains a suite of test cases for the Skylark language plugin for Gazelle.

Please note that there are no BUILD or BUILD.bazel files in subdirs, insted there are BUILD.in and BUILD.out describing what the BUILD should look like initially and what the BUILD file should look like after the run. These names are special because they are not recognized by Bazel as a proper BUILD file, and therefore are included in the data dependency by the recursive data glob in //gazelle:go_default_test. If you would like to include any extremely complicated tests that contain proper BUILD files you will need to manually add them to the //gazelle:go_default_test target's data section.

simple

Simple is a base test case that was used to validate the parser.

nobuildfiles

A test just like simple that has no BUILD files at the beginning.

import

Import is a test case that imports a .bzl from the same directory.

multidir

Multidir is a test that has a .bzl that imports from a different dirrectory.

tests

Using the skylib as an example, this test has .bzl files that end in _tests.bzl which are loaded into BUILD files and never imported by another repo.

private

Using the skylib as an example, this test has .bzl files that live in a directory called private which is used to indicate that they are repo private. Note that this is distict from the expectations of go's internal where the relative position in the hierarchy determines the visibility.

defaultvisibility

If the package declares a default_visibility the generated bzl_library should not set its own visibility.

external

This test demonstrates that if you load from another repo, it is able to generate a deps entry for the dependency.

empty

Gazelle has the ability to remove old and unused targets. Test that.