Skip to content

Commit

Permalink
Fix: build module layer too early
Browse files Browse the repository at this point in the history
  • Loading branch information
xfl03 committed Jan 27, 2023
1 parent 3e6d0df commit 1dc56c3
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,24 @@ public static void addModule(IModuleLayerManager.Layer layer, Path jar) {
throw new IllegalArgumentException("IModuleLayerManager not supported: " + handler);
}
ModuleLayerHandler moduleLayerHandler = (ModuleLayerHandler) handler;
removeCompletedLayers(moduleLayerHandler, layer);
EnumMap<IModuleLayerManager.Layer, ?> completedLayers = getCompletedLayers(moduleLayerHandler);
boolean alreadyBuilt = completedLayers.containsKey(layer);
if (alreadyBuilt) {
completedLayers.remove(layer);
}
addToLayer(moduleLayerHandler, layer, jar);
moduleLayerHandler.buildLayer(layer);
TransformerService.logger.info("Added {} to {}", jar, layer);
if (alreadyBuilt) {
moduleLayerHandler.buildLayer(layer);
}
TransformerService.logger.info(
"Added {} to {} with {}", jar, layer, alreadyBuilt ? "Rebuilt" : "Not Build");
}

private static void removeCompletedLayers(ModuleLayerHandler handler, IModuleLayerManager.Layer layer) {
private static EnumMap<IModuleLayerManager.Layer, ?> getCompletedLayers(ModuleLayerHandler handler) {
try {
Field field = ModuleLayerHandler.class.getDeclaredField("completedLayers");
field.setAccessible(true);
EnumMap<IModuleLayerManager.Layer, ?> completedLayer =
(EnumMap<IModuleLayerManager.Layer, ?>) field.get(handler);
completedLayer.remove(layer);
return (EnumMap<IModuleLayerManager.Layer, ?>) field.get(handler);
} catch (Exception e) {
throw new IllegalStateException(e);
}
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
id 'morecrashinfo'
}

version = "2.3.0"
version = "2.3.1"
group = 'me.xfl03'
archivesBaseName = 'MoreCrashInfo_Core'

Expand Down

0 comments on commit 1dc56c3

Please sign in to comment.