Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOCS: 4.x Pico doc introductions #6572

Closed
wants to merge 8 commits into from
Closed

Conversation

ljamen
Copy link
Contributor

@ljamen ljamen commented Apr 6, 2023

WIP - need to create PR to stash changes for now.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Apr 6, 2023
@ljamen ljamen requested a review from trentjeff April 28, 2023 15:06
@ljamen ljamen added the docs label Apr 28, 2023
@ljamen
Copy link
Contributor Author

ljamen commented Apr 28, 2023

@trentjeff Hi Jeff - leaving this as a draft PR until we have a chance to go through the basics and then we need to rename the Nima directory to SE (and remove the existing SE directory). Holding off on doing that while we are working on the other docs.

@ljamen ljamen added this to the 4.0.0-M1 milestone Apr 28, 2023
docs/nima/builder.adoc Outdated Show resolved Hide resolved
docs/nima/builder.adoc Show resolved Hide resolved
docs/nima/builder.adoc Show resolved Hide resolved
docs/nima/builder.adoc Show resolved Hide resolved
docs/nima/builder.adoc Show resolved Hide resolved
@@ -101,16 +175,26 @@ The Pico API provides types that are generally useful at compile time to assign

== Configuration

Pico Config builder
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pico Configuration should be instead referred to as "Pico Config-Driven Services"

@@ -101,16 +175,26 @@ The Pico API provides types that are generally useful at compile time to assign

== Configuration

Pico Config builder
Configuration can be achieved through a Pico add-on that is based on Helidon's configuration subsystem, and adds support for something called _config-driven services_ using the `@ConfiguredBy` annotation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not really "Configuration can be achieved".

Config-driven services is more about the second part of the sentence - where the presence of configuration in the Helidon Config subsystem will be injected directly into a service declared to be configured by that configuration type.


//optional
* `@ConfigBean Builder` is used to aggregate configuration attributes to this higher-level, application-centric configuration beans.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right, this refers us back to the ConfigBean builder section - ideally with a link.


== Additional Information
* The Pico Framework needs to be started with the supporting configdriven modules in order for configuration to drive service activation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

config-driven





== Examples
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When config-driven is used, then a different annotation processor should be used.

The basic pico service APT processor should use this one:

<build>
   <plugins>
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>3.10.1</version>
           <configuration>
               <annotationProcessorPaths>
                   <path>
                       <groupId>io.helidon.pico</groupId>
                       <artifactId>helidon-pico-processor</artifactId>
                       <version>${helidon.version}</version>
                   </path>
               </annotationProcessorPaths>
           </configuration>
       </plugin>
   </plugins>
</build>

whereas the Config-Driven one should use this (this one also covers the basic scenarios as well so you don't need both):

<build>
   <plugins>
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>3.10.1</version>
           <configuration>
               <annotationProcessorPaths>
                   <path>
                       <groupId>io.helidon.pico.configdriven</groupId>
                       <artifactId>helidon-pico-configdriven-processor</artifactId>
                       <version>${helidon.version}</version>
                   </path>
               </annotationProcessorPaths>
           </configuration>
       </plugin>
   </plugins>
</build>

@ljamen ljamen marked this pull request as ready for review July 6, 2023 12:10
@ljamen ljamen modified the milestones: 4.0.0-M1, 4.0.0-M2 Jul 13, 2023
@barchetta barchetta modified the milestones: 4.0.0-M2, 4.x Sep 5, 2023
@ljamen ljamen removed this from the 4.x milestone Oct 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants