Tags: smilexin/bazel
Tags
Release 0.13.1 (2018-05-23) Baseline: fdee70e Cherry picks: + f083e76: windows: GetOutputRoot() returns GetHomeDir() + fa36d2f: Automated rollback of commit 4465dae. + 4abd2ba: Add error message on empty public resources + 2c95757: test-setup: remove leading "./" from test name + e6eaf25: Sort entries by segment when building a parent node to prevent unordered directory structures. Important changes: - Remote Execution: Fixes a regression that produces directories with unsorted file/directory lists
Release 0.13.0 (2018-04-30) Baseline: fdee70e Cherry picks: + f083e76: windows: GetOutputRoot() returns GetHomeDir() + fa36d2f: Automated rollback of commit 4465dae. + 4abd2ba: Add error message on empty public resources + 2c95757: test-setup: remove leading "./" from test name Incompatible changes: - Remove //tools/defaults:android_jar. Use @bazel_tools//tools/android:android_jar instead. - The flag --incompatible_show_all_print_messages is removed. Messages generated by `print` statements from any package will be displayed as DEBUG messages. - The --incompatible_disallow_uncalled_set_constructor flag is no longer available, the `set` constructor` is completely removed from Skylark. Use `depset` instead. - Variables PACKAGE_NAME and REPOSITORY_NAME are deprecated in favor of functions `package_name()` and `repository_name()`. https://docs.bazel.build/versions/master/skylark/lib/native.html#p ackage_name - BUILD_TIMESTAMP now contains seconds (and not milliseconds) since the epoch. New features: - Strings have a new .elems() method, that provides an iterator on the characters of the string. - Now you can access three functions in windows_cc_configure.bzl by: load("@bazel_tools/tools/cpp:windows_cc_configure.bzl", "<function_name>") Important changes: - CppRules: Unified action_configs for static libraries - Remove support for blaze dump --vfs. It is no longer meaningful. - Enable dependency checking for aar_import targets. - internal_bootstrap_hack has been deprecated and removed. - Properly handle tree artifacts on the link command line coming from a cc_library dependency. - Allow C++ features to make proto_library emit smaller C++ code - The 'j2objc' configuration fragment is exposed to Skylark. - Remove the default content of the global bazelrc. - In int() function, do not auto-detect base if input starts with '0'. - Users can now pass --experimental_shortened_obj_file_path=true to have a shorter object file path, the object file paths (and all other related paths) will be constructed as following: If there's no two or more source files with the same base name: <bazel-bin>/<target_package_path>/_objs/<target_name>/<source_base _name>.<extension> otherwise: <bazel-bin>/<target_package_path>/_objs/<target_name>/N/<source_ba se_name>.<extension> N = the file?s order among the source files with the same basename, starts from 0. - Move (c/cxx)opts from legacy_compile_flags to user_compile_flags - CppRules: Remove optional_*_flag fields from CROSSTOOL, they are not used, and could be expressed using features. - Introduce --incompatible_disable_objc_provider_resources to turn off all resource-related fields of the Objc provider. - Removed the statement of "What does Bazel support?" as it's limiting/misleading. Added supported host OSes to "multi-platform" paragraph. - android_library AAR output now contains proguard.txt - Bazel now displays information about remote cache hits and execution strategies used in its UI after every build and test, and adds a corresponding line "process stats" to BuildToolLogs in BEP. - Print correct build result for builds with --aspects flag. - android_binary.manifest_merger is no longer supported.
Release 0.12.0 (2018-04-11) Baseline: b33e5af Cherry picks: + 3694099: Automated rollback of commit c2b332b. + dbf7798: Emit SJD errors even if we don't know the label of a dependency + 4c3098c: Android tools: remove mtime-modifications + a1068c4: NDK cc_toolchains: include bundled runtime libraries in cc_toolchain.all_files + b1be581: runfiles,Python: remove library from @bazel_tools + 0a46220: Fix visibility of def_parser for remote builds + 3c5373c: Remove visibility attribute from //third_party/def_parser:def_parser + f54d7e5: Enable bulk writes in the HttpBlobStore + 04ce86e: remote/http: properly complete user promise Incompatible changes: - The order of dict-valued attributes is now the order in the BUILD file (or in the Skylark dict they were created from) and not lexicographically sorted. New features: - The new "--direct_run" flag on "blaze run" lets one run interactive binaries. - "blaze run --direct_run" with tests now gives the test an approximation of the official test environment. - "blaze run --direct_run" now exports the BUILD_{WORKSPACE,WORKING}_DIRECTORY variables to tell the binary about the cwd of the client and the workspace root. - New Android device test rule: android_instrumentation_test. - Add option to dump the action graph to a file: 'bazel dump --action_graph=/path/to/file'. - Pass `tags` from `java_import_external` rule to the generated `java_import` rule. - blaze query: use --proto:output_rule_attrs to filter for given attributes - Added Android NDK r15 support, including compatibility with Unified Headers. - Adds --ltobackendopt and --per_file_ltobackendopt for passing options to ThinLTO LTO backend compile actions only. Important changes: - Fix how libraries to link is specified to archiver actions. - Fix how libraries_to_link are expanded in the archiver command line. - stop using --no-locals in android coverage builds - apple_binary can now generate dSYM outputs with the --apple_generate_dsym=true flag. - Fix FDO_STAMP_MACRO to only be set when fdoBuildStamp is not null. - Improved clarity of warning message for unsupported NDK revisions. - Add lint check for discouraging glob(["**/*.java"]) - unifly lint glob(["**/*.java"]) message - Removed flags `--incompatible_checked_arithmetic`, `--incompatible_dict_literal_has_no_duplicates`, `--incompatible_disallow_keyword_only_args`, and ` --incompatible_comprehension_variables_do_not_leak`. - Add "proto_source_root" flag to proto_library. - Updated default android_cpu value to armeabi-v7a - In skylark, print(target) now shows the provider keys of a target, as debug information. - The native http_archive rule is deprecated. Use the Skylark version available via load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") instead. - flaky_test_attempts supports the regex@attempts syntax, like runs_per_test. - Fixed include paths for NDK r13+ llvm-libc++ headers to `ndk/sources/cxx-stl/llvm-libc++/include` and `ndk/sources/cxx-stl/llvm-libc++abi/include` - --config flags now expand in place by default. - aar_import now sets java.transitive_exports. - repository_cache is no longer experimental and enabled by default. - BAZEL_LINKOPTS is now consulted when autoconfiguring c++ toolchain - The native git_repository rule is deprecated. Use the Skylark version available via load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") instead. - Removed flag `--incompatible_load_argument_is_label`. - CcToolchain: Introduced action_config for "c++-link-transitive-dynamic-library" - Use bazel dump --action_graph=/path/to/action.proto --action_graph:targets://foo:bar,//foo:foo to filter for certain targets in the action graph dump. - Added Android NDK r16 support. Use --cxxopt='-std=c++11` compile with the C++11 standard, and `--android_crosstool_top=@androidndk//:toolchain-libcpp` to use the `libc++` STL. - Add a --build_event_publish_all_actions flag to allow all actions to be published via the BEP. - C++: Introduced --experimental_drop_fully_static_linking_mode - Removed cc_inc_library, please use cc_library instead - CppRules: cc_binary/cc_test now enable 'static_linking_mode' or 'dynamic_linking_mode'.
Release 0.11.1 (2018-03-06) Baseline: 00d781a Cherry picks: + ea2d4c4: Update stub_finds_runfiles_test to be a real sh_test. + d855d81: java,runfiles: fix bugs in runfiles library + 56aeb04: Fixing bazelbuild#4585: broken re-execution of orphaned actions. + cf3f81a: remote: Add support for HTTP Basic Auth + 28bd997: Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. + 109e4b4: Automated rollback of commit 7e6837c. + b3d52b1: Fix incorrect include directories when -no-canonical-prefixes is passed to clang + 1001141: Roll forward of bazelbuild@3904ac33a983fd8faebba1 b52bcac5a3ff942029 (bazelbuild@3904ac33a983fd8faebba 1b52bcac5a3ff942029). Fix bazelbuild#4625 by running the test process in a sub-shell. + fc98b44: android,windows: bugfix in aar_resources_extractor Important changes: - Fixes regression building Android rules on Windows.
Release 0.11.0 (2018-02-23) Baseline: 00d781a Cherry picks: + ea2d4c4: Update stub_finds_runfiles_test to be a real sh_test. + d855d81: java,runfiles: fix bugs in runfiles library + 56aeb04: Fixing bazelbuild#4585: broken re-execution of orphaned actions. + cf3f81a: remote: Add support for HTTP Basic Auth + 28bd997: Fixing test-setup.sh occasionally missing stdout/stderr, on systems where "tail --pid" is supported. + 109e4b4: Automated rollback of commit 7e6837c. + b3d52b1: Fix incorrect include directories when -no-canonical-prefixes is passed to clang + 3904ac3: Automated rollback of commit 28bd997. + 1001141: Roll forward of bazelbuild@3904ac33a983fd8faebba1 b52bcac5a3ff942029 (bazelbuild@3904ac33a983fd8faebba 1b52bcac5a3ff942029). Fix bazelbuild#4625 by running the test process in a sub-shell. Incompatible changes: - ctx.fragments.jvm is not available anymore. New features: - java,runfiles: You can now depend on `@bazel_tools//tools/runfiles:java-runfiles` to get a platform-independent runfiles library for Java. See JavaDoc of https://github.com/bazelbuild/bazel/blob/master/src/tools/runfiles /java/com/google/devtools/build/runfiles/Runfiles.java for usage information. Important changes: - The --[no]experimental_disable_jvm command line option is not supported anymore. - Allow expanding TreeArtifacts for libraries_to_link - Proguarded Android binaries can be built with incremental dexing. - aar_import now supports assets. - Crash in OutputJar::Close has been fixed - generator_* attributes are nonconfigurable. - Introduces --[no]keep_state_after_build - Add support for merged object files needed for -flto-unit. - Fix how libraries to link is specified to archiver actions. - Replace //tools/defaults:android_jar with @bazel_tools//tools/android:android_jar. //tools/defaults:android_jar will be removed in a future release. - java_common.compile supports neverlink - Resolved an issue where a failure in the remote cache would not trigger local re-execution of an action.
Release 0.10.1 (2018-02-15) Baseline: 22c2f9a Cherry picks: + f6ca788: isable_presubmit + 65c13dd: Fix StreamResourceLeak error + e543674: windows: fix --symlink_prefix=/ throwing exception + 22ccdd1: Fix turbine command lines with empty javacopts + 96c654d: Remove EOL'd Linux flavours, bump CentOS to 6.9. + f0bec36: Automated rollback of commit 2aeaeba. + 860af5b: Consolidate Error Prone resource handling + 2e631c9: sandbox: properly add `tmpDir` to `writablePaths` + 5bfa584: actions,temp: respect TMPDIR envvar + 6cc2ad8: sandbox: add env[TMPDIR] instead of `tmpDir` + 40c757f: Change git clone to pull all history, so all needed commits can be accessed. + 56aeb04: Fixing bazelbuild#4585: broken re-execution of orphaned actions. Important changes: - Resolved an issue where a failure in the remote cache would not trigger local re-execution of an action.
Release 0.10.0 (2018-02-01) Baseline: 22c2f9a Cherry picks: + f6ca788: isable_presubmit + 65c13dd: Fix StreamResourceLeak error + e543674: windows: fix --symlink_prefix=/ throwing exception + 22ccdd1: Fix turbine command lines with empty javacopts + 96c654d: Remove EOL'd Linux flavours, bump CentOS to 6.9. + f0bec36: Automated rollback of commit 2aeaeba. + 860af5b: Consolidate Error Prone resource handling + 2e631c9: sandbox: properly add `tmpDir` to `writablePaths` + 5bfa584: actions,temp: respect TMPDIR envvar + 6cc2ad8: sandbox: add env[TMPDIR] instead of `tmpDir` + 40c757f: Change git clone to pull all history, so all needed commits can be accessed. Incompatible changes: - In order to access the template variables $(JAVA) and $(JAVABASE), @bazel_tools//tools/jdk:current_java_runtime needs to be added to the toolchains= attribute from now on. - The ctx.middle_man function is not supported anymore. - The flag --incompatible_list_plus_equals_inplace is removed, its default behavior is preserved. += on lists now always mutates the left hand side. - --android_sdk no longer supports filegroup targets. - android_* rules no longer support legacy_native_support attribute. New features: - query: Add option --noproto:flatten_selects to turn off flattening of selector lists in proto output. - New android test rule, android_local_test. Important changes: - The --remote_rest_cache flag now respects --remote_timeout. - --experimental_java_coverage is available for testing. - The deprecated builtin `set` is no longer allowed even from within unexecuted code in bzl files. It's temporarily possible to use --incompatible_disallow_uncalled_set_constructor=false if this change causes incompatibility issues. - Linkstamping is now a separate and full-blown CppCompileAction, it's no longer a part of linking command. - Using `+`, `|` or `.union` on depsets is now deprecated. Please use the new constructor instead (see https://docs.bazel.build/versions/master/skylark/depsets.html). - config_feature_flag's default_value is optional. It is only an error to have a config_feature_flag with no default_value if that config_feature_flag has not been set in the configuration it is being evaluated in. - --[no]keep_incrementality_data is gone, replaced by the enum-valued --incremental_state_retention_strategy - Linkstamping is now a separate and full-blown CppCompileAction, it's no longer a part of linking command. - Added --checkHashMismatch flag to ZipFilterAction. Valid values are IGNORE, WARN and ERROR. --errorOnHashMismatch is deprecated, please use this flag instead. - Set build jobs equivalent to number of logical processors by default. Should improve build times significantly. - Added --(no)expand_test_suites flag. - Rename --keep_incrementality_data to --track_incremental_state - --remote_rest_cache was renamed to --remote_http_cache. Both options keep working in this release, but --remote_rest_cache will be removed in the next release. - Aspects-on-aspect see and propagate over aspect attributes. - --auth_* flags were renamed to --google_* flags. The old names will continue to work for this release but will be removed in the next release. - Remote Caching and Execution support output directories. - Remove defunct flags --experimental_incremental_dexing_for_lite_proto and --experimental_incremental_dexing_error_on_missed_jars that have long been enabled by default - New version of aapt2 and Resources.proto. - Make PIC and non PIC outputs for C++ compilation with Tree Artifacts
Release 0.9.0 (2017-12-19) Baseline: ddd5ac1 Cherry picks: + 2cf560f: Update version of re2 + a2d2615: Check for null build file returned from getBuildFileForPackage. + 68c577a: Fix some broken targets and failing tests. + 766ba8a: Automated rollback of commit 337f19c. + a22d0e9: Fix: uploading artifacts of failed actions to remote cache stopped working. + 03964c8: [java_common.compile] Name output source jar relative to the output jar name Incompatible changes: - The deprecated `set` constructor is removed, along with the migration flag --incompatible_disallow_set_constructor. It is still temporarily allowed to refer to `set` from within unexecuted code. - The flag --incompatible_disallow_set_constructor is no longer available, the deprecated `set` constructor is not available anymore. - The path to the JVM executable is not accessible anymore as ctx.{fragments,host_fragments}.jvm.java_executable. Use JavaRuntimeInfo.java_executable_exec_path instead. - --clean_style is no longer an option. New features: - Users can use win_def_file attribute to specify a DEF file for exporting symbols when build a shared library on Windows. - Add --experimental_android_resource_cycle_shrinking option to allow for more aggressive code and resource shrinking. Important changes: - Late-bound attributes are exposed to skylark. This is a new API (`configuration_field()`) to depend on certain configuration-defined targets from skylark rules. - Document interaction between test_suite and target exclusions - AAR manifest files will come from the processed resource APK if it exists. RELNOTES: None for Blaze users. - Document interaction between test_suite and target exclusions - --keep_incrementality_data flag allows Bazel servers to be run in memory-saving non-incremental mode independent of --batch and --discard_analysis_cache. - Add deps attribute to Skylark maven_aar and maven_jar workspace rules. - Use --expand_configs_in_place as a startup argument to change the order in which --config expansions are interpreted. - SOURCE_DATE_EPOCH (https://reproducible-builds.org/specs/source-date-epoch/) can be used to override the timestamp used for stamped target (when using --stamp). - Package specifications can now be prefixed with `-` to indicate negation - transitive_source_jars is now exposed on JavaInfo. - Add six to deps of has_services=1 py_proto_librarys. - java_tests no complain when use_testrunner is explicitly set to 1 and main_class is set. - transitive_source_jars is now exposed on JavaInfo. - Debug messages generated by `print()` are not being filtered out by --output_filter anymore, it's recommended not to use them in production code. - in the Label() function, relative_to_caller_repository is now deprecated. - java_tests no complain when use_testrunner is explicitly set to 1 and main_class is set. - Bazel's default hash function was changed from MD5 to SHA256. In particular, this affects users of remote caching and execution, as all hashes will be SHA256 by default. - Remove redirects for domains be.bazel.build and cr.bazel.build from the source for docs.bazel.build (because those subdomains don't resolve here; they resolve to bazel.build, which has the redirects for them) - First argument of 'load' must be a label. Path syntax is removed. (label should start with '//' or ':'). - Document startup option --host_javabase - The --host_platform and --platform flags are no longer experimental.
Release 0.8.1 (2017-12-05) Baseline: cff0dc9 Cherry picks: + 8a49b15: Fix ImportError on tools.android for junction_lib + 275ae45: Automated rollback of commit 4869c4e. + d0bf589: Add a random number to action temp dir + 9738f35: CcProtoLibrary: Don't add dynamic librarys to filesToBuild on Windows + 0d6ff47: Automated rollback of commit 0ebb3e5. + 49008a3: Avoid NPEs when providers are not found in JavaInfo. + f499ddc: Added missed imports. 0.8.1rc3 Cherry-picked bazelbuild@49008a3. Additional change to fix the missing imports.
Release 0.8.0 (2017-11-27) Baseline: cff0dc9 Cherry picks: + 8a49b15: Fix ImportError on tools.android for junction_lib + 275ae45: Automated rollback of commit 4869c4e. + d0bf589: Add a random number to action temp dir + 9738f35: CcProtoLibrary: Don't add dynamic librarys to filesToBuild on Windows + 0d6ff47: Automated rollback of commit 0ebb3e5. Incompatible changes: - ctx.fragments.apple.{xcode_version,ios_minimum_os} is not supported anymore. The same information is accessible through the target @bazel_tools//tools/osx:current_xcode_config: point an implicit attribute to it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co nfig")) then use ctx.attr._xcode_config[apple_common].XcodeVersionConfig]. - ctx.fragments.apple.minimum_os_for_platform_type is not supported anymore. The same information is accessible through the target @bazel_tools//tools/osx:current_xcode_config: point an implicit attribute to it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co nfig")) then use ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_o s_for_platform_type . - ctx.fragments.apple.sdk_version_for_platform is not supported anymore. The same information is accessible through the target @bazel_tools//tools/osx:current_xcode_config: point an implicit attribute to it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co nfig")) then use ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_versi on_for_platform . - --javabase=<absolute path> and --host_javabase=<absolute path> are not supported anymore. If you need this functionality java_runtime_suite(name="suite", default=":runtime") java_runtime(name="runtime", java_home=<path to the JDK>) is an alternative. - The flag --incompatible_descriptive_string_representations is no longer available, old style string representations of objects are not supported anymore. - The flag --incompatible_disallow_set_constructor is no longer available, the deprecated `set` constructor is not available anymore. - += on lists now mutates them. `list1 += list2` is now equivalent to `list1.extend(list2)` and not equivalent to `list1 = list1 + list2` anymore. - the target_apple_env and apple_host_system_env methods on ctx.fragments.apple are not supported anymore. The same information is accessible through apple_common.target_apple_env and apple_common.apple_host_system_env . They need the Xcode configuration as an argument, which can be obtained by declaring an implicit dependency on it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_co nfig")) and then calling e.g. apple_common.apple_host_system_env(ctx.attr._xcode_config[apple_co mmon.XcodeVersionConfig]). - C++ toolchain identifiers are not in the name of the output directory anymore. - Selecting on "xcode_version" and "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore. What was config_setting(values={"$FOO_version": $VALUE}) is now config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_ flag": $VALUE}). - Selecting on "xcode_version" and "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore. What was config_setting(values={"$FOO_version": $VALUE}) is now config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_version_ flag": $VALUE}). - The flag --incompatible_disallow_set_constructor is no longer available, the deprecated `set` constructor is not available anymore. - Selecting on "xcode_version" and "{ios,tvos,macos,watchos}_sdk_version" is not supported anymore. What was config_setting(values={"$FOO_version": $VALUE}) is now config_setting(flag_values={"@bazel_tools//tools/osx:$FOO_versi... New features: - runfiles, sh: Shell scripts may now depend on //src/tools/runfiles:runfiles_sh_lib and source runfiles.sh. The script defines the `rlocation` function which returns runfile paths on every platform. - In addition to $(location), Bazel now also supports $(rootpath) to obtain the root-relative path (i.e., for runfiles locations), and $(execpath) to obtain the exec path (i.e., for build-time locations) Important changes: - android_binary now supports custom debug keys via the debug_key attribute. - Updated Android proguard to 5.3.3. It now works with android-24+. - --experimental_use_parallel_android_resource_processing and --experimental_android_use_nocompress_extensions_on_apk are removed. These features are fully rolled out. - Fixes bazelbuild#2574 - Fixes bazelbuild#3834 - Enable experimental UI by default. - . RELNOTES: None. RELNOTES: No. - Add memory profiler. - [Bazel] {java,cc}_proto_library now look for dependencies in @com_google_protobuf, instead of in @com_google_protobuf_$LANG - Improved merge.sh script in cookbook. - Fixing regression to --experimental_remote_spawn_cache - Support for linker scripts in NativeDepsHelper (e.g., android_binary) - Skylark semantics flags now affect WORKSPACE files and repository rules. - ctx.outputs.executable is deprecated. Use DefaultInfo(executable = ...) instead. - Update "mirror.bazel.build" urls to use https. - Improve --config logging when --announce_rc is present. - Document interaction between test_suite and target exclusions - Replace version numbers for Bazel installers with "<version>" (because this will change often) - Published command lines should have improved lists of effective options. - --incremental_dexing_binary_types has been removed. All builds are supported by incremental dexing (modulo proguard and some blacklisted dx flags). - Document --host_javabase, --host_java_toolchain
PreviousNext