<commit_before># BeanShell - Simple Java Scripting
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
[![Build Status](https://travis-ci.org/beanshell/beanshell.svg?branch=merge-fork-beanshell2)](https://travis-ci.org/beanshell/beanshell) [![codecov](https://codecov.io/gh/beanshell/beanshell/branch/merge-fork-beanshell2/graph/badge.svg)](https://codecov.io/gh/beanshell/beanshell)
[![coverity](https://scan.coverity.com/projects/16379/badge.svg)](https://scan.coverity.com/projects/beanshell-beanshell)

## Introduction

BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript.

You can use BeanShell interactively for Java experimentation and debugging as well as to extend your applications in new ways. Scripting Java lends itself to a wide variety of applications including rapid prototyping, user scripting extension, rules engines, configuration, testing, dynamic deployment, embedded systems, and even Java education.

BeanShell is small and embeddable, so you can call BeanShell from your Java applications to execute Java code dynamically at run-time or to provide extensibility in your applications. Alternatively, you can use standalone BeanShell scripts to manipulate Java applications; working with Java objects and APIs dynamically. Since BeanShell is written in Java and runs in the same VM as your application, you can freely pass references to "live" objects into scripts and return them as results.

## License

Starting with version 2.0b5, BeanShell is licensed under the
[Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0). See [LICENSE](LICENSE) for details, and the [NOTICE](NOTICE) file for required attributions.

## Download

### Source code

The currently active development snapshot branch is merge-fork-beanshell2, project default branch. To build, pull the project and run the maven command.

```shell
$ mvn install
```

Requires as a minimum JDK 8 but will build with Java 9 and Java 10 as well.

The source code releases can be downloaded from [GitHub releases](https://github.com/beanshell/beanshell/releases)
or [Bintray](https://bintray.com/beanshell/Beanshell/bsh/view).

Latest release: (it is highly recommended to rather use the development snapshot)

 - [BeanShell 2.0b6](https://github.com/beanshell/beanshell/releases/tag/2.0b6) - [bsh-2.0b6-src.zip](http://dl.bintray.com/beanshell/Beanshell/org/apache-extras/beanshell/bsh/2.0b6/bsh-2.0b6-src.zip)


### Maven

Beanshell releases are published to [Maven Central](http://central.maven.org/maven2/org/apache-extras/beanshell/bsh/). To use Beanshell with Maven, add to to your `pom.xml`:

```xml
    <dependencies>
       <dependency>
         <groupId>org.apache-extras.beanshell</groupId>
         <artifactId>bsh</artifactId>
         <version>2.0b6</version>
       </dependency>
    </dependencies>
```

Alternatively you can use
[our BinTray Maven repository](http://dl.bintray.com/beanshell/Beanshell) or
[JCenter](http://jcenter.bintray.com/org/apache-extras/beanshell/bsh/2.0b6/):

```xml
<!-- just beanshell --><commit_msg>fix README typo<commit_after># BeanShell - Simple Java Scripting
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
[![Build Status](https://travis-ci.org/beanshell/beanshell.svg?branch=merge-fork-beanshell2)](https://travis-ci.org/beanshell/beanshell) [![codecov](https://codecov.io/gh/beanshell/beanshell/branch/merge-fork-beanshell2/graph/badge.svg)](https://codecov.io/gh/beanshell/beanshell)
[![coverity](https://scan.coverity.com/projects/16379/badge.svg)](https://scan.coverity.com/projects/beanshell-beanshell)

## Introduction

BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. BeanShell dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures like those in Perl and JavaScript.

You can use BeanShell interactively for Java experimentation and debugging as well as to extend your applications in new ways. Scripting Java lends itself to a wide variety of applications including rapid prototyping, user scripting extension, rules engines, configuration, testing, dynamic deployment, embedded systems, and even Java education.

BeanShell is small and embeddable, so you can call BeanShell from your Java applications to execute Java code dynamically at run-time or to provide extensibility in your applications. Alternatively, you can use standalone BeanShell scripts to manipulate Java applications; working with Java objects and APIs dynamically. Since BeanShell is written in Java and runs in the same VM as your application, you can freely pass references to "live" objects into scripts and return them as results.

## License

Starting with version 2.0b5, BeanShell is licensed under the
[Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0). See [LICENSE](LICENSE) for details, and the [NOTICE](NOTICE) file for required attributions.

## Download

### Source code

The currently active development snapshot branch is merge-fork-beanshell2, project default branch. To build, pull the project and run the maven command.

```shell
$ mvn install
```

Requires as a minimum JDK 8 but will build with Java 9 and Java 10 as well.

The source code releases can be downloaded from [GitHub releases](https://github.com/beanshell/beanshell/releases)
or [Bintray](https://bintray.com/beanshell/Beanshell/bsh/view).

Latest release: (it is highly recommended to rather use the development snapshot)

 - [BeanShell 2.0b6](https://github.com/beanshell/beanshell/releases/tag/2.0b6) - [bsh-2.0b6-src.zip](http://dl.bintray.com/beanshell/Beanshell/org/apache-extras/beanshell/bsh/2.0b6/bsh-2.0b6-src.zip)


### Maven

Beanshell releases are published to [Maven Central](http://central.maven.org/maven2/org/apache-extras/beanshell/bsh/). To use Beanshell with Maven, add this to your `pom.xml`:

```xml
    <dependencies>
       <dependency>
         <groupId>org.apache-extras.beanshell</groupId>
         <artifactId>bsh</artifactId>
         <version>2.0b6</version>
       </dependency>
    </dependencies>
```

Alternatively you can use
[our BinTray Maven repository](http://dl.bintray.com/beanshell/Beanshell) or
[JCenter](http://jcenter.bintray.com/org/apache-extras/beanshell/bsh/2.0b6/):

```xml
<!-- just beanshell -->
{'fraction_non_alphanumeric': 0.10714285714285714, 'fraction_numerical': 0.013505402160864346, 'mean_word_length': 4.800696257615318, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 20, 'lorem ipsum': 0, 'www.': 2, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '842453', 'n_tokens_mistral': 2039, 'n_tokens_neox': 1896, 'n_words': 630}