Declares a
Codegen module, all the processed elements contained in the annotated package
or one of its child package will be part of the same module. The identity of the module plays an
important role as it can be used by a runtime to load a module.
The
name()
declares the name of the module: a non hierarchical name. Such name is used by
the JavaScript or Ruby language to generate modules for their runtime. The Java or Groovy runtime do
not use this info.
The
groupPackage()
declares the group name of the module: the package of the group used
for generating the generated package names (for
Groovy or
RxJava generation).
@ModuleGen(name = "acme", groupPackage="com.acme")
package com.acme.myservice;
The group package must be a prefix of the annotated module package, it defines the naming of the generate
packages for the modules that belongs to the same group, in this case:
com.acme.groovy...
for Groovy API
com.acme.rxjava...
for RxJava API
For this particular `com.acme.myservice` module we have:
com.acme.groovy.myservice
for Groovy API
com.acme.rxjava.myservice
for RxJava API