diff --git a/picocli-codegen/src/main/java/picocli/codegen/annotation/processing/package-info.java b/picocli-codegen/src/main/java/picocli/codegen/annotation/processing/package-info.java new file mode 100644 index 000000000..b615806d6 --- /dev/null +++ b/picocli-codegen/src/main/java/picocli/codegen/annotation/processing/package-info.java @@ -0,0 +1,4 @@ +/** + * Provides classes and interfaces that form a framework for creating picocli annotation processors. + */ +package picocli.codegen.annotation.processing; diff --git a/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/package-info.java b/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/package-info.java new file mode 100644 index 000000000..5ce9439b2 --- /dev/null +++ b/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/package-info.java @@ -0,0 +1,4 @@ +/** + * Provides tools for generating GraalVM configuration files from a picocli CommandSpec model. + */ +package picocli.codegen.aot.graalvm; diff --git a/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/processor/package-info.java b/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/processor/package-info.java new file mode 100644 index 000000000..385b01088 --- /dev/null +++ b/picocli-codegen/src/main/java/picocli/codegen/aot/graalvm/processor/package-info.java @@ -0,0 +1,4 @@ +/** + * Provides an annotation processor that generates GraalVM configuration files based on a picocli CommandSpec model. + */ +package picocli.codegen.aot.graalvm.processor; diff --git a/picocli-codegen/src/main/java/picocli/codegen/docgen/manpage/package-info.java b/picocli-codegen/src/main/java/picocli/codegen/docgen/manpage/package-info.java new file mode 100644 index 000000000..d3c9e4050 --- /dev/null +++ b/picocli-codegen/src/main/java/picocli/codegen/docgen/manpage/package-info.java @@ -0,0 +1,5 @@ +/** + * Provides tools for generating man-page documentation in AsciiDoc format from a picocli CommandSpec model. + * These AsciiDoc files are in a special format that can be converted to HTML, PDF and Unix Man pages. + */ +package picocli.codegen.docgen.manpage; diff --git a/picocli-codegen/src/main/java/picocli/codegen/util/package-info.java b/picocli-codegen/src/main/java/picocli/codegen/util/package-info.java new file mode 100644 index 000000000..e2accf9e5 --- /dev/null +++ b/picocli-codegen/src/main/java/picocli/codegen/util/package-info.java @@ -0,0 +1,4 @@ +/** + * Provides utility classes for internal use in the picocli-codegen module. + */ +package picocli.codegen.util; diff --git a/picocli-groovy/src/main/java/picocli/groovy/package-info.java b/picocli-groovy/src/main/java/picocli/groovy/package-info.java index 41ad0225b..848b3aeba 100644 --- a/picocli-groovy/src/main/java/picocli/groovy/package-info.java +++ b/picocli-groovy/src/main/java/picocli/groovy/package-info.java @@ -1,4 +1,4 @@ /** - * Provides classes and annotations to give Groovy scripts convenient access to picocli functionality. + * Provides classes and interfaces for integrating picocli with Groovy. */ package picocli.groovy; diff --git a/picocli-shell-jline2/src/main/java/picocli/shell/jline2/package-info.java b/picocli-shell-jline2/src/main/java/picocli/shell/jline2/package-info.java new file mode 100644 index 000000000..bfbcadbe0 --- /dev/null +++ b/picocli-shell-jline2/src/main/java/picocli/shell/jline2/package-info.java @@ -0,0 +1,4 @@ +/** + * Provides classes and interfaces for integrating picocli with JLine 2. + */ +package picocli.shell.jline2; diff --git a/picocli-shell-jline3/src/main/java/picocli/shell/jline3/package-info.java b/picocli-shell-jline3/src/main/java/picocli/shell/jline3/package-info.java new file mode 100644 index 000000000..d29344033 --- /dev/null +++ b/picocli-shell-jline3/src/main/java/picocli/shell/jline3/package-info.java @@ -0,0 +1,4 @@ +/** + * Provides classes and interfaces for integrating picocli with JLine 3. + */ +package picocli.shell.jline3; diff --git a/picocli-spring-boot-starter/src/main/java/picocli/spring/boot/autoconfigure/package-info.java b/picocli-spring-boot-starter/src/main/java/picocli/spring/boot/autoconfigure/package-info.java new file mode 100644 index 000000000..b652320c3 --- /dev/null +++ b/picocli-spring-boot-starter/src/main/java/picocli/spring/boot/autoconfigure/package-info.java @@ -0,0 +1,42 @@ +/** + * Provides classes and interfaces for picocli Spring Boot Auto-configuration. + *
+ * The existence of this class allows Spring to auto-configure any fields of + * type {@code picocli.CommandLine.IFactory} in a {@code @org.springframework.stereotype.Component}-annotated class. + * See the example below. + *
+ *+ * import picocli.CommandLine; + * import picocli.CommandLine.IFactory; + * + * import org.springframework.boot.CommandLineRunner; + * import org.springframework.boot.ExitCodeGenerator; + * import org.springframework.stereotype.Component; + * + * @Component + * public class MyApplicationRunner implements CommandLineRunner, ExitCodeGenerator { + * + * private final MyCommand myCommand; + * + * private final IFactory factory; // auto-configured to inject PicocliSpringFactory + * + * private int exitCode; + * + * public MyApplicationRunner(MyCommand myCommand, IFactory factory) { + * this.myCommand = myCommand; + * this.factory = factory; + * } + * + * @Override + * public void run(String... args) throws Exception { + * exitCode = new CommandLine(myCommand, factory).execute(args); + * } + * + * @Override + * public int getExitCode() { + * return exitCode; + * } + * } + *+ */ +package picocli.spring.boot.autoconfigure; diff --git a/picocli-spring-boot-starter/src/main/java/picocli/spring/package-info.java b/picocli-spring-boot-starter/src/main/java/picocli/spring/package-info.java new file mode 100644 index 000000000..26bc8cb10 --- /dev/null +++ b/picocli-spring-boot-starter/src/main/java/picocli/spring/package-info.java @@ -0,0 +1,14 @@ +/** + * Provides classes and interfaces for integrating picocli with Spring Boot. + *
+ * Picocli instantiates objects at initialization time, using a {@link picocli.CommandLine.IFactory}. + * This package provides a factory implementation that looks up objects in Spring's ApplicationContext. + * When picocli uses this factory to instantiate subcommands, type converters, and other + * picocli components, this factory will use Spring's ApplicationContext + * to instantiate classes that are annotated with + * {@code @org.springframework.stereotype.Component}. + * This ensures that {@code @javax.inject.Inject} or {@code @Autowired}-annotated + * beans in those picocli components are injected by Spring. + *
+ */ +package picocli.spring;