Releases: joomcode/lightsaber
Releases · joomcode/lightsaber
1.0.0-alpha23
This release introduces Android Gradle Plugin 8.x.x support
1.0.0-alpha22
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 rootgradle.properties
file - For a particular Gradle module by putting the following code to a corresponding
build.gradle
filelightsaber { validateUnusedImports = false }
1.0.0-alpha21
- This release fixes bytecode generation for a newly introduced
@Factory
inheritance support.
1.0.0-alpha20
- It's now possible for
@Factory
interfaces to extend other interfaces
1.0.0-alpha19
- Auto instantiation of lazy imported contracts if they provide eager dependencies
1.0.0-alpha18
LightsaberTransformTask
clears output directory before starting processor
1.0.0-alpha17
ProcessingException
now includes all error messages during the build- Basic wildcard generics support
1.0.0-alpha16
- 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
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
orContractConfiguration
) that belong to currentinputs
. - Lightsaber verifies that
@ProvidedBy
annotation actually specifies a container, rather than an arbitrary class. - Lightsaber analyses separate
@Module
s just like other containers. This way Lightsaber will account for@Module
s that are not imported by any@Component
orContractConfiguration
. - Lightsaber no longer generates providers, factories and contracts for entities that do not belong to current
inputs
.
1.0.0-alpha14
- Lightsaber now supports deferred instantiation of imported contracts via
kotlin.Lazy
orcom.joom.lightsaber.Lazy
wrapping