aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Replace path implementation.Gravatar tomlu2018-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Path and PathFragment have been replaced with String-based implementations. They are pretty similar, but each method is dissimilar enough that I did not feel sharing code was appropriate. A summary of changes: PATH ==== * Subsumes LocalPath (deleted, its tests repurposed) * Use a simple string to back Path * Path instances are no longer interned; Reference equality will no longer work * Always normalized (same as before) * Some operations will now be slower, like instance compares (which were previously just a reference check) * Multiple identical paths will now consume more memory since they are not interned PATH FRAGMENT ============= * Use a simple string to back PathFragment * No more segment arrays with interned strings * Always normalized * Remove isNormalized * Replace some isNormalizied uses with containsUpLevelReferences() to check if path fragments try to escape their scope * To check if user input is normalized, supply static methods on PathFragment to validate the string before constructing a PathFragment * Because PathFragments are always normalized, we have to replace checks for literal "." from PathFragment#getPathString to PathFragment#getSafePathString. The latter returns "." for the empty string. * The previous implementation supported efficient segment semantics (segment count, iterating over segments). This is now expensive since we do longer have a segment array. ARTIFACT ======== * Remove Path instance. It is instead dynamically constructed on request. This is necessary to avoid this CL becoming a memory regression. RELNOTES: None PiperOrigin-RevId: 185062932
* Remove references to getTarget(). Requires threading through anGravatar mjhalupka2018-02-08
| | | | | | | ExtendedEventHandler so we can get the target via the package manager during rule dumps. PiperOrigin-RevId: 185042522
* Add support for javabeans-style getters ("getFoo()", "isFoo()") to AutoCodec'sGravatar cpeyser2018-02-08
| | | | | | AutoValue support. This is required to serialize ActionOwner. PiperOrigin-RevId: 185037291
* remote: Add support for HTTP Basic AuthGravatar Jakob Buchgraber2018-02-08
| | | | | | Closes #4609. PiperOrigin-RevId: 185032751
* Add a CODEC for LibraryToLink, which is required to serialize CppLinkAction.Gravatar cpeyser2018-02-08
| | | | PiperOrigin-RevId: 185029456
* Refactor the command line argument parser to use the latest API.Gravatar cnsun2018-02-08
| | | | | RELNOTES:none PiperOrigin-RevId: 185027580
* Move BazelRuleClassProvider.SH_RULES to its own class.Gravatar lpino2018-02-08
| | | | PiperOrigin-RevId: 185021810
* Add an AutoCodec marshaller for UUID. This is required to serializeGravatar cpeyser2018-02-08
| | | | | | CppCompileAction. PiperOrigin-RevId: 185020942
* Adding awaitTermination in our tests tear down.Gravatar olaola2018-02-08
| | | | | | | | | | | This is to prevent this error: SEVERE: *~*~*~ Channel io.grpc.internal.ManagedChannelImpl-56 for target directaddress:///io.grpc.inprocess.InProcessSocketAddress@3ecbfba1 was not shutdown properly!!! ~*~*~* Make sure to call shutdown()/shutdownNow() and awaitTermination(). TESTED=ran tests RELNOTES: None PiperOrigin-RevId: 185020683
* Change $cc_toolchain_type to NODEP_LABEL so there is no actual dependency.Gravatar jcater2018-02-08
| | | | PiperOrigin-RevId: 185018321
* python,runfiles library: don't pick up TEST_SRCDIRGravatar Laszlo Csomor2018-02-08
| | | | | | | | | | | | | | | | | | | | The Python runfiles library will no longer pick up the runfiles directory from $TEST_SRCDIR. This is in accordance with the Java runfiles library, see the motivation in https://github.com/bazelbuild/bazel/issues/4598 The commit also adds a test for this functionality as well as exercising that the runfiles library can find the runfiles directory even if no RUNFILES_* envvars are exported. See https://github.com/bazelbuild/bazel/issues/4598 See https://github.com/bazelbuild/bazel/issues/4460 Change-Id: I6e4d154cdca66b29d7c6e77743cf8109638238b5 PiperOrigin-RevId: 185009819
* User-friendlier representation of a missing digest.Gravatar olaola2018-02-08
| | | | | | | | I moved it into DigestUtil preemptively in case we switch to binary instead of hex representation. TESTED=manually RELNOTES: None PiperOrigin-RevId: 185007558
* Remove another getTarget() call from PrintActionCommand.Gravatar mjhalupka2018-02-08
| | | | PiperOrigin-RevId: 185006324
* Avoid integer overflow breaking protobuf artifact ordering.Gravatar cparsons2018-02-08
| | | | | | | An integer overflow caused by taking the difference between two hashcodes would result in nondeterministically having sortedCopy fail. Integer.compare is safer. RELNOTES: None. PiperOrigin-RevId: 185005542
* Make some tests compatible with JDK 9Gravatar cushon2018-02-08
| | | | PiperOrigin-RevId: 185003013
* Add TODO for removing LipDataTransitionRuleSet when LIPO is goneGravatar gregce2018-02-08
| | | | | | Followup to a5d00d6db98a09b0a644db77301d9b6ed4f2a2ff PiperOrigin-RevId: 185001965
* Remove usesFuse output service method.Gravatar felly2018-02-08
| | | | PiperOrigin-RevId: 184998166
* Refactor RunCommand so that it's a bit less messy.Gravatar lberki2018-02-08
| | | | | RELNOTES: None. PiperOrigin-RevId: 184996540
* java,runfiles: fix tests with TEST_SRCDIRGravatar Laszlo Csomor2018-02-08
| | | | | | | | | | | | Update //src/test/py/bazel:runfiles_test to test that the Java (and Python) runfiles libraries do NOT pick up TEST_SRCDIR from their environment. See https://bazel-review.googlesource.com/c/bazel/+/37190 See https://github.com/bazelbuild/bazel/issues/4598 Change-Id: I06eb50c8cb4c93a331e51cd38ebdd7c1bcf38bba PiperOrigin-RevId: 184994372
* Give a reasonable environment for tests run by "blaze run --direct_run".Gravatar lberki2018-02-08
| | | | | | | | | | | | It's not entirely correct, but almost. The code in RunCommand becomes somewhat more confusing. Cleanup change incoming. Fixes #2815. RELNOTES[INC]: "blaze run --direct_run" with tests now gives the test an approximation of the official test environment. PiperOrigin-RevId: 184992651
* Fixing #4585: broken re-execution of orphaned actions.Gravatar olaola2018-02-08
| | | | | | | | This is an important regression, we will want to patch the fix into 0.10 TESTED=fixed unit test, with A/B testing RELNOTES: Resolved an issue where a failure in the remote cache would not trigger local re-execution of an action. PiperOrigin-RevId: 184991670
* Suppress ThinLTO indexing for testonly targetsGravatar Googler2018-02-08
| | | | | | | | Applies ThinLTO scalability fix https://github.com/bazelbuild/bazel/commit/8c5e290dfab3cab378a9ca107ecdd6267403cd4b to targets (e.g. cc_binary) marked "testonly = 1". RELNOTES: None PiperOrigin-RevId: 184991176
* java,runfiles: fix bugs in runfiles libraryGravatar Laszlo Csomor2018-02-08
| | | | | | | | | | | | | | | | | | | | Bazel 0.11.0 releases a new Java runfiles library in @bazel_tools. This commit fixes some bugs in 0.11.0rc1: - The library no longer respects TEST_SRCDIR, so now it's possible to run Bazel inside of a test and build and run a mock java_binary, and that java_binary will *not* pick up the test's TEST_SRCDIR. - The library now allows calling rlocation for absolute paths, and just returns the path itself. This is in accordance with how our Bash rlocation() implementation works. Change-Id: I471247d7538a76ea8162d2192add3f9733f844a8 PiperOrigin-RevId: 184990272
* Make remaining Apple tests correctly reference tools repository identifierGravatar cparsons2018-02-08
| | | | | RELNOTES: None. PiperOrigin-RevId: 184985081
* Move BazelRuleClassProvider.J2OBJC_RULES to its own class.Gravatar lpino2018-02-08
| | | | PiperOrigin-RevId: 184983111
* Introduce -c source_file -o output_file build variablesGravatar hlopko2018-02-08
| | | | | | | | | | | | | | Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and -o flags. This cl removes this logic and relies on crosstool to emit these flags. This is another small step towards platform independent C++ rules. Memory use is not affected, since the build variables used by this cl are already exposed, this cl just forces crosstools to use it. Encore of https://github.com/bazelbuild/bazel/commit/f26e8694ae78599b3e2004e3360eaf3443fa53a6. RELNOTES: None. PiperOrigin-RevId: 184981106
* Split CppIncludeScanningContext out of CppCompileActionContextGravatar ulfjack2018-02-08
| | | | | | Rename IncludeScanningContext to CppIncludeExtractionContext, which more closely matches its semantics. PiperOrigin-RevId: 184974810
* C++: Split C++ library into two classes, compilation and linkingGravatar plf2018-02-08
| | | | | | | These will be separate calls in the Skylark API. RELNOTES:none PiperOrigin-RevId: 184961734
* Increase timeout on remote_execution_test.Gravatar ruperts2018-02-07
| | | | | RELNOTES: None. PiperOrigin-RevId: 184947081
* Remove fixture_args from android_instrumentation_test.Gravatar jingwen2018-02-07
| | | | | | | These can be part of the fixture targets. RELNOTES: None. PiperOrigin-RevId: 184943342
* Extract registry functionality from ObjectCodecsGravatar michajlo2018-02-07
| | | | | | | | | | This partially solves the age old problem of how to find a codec for a value we don't know the type of at compile time, and allows us to represent such values on the wire more compactly. @AutoCodec's injecting codec should be able to make use of this right away - we'll need to make an API change to the ObjectCodec interface to allow the existing system to make use. PiperOrigin-RevId: 184918173
* Automated rollback of commit e01d0c8f9019b7e0beb406ea3932e7dc84b6f333.Gravatar Googler2018-02-07
| | | | | | | | | | | | | *** Reason for rollback *** Has no effect, since one version violation does not use _deploy.jar/_filtered.jar. *** Original change description *** Filter out generated proto extension registry loader from instrumentation APK. RELNOTES: None PiperOrigin-RevId: 184918011
* Rename generated core classes during core library desugaringGravatar kmb2018-02-07
| | | | | | RELNOTES: None. PiperOrigin-RevId: 184915177
* Drive-by clean-up: Remove unused visitedMapGravatar shreyax2018-02-07
| | | | PiperOrigin-RevId: 184913521
* Hooks to support core library desugaring in Android buildsGravatar kmb2018-02-07
| | | | | | RELNOTES: None. PiperOrigin-RevId: 184909685
* Add a CODEC for some dependencies of CppCompileAction: CompileCommandLine andGravatar cpeyser2018-02-07
| | | | | | | | CcToolchainFeatures.Variables. We rephrase the nocopts filter from a Predicate<String> to a custom class, since AutoCodec cannot serialize a Predicate. PiperOrigin-RevId: 184902162
* @AutoCodec adds Singleton strategy.Gravatar shahan2018-02-07
| | | | PiperOrigin-RevId: 184889583
* Refactor to get rid of some getConfiguredTarget() calls in tests and replaceGravatar mjhalupka2018-02-07
| | | | | | | them with getConfiguredTargetAndTarget() so we can get rid of ConfiguredTarget.getTarget() callers. This should be a test only change. PiperOrigin-RevId: 184877255
* Increase timeout on bazel_java_test.Gravatar ruperts2018-02-07
| | | | | RELNOTES: None. PiperOrigin-RevId: 184869999
* Reflect renamed classes in desugar output file namesGravatar kmb2018-02-07
| | | | | | RELNOTES: None. PiperOrigin-RevId: 184869773
* When requesting nodes* look first in target configuration, then host (used ↵Gravatar juliexxia2018-02-07
| | | | | | | | | | | | to be the other way around). This fixes b/72817591 which saw the following - (1) somepath(//foo, //bar) --nohost_deps -> empty query results (2) deps(//foo) --nohost_deps | grep '//bar' -> found //bar This happened because //bar was configured in both the host and the target config. There was no path from //foo-target -> //bar-host because of the --nohost_deps setting (1) but //bar-target did exist in the results of (2) PiperOrigin-RevId: 184868484
* Combine WorkspaceRcFileSearchPath and FindCandidateBlazercPaths and add a test.Gravatar ajmichael2018-02-07
| | | | | RELNOTES: None PiperOrigin-RevId: 184865343
* Non-test AspectClass codecs.Gravatar shahan2018-02-07
| | | | PiperOrigin-RevId: 184862552
* Remove assertSwiftStdLibToolAction since it's unused by all subclasses.Gravatar mjhalupka2018-02-07
| | | | PiperOrigin-RevId: 184853464
* Improved invalid/unsupported NDK revision warning message.Gravatar jingwen2018-02-07
| | | | | | | | Suggestion from @angersson on GitHub: https://github.com/bazelbuild/bazel/issues/4068#issuecomment-347627252 GITHUB: https://github.com/bazelbuild/bazel/issues/4068 RELNOTES: Improved clarity of warning message for unsupported NDK revisions. PiperOrigin-RevId: 184852316
* Change aar_integration_test size to large.Gravatar cpeyser2018-02-07
| | | | PiperOrigin-RevId: 184846631
* Refactor blazerc parsing out of OptionProcessor. This change should be a ↵Gravatar Googler2018-02-07
| | | | | | | no-op behavior-wise. RELNOTES: None PiperOrigin-RevId: 184843442
* BEP: ensure that TestAttempts are reported after their targetGravatar Klaus Aehlig2018-02-07
| | | | | | | | | | Ensure that each test attempt is only reported after the report of the completion of the build of the corresponding test target. Normally this should happen anyway, but due to races on the internal event bus, the order of the report might be messed up. So add an explicit order constraint. Change-Id: I4d325bc31a46dcdf8763ba5416b5135a0978536e PiperOrigin-RevId: 184825306
* Add NestedSetCodec to AutoCodec's deploy jar.Gravatar cpeyser2018-02-06
| | | | PiperOrigin-RevId: 184784669
* Generate a CODEC for CppCompilationContext using AutoCodec. This is ↵Gravatar cpeyser2018-02-06
| | | | | | | | required in order to serialize CppCompileAction. Rephrase CppCompilationContext's pregreppedHeaders field as its own value class instead of Pair<Artifact, Artifact>. We do this because NestedSet support in AutoCodec cannot serialize a NestedSet of a generic type. PiperOrigin-RevId: 184740075