Skip to content

feature(gradle-test): provide ablity for indexes provides by third party lib. - #119

Open
DarkWeird wants to merge 1 commit into
developfrom
feature/third-party-index
Open

feature(gradle-test): provide ablity for indexes provides by third party lib.#119
DarkWeird wants to merge 1 commit into
developfrom
feature/third-party-index

Conversation

@DarkWeird

Copy link
Copy Markdown
Contributor

Description

This PR resolves problem with adding TeraNUI v3.
You should not add gestalt v8 deps for TeraNUI's core module. only for nui-gestalt-di lib.

Usage:

/**
 * Index redirects for dependents libs/games.
 * Requires gestalt-di's annotation processing for dependents builds.
 */

@IndexInherited
@BindAnnotationFor(UIWidget.class)
abstract class UIWidgetIndex {
}

@IndexInherited
@BindAnnotationFor(UILayout.class)
abstract class UILayoutIndex {

}

@IndexInherited
@BindAnnotationFor(CopyStrategy.class)
abstract class CopyStrategyIndex {

}

Limitations:

  1. This works for any dependents libs with gestalt-di dep. not dependecies. (there can be resolved with Index task)

@DarkWeird
DarkWeird requested a review from pollend June 9, 2021 08:53
pollend
pollend previously approved these changes Jun 13, 2021
@soloturn

Copy link
Copy Markdown
Contributor

@BenjaminAmos is this still necessary?

@BenjaminAmos

Copy link
Copy Markdown
Contributor

The original intent for this pull request is obsolete since it was decided that gestalt-inject was minimal enough at the time to make it a dependency of NUI 4.0 (unreleased). Being able to define indexes on behalf of a third-party library may still be useful functionality though.

@soloturn
soloturn force-pushed the feature/third-party-index branch from d585e93 to c13507d Compare August 27, 2026 19:08
@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 37 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: dc546c0d-7c8d-49e1-92ae-a2de4dbfcf93

📥 Commits

Reviewing files that changed from the base of the PR and between 0c6e948 and c13507d.

📒 Files selected for processing (2)
  • gestalt-inject-java/src/main/java/org/terasology/gestalt/annotation/processing/ClassIndexProcessor.java
  • gestalt-inject/src/main/java/org/terasology/context/annotation/BindAnnotationFor.java

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@soloturn

Copy link
Copy Markdown
Contributor

Rebased onto current develop (was conflicting). One real conflict in ClassIndexProcessor.java - develop had since switched to getBinaryName() instead of erasure().toString() for nested-class correctness; kept that fix and layered this PR's boundAnnotations.containsEntry(...) condition on top, matching the sibling method (processSubtypeIndexInReverseWay) that already had the same combination. Build passes.

@DarkWeird heads up: this force-pushed your branch, so you'll want to reset your local copy before pushing again - git fetch origin, then git reset --hard origin/feature/third-party-index.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants