-
Notifications
You must be signed in to change notification settings - Fork 23
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
feat: implement dependency injection #87
Merged
Merged
Changes from 99 commits
Commits
Show all changes
102 commits
Select commit
Hold shift + click to select a range
6ca7a41
started work on DI model
pollend 08e04e9
update annotation scheme
pollend 61f57eb
start work on definition loading
pollend 239f67f
add sterotype helper
pollend c72bb5b
Basic and naive BeanDefinitionGeneration.
DarkWeird 34ec17d
Merge pull request #1 from DarkWeird/di
pollend 14c87e8
update annotation metadata
pollend 6dd08e9
add annotation metadata
pollend f728ae1
add start of lifecycle model
pollend 72ac6b6
add lifecycle model
pollend 00b8575
update registry pattern
pollend 727733e
add introspection scheme and dependency scheme
pollend 39d2851
add instance model
pollend 190f653
strater on resolution
pollend 045cc48
started work on context
pollend 39c1e8b
setup object model
pollend e845739
update instance implementation
pollend 4dac633
update service graph
pollend e522bc7
update beankey
pollend 55bfc02
fix(gestalt-di): fix NPE at annotations - add DefaultAnnotationValue#…
DarkWeird 35e7079
fix(gestalt-di): fix not accessable class - add public and final modi…
DarkWeird 2ac6674
Merge pull request #2 from DarkWeird/feature/DI
pollend f746a47
update annotationprocessor
pollend 8498b02
Merge branch 'feature/DI' of github.com:pollend/gestalt into feature/DI
pollend 82a04a2
add beantransation
pollend 20c63da
implement BeanContext
pollend fcce218
Merge branch 'develop' into feature/DI
DarkWeird 5def158
Convert get beans and resolve to returns `java.util.Optional`
DarkWeird 70770c1
Fix Optional<Optional<T>> returns from resolve.
DarkWeird 6a2a838
chore(gestalt-di): code cleanup, refactor raw-types
DarkWeird 653e252
chore(gestalt-di): refactor raw-types
DarkWeird 56da4a8
remove BeanTransaction
pollend 5354e92
add scanner
pollend 2cdd6ca
implement bean enviroment
pollend bb6bf5f
clean up BeanEnvironment
pollend ed8bb31
correct read and write lock
pollend 26f7a93
update test and expanded BeanEnvironment
pollend 0bb14a0
added scanner logic
pollend ddf7cf2
fix binary search
pollend 4225624
add injection sample
pollend c641e18
correct bean resolution
pollend 97f72ba
simplify test cases
pollend a2b5bed
fixed binary search
pollend 20c7ffa
Merge branch 'develop' into feature/DI
pollend d3b30fe
correct hash calculation and update resolution
pollend b416bfe
update BeanDefinitionProcessor for nested classes
pollend eb56666
update test and add better error handeling
pollend 0700f97
correct injection logic
pollend 3aa0a7f
update supplier to inject dependencies
pollend 48e8f97
javadoc: fix Javadoc's tags `tt` -> `@code` because `javadoc` task th…
DarkWeird 887ba86
fix(DestSol): make `gestalt-di` and `gestalt-inject-java` compiles at…
DarkWeird 5a3974b
feature(DI): Implement `javax.inject.Provider` for `Lazy`-like resolu…
DarkWeird 959fd2f
feature(DI): Add possible to search multiple beans via `BeanContext#g…
DarkWeird 40348ad
feature(DI): Add possible to inject `Set`, `List` and `Collection` ty…
DarkWeird de33483
fix(DI): fix infinity loop at finding beans when context has parent(g…
DarkWeird 9ecea2c
feat: implement bean intercept to intercept request
pollend 05a1a6c
use multimap to drive intercept
pollend 12cc419
add copyright
pollend f02abc4
start on javadocs
pollend 473a7b5
cleanup
pollend 6278922
Merge remote-tracking branch 'origin/feature/DI' into feature/DI-bean…
DarkWeird 642c08d
Merge pull request #90 from MovingBlocks/feature/DI-bean-intercept
DarkWeird c5dad5c
update beanDefinitionProcessor to look for annotations for fields and…
pollend d59e373
feat(gestalt-di): `gestalt-module` not use `reflections` anymore
DarkWeird 90fe84a
feat(gestalt-DI): implements ClassIndex for Classloader with packageP…
DarkWeird 2f07f75
chore(gestalt-DI): javadocs for ClassIndex and cleanup
DarkWeird 337ce07
fix(gestalt-DI): Replaces `Reflections`'s commented code to own metho…
DarkWeird 539eab9
feat(gestalt-DI): Implement `ResourceProcessor`. move ClasspathFileSo…
DarkWeird ad2cabb
feature(gestalt-DI): Tune ResourceProcessor Logs IOException, works w…
DarkWeird 8b5a408
feature(gestalt-DI): Add resource dir to input of `compileJava`'s - p…
DarkWeird 9395b0c
fix(gestalt-DI): fix classpath resource naming.
DarkWeird e63b01f
feat(gestalt-DI): add `@Index` to assets-core's annotation and adding…
DarkWeird a6b3cef
fix(gestalt-DI): add `-` as valid part of filename.
DarkWeird 463b0fc
fix(gestalt-DI): `@Inherited` cannot works with annotation. handle th…
DarkWeird 842f34e
feat(gestalt-DI): fix tests for `entity-system`. provide indexes to `…
DarkWeird 5e95f18
feat(gestalt-DI): Integrate `BeanContext` to `ModuleEnvironment`. Add…
DarkWeird 533475a
feat(gestalt-DI): closing BeanContext when ModuleEnvironment is closing
DarkWeird f15dcd7
chore(gestalt-DI): uninject PermissionProviderFactories.
DarkWeird 44a2f5c
feat(gestalt-DI): remove non-di `ModuleEnvironment` usage.
DarkWeird ea1fd1f
Update gestalt-asset-core/src/main/java/org/terasology/gestalt/assets…
DarkWeird 2dde0fe
Merge pull request #91 from MovingBlocks/feature/DI-at-module
DarkWeird a571932
chore(gestalt-di): fix javadocs, provide gestalt-di via gestalt-modul…
DarkWeird 60dc7cc
replaced introspected with Service and added more docs
pollend 95cb2ff
update javadocs
pollend 267abd1
fix(gestalt-di): fix package with target annotation writing.
DarkWeird 7c94019
fix(gestalt-di): add underscore as valid part of filename
DarkWeird 45519ce
fix(gestalt-di): provide JCIP annotations as api instead implementati…
DarkWeird 88c7971
fix(gestalt-di): `UrlClassIndex#byClassloader*` loads all resources. …
DarkWeird 65ece59
fix(gestalt-di): make type erasure for writing index. fixes index for…
DarkWeird db49b97
chore: cleanup and organization
pollend 325293f
cleanup argument and add handler for optional
pollend 8003208
Fixed gestalt-inject-java annotation processing errors on Windows.
BenjaminAmos 7ef60d5
Fixed gestalt-android and gestalt-android-testbed compilation.
BenjaminAmos 55d057c
Fixed ResourceProcessor producing incorrect paths on Windows.
BenjaminAmos a33e8df
Fixed gestalt-android-testbed to work with gestalt-di changes.
BenjaminAmos c7ab1dd
Merge pull request #93 from BenjaminAmos/gestalt-di-path-fixes
pollend c09de06
Merge pull request #94 from BenjaminAmos/gestalt-di-android-fixes
pollend 418603e
add annotation test
pollend 821c92a
update annotation value
pollend 7c97ac1
remove reflection and unused test
pollend 0d2c0a7
chore(gestalt-di): handle di's TODOs
DarkWeird e63977e
chore(gestalt-di): add exception logging instead printStackTrace
DarkWeird File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -44,3 +44,5 @@ Icon | |
#Ignore Windows | ||
ehthumbs.db | ||
Thumbs.db | ||
|
||
gestalt-di/test-modules/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just leaving a note here to explain that this merges all the
META-INF/annotations
files from the jars that are dependencies ofgestalt-android-testbed
into each other. Android APK files aggregate all dependencies and the main program into a single archive. This might need to be done withMETA-INF/subtypes
in the future but hasn't been needed so-far.