@Target(value=METHOD)
@Retention(value=RUNTIME)
public @interface FlamingockCliBuilder
The annotated method must:
String[] args parameterExample without arguments:
@FlamingockCliBuilder
public static AbstractChangeRunnerBuilder flamingockBuilder() {
return Flamingock.builder()
.setAuditStore(auditStore)
.addTargetSystem(targetSystem);
}
Example with arguments (for configuration based on CLI args):
@FlamingockCliBuilder
public static AbstractChangeRunnerBuilder flamingockBuilder(String[] args) {
// args can be used during builder configuration
return Flamingock.builder()
.setAuditStore(auditStore)
.addTargetSystem(targetSystem);
}
The CLI will invoke this method to get the builder, add CLI arguments
via setApplicationArguments(args), build, and run the Flamingock pipeline.
Note: When using the String[] args parameter, you can access
the arguments during builder creation. The CLI will still call
setApplicationArguments(args) after your method returns, ensuring
Flamingock's internal argument parsing always occurs.