/smogen

SMOG matcher code generation plugin for IntelliJ IDEA

Primary LanguageKotlinBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

SMOG Matcher Generator

Build Version Downloads

Generates a companion matcher class for a selected Java class based on the SMOG library extension to Hamcrest.

The SMOG library supports property matching on object graphs. For more details, see the project page at GitHub

This plugin is also hosted at GitHub

Usage

This plugin adds a Generate Matcher menu option to the Code menu in IntelliJ IDEA.

It generates matcher classes that can be used as Hamcrest matchers.

The generated class has a dependency on the supporting SMOG library, hosted at https://github.com/mistraltechnologies/smog and available from Maven Central.

The menu option is enabled when a Java class is selected.

After selecting the menu option, a dialog is provided to specify parameters relating to how the new matcher will be generated.

Confirming the dialog causes the new class to be generated. If the class already exists, you are given the option to overwrite the existing class or abort.

Installation

  • Using IDE built-in plugin system:

    Preferences > Plugins > Marketplace > Search for "smogen" > Install Plugin

  • Manually:

    Download the latest release and install it manually using Preferences > Plugins > ⚙️ > Install plugin from disk...

Template ToDo list

Release Publishing

export PUBLISH_TOKEN=<jetbrains token>

./gradlew publishPlugin


Plugin based on the IntelliJ Platform Plugin Template.