Swarm 324: Bootstrap performance issues #10
Conversation
@kenfinnigan Here's a working example for wfs-core. Maybe we can use it as a baseline for discussing the changes needed to enable persistent indexes? |
FYI, I had added the jandex plugin to parent pom so it can be shared across more than core. Is there any benefit to customizing the index name? We're not doing anything WildFly Swarm specific in building the jandex right? |
The custom index name is necessary, because otherwise it conflicts with indexes that WF expects at that location. |
Is it building differently than what WF expects? Otherwise I would not expect it to be an issue |
yes, the indexes seem to be different. i didn't have the time to fully track down all the inner workings of deployer chains in WF and how they leverage jandex, but I can tell that our integration tests fail with indexes provided by us that carry the default name |
Cleaned up and squashed the commits to make it more comprehensible |
With this build setup (jandex in the core pom) all our own fractions that don't reside within core inherit everything they need to make it work. Only fractions that don't inherit from core would need to add the jandex plugin. But that's just the way it is. I don't think we do much about that. |
With regard to the choices of a) jandex in the fraction plugin and the first solution (a) sounds nice, but it would require adding the fraction plugin to any runtime module. currently it's only attached to the main module, but indexes generated at that level don't help. the second option (b) seems to be most versatile, doesn't require additional changes to any downstream module and creates an index with every jar. Long Story Short It's complicated, don't ask any further, this is the best approach I could find to balance ease of use with imposed constraints. |
From my point of view this is ready to be merged |
I'd say merge, and then I'll rebase my :spi stuff and get that in today, hopefully. |
Swarm 324: Bootstrap performance issues
This is for review purposes only.
Moving to persistent jandex indexes