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;