<commit_before># Gradle App Engine plugin ![Google App Engine Logo](https://developers.google.com/cloud/images/appengine-icon-54x48.png)

The plugin provides tasks for uploading, downloading, running and managing [Google App Engine](http://code.google.com/appengine/)
(App Engine) projects in any given Gradle build.

## Usage

To use the App Engine plugin, include in your build script:

    apply plugin: 'appengine'

The plugin JAR needs to be defined in the classpath of your build script. It is directly available on
[Maven Central](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.google.appengine%22%20AND%20a%3A%22gradle-appengine-plugin%22).
Alternatively, you can download it from GitHub and deploy it to your local repository. The following code snippet shows an
example on how to retrieve it from Maven Central:

    buildscript {
        repositories {
            mavenCentral()
        }

        dependencies {
            classpath 'com.google.appengine:gradle-appengine-plugin:1.9.4'
        }
    }

*Note:* The plugin requires you to set the environment variable APPENGINE_HOME or the system property _appengine.sdk.root_
pointing to your current Google App Engine SDK installation. In case you have both variables set the system property takes
precedence over the environment variable. Alternatively, you can choose to automatically download the SDK by setting the
convention property `downloadSdk` to `true`. This option requires you to specify the SDK version you want to use by setting
the configuration `appengineSdk`.

    dependencies {
        appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.4'
    }

## Tasks

The App Engine plugin defines the following tasks:

* `appengineConfigureBackends`: Dynamically updates settings in `backends.xml` without having to stop the backend. The setting is defined by the project property `setting`.
* `appengineCronInfo`: Verifies and prints the scheduled task (cron) configuration.
* `appengineDeleteBackend`: Deletes the indicated backend. The backend is defined by the project property `backend`.
* `appengineDownloadApp`: Retrieves the most current version of your application.
* `appengineDownloadSdk`: Downloads and sets Google App Engine SDK.
* `appengineEndpointsGetClientLibs`: Download Endpoints client libraries. (this makes network calls)
* `appengineEndpointsGetDiscoveryDocs`: Download Endpoints discovery docs, you should run `appengineExplodeApp` with this to ensure the discovery docs are copied into the project after download. (this makes network calls)
* `appengineEndpointsInstallClientLibraries`: Install client libraries to the local maven repo.
* `appengineEndpointsExportClientLibraries`: Export client libraries to user-defined destination.
* `appengineEnhance`: Enhances DataNucleus classes by using byte-code manipulation to make your normal Java classes "persistable".<commit_msg>Add requirements description to enhance task<commit_after># Gradle App Engine plugin ![Google App Engine Logo](https://developers.google.com/cloud/images/appengine-icon-54x48.png)

The plugin provides tasks for uploading, downloading, running and managing [Google App Engine](http://code.google.com/appengine/)
(App Engine) projects in any given Gradle build.

## Usage

To use the App Engine plugin, include in your build script:

    apply plugin: 'appengine'

The plugin JAR needs to be defined in the classpath of your build script. It is directly available on
[Maven Central](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.google.appengine%22%20AND%20a%3A%22gradle-appengine-plugin%22).
Alternatively, you can download it from GitHub and deploy it to your local repository. The following code snippet shows an
example on how to retrieve it from Maven Central:

    buildscript {
        repositories {
            mavenCentral()
        }

        dependencies {
            classpath 'com.google.appengine:gradle-appengine-plugin:1.9.4'
        }
    }

*Note:* The plugin requires you to set the environment variable APPENGINE_HOME or the system property _appengine.sdk.root_
pointing to your current Google App Engine SDK installation. In case you have both variables set the system property takes
precedence over the environment variable. Alternatively, you can choose to automatically download the SDK by setting the
convention property `downloadSdk` to `true`. This option requires you to specify the SDK version you want to use by setting
the configuration `appengineSdk`.

    dependencies {
        appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.4'
    }

## Tasks

The App Engine plugin defines the following tasks:

* `appengineConfigureBackends`: Dynamically updates settings in `backends.xml` without having to stop the backend. The setting is defined by the project property `setting`.
* `appengineCronInfo`: Verifies and prints the scheduled task (cron) configuration.
* `appengineDeleteBackend`: Deletes the indicated backend. The backend is defined by the project property `backend`.
* `appengineDownloadApp`: Retrieves the most current version of your application.
* `appengineDownloadSdk`: Downloads and sets Google App Engine SDK.
* `appengineEndpointsGetClientLibs`: Download Endpoints client libraries. (this makes network calls)
* `appengineEndpointsGetDiscoveryDocs`: Download Endpoints discovery docs, you should run `appengineExplodeApp` with this to ensure the discovery docs are copied into the project after download. (this makes network calls)
* `appengineEndpointsInstallClientLibraries`: Install client libraries to the local maven repo.
* `appengineEndpointsExportClientLibraries`: Export client libraries to user-defined destination.
* `appengineEnhance`: Enhances DataNucleus classes by using byte-code manipulation to make your normal Java classes "persistable". This requires you to add the necessary enhancer jars as dependencies to your project.
{'fraction_non_alphanumeric': 0.06628242074927954, 'fraction_numerical': 0.009493134429564332, 'mean_word_length': 4.847373637264618, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1707475', 'n_tokens_mistral': 1579, 'n_tokens_neox': 1472, 'n_words': 652}