Skip to content

Releases: joomcode/lightsaber

1.0.0-alpha23

03 Oct 10:50
Compare
Choose a tag to compare

This release introduces Android Gradle Plugin 8.x.x support

1.0.0-alpha22

14 Apr 21:44
Compare
Choose a tag to compare

This release introduces a new compile time validation that helps to detect unused @Contract and @Module imports. The validation is enabled by default and can be disabled in a two different ways:

  • For the entire project by putting lightsaber.validate.unused.imports=false to a root gradle.properties file
  • For a particular Gradle module by putting the following code to a corresponding build.gradle file
    lightsaber {
      validateUnusedImports = false
    }

1.0.0-alpha21

13 Apr 15:43
Compare
Choose a tag to compare
  • This release fixes bytecode generation for a newly introduced @Factory inheritance support.

1.0.0-alpha20

13 Apr 11:08
Compare
Choose a tag to compare
  • It's now possible for @Factory interfaces to extend other interfaces

1.0.0-alpha19

08 Nov 17:51
Compare
Choose a tag to compare
  • Auto instantiation of lazy imported contracts if they provide eager dependencies

1.0.0-alpha18

05 Sep 16:07
Compare
Choose a tag to compare
  • LightsaberTransformTask clears output directory before starting processor

1.0.0-alpha17

23 Aug 16:05
Compare
Choose a tag to compare
  • ProcessingException now includes all error messages during the build
  • Basic wildcard generics support

1.0.0-alpha16

18 Aug 11:59
Compare
Choose a tag to compare
  • Fixed Gradle configuration cache support.
  • Improved memory consumption by using shared Grip cache backed by Gradle Build Service.
  • Improved analysis performance for multi-project Gradle builds.

1.0.0-alpha15

28 Jul 14:28
Compare
Choose a tag to compare

This release brings support for new Android Gradle Plugin Variant API for bytecode transformation, instead of deprecated Transform API and fixes several issues for multi-module usage:

  • Lightsaber checks that @ImportedBy and @ProvidedBy annotations specify containers (Module, Component or ContractConfiguration) that belong to current inputs.
  • Lightsaber verifies that @ProvidedBy annotation actually specifies a container, rather than an arbitrary class.
  • Lightsaber analyses separate @Modules just like other containers. This way Lightsaber will account for @Modules that are not imported by any @Component or ContractConfiguration.
  • Lightsaber no longer generates providers, factories and contracts for entities that do not belong to current inputs.

1.0.0-alpha14

15 Jul 19:19
Compare
Choose a tag to compare
  • Lightsaber now supports deferred instantiation of imported contracts via kotlin.Lazy or com.joom.lightsaber.Lazy wrapping