Skip to content

Releases: skuzzle/restrict-imports-enforcer-rule

v2.5.0

25 Jan 08:14
Compare
Choose a tag to compare

Maven Central Gradle Plugin Portal

Note

This is the first release after migrating our build to Gradle and which uses shaded dependencies.
If you encounter any irregularities with this version, please do not hesitate to file an issue.

Features

  • #38 Dependencies are shaded into plugin artifacts
  • #59 Provide a Gradle plugin
  • #113 Print absolute paths in exception messages to make IntelliJ render clickable links

maven

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.5.0</version>
</dependency>

Gradle plugin DSL

plugins {
  id("de.skuzzle.restrict.imports") version "2.5.0"
}

Gradle Legacy

buildscript {
  repositories {
    maven {
      url = uri("https://plugins.gradle.org/m2/")
    }
  }
  dependencies {
    classpath("de.skuzzle.enforcer:restrict-imports-gradle-plugin:2.5.0")
  }
}

apply(plugin = "de.skuzzle.restrict.imports")

Gradle version catalog (Toml)

[plugins]
restrictImports = { id = "de.skuzzle.restrict.imports", version = "2.5.0" }

v2.5.0-rc-2

22 Jan 16:09
Compare
Choose a tag to compare
v2.5.0-rc-2 Pre-release
Pre-release

Maven Central

Note

This is the first release after migrating our build to Gradle and which uses shaded dependencies.
If you encounter any irregularities with this version, please do not hesitate to file an issue.

Features

  • #38 Dependencies are shaded into plugin artifacts
  • #59 Provide a Gradle plugin
  • #118 Print absolute paths in exception messages to make IntelliJ render clickable links

Maven Central coordinates for this release:

maven

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.5.0-rc-2</version>
</dependency>

Gradle plugin DSL

plugins {
  id("de.skuzzle.restrict.imports") version "2.5.0-rc-2"
}

Gradle Legacy

buildscript {
  repositories {
    maven {
      url = uri("https://plugins.gradle.org/m2/")
    }
  }
  dependencies {
    classpath("de.skuzzle.enforcer:restrict-imports-gradle-plugin:2.5.0-rc-2")
  }
}

apply(plugin = "de.skuzzle.restrict.imports")

Gradle version catalog (Toml)

[plugins]
restrict-imports = { id = "de.skuzzle.restrict.imports", version = "2.5.0-rc-2" }

v2.5.0-rc-1

19 Jan 16:53
Compare
Choose a tag to compare
v2.5.0-rc-1 Pre-release
Pre-release

Maven Central

Features

  • #59 Provide a Gradle plugin

Maven Central coordinates for this release:

maven

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.5.0-rc-1</version>
</dependency>

Gradle plugin DSL

plugins {
  id("de.skuzzle.restrict.imports") version "2.5.0-rc-1"
}

Gradle Legacy

buildscript {
  repositories {
    maven {
      url = uri("https://plugins.gradle.org/m2/")
    }
  }
  dependencies {
    classpath("de.skuzzle.enforcer:restrict-imports-gradle-plugin:2.5.0-rc-1")
  }
}

apply(plugin = "de.skuzzle.restrict.imports")

Gradle version catalog (Toml)

[plugins]
restrict-imports = { id = "de.skuzzle.restrict.imports", version = "2.5.0-rc-1" }

2.4.0

18 Jul 08:52
Compare
Choose a tag to compare

Maven Central

Bug fixes

  • #55 Make parallel analysis the default
  • #63 Support for ignoring classes that cannot be fixed

Maven Central coordinates for this release:

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.4.0</version>
</dependency>

2.4.0-rc1

12 Jul 11:18
Compare
Choose a tag to compare

Maven Central JavaDoc

Bug fixes

  • #55 Make parallel analysis the default
  • #63 Support for ignoring classes that cannot be fixed

Maven Central coordinates for this release:

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.4.0-rc1</version>
</dependency>

2.3.1

01 Jun 09:25
Compare
Choose a tag to compare

Maven Central JavaDoc

Bug fixes

  • #79 Recognize full qualified annotation use

Maven Central coordinates for this release:

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.3.1</version>
</dependency>

2.3.0

31 May 07:10
Compare
Choose a tag to compare

Maven Central JavaDoc

Bug fixes

  • #73 Classloader issues while locating LanguageSupport instances
  • #76 ** wildcard must match at least a single package part

Misc

  • Updated various dependencies

Maven Central coordinates for this release:

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.3.0</version>
</dependency>

2.2.0

20 Apr 12:47
Compare
Choose a tag to compare

Maven Central JavaDoc

Features

  • #60 Fall back to line-by-line parsing if full-compilation-unit parsing failed.

Maven Central coordinates for this release:

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.2.0</version>
</dependency>

2.1.0

09 Jan 14:11
Compare
Choose a tag to compare

Maven Central JavaDoc

Features

  • #57 Detect full qualified class usages (must be enabled via <parseFullCompilationUnit>true</parseFullCompilationUnit>)

Maven Central coordinates for this release:

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.1.0</version>
</dependency>

2.0.0

02 Dec 08:53
Compare
Choose a tag to compare

Maven Central JavaDoc

This is a new major release. Upgrading the version might break your build if you don't adjust your configuration
according to the changes mentioned below. Please carefully read the changes section when you are upgrading from 1.x.y.

Changes

(Note: Review carefully, as those might break your existing build when updating from version 1.x.y)

  • #28 Test code is always analyzed unless <includeTestCode> option is configured false.
  • #49 Simplify and formalize "pattern specificity".
  • #53 Package patterns now implicitly match static imports.
  • Declaration variant no longer supported: <restrictImports implementation="de.skuzzle.enforcer.restrictimports.RestrictImports"> (deprecated since 0.12.0).
  • Declaration variant no longer supported: <restrictImports implementation="de.skuzzle.enforcer.restrictimports.rule.RestrictImports"> (deprecated since 1.4.0).

Features

  • #50 Introduce -Drestrictimports.skip and -Drestrictimports.failBuild command line options.
  • Added <parallel> (-Drestrictimports.parallel) option to run the whole analysis in parallel (Experimental feature, feedback welcome).
  • Improve formatting of the analysis result.

Bug fixes

  • #52 Whitespaces in plugin configuration and source files are handled more gracefully.

Maven Central coordinates for this release:

<dependency>
    <groupId>de.skuzzle.enforcer</groupId>
    <artifactId>restrict-imports-enforcer-rule</artifactId>
    <version>2.0.0</version>
</dependency>