Robopupu Compiler

Typically developers dislike to use libraries that require them to write too much of boiler plate code. To reduce and minimise the amount of boiler plate code to be written for applications that use Robopupu APIs, these APIs make extensive use of  a set of annotation processorsRobopupu Compiler contains a number of annotation processors that generate code from the declarative annotations provided in the APIs. The usage of the annotations are discussed in detail for API:

For instance,  whereas awesome Dagger 2 dependency injection (DI) framework requires developers to write quite a lot of boiler plate code in form of Dagger component and module classes, Robopupu.Dependency API requires a developer to use just two annotations @Provides and @Scope and to write a simple, empty declarative class like this:


package com.robopupu.feature.about;
import com.robopupu.api.dependency.DependencyScope;
import com.robopupu.api.dependency.Scope;

@Scope
public class AboutFeatureScope extends DependencyScope {
}

And writing a such DependencyScope implementation a lazy developer like me, may use a simple live template that can be defined in Android Studio.

Github Repository

The open sourced source code for the Robopupu Compiler and the instructions for getting started with it can be found from Github : https://github.com/Fuusio/Robopupu-Compiler.