Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bazel installer checks for JDK even when using the bundled JDK version #2982

Closed
philwo opened this issue May 10, 2017 · 0 comments
Closed

Bazel installer checks for JDK even when using the bundled JDK version #2982

philwo opened this issue May 10, 2017 · 0 comments
Assignees
Labels
P1 I'll work on this now. (Assignee required)

Comments

@philwo
Copy link
Member

philwo commented May 10, 2017

The current Bazel installer script checks for an existing JDK and errors out when it can't find one, even when using the Bazel with a bundled JDK.

In that case, it shouldn't care about whether a JDK is installed or not.

@philwo philwo added category: misc > release / binary P1 I'll work on this now. (Assignee required) labels May 10, 2017
@philwo philwo self-assigned this May 10, 2017
hlopko pushed a commit that referenced this issue May 17, 2017
…g a bundled JDK.

PiperOrigin-RevId: 156092071
hlopko pushed a commit that referenced this issue May 17, 2017
…g a bundled JDK.

PiperOrigin-RevId: 156092071
hlopko pushed a commit that referenced this issue May 23, 2017
…g a bundled JDK.

PiperOrigin-RevId: 156092071
bazel-io pushed a commit that referenced this issue May 26, 2017
Baseline: f3ae88e

Cherry picks:
   + c58ba09:
     Release to GCS: put the final release in its own directory
   + 0acead4:
     Update protobuf to latest master at a64497c and apply
     @laszlocsomor's latest changes from
     protocolbuffers/protobuf#2969 on top of it.
   + d0242ce:
     Make symlinks consistent
   + d953ca8:
     Clean VanillaJavaBuilder output directories
   + 755669f:
     Pass all the environment variable to Bazel during bootstrapping
   + 6f04166:
     Do not mark the JDK7 installer -without-jdk-installer
   + 7205611:
     Fix #2958: Installer should not overwrite bazelrc
   + 511c35b:
     Bootstrap: move the fail function to the top
   + 8470be1:
     Clean up javac and Error Prone targets
   + 4a404de:
     Update javac version to 9-dev-r4023-2
   + 36ce4b4:
     Update javac version to 9-dev-r4023-2
   + 38949b8:
     Migrate off versioned javac and Error Prone targets
   + 1a57d29:
     Re-enabling passing -sourcepath via javacopts.
   + eb565f4:
     Make make sure that msys build actually builds msys version
   + 39f328c:
     Fix typo. Also do not override host_cpu for msvc.
   + 6248028:
     Select correct JDK for windows_msys
   + c4f271d:
     Automated g4 rollback of commit
     3e5edaf.
   + 9261809:
     Remove process-tools.cc which I forgot to delete during the last
     rollback.
   + baca6e4:
     Fix #2982: Bazel installer should not check for installed JDK if
     using a bundled JDK.
   + 866ecc8:
     Disable msys path conversion on Windows.
   + cc21998:
     Rollforward #2 of: Basic open-source crosstool to support
     targeting apple platform types.
   + 0f0ccc4:
     Escape % in strings that will appear in Crosstool
   + 3b08f77:
     Adding feature for linking C Run-Time library on Windows

Incompatible changes:

  - Bazel's Linux sandbox no longer mounts an empty tmpfs on /tmp,
    instead the existing /tmp is mounted read-write. If you prefer
    to have a tmpfs on /tmp for sandboxed actions for increased
    hermeticity, please use the flag --sandbox_tmpfs_path=/tmp.
  - Converting artifacts to strings and printing them now return
    "File" instead of "Artifact" to be consistent with the type name.
  - The return type of depset.to_list() is now a list rather than a
    frozen list. (Modifying the list has no effect on the depset.)
  - Bazel now prints logs in single lines to java.log
  - --use_dash, --dash_url and --dash_secret are removed.
  - Remote repositories must define any remote repositories they
    themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
    defined
    in @x's WORKSPACE file).
  - Remote repositories must define any remote repositories they
    themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
    defined
    in @x's WORKSPACE file).
  - objc_xcodeproj has been removed, use tulsi.bazel.build instead.

New features:

  - If grte_top is a label, it can now follow non-configurable
    redirects.
  - Optional coverage_files attribute to cc_toolchain
  - "query --output=build" now includes select()s
  - Raw LLVM profiles are now supported.

Important changes:

  - Automatically generate Proguard mapping when resource shrinking
    and Proguard are enabled.
  - New rules in Bazel: proto_library, java_lite_proto_library,
    java_proto_library and cc_proto_library
  - Activate the "dead_strip" feature if objc binary stripping is
    enabled.
  - More stable naming scheme for lambda classes in desugared android
    code
  - Convert --use_action_cache to a regular option
  - Per-architecture dSYM binaries are now propagated by
    apple_binary's AppleDebugOutputsProvider.
  - Avoid factory methods when desugaring stateless lambdas for
    Android
  - desugar calls to Objects.requireNonNull(Object o) with
    o.getClass() for android
  - Add an --copy_bridges_from_classpath argument to android
    desugaring tool
  - Change how desugar finds desugared classes to have it working on
    Windows
  - Evaluation of commands on TargetsBelowDirectory patterns
    (e.g. //foo/...) matching packages that fail to load now report
    more
    detailed error messages in keep_going mode.
  - Allow to have several inputs and outputs
  - Repository context's execute() function can print stdout/stderr
    while running. To enable, pass quiet=False.
  - Bazel can now be built with a bundled version of the OpenJDK.
    This makes it possible to use Bazel on systems without a JDK, or
    where
    the installed JDK is too old.
  - The --jobs flag now defaults to "auto", which causes Bazel to
    use a reasonable degree of parallelism based on the local
    machine's
    capacity.
  - Bazel benchmark (perf.bazel.build) supports Java and Cpp targets.
  - no factory methods generated for lambda expressions on android
  - The Linux sandbox no longer changes the user to 'nobody' by
    default, instead the current user is used as is. The old behavior
    can be
    restored via the --sandbox_fake_username flag.
  - /tmp and /dev/shm are now writable by default inside the
    Linux sandbox.
  - Bazel can now use the process-wrapper + symlink tree based
    sandbox implementation in FreeBSD.
  - turn on --experimental_incremental_dexing_error_on_missed_jars by
    default.
  - All android_binarys are now signed with both Apk Signature V1 and
    V2. See https://source.android.com/security/apksigning/v2.html
    for more details.
  - Windows MSVC wrappers: Not filtering warning messages anymore,
    use --copt=-w and --host_copt=-w to suppress them.
  - A downloader bug was fixed that prevented RFC 7233 Range
    connection resumes from working with certain HTTP servers
  - Introduces experimental android_device rule for configuring and
    launching Android emulators.
  - For boolean flags, setting them to false using --no_<flag_name>
    is deprecated. Use --no<flag_name> without the underscore, or
    --<flag_name>=false instead.
  - Add --experimental_android_compress_java_resources flag to store
    java
    resources as compressed inside the APK.
  - Removed --experimental_use_jack_for_dexing and libname.jack
    output of
    android_library.
  - blaze canonicalize-flags now takes a --show_warnings flag
  - Changing --invocation_policy will no longer force a server
    restart.
  - Bazel now supports Android NDK14.
  - android_binary multidex should now work without additional flags.
  - Use action_config in crosstool for static library archiving,
    remove ar_flag.
  - new option for bazel canonicalize-flags, --canonicalize_policy
  - Use action_config in crosstool for static library archiving,
    remove ar_flag.
  - android_library exports_manifest now defaults to True.
  - Fix select condition intersections.
  - Adds a --override_repository option that takes a repository
    name and path. This forces Bazel to use the directory at that path
    for the repository. Example usage:
    `--override_repository=foo=/home/user/gitroot/foo`.
  - fix idempotency issue with desugaring lambdas in interface
    initializers for android
  - --experimental_android_use_singlejar_for_multidex is now a no-op
    and will eventually be removed.
  - Every local_repository now requires a WORKSPACE file.
  - Remove jack and jill attributes of the android_sdk rule.
  - Add Skylark stubs needed to remove sysroot from CppConfiguration.
  - Desugar try-with-resources so that this language feature is
    available
    to deveces with API level under 19.
  - The flag --worker_max_retries was removed. The
    WorkerSpawnStrategy no longer retries execution of failed Spawns,
    the reason being that this just masks compiler bugs and isn't
    done for any other execution strategy either.
  - Bazel will no longer gracefully restart workers that crashed /
    quit, instead this triggers a build failure.
  - All java resources are now compressed in android_binary APKs by
    default.
  - All java resources are now compressed in android_binary APKs by
    default.
  - android_ndk_repository now creates a cc_library
    (@androidndk//:cpufeatures) for the cpufeatures library that is
    bundled in the Android NDK. See
    https://developer.android.com/ndk/guides/cpu-features.html for
    more details.
  - 'output_groups' and 'instrumented_files' cannot be specified in
    DefaultInfo.
  - You can increase the CPU reservation for tests by adding a
    "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a
    BUILD file. This can be used if tests would otherwise overwhelm
    your system if there's too much parallelism.
  - Deprecate use_singlejar_for_proguard_libraryjars and force
    behavior to always on.
damienmg pushed a commit that referenced this issue May 26, 2017
…g a bundled JDK.

PiperOrigin-RevId: 156092071
juhalindfors pushed a commit to juhalindfors/bazel-patches that referenced this issue May 27, 2017
Baseline: f3ae88e

Cherry picks:
   + c58ba09:
     Release to GCS: put the final release in its own directory
   + 0acead4:
     Update protobuf to latest master at a64497c and apply
     @laszlocsomor's latest changes from
     protocolbuffers/protobuf#2969 on top of it.
   + d0242ce:
     Make symlinks consistent
   + d953ca8:
     Clean VanillaJavaBuilder output directories
   + 755669f:
     Pass all the environment variable to Bazel during bootstrapping
   + 6f04166:
     Do not mark the JDK7 installer -without-jdk-installer
   + 7205611:
     Fix bazelbuild#2958: Installer should not overwrite bazelrc
   + 511c35b:
     Bootstrap: move the fail function to the top
   + 8470be1:
     Clean up javac and Error Prone targets
   + 4a404de:
     Update javac version to 9-dev-r4023-2
   + 36ce4b4:
     Update javac version to 9-dev-r4023-2
   + 38949b8:
     Migrate off versioned javac and Error Prone targets
   + 1a57d29:
     Re-enabling passing -sourcepath via javacopts.
   + eb565f4:
     Make make sure that msys build actually builds msys version
   + 39f328c:
     Fix typo. Also do not override host_cpu for msvc.
   + 6248028:
     Select correct JDK for windows_msys
   + c4f271d:
     Automated g4 rollback of commit
     3e5edaf.
   + 9261809:
     Remove process-tools.cc which I forgot to delete during the last
     rollback.
   + baca6e4:
     Fix bazelbuild#2982: Bazel installer should not check for installed JDK if
     using a bundled JDK.
   + 866ecc8:
     Disable msys path conversion on Windows.
   + cc21998:
     Rollforward bazelbuild#2 of: Basic open-source crosstool to support
     targeting apple platform types.
   + 0f0ccc4:
     Escape % in strings that will appear in Crosstool
   + 3b08f77:
     Adding feature for linking C Run-Time library on Windows

Incompatible changes:

  - Bazel's Linux sandbox no longer mounts an empty tmpfs on /tmp,
    instead the existing /tmp is mounted read-write. If you prefer
    to have a tmpfs on /tmp for sandboxed actions for increased
    hermeticity, please use the flag --sandbox_tmpfs_path=/tmp.
  - Converting artifacts to strings and printing them now return
    "File" instead of "Artifact" to be consistent with the type name.
  - The return type of depset.to_list() is now a list rather than a
    frozen list. (Modifying the list has no effect on the depset.)
  - Bazel now prints logs in single lines to java.log
  - --use_dash, --dash_url and --dash_secret are removed.
  - Remote repositories must define any remote repositories they
    themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
    defined
    in @x's WORKSPACE file).
  - Remote repositories must define any remote repositories they
    themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
    defined
    in @x's WORKSPACE file).
  - objc_xcodeproj has been removed, use tulsi.bazel.build instead.

New features:

  - If grte_top is a label, it can now follow non-configurable
    redirects.
  - Optional coverage_files attribute to cc_toolchain
  - "query --output=build" now includes select()s
  - Raw LLVM profiles are now supported.

Important changes:

  - Automatically generate Proguard mapping when resource shrinking
    and Proguard are enabled.
  - New rules in Bazel: proto_library, java_lite_proto_library,
    java_proto_library and cc_proto_library
  - Activate the "dead_strip" feature if objc binary stripping is
    enabled.
  - More stable naming scheme for lambda classes in desugared android
    code
  - Convert --use_action_cache to a regular option
  - Per-architecture dSYM binaries are now propagated by
    apple_binary's AppleDebugOutputsProvider.
  - Avoid factory methods when desugaring stateless lambdas for
    Android
  - desugar calls to Objects.requireNonNull(Object o) with
    o.getClass() for android
  - Add an --copy_bridges_from_classpath argument to android
    desugaring tool
  - Change how desugar finds desugared classes to have it working on
    Windows
  - Evaluation of commands on TargetsBelowDirectory patterns
    (e.g. //foo/...) matching packages that fail to load now report
    more
    detailed error messages in keep_going mode.
  - Allow to have several inputs and outputs
  - Repository context's execute() function can print stdout/stderr
    while running. To enable, pass quiet=False.
  - Bazel can now be built with a bundled version of the OpenJDK.
    This makes it possible to use Bazel on systems without a JDK, or
    where
    the installed JDK is too old.
  - The --jobs flag now defaults to "auto", which causes Bazel to
    use a reasonable degree of parallelism based on the local
    machine's
    capacity.
  - Bazel benchmark (perf.bazel.build) supports Java and Cpp targets.
  - no factory methods generated for lambda expressions on android
  - The Linux sandbox no longer changes the user to 'nobody' by
    default, instead the current user is used as is. The old behavior
    can be
    restored via the --sandbox_fake_username flag.
  - /tmp and /dev/shm are now writable by default inside the
    Linux sandbox.
  - Bazel can now use the process-wrapper + symlink tree based
    sandbox implementation in FreeBSD.
  - turn on --experimental_incremental_dexing_error_on_missed_jars by
    default.
  - All android_binarys are now signed with both Apk Signature V1 and
    V2. See https://source.android.com/security/apksigning/v2.html
    for more details.
  - Windows MSVC wrappers: Not filtering warning messages anymore,
    use --copt=-w and --host_copt=-w to suppress them.
  - A downloader bug was fixed that prevented RFC 7233 Range
    connection resumes from working with certain HTTP servers
  - Introduces experimental android_device rule for configuring and
    launching Android emulators.
  - For boolean flags, setting them to false using --no_<flag_name>
    is deprecated. Use --no<flag_name> without the underscore, or
    --<flag_name>=false instead.
  - Add --experimental_android_compress_java_resources flag to store
    java
    resources as compressed inside the APK.
  - Removed --experimental_use_jack_for_dexing and libname.jack
    output of
    android_library.
  - blaze canonicalize-flags now takes a --show_warnings flag
  - Changing --invocation_policy will no longer force a server
    restart.
  - Bazel now supports Android NDK14.
  - android_binary multidex should now work without additional flags.
  - Use action_config in crosstool for static library archiving,
    remove ar_flag.
  - new option for bazel canonicalize-flags, --canonicalize_policy
  - Use action_config in crosstool for static library archiving,
    remove ar_flag.
  - android_library exports_manifest now defaults to True.
  - Fix select condition intersections.
  - Adds a --override_repository option that takes a repository
    name and path. This forces Bazel to use the directory at that path
    for the repository. Example usage:
    `--override_repository=foo=/home/user/gitroot/foo`.
  - fix idempotency issue with desugaring lambdas in interface
    initializers for android
  - --experimental_android_use_singlejar_for_multidex is now a no-op
    and will eventually be removed.
  - Every local_repository now requires a WORKSPACE file.
  - Remove jack and jill attributes of the android_sdk rule.
  - Add Skylark stubs needed to remove sysroot from CppConfiguration.
  - Desugar try-with-resources so that this language feature is
    available
    to deveces with API level under 19.
  - The flag --worker_max_retries was removed. The
    WorkerSpawnStrategy no longer retries execution of failed Spawns,
    the reason being that this just masks compiler bugs and isn't
    done for any other execution strategy either.
  - Bazel will no longer gracefully restart workers that crashed /
    quit, instead this triggers a build failure.
  - All java resources are now compressed in android_binary APKs by
    default.
  - All java resources are now compressed in android_binary APKs by
    default.
  - android_ndk_repository now creates a cc_library
    (@androidndk//:cpufeatures) for the cpufeatures library that is
    bundled in the Android NDK. See
    https://developer.android.com/ndk/guides/cpu-features.html for
    more details.
  - 'output_groups' and 'instrumented_files' cannot be specified in
    DefaultInfo.
  - You can increase the CPU reservation for tests by adding a
    "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a
    BUILD file. This can be used if tests would otherwise overwhelm
    your system if there's too much parallelism.
  - Deprecate use_singlejar_for_proguard_libraryjars and force
    behavior to always on.
hlopko pushed a commit that referenced this issue May 31, 2017
…g a bundled JDK.

PiperOrigin-RevId: 156092071
bazel-io pushed a commit that referenced this issue Jun 6, 2017
Baseline: f3ae88e

Cherry picks:
   + c58ba09:
     Release to GCS: put the final release in its own directory
   + 0acead4:
     Update protobuf to latest master at a64497c and apply
     @laszlocsomor's latest changes from
     protocolbuffers/protobuf#2969 on top of it.
   + d0242ce:
     Make symlinks consistent
   + d953ca8:
     Clean VanillaJavaBuilder output directories
   + 755669f:
     Pass all the environment variable to Bazel during bootstrapping
   + 6f04166:
     Do not mark the JDK7 installer -without-jdk-installer
   + 7205611:
     Fix #2958: Installer should not overwrite bazelrc
   + 511c35b:
     Bootstrap: move the fail function to the top
   + 8470be1:
     Clean up javac and Error Prone targets
   + 4a404de:
     Update javac version to 9-dev-r4023-2
   + 36ce4b4:
     Update javac version to 9-dev-r4023-2
   + 38949b8:
     Migrate off versioned javac and Error Prone targets
   + 1a57d29:
     Re-enabling passing -sourcepath via javacopts.
   + eb565f4:
     Make make sure that msys build actually builds msys version
   + 39f328c:
     Fix typo. Also do not override host_cpu for msvc.
   + 6248028:
     Select correct JDK for windows_msys
   + c4f271d:
     Automated g4 rollback of commit
     3e5edaf.
   + 9261809:
     Remove process-tools.cc which I forgot to delete during the last
     rollback.
   + baca6e4:
     Fix #2982: Bazel installer should not check for installed JDK if
     using a bundled JDK.
   + 866ecc8:
     Disable msys path conversion on Windows.
   + cc21998:
     Rollforward #2 of: Basic open-source crosstool to support
     targeting apple platform types.
   + 0f0ccc4:
     Escape % in strings that will appear in Crosstool
   + 3b08f77:
     Adding feature for linking C Run-Time library on Windows
   + 3566474:
     Do not use sed -E in bootstrap/compile.sh
   + c3cf7d9:
     Reverts non-xcode-available darwin crosstool generation.

Important changes:

  - Fixes regression in 0.5.0 requiring Xcode to build C++ on OSX.
mmorearty pushed a commit to Asana/bazel that referenced this issue Jun 6, 2017
Baseline: f3ae88e

Cherry picks:
   + c58ba09:
     Release to GCS: put the final release in its own directory
   + 0acead4:
     Update protobuf to latest master at a64497c and apply
     @laszlocsomor's latest changes from
     protocolbuffers/protobuf#2969 on top of it.
   + d0242ce:
     Make symlinks consistent
   + d953ca8:
     Clean VanillaJavaBuilder output directories
   + 755669f:
     Pass all the environment variable to Bazel during bootstrapping
   + 6f04166:
     Do not mark the JDK7 installer -without-jdk-installer
   + 7205611:
     Fix bazelbuild#2958: Installer should not overwrite bazelrc
   + 511c35b:
     Bootstrap: move the fail function to the top
   + 8470be1:
     Clean up javac and Error Prone targets
   + 4a404de:
     Update javac version to 9-dev-r4023-2
   + 36ce4b4:
     Update javac version to 9-dev-r4023-2
   + 38949b8:
     Migrate off versioned javac and Error Prone targets
   + 1a57d29:
     Re-enabling passing -sourcepath via javacopts.
   + eb565f4:
     Make make sure that msys build actually builds msys version
   + 39f328c:
     Fix typo. Also do not override host_cpu for msvc.
   + 6248028:
     Select correct JDK for windows_msys
   + c4f271d:
     Automated g4 rollback of commit
     3e5edaf.
   + 9261809:
     Remove process-tools.cc which I forgot to delete during the last
     rollback.
   + baca6e4:
     Fix bazelbuild#2982: Bazel installer should not check for installed JDK if
     using a bundled JDK.
   + 866ecc8:
     Disable msys path conversion on Windows.
   + cc21998:
     Rollforward #2 of: Basic open-source crosstool to support
     targeting apple platform types.
   + 0f0ccc4:
     Escape % in strings that will appear in Crosstool
   + 3b08f77:
     Adding feature for linking C Run-Time library on Windows
   + 3566474:
     Do not use sed -E in bootstrap/compile.sh
   + c3cf7d9:
     Reverts non-xcode-available darwin crosstool generation.

Important changes:

  - Fixes regression in 0.5.0 requiring Xcode to build C++ on OSX.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 I'll work on this now. (Assignee required)
Projects
None yet
Development

No branches or pull requests

1 participant