Skip to content

Commit

Permalink
Merge pull request #32837 from michalvavrik/feature/disable-devui-remote
Browse files Browse the repository at this point in the history
Disable DEV UI for remote dev mode
  • Loading branch information
gsmet committed Apr 25, 2023
2 parents da32883 + 50bd92e commit 19dcb02
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,15 @@ public Optional<DevModeType> getDevModeType() {
return devModeType;
}

/**
* Whether the development mode type is not local.
*
* @return true if {@link #getDevModeType()} is not {@link DevModeType#LOCAL}
*/
public boolean isNotLocalDevModeType() {
return devModeType.orElse(null) != DevModeType.LOCAL;
}

/**
* An Auxiliary Application is a second application running in the same JVM as a primary application.
* <p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import io.quarkus.deployment.annotations.Record;
import io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem;
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
import io.quarkus.deployment.builditem.LaunchModeBuildItem;
import io.quarkus.deployment.builditem.ShutdownContextBuildItem;
import io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem;
import io.quarkus.dev.console.DevConsoleManager;
Expand Down Expand Up @@ -124,9 +125,14 @@ void registerDevUiHandlers(
List<StaticContentBuildItem> staticContentBuildItems,
BuildProducer<RouteBuildItem> routeProducer,
DevUIRecorder recorder,
LaunchModeBuildItem launchModeBuildItem,
NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem,
ShutdownContextBuildItem shutdownContext) throws IOException {

if (launchModeBuildItem.isNotLocalDevModeType()) {
return;
}

// Websocket for JsonRPC comms
routeProducer.produce(
nonApplicationRootPathBuildItem
Expand Down Expand Up @@ -215,6 +221,7 @@ void registerDevUiHandlers(
void additionalBean(BuildProducer<AdditionalBeanBuildItem> additionalBeanProducer,
BuildProducer<AdditionalIndexedClassesBuildItem> additionalIndexProducer,
List<JsonRPCProvidersBuildItem> jsonRPCProvidersBuildItems) {

additionalBeanProducer.produce(AdditionalBeanBuildItem.builder()
.addBeanClass(JsonRpcRouter.class)
.setUnremovable().build());
Expand Down Expand Up @@ -244,10 +251,15 @@ void additionalBean(BuildProducer<AdditionalBeanBuildItem> additionalBeanProduce
@BuildStep(onlyIf = IsDevelopment.class)
void findAllJsonRPCMethods(BuildProducer<JsonRPCMethodsBuildItem> jsonRPCMethodsProvider,
BuildProducer<BuildTimeConstBuildItem> buildTimeConstProducer,
LaunchModeBuildItem launchModeBuildItem,
CombinedIndexBuildItem combinedIndexBuildItem,
CurateOutcomeBuildItem curateOutcomeBuildItem,
List<JsonRPCProvidersBuildItem> jsonRPCProvidersBuildItems) {

if (launchModeBuildItem.isNotLocalDevModeType()) {
return;
}

IndexView index = combinedIndexBuildItem.getIndex();

Map<String, Map<JsonRpcMethodName, JsonRpcMethod>> extensionMethodsMap = new HashMap<>(); // All methods so that we can build the reflection
Expand Down Expand Up @@ -354,11 +366,19 @@ void createJsonRpcRouter(DevUIRecorder recorder,
void getAllExtensions(List<CardPageBuildItem> cardPageBuildItems,
List<MenuPageBuildItem> menuPageBuildItems,
List<FooterPageBuildItem> footerPageBuildItems,
LaunchModeBuildItem launchModeBuildItem,
CurateOutcomeBuildItem curateOutcomeBuildItem,
BuildProducer<ExtensionsBuildItem> extensionsProducer,
BuildProducer<WebJarBuildItem> webJarBuildProducer,
BuildProducer<DevUIWebJarBuildItem> devUIWebJarProducer) {

if (launchModeBuildItem.isNotLocalDevModeType()) {
// produce extension build item as cascade of build steps rely on it
var emptyExtensionBuildItem = new ExtensionsBuildItem(List.of(), List.of(), List.of(), List.of());
extensionsProducer.produce(emptyExtensionBuildItem);
return;
}

// First create the static resources for our own internal components
webJarBuildProducer.produce(WebJarBuildItem.builder()
.artifactKey(UI_JAR)
Expand Down Expand Up @@ -560,9 +580,14 @@ public WebJarResourcesFilter.FilterResult apply(String fileName, InputStream fil

@BuildStep(onlyIf = IsDevelopment.class)
void createAllRoutes(WebJarResultsBuildItem webJarResultsBuildItem,
LaunchModeBuildItem launchModeBuildItem,
List<DevUIWebJarBuildItem> devUIWebJarBuiltItems,
BuildProducer<DevUIRoutesBuildItem> devUIRoutesProducer) {

if (launchModeBuildItem.isNotLocalDevModeType()) {
return;
}

for (DevUIWebJarBuildItem devUIWebJarBuiltItem : devUIWebJarBuiltItems) {
WebJarResultsBuildItem.WebJarResult result = webJarResultsBuildItem
.byArtifactKey(devUIWebJarBuiltItem.getArtifactKey());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ public void testThatTheApplicationIsReloadedOnJavaChange()

//also verify that the dev ui console is disabled
DevModeTestUtils.getHttpResponse("/q/dev-v1", 404, 10, TimeUnit.SECONDS);
DevModeTestUtils.getHttpResponse("/q/dev-ui", 404, 10, TimeUnit.SECONDS);
}

@Test
Expand Down

0 comments on commit 19dcb02

Please sign in to comment.