---
title: 'java'
---

A java compiler configuration.

## Members

* [bytecode\_optimization\_pass\_actions](#bytecode_optimization_pass_actions)
* [bytecode\_optimizer\_mnemonic](#bytecode_optimizer_mnemonic)
* [default\_javac\_flags](#default_javac_flags)
* [default\_javac\_flags\_depset](#default_javac_flags_depset)
* [default\_jvm\_opts](#default_jvm_opts)
* [disallow\_java\_import\_empty\_jars](#disallow_java_import_empty_jars)
* [disallow\_java\_import\_exports](#disallow_java_import_exports)
* [multi\_release\_deploy\_jars](#multi_release_deploy_jars)
* [one\_version\_enforcement\_level](#one_version_enforcement_level)
* [plugins](#plugins)
* [run\_android\_lint](#run_android_lint)
* [split\_bytecode\_optimization\_pass](#split_bytecode_optimization_pass)
* [strict\_java\_deps](#strict_java_deps)
* [use\_header\_compilation\_direct\_deps](#use_header_compilation_direct_deps)
* [use\_ijars](#use_ijars)

## bytecode\_optimization\_pass\_actions

```
int java.bytecode_optimization_pass_actions
```

This specifies the number of actions to divide the OPTIMIZATION stage of the bytecode optimizer into. Note that if split\_bytecode\_optimization\_pass is set, this will only change behavior if it is > 2.

## bytecode\_optimizer\_mnemonic

```
string java.bytecode_optimizer_mnemonic
```

The mnemonic for the bytecode optimizer.

## default\_javac\_flags

```
list java.default_javac_flags
```

The default flags for the Java compiler.

## default\_javac\_flags\_depset

```
depset java.default_javac_flags_depset
```

The default flags for the Java compiler.

## default\_jvm\_opts

```
list java.default_jvm_opts
```

Additional options to pass to the Java VM for each java\_binary target

## disallow\_java\_import\_empty\_jars

```
bool java.disallow_java_import_empty_jars()
```

Returns true if empty java\_import jars are not allowed.

## disallow\_java\_import\_exports

```
bool java.disallow_java_import_exports()
```

Returns true if java\_import exports are not allowed.

## multi\_release\_deploy\_jars

```
bool java.multi_release_deploy_jars
```

The value of the --incompatible\_multi\_release\_deploy\_jars flag.

## one\_version\_enforcement\_level

```
string java.one_version_enforcement_level
```

The value of the --experimental\_one\_version\_enforcement flag.

## plugins

```
list java.plugins
```

A list containing the labels provided with --plugins, if any.

## run\_android\_lint

```
bool java.run_android_lint
```

The value of the --experimental\_run\_android\_lint\_on\_java\_rules flag.

## split\_bytecode\_optimization\_pass

```
bool java.split_bytecode_optimization_pass
```

Returns whether the OPTIMIZATION stage of the bytecode optimizer will be split across two actions.

## strict\_java\_deps

```
string java.strict_java_deps
```

The value of the strict\_java\_deps flag.

## use\_header\_compilation\_direct\_deps

```
bool java.use_header_compilation_direct_deps()
```

Returns true if Java header compilation should use separate outputs for direct deps.

## use\_ijars

```
bool java.use_ijars()
```

Returns true iff Java compilation should use ijars.