Giter VIP home page Giter VIP logo

idea-gradle-dependencies-formatter's Introduction

Gradle dependencies formatter

Build Status Build Status (Windows) Coverage Status Codacy Badge 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.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.

idea-gradle-dependencies-formatter's People

Contributors

platan avatar dependabot-preview[bot] avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.