<commit_before># Dagger

[![Maven Central][mavenbadge-svg]][mavencentral]

A fast dependency injector for Java and Android.

Dagger is a compile-time framework for dependency injection. It uses no
reflection or runtime bytecode generation, does all its analysis at
compile-time, and generates plain Java source code.

Dagger is actively maintained by the same team that works on [Guava]. Snapshot
releases are auto-deployed to Sonatype's central Maven repository on every clean
build with the version `HEAD-SNAPSHOT`. The current version builds upon previous
work done at [Square][square].

## Documentation

You can [find the dagger documentation here][website] which has extended usage
instructions and other useful information. More detailed information can be
found in the [API documentation][latestapi].

You can also learn more from [the original proposal][proposal],
[this talk by <NAME>][gaktalk], and on the <EMAIL>
mailing list.

## Installation

### Bazel

First, import the Dagger repository into your `WORKSPACE` file using
[`http_archive`][bazel-external-deps].

Note: The `http_archive` must point to a tagged release of Dagger, not just any
commit. The version of the Dagger artifacts will match the version of the tagged
release.

```python
# Top-level WORKSPACE file

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

DAGGER_TAG = "2.40.4"
DAGGER_SHA = "b180a6ac1ecc24497848fff1a1886849e5c089da601955c34b9ffcfea7794616"
http_archive(
    name = "dagger",
    strip_prefix = "dagger-dagger-%s" % DAGGER_TAG,
    sha256 = DAGGER_SHA,
    urls = ["https://github.com/google/dagger/archive/dagger-%s.zip" % DAGGER_TAG],
)
```

Next you will need to setup targets that export the proper dependencies
and plugins. Follow the sections below to setup the dependencies you need.

#### Dagger Setup

First, load the Dagger artifacts and repositories, and add them to your list of
[`maven_install`] artifacts.

```python
# Top-level WORKSPACE file
<commit_msg>Update Dagger yml and README with new latest version number.<commit_after># Dagger

[![Maven Central][mavenbadge-svg]][mavencentral]

A fast dependency injector for Java and Android.

Dagger is a compile-time framework for dependency injection. It uses no
reflection or runtime bytecode generation, does all its analysis at
compile-time, and generates plain Java source code.

Dagger is actively maintained by the same team that works on [Guava]. Snapshot
releases are auto-deployed to Sonatype's central Maven repository on every clean
build with the version `HEAD-SNAPSHOT`. The current version builds upon previous
work done at [Square][square].

## Documentation

You can [find the dagger documentation here][website] which has extended usage
instructions and other useful information. More detailed information can be
found in the [API documentation][latestapi].

You can also learn more from [the original proposal][proposal],
[this talk by <NAME>][gaktalk], and on the <EMAIL>
mailing list.

## Installation

### Bazel

First, import the Dagger repository into your `WORKSPACE` file using
[`http_archive`][bazel-external-deps].

Note: The `http_archive` must point to a tagged release of Dagger, not just any
commit. The version of the Dagger artifacts will match the version of the tagged
release.

```python
# Top-level WORKSPACE file

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

DAGGER_TAG = "2.40.5"
DAGGER_SHA = "5a6923e56edbc1e34c8089ecab5338a1b8ddb79a3a54b6c86cdcf31212680d32"
http_archive(
    name = "dagger",
    strip_prefix = "dagger-dagger-%s" % DAGGER_TAG,
    sha256 = DAGGER_SHA,
    urls = ["https://github.com/google/dagger/archive/dagger-%s.zip" % DAGGER_TAG],
)
```

Next you will need to setup targets that export the proper dependencies
and plugins. Follow the sections below to setup the dependencies you need.

#### Dagger Setup

First, load the Dagger artifacts and repositories, and add them to your list of
[`maven_install`] artifacts.

```python
# Top-level WORKSPACE file

{'fraction_non_alphanumeric': 0.08331260880378015, 'fraction_numerical': 0.023128574981347922, 'mean_word_length': 5.066365007541478, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6658765', 'n_tokens_mistral': 1267, 'n_tokens_neox': 1186, 'n_words': 477}