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

4.x: Inject update - collateral #8281

Merged
merged 2 commits into from
Jan 25, 2024

Conversation

tomas-langer
Copy link
Member

@tomas-langer tomas-langer commented Jan 23, 2024

Related to #7957

Changes

  • Modularization of the processors, now using a single annotation processor that uses "extensions" instead of multiple distinct processors
  • Re-implementation of processors for builder and helidon-copyright as "extensions"
  • Remove usages of io.helidon.config:helidon-config-metadata
    • Fix usages of @io.helidon.config.metadata.Configured and @io.helidon.config.metadata.ConfiguredOption
      • Enforce usages of @io.helidon.builder.api.Option.Configured and @io.helidon.builder.api.Option.Default*
      • Enforce usages of @io.helidon.builder.api.Prototype.Configured and @io.helidon.builder.api.Prototype.Provides
  • Fix some javadoc warnings
  • Update checkstyle plugin to 3.3.1 and checkstyle lib to 10.12.5

Deprecations

Mark modules as deprecated since 4.1.0 and to be removed in 5.0.0.

  • builder/processor (only described in builder/processor/pom.xml)
  • common/processor/processor
  • common/processor/helidon-copyright
  • common/processor/class-model

New modules

  • builder/codegen: formerly builder/processor implemented as a "processor extension"
  • codegen/helidon-copyright: formerly common/processor/helidon-copyright implemented as a "processor extension"
  • codegen/compiler: wrapper around javax.tools.JavaCompiler
  • codegen/codegen: code generator API
  • codegen/class-model: formerly common/processor/class-model
  • codegen/apt: one and only annotation processor
  • codegen/scan: isolates classgraph usage (3rd party) (dependency tree improvement)

@tomas-langer tomas-langer added 4.x Version 4.x declarative Helidon Declarative builder Related to the builder support labels Jan 23, 2024
@tomas-langer tomas-langer self-assigned this Jan 23, 2024
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Jan 23, 2024
@tomas-langer tomas-langer force-pushed the 7957-inject-collateral-3 branch from 5cef857 to 1d761e0 Compare January 23, 2024 19:47
Copy link
Contributor

@romain-grecourt romain-grecourt left a comment

Choose a reason for hiding this comment

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

Minors comments:

Some files only have copyright changes:

  • inject/configdriven/runtime/src/main/java/io/helidon/inject/configdriven/runtime/package-info.java
  • inject/configdriven/processor/src/main/java/module-info.java
  • inject/api/src/main/java/io/helidon/inject/spi/package-info.java

The deprecation for builder/processor is only described in builder/processor/pom.xml

@tomas-langer
Copy link
Member Author

Some of the files were touched due to git operation (it thought something was a move even if it was not). As a result, those files have activity reported in git, so they must have updated copyright.

Refactoring of modules to use new builder codegen (remove use of config metadata for builders)

Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
@tomas-langer tomas-langer force-pushed the 7957-inject-collateral-3 branch from 2dc6390 to 479d106 Compare January 24, 2024 17:50
Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
@tomas-langer
Copy link
Member Author

Fixed copyright issue (squashed commits to remove the change).
Added deprecation to builder processor module, package info, and processor class.

@tomas-langer tomas-langer merged commit 8c0bc63 into helidon-io:main Jan 25, 2024
12 checks passed
@tomas-langer tomas-langer deleted the 7957-inject-collateral-3 branch January 25, 2024 10:52
hrstoyanov pushed a commit to hrstoyanov/helidon that referenced this pull request Feb 23, 2024
* Introduction of codegen modules
* Refactoring of modules to use new builder codegen (remove use of config metadata for builders)
* Deprecated old processor modules (such as builder processor)

Co-authored-by: Daniel Kec <daniel.kec@oracle.com>
Co-authored-by: Jeff Trent <jeff.trent@oracle.com>
Co-authored-by: David Kral <david.kral@oracle.com>
Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
tvallin pushed a commit to tvallin/helidon that referenced this pull request Feb 28, 2024
* Introduction of codegen modules
* Refactoring of modules to use new builder codegen (remove use of config metadata for builders)
* Deprecated old processor modules (such as builder processor)

Co-authored-by: Daniel Kec <daniel.kec@oracle.com>
Co-authored-by: Jeff Trent <jeff.trent@oracle.com>
Co-authored-by: David Kral <david.kral@oracle.com>
Signed-off-by: Tomas Langer <tomas.langer@oracle.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4.x Version 4.x builder Related to the builder support declarative Helidon Declarative OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants