Commit Graph

18 Commits

Author SHA1 Message Date
Chris Parsons 0373718c3e Merge branch 'master' into docs-overhaul 2019-02-27 17:20:26 -05:00
Chris Parsons 6e2eff015c add and link to documentation for rules 2019-02-27 17:10:39 -05:00
Chris Parsons 9cedee3938 add links to generated documentation from root README 2019-02-27 14:34:53 -05:00
Thomas Van Lenten e171ec16d8
CI updates. (#118)
- Retire the use of travis for testing.
- Update buildkite config:
  - Enable buildifier testing (close to what was on travis, and is being improved.)
  - Update the config to now test the latests release and the latest green, replacing
    the "head" testing on travis.
2019-02-27 12:21:18 -05:00
László Csomor 8d4f7612b2
maprule: an improved version of genrule() (#86)
maprule() is an improved version of
native.genrule(), with the following advantages:

- Maprule can process source files in parallel,
  creating separate actions for each of them.

- Maprule does not require declaring all output
  files. Instead you declare templates for the
  output files yielded for each source. Therefore
  N source files and M templates yield N*M
  outputs.

- Maprule supports both Bash and cmd.exe syntax
  for its commands via the specialized rules
  bash_maprule and cmd_maprule.

- Maprule's cmd attribute does deliberately not
  support $(location) expression nor Make
  Variables, in order to avoid issues and
  challenges with quoting. (In case of cmd.exe
  passing empty arguments is impossible). These
  paths can be passed as envvars instead.

- Maprule's add_env attribute does support
  $(location) expressions (and some extra
  placeholders) and is the idiomatic way to pass
  execpaths of labels in "tools" or "srcs" (the
  shared sources available for all actions) to the
  command.

See https://github.com/bazelbuild/bazel/issues/4319
2019-01-08 09:04:53 +01:00
Kelly Campbell c00ef49386 Fix load paths examples in README (#80) 2018-12-06 11:31:32 -05:00
László Csomor daf5137022
unittest.bzl: supports Windows (#84)
In this commit:

- change unittest.bzl to declare a named output
  file instead of relying on the deprecated [1]
  default output name (ctx.outputs.executable).

- define a new toolchain_type and toolchain rules
  for cmd.exe and for Bash (basically Windows and
  non-Windows)

- register the new toolchains in workspace.bzl

- let unittest.make-created test rules require the
  new toolchain_type

- write the test output script as a Windows batch
  script or as a Shell script, depending on the
  selected toolchain

This PR enables the Bazel team to break the Bash
dependency (for test execution) on Windows, and
can run Starlark unittests with the new,
Windows-native test wrapper (still under
development).

See https://github.com/bazelbuild/bazel/issues/5508
2018-12-04 16:14:08 +01:00
c-parsons 6e2d7e4a75
Rename a number of instances of 'skylark' to 'starlark' or 'bzl'
Most notably, this renames/moves a few important identifiers:

//:skylark_library.bzl -> //:bzl_library.bzl
skylark_library -> bzl_library
SkylarkLibraryInfo -> StarlarkLibraryInfo
2018-09-28 09:09:18 -04:00
Thomas Van Lenten b5f4086001 Remove usage and suggests for lib.bzl.
As more things are added, lib.bzl is an anti-pattern as the cost of loading
it actually just keeps increasing and most things will never use everything
out of it.  The pattern the should be used is to directly import the modules
one uses.
2018-08-24 15:00:13 -04:00
Thomas Van Lenten ca5f717eba Update the module list. 2018-08-24 14:45:54 -04:00
Thomas Van Lenten 08a89e561a Fix the buildkite link. 2018-02-28 13:53:36 -05:00
Jakob Buchgraber 7441e21c9b add buildkite to bazel's new ci
we'll run skylib as a postsubmit project and
before every release to ensure we don't break
it.
2018-02-28 08:31:03 -08:00
Tony Allevato 7c3deb495a Add "Getting Started" section to README 2018-02-28 07:57:27 -08:00
Thomas Van Lenten 87e4c93a41 Add travis setup to test on linux and macOS 2018-02-20 15:54:21 -05:00
Jingwen 34d62c4490 Added a lib for version checking and comparison (#13) 2018-01-12 09:18:55 -08:00
Nathan Herring ceeecf9ce6 Add skylark_library rule (#8)
`skylark_library` targets aggregate `.bzl` files and their dependencies for unit tests as well as Skydoc generation.
2017-10-31 14:54:25 -07:00
Jingwen d7b90ef34d Fixed module list links 2017-10-31 07:34:34 -07:00
Tony Allevato 82b3ad6e9e Initial check-in. 2017-10-10 07:59:31 -07:00