aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
Commit message (Collapse)AuthorAge
* [java_common.compile] Always generate a source jar.Gravatar elenairina2018-06-29
| | | | | | | | | | | | | | | [Rolling forward https://github.com/bazelbuild/bazel/commit/c4e128e2c6d8cacaeba034d6a3195796d50f1745] java_common.compile doesn't generate the output source jar when a source jar is the only input for the compilation. This is wrong because the source jar can include APT generated sources. It is also inconsistent with java_library and leads to inconsistent Skylark rules where a declared output will not always have a generating action. This new behavior is guarded by a new flag --incompatible_generate_javacommon_source_jar. RELNOTES: None. PiperOrigin-RevId: 202648346
* Add fake build API implementations for config, platform, repository, and ↵Gravatar cparsons2018-06-29
| | | | | | | test packages. RELNOTES: None. PiperOrigin-RevId: 202642995
* [Skylark] Allow tuples as first argument of str.{starts,ends}withGravatar Yannic Bonenberger2018-06-28
| | | | | | | | Closes #5307 Closes #5455. PiperOrigin-RevId: 202567483
* Implement imports (via load()) in Skydoc.Gravatar cparsons2018-06-28
| | | | | | | Skydoc will generate documentation for all rule definitions in the transitive dependencies of the given input file. RELNOTES: None. PiperOrigin-RevId: 202553088
* Rename skydoc test case input files to .bzl, and put them into a testdata ↵Gravatar cparsons2018-06-28
| | | | | | | directory. RELNOTES: None. PiperOrigin-RevId: 202542139
* Add rudimentary apple-related classes to fakebuildapi.Gravatar cparsons2018-06-28
| | | | | | | These fakes won't behave at all like real implementations at this time. In fact, invoking some of their methods (or accessing their fields) may result in an error. This serves, however, as the initial check-in which can be iterated on and improved later. RELNOTES: None. PiperOrigin-RevId: 202525168
* Remove --allow_undefined_configsGravatar ccalvarin2018-06-28
| | | | | RELNOTES: --[no]allow_undefined_configs no longer exists, passing undefined configs is an error. PiperOrigin-RevId: 202518987
* Require @SkylarkCallable parameters to be explicitly specified.Gravatar cparsons2018-06-28
| | | | | | | | | | This will be enforced by annotation processor. This will be followed up, along with turndown of mandatoryPositionals, by removing the intepreter code which infers the correct number and type of parameters. RELNOTES: None. PiperOrigin-RevId: 202499089
* Fix up some tests for Arm64Gravatar Arielle Albon2018-06-28
| | | | | | | | This is the first PR for my Arm64 test cleanup. Closes #5457. PiperOrigin-RevId: 202492291
* Expose Skylark API to the C++ toolchainGravatar hlopko2018-06-28
| | | | | | | | | | | | | This is an implementation of the design at https://docs.google.com/document/d/1g91BWJITcYw_X-VxsDC0VgUn5E9g0kRBGoBSpoO41gA/edit>. More thorough documentation will be sent in a separate cl. The api was approved at https://docs.google.com/document/d/1M8JA7kzZnWpLZ3WEX9rp6k2u_nlwE8smsHYgVTSSJ9k/edit?ts=5b292400#. Work towards #4571 (only the docs are missing). RELNOTES: None. PiperOrigin-RevId: 202464331
* Add --incompatible_disable_data_transition for 'cfg = "data"' Skylark callsGravatar gregce2018-06-27
| | | | PiperOrigin-RevId: 202400312
* Inspect post-evaluation exported variables to obtain rule names.Gravatar cparsons2018-06-27
| | | | | | | | | This is a much cleaner, more elegant approach than previous regex matching. This still leaves room for unknown-name rule definitions, in case, for example, a user namespaces their rule definition not at the top level. For example: "foo.bar = rule(...)" RELNOTES: None. PiperOrigin-RevId: 202380975
* Clarify purpose of golden-file-regeneration targetsGravatar cparsons2018-06-27
| | | | | RELNOTES: None. PiperOrigin-RevId: 202364245
* Automated refactor of Label.parseAbsolute() to always pass a repository mappingGravatar dannark2018-06-27
| | | | | RELNOTES: None PiperOrigin-RevId: 202360925
* Fix docgen handling of multiple modules with the same nameGravatar cparsons2018-06-27
| | | | | | | | | | If there are multiple modules with the same name: - If only one is marked 'documented', that one takes precedence. - If one is a subclass of the others, the subclass takes precedence. - Otherwise, an exception is thrown. RELNOTES: None. PiperOrigin-RevId: 202359443
* Create a skydoc_test macro for ease of golden-file testing of skydocGravatar cparsons2018-06-27
| | | | | RELNOTES: None. PiperOrigin-RevId: 202339577
* Debug server logging: don't construct expensive debug-level log strings ↵Gravatar brendandouglas2018-06-27
| | | | | | unless necessary. PiperOrigin-RevId: 202317115
* Make DefaultInfo.default_runfiles return all runfiles if the runfiles field ↵Gravatar cparsons2018-06-26
| | | | | | | of DefaultInfo() was used. RELNOTES: None. PiperOrigin-RevId: 202192091
* Initial check-in of skydoc rewrite.Gravatar cparsons2018-06-26
| | | | | | | | | | | | | | This skydoc rewrite uses an actual skylark interpreter with a faked build API (implementing the actual build API that Bazel uses). There's a lot left to do here, this is a barebones start. For example, this does not yet handle: - load() statements - non-global build API elements (e.g. apple_common) - output of any rule information other than attribute names - markdown output format RELNOTES: None. PiperOrigin-RevId: 202187207
* Debug server debug logs: use EventHandler instead of Logger.Gravatar brendandouglas2018-06-26
| | | | | | | | Logger messages aren't printed to the console, they're written to /usr/local/google/tmp, and can be prohibitively large for these debug server logs. Instead I'm going with your original suggestion in https://github.com/bazelbuild/bazel/commit/b74922932b25a71c626b47ea9a9afb7dbc506cec, and selectively suppressing debug events by wrapping the EventHandler on the way in to SkylarkDebugServer. PiperOrigin-RevId: 202166571
* Flatten JavaCompilationAgs into JavaCompilationArgsProviderGravatar cushon2018-06-26
| | | | | | | | | Consolidate the creation of JavaCompilationArgsProviders, and avoid explicit handling of the 'direct' and 'recursive' cases in clients. Also add some higher-level methods to the builder API to support adding dependencies with dep/export/runtime_dep-like semantics. PiperOrigin-RevId: 202166383
* Instead of depending on mutable inputs of upstream CppCompileAction instances,Gravatar shahan2018-06-26
| | | | | | | | | CppCompileAction.discoverInputsStage2 retrieves values of discovered modules from ActionExecutionValue. This addresses a possible a correctness issue. PiperOrigin-RevId: 202162180
* Fix concurrent modification exception while resuming all threads.Gravatar brendandouglas2018-06-26
| | | | PiperOrigin-RevId: 202151257
* Remove support for header preprocessingGravatar hlopko2018-06-26
| | | | | | | This was never used. We thought it will be useful, but it's not. RELNOTES: None. PiperOrigin-RevId: 202143524
* Handle evaluation of statements, not just expressions.Gravatar brendandouglas2018-06-26
| | | | | | | | | | | | | | | Also handle statements in conditional breakpoints. This is more consistent with other common debuggers (e.g. java, python). Calls Parser#parseStatement with local parsing level, so some statement types aren't handled (e.g. load statements), which is broadly consistent with other debuggers. Assignment, augmented assignment, and return statements return a non-None value, and simple expression statements still return the result of evaluating the expression. TAG_CHANGE_OK=This proto has never yet been used TYPE_CHANGE_OK=This proto has never yet been used PiperOrigin-RevId: 202135678
* add helper JUnit TestWrapper class to do some action on test timeoutGravatar Irina Chernushina2018-06-26
| | | | | | | | | | | | add helper JUnit TestWrapper class to do some action on test timeout i.e. we want to dump the current state of the test on timeout before exit for the new junit integration test framework Closes #5436. PiperOrigin-RevId: 202123320
* Add convenience methods to check for flag existence and values in command lines.Gravatar twerth2018-06-26
| | | | | RELNOTES: None PiperOrigin-RevId: 202118168
* create path utils for copying and deleting directories,Gravatar Googler2018-06-26
| | | | | | and for often required operations like creating file and its parent directories PiperOrigin-RevId: 202115025
* remote: enable previously ignored testsGravatar Jakob Buchgraber2018-06-26
| | | | | | | | | | | | | | | the tests had been disabled for flakyness due to timeouts. I think the right solution is remove the individual test timeouts as on a highly loaded machine fine grained timeouts typically don't make much sense. After removing the individual test timeouts no more flakyness was found in 1000 runs. Closes #5465. PiperOrigin-RevId: 202113697
* process runner for junit integration test frameworkGravatar Irina Chernushina2018-06-26
| | | | | | Closes #5435. PiperOrigin-RevId: 202100672
* Go back to handling conditional breakpoints server side.Gravatar brendandouglas2018-06-25
| | | | | | | | I should have left it as it was -- doing it client-side is just too slow. ENUM_VALUE_OK=This proto has never yet been used PiperOrigin-RevId: 201957138
* Make @SkylarkCallable.name mandatory.Gravatar cparsons2018-06-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 201748802
* ToolchainContext directly implements SkylarkValue and SkylarkIndexable.Gravatar John Cater2018-06-22
| | | | | Change-Id: I355b138e143771fd826ab03951df821ea7d58ac5 PiperOrigin-RevId: 201740564
* Remove Label.parseAbsolute(string, boolean). The goal is to get rid of all ↵Gravatar dannark2018-06-22
| | | | | | | label methods that don't explicitly pass a repository mapping. RELNOTES: None PiperOrigin-RevId: 201717665
* Automated rollback of commit 28a999cff60fa5a8c9ca045ab2b202d83a0e0583.Gravatar kaipi2018-06-22
| | | | | | | | | | | | *** Reason for rollback *** see b/109887056 *** Original change description *** Stop objc_proto_library from returning the generated sources. PiperOrigin-RevId: 201709908
* Expose aspect actions from Skylark.Gravatar tomlu2018-06-22
| | | | | | | | | | | Like with providers, consumers get a merged view of all actions from the merged configured target (all other aspects + the base target). I had to rejig the aspect value / configured aspect to be symmetric with rule configured targets. I do not expect significant memory bloat from this. All lists / maps already existed, only extra fields have been added. RELNOTES: Expose aspect actions provider to Skylark. PiperOrigin-RevId: 201697923
* Automated rollback of commit 5a9befc5602e71f7512074c303afbdcff5617cca.Gravatar twerth2018-06-22
| | | | | | | | RELNOTES: None *** Reason for rollback *** PiperOrigin-RevId: 201686843
* Move HashFunction out of FileSystem, and turn it into a class, instead of an ↵Gravatar ccalvarin2018-06-21
| | | | | | | | | enum. Now that we aren't using enum names for the hash functions, we also accept the standard names, such as SHA-256. RELNOTES: None. PiperOrigin-RevId: 201624286
* Audit usages of Label.getRelative and update to Label.getRelativeWithRemappingGravatar dannark2018-06-21
| | | | | RELNOTES: None PiperOrigin-RevId: 201617188
* Remove unused vfs deps.Gravatar dannark2018-06-21
| | | | | RELNOTES: None PiperOrigin-RevId: 201594295
* Remap labels that include a repository name that appear in $(location x).Gravatar dannark2018-06-21
| | | | | RELNOTES: None. PiperOrigin-RevId: 201588988
* Create a method for initializing build API libraries using object instances ↵Gravatar cparsons2018-06-21
| | | | | | | | | instead of object classes. This allows the caller to, for example, initialize the global library before adding it to a global frame. The skylark interpreter will no longer require that global libraries have a zero-arg constructor. RELNOTES: None. PiperOrigin-RevId: 201563608
* Take into account repository mapping when processing labels inside BUILD ↵Gravatar dannark2018-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | files within external repositories. For example: a/BUILD genrule( name = "a", srcs = ["@x//:x.txt"], outs = ["result.txt"], cmd = "echo hello > \$(location result.txt)" ) If the main workspace file references that repository with a rule: local_repository( name = "other_repo", path = "../a", repo_mapping = {"@x" : "@y"} ) Then when a/BUILD is evaluated, the string "@x//:x.txt" will be turned into a Label "@y//:x.txt" RELNOTES: None PiperOrigin-RevId: 201562148
* Migrate DefaultInfo and its provider to skylarkbuildapiGravatar cparsons2018-06-21
| | | | | RELNOTES: None. PiperOrigin-RevId: 201544076
* Skylark debugging protocol: only track paused or stepping threads.Gravatar brendandouglas2018-06-21
| | | | | | | | | | | | | | | | | | | | | | | | - remove blaze-side thread creation/destruction hooks - remove ListThreads, ThreadStarted, ThreadEnded events from protocol - don't track unpaused, not stepping threads in ThreadHandler The threading model didn't provide useful information -- in practice, users never want to list currently-running threads, and the debug client doesn't need to list currently-paused threads, since it receives each ThreadPaused and ThreadContinued event, so its model is always up to date. Not tracking thread creation/destruction greatly simplifies the API, and reduces the blaze-side hooks -- it was also only semi-implemented, as plenty (/most?) skylark threads were never registered. The biggest cost to removing this is lack of nice thread names. In practice, I think the benefits greatly outweigh this cost. If it ever becomes a problem, there are other lighter-weight ways of communicating thread names. TAG_CHANGE_OK=This proto has never yet been used TYPE_CHANGE_OK=This proto has never yet been used PiperOrigin-RevId: 201532462
* Fix NoSuchElementException when BuildEventArtifactUploaderMap has no elements.Gravatar lpino2018-06-21
| | | | | | When there are no uploaders in BuildEventArtifactUploaderMap then we should use the BuildEventArtifactUploader.LOCAL_FILES_UPLOADER as a fallback. Added some unit tests as regression tests for the underlying issue. PiperOrigin-RevId: 201529578
* Extract logic from CROSSTOOL in CrosstoolInfo providerGravatar rosica2018-06-21
| | | | | | | | | CrosstoolInfo carries the necessary information from the CROSSTOOL text proto. Later on, instead from the CROSSTOOL file and the corresponding CToolchain, CrosstoolInfo will be derived from a skylark_crosstool rule implemented in Skylark. Therefore CToolchain involvement in CppConfiguration and CcToolchain creation needs to be eliminated. Work towards issue #5380 RELNOTES: None. PiperOrigin-RevId: 201491207
* Automated rollback of commit 2b015c53c89815472923d8ea0c94640b7db2fa20.Gravatar twerth2018-06-21
| | | | | | RELNOTES[NEW]: Allow @ in package names. PiperOrigin-RevId: 201487916
* Automated rollback of commit 45b308a62f42c2c0bcfe79dcd4046c4025a31059.Gravatar janakr2018-06-20
| | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks Javascript compilation. There's currently no way to iterate over a depset of Artifacts and deduplicate by identical paths in Skylark. This means that actions that want to do something once per Artifact in a depset (add a flag to the command line with the path of the Artifact for instance) will have duplicate entries if there are multiple Artifacts with the same path. This is not a true automated rollback, since I tried to make this as minimal as possible, to avoid merge conflicts and keep some of the benefits of the rolled back CL. In particular, the tests that were changed in the original CL to give artifacts their correct owners did not need to be changed back, since the owners are still correct. Moreover, this effectively contains rollbacks of unknown commit and https://github.com/bazelbuild/bazel/commit/39d6f89644107a8f7c080c4f4aec8527c1a73954, but keeps test coverage from those CLs as well. Comments added to CL thread where not a clean rollback (there are plenty of files not changed at all: ActionArtifactCycleReporter is the main wart, since it can still handle SkyKeys with Artifact as the argument, but Artifact is no longer the argument to any SkyKey). RELNOTES: None *** Original change description *** Make Artifact#equals take the owner into account for derived artifacts. Derived artifacts' owners are important because they are used to determine the artifact's generating action. Source artifacts' owners are not used in this way, so I left them alone. This allows us to get rid of most uses of ArtifactSkyKey. We may be able to delete it entirely in a follow-up. PiperOrigin-RevId: 201464780
* Add a minimum_os_version flag that is platform agnostic.Gravatar Googler2018-06-20
| | | | | | | | | | | | | | This corresponds to the os version in the clang target triple, though clang does have corresponding os_version_min flags for Apple platforms. Currently, Bazel has --XX_minimum_os flags for XX values corresponding to Apple platforms. This flag is the generic version of that (and can and will be set after the Apple split transition, and will eventually be set in the Android split as well) to support various Android API level improvements for native code. PiperOrigin-RevId: 201453961