Skip to content

platan/idea-gradle-dependencies-formatter

Repository files navigation

Gradle dependencies formatter

Build Status Build Status (Windows) Coverage Status codebeat badge Version Downloads

IntelliJ IDEA plugin for formatting Gradle dependencies.

Features

  • Convert a string notation to a map notation
  • Convert a map notation to a string notation
  • Sort dependencies
  • Paste a Maven dependency as a Gradle dependency (on the fly conversion)

Installation

Install using the JetBrains Plugin Repository:
File > Settings > Plugins > Browse repositories... > type gradle dependencies formatter in search form > Install plugin

Usage

Convert between a string notation and a map notation

Use Show Intention Actions action (Alt + Enter or ⌥⏎) and choose Convert to map notation or Convert to string notation.

Convert a string notation to a map notation

Sort dependencies

In order to sort dependencies open a .gradle file and use Sort Gradle dependencies action from Code menu.

Sort dependencies

Paste a Maven dependency as a Gradle dependency

  1. Copy a declaration of a Maven dependency in any editor.
  2. Paste it into gradle file to dependencies section. Plugin will automatically convert it to a Gradle dependency.

Paste a Maven dependency as a Gradle dependency

Features:

  • converts Maven dependency with groupId (required), artifactId (required), version, classifier, optional and exclusions fields
  • handles scopes: compile, provided, runtime, test
  • optional dependencies are coded using syntax defined by Nebula Extra Configurations
  • can convert several dependencies at once

If you need to paste XML with maven dependency into gradle file without modification, please use Paste Simple action.

Note: In version 2016.3 IntelliJ IDEA added a similar feature. It converts a single maven dependency at once and handles only simple cases. This plugin overrides this built-in feature.

Development

Build:
./gradlew build

In order to run tests with specific IntelliJ IDEA version (e.g. 2016.3) use this command:
./gradlew -P ideaVersion=2016.3 test

Run IntelliJ IDEA with the plugin intalled in: ./gradlew runIde

This project uses gradle-intellij-plugin. Please refer to its documentation for information about a configuration.

Note: Currently the project is not prepared to be imported as a IntelliJ Platform Plugin.

Changelog

0.6.1 (2021-09-12)

  • (bugfix) fixed NPE in StringNotationToMapNotationIntention #76

0.6.0 (2021-02-12)

  • (feature) Sort dependencies in allprojects block and in subprojects block #39
  • (feature) Change notation type on multiple dependencies at once #38
  • (bugfix) Convert a map notation that uses a variable to a string notation properly #42

0.5.3 (2017-12-19)

  • (bugfix) Unable to paste multiple Maven dependencies at once #3

0.5.2 (2017-04-09)

  • (bugfix) fixed NPE in MapNotationToStringNotationIntention#getElementPredicate

0.5.1 (2017-02-12)

  • (improvement) Run MavenToGradleDependenciesCopyPasteProcessor before built-in CopyPasteProcessors

0.5.0 (2016-03-29)

  • (feature) Sort dependencies

0.4.0 (2015-10-20)

  • (feature) Convert a map notation to a string notation
  • (bugfix) Convert string notation of a dependency with ext to a map notation

0.3.0 (2015-09-22)

  • Convert a string notation to a map notation

0.2.0 (2015-09-08)

  • Paste a Maven dependency as a Gradle dependency:
    • added support for elements classifier and optional
    • version is skipped for dependency without version

0.1.0 - initial release (2015-09-02)

  • Paste a Maven dependency as a Gradle dependency

License

This project is licensed under the MIT license.