Skip to content

Commit d4c310b

Browse files
Malandrilgsmet
authored andcommitted
fix: Add maven parent first dependencies and disables extension list and add with gradle
(cherry picked from commit 45c9998)
1 parent 5900e9e commit d4c310b

File tree

4 files changed

+61
-33
lines changed

4 files changed

+61
-33
lines changed

devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,6 @@ private DevModeCommandLine newLauncher(final AnalyticsService analyticsService)
431431
if (getModules().isPresent() && !getModules().get().isEmpty()) {
432432
builder.addModules(getModules().get());
433433
}
434-
435434
for (Map.Entry<String, ?> e : project.getProperties().entrySet()) {
436435
if (e.getValue() instanceof String) {
437436
builder.buildSystemProperty(e.getKey(), e.getValue().toString());
@@ -448,11 +447,14 @@ private DevModeCommandLine newLauncher(final AnalyticsService analyticsService)
448447
builder.extensionDevModeConfig(appModel.getExtensionDevModeConfig())
449448
.extensionDevModeJvmOptionFilter(extensionJvmOptions);
450449

450+
builder.jvmArgs("-Dgradle.project.path="
451+
+ getProject().getLayout().getProjectDirectory().getAsFile().getAbsolutePath());
452+
451453
analyticsService.sendAnalytics(
452454
DEV_MODE,
453455
appModel,
454456
Map.of(GRADLE_VERSION, getProject().getGradle().getGradleVersion()),
455-
getProject().getBuildDir().getAbsoluteFile());
457+
getProject().getLayout().getBuildDirectory().getAsFile().get());
456458

457459
final Set<ArtifactKey> projectDependencies = new HashSet<>();
458460
for (ResolvedDependency localDep : DependenciesFilter.getReloadableModules(appModel)) {
@@ -545,6 +547,7 @@ private void addQuarkusDevModeDeps(DevModeCommandLineBuilder builder, Applicatio
545547
configuration.setCanBeConsumed(false);
546548
configuration.extendsFrom(platformConfig);
547549
configuration.getDependencies().add(getQuarkusGradleBootstrapResolver());
550+
configuration.getDependencies().add(getQuarkusMavenBootstrapResolver());
548551
configuration.getDependencies().add(getQuarkusCoreDeployment(appModel));
549552
});
550553
devModeDependencyConfiguration = getProject().getConfigurations()
@@ -568,7 +571,15 @@ private void addQuarkusDevModeDeps(DevModeCommandLineBuilder builder, Applicatio
568571
}
569572

570573
private Dependency getQuarkusGradleBootstrapResolver() {
571-
final String pomPropsPath = "META-INF/maven/io.quarkus/quarkus-bootstrap-gradle-resolver/pom.properties";
574+
return getQuarkusBootstrapResolver("quarkus-bootstrap-gradle-resolver");
575+
}
576+
577+
private Dependency getQuarkusMavenBootstrapResolver() {
578+
return getQuarkusBootstrapResolver("quarkus-bootstrap-maven-resolver");
579+
}
580+
581+
private Dependency getQuarkusBootstrapResolver(String artifactId) {
582+
final String pomPropsPath = "META-INF/maven/io.quarkus/" + artifactId + "/pom.properties";
572583
final InputStream devModePomPropsIs = DevModeMain.class.getClassLoader().getResourceAsStream(pomPropsPath);
573584
if (devModePomPropsIs == null) {
574585
throw new GradleException("Failed to locate " + pomPropsPath + " on the classpath");
@@ -591,9 +602,8 @@ private Dependency getQuarkusGradleBootstrapResolver() {
591602
if (devModeVersion == null) {
592603
throw new GradleException("Classpath resource " + pomPropsPath + " is missing version");
593604
}
594-
Dependency gradleResolverDep = getProject().getDependencies()
605+
return getProject().getDependencies()
595606
.create(String.format("%s:%s:%s", devModeGroupId, devModeArtifactId, devModeVersion));
596-
return gradleResolverDep;
597607
}
598608

599609
private Dependency getQuarkusCoreDeployment(ApplicationModel appModel) {

extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/menu/ExtensionsProcessor.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ void createBuildTimeActions(BuildProducer<BuildTimeActionBuildItem> buildTimeAct
6363
&& launchModeBuildItem.getDevModeType().get().equals(DevModeType.LOCAL)) {
6464

6565
BuildTimeActionBuildItem buildTimeActions = new BuildTimeActionBuildItem(NAMESPACE);
66-
6766
getCategories(buildTimeActions);
6867
getInstallableExtensions(buildTimeActions);
6968
getInstalledNamespaces(buildTimeActions);
@@ -144,6 +143,8 @@ private void getInstalledNamespaces(BuildTimeActionBuildItem buildTimeActions) {
144143
return namespaceList;
145144
}
146145

146+
return null;
147+
} catch (IllegalStateException e) {
147148
return null;
148149
} catch (QuarkusCommandException e) {
149150
throw new RuntimeException(e);
@@ -198,7 +199,13 @@ private void addExtension(BuildTimeActionBuildItem buildTimeActions) {
198199
}
199200

200201
private QuarkusProject getQuarkusProject() {
201-
Path projectRoot = Paths.get(System.getProperty("user.dir")).toAbsolutePath().normalize();
202+
Path projectRoot;
203+
String gradlePath = System.getProperty("gradle.project.path");
204+
if (gradlePath != null) {
205+
projectRoot = Path.of(gradlePath);
206+
} else {
207+
projectRoot = Paths.get(System.getProperty("user.dir")).toAbsolutePath().normalize();
208+
}
202209
return QuarkusProjectHelper.getCachedProject(projectRoot);
203210
}
204211

extensions/vertx-http/dev-ui-resources/src/main/resources/dev-ui/qwc/qwc-continuous-testing.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,9 @@ export class QwcContinuousTesting extends QwcHotReloadElement {
150150

151151
_cancelObservers(){
152152
this._streamStateObserver.cancel();
153-
this._streamResultsObserver.cancel();
153+
if(this._streamResultsObserver){
154+
this._streamResultsObserver.cancel();
155+
}
154156
}
155157

156158
_lastKnownState(){

extensions/vertx-http/dev-ui-resources/src/main/resources/dev-ui/qwc/qwc-extensions.js

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ export class QwcExtensions extends observeState(LitElement) {
8686
_favourites: {state: true},
8787
_addDialogOpened: {state: true},
8888
_installedExtensions: {state: true, type: Array},
89-
_selectedFilters: {state: true, type: Array}
89+
_selectedFilters: {state: true, type: Array},
90+
_addExtensionsEnabled: {state: true, type: Boolean},
9091
}
9192

9293
constructor() {
@@ -96,12 +97,18 @@ export class QwcExtensions extends observeState(LitElement) {
9697
this._installedExtensions = [];
9798
this._filteritems = ["Favorites","Active","Inactive"];
9899
this._selectedFilters = this._getStoredFilters();
100+
this._addExtensionsEnabled = false;
99101
}
100102

101103
connectedCallback() {
102104
super.connectedCallback();
103105
this.jsonRpc.getInstalledNamespaces().then(jsonRpcResponse => {
104-
this._installedExtensions = jsonRpcResponse.result;
106+
if (jsonRpcResponse.result) {
107+
this._installedExtensions = jsonRpcResponse.result;
108+
this._addExtensionsEnabled = true;
109+
}
110+
}).catch(e => {
111+
notifier.showErrorMessage("Could not list namespaces "+ e?.error?.message);
105112
});
106113
}
107114

@@ -355,30 +362,32 @@ export class QwcExtensions extends observeState(LitElement) {
355362
}
356363

357364
_renderAddDialog(){
358-
return html`
359-
<vaadin-dialog
360-
theme="no-padding"
361-
resizable
362-
draggable
363-
header-title="Add extension"
364-
.opened="${this._addDialogOpened}"
365-
@opened-changed="${(event) => {
366-
this._addDialogOpened = event.detail.value;
367-
}}"
368-
${dialogHeaderRenderer(
369-
() => html`
370-
<vaadin-button theme="tertiary" @click="${() => (this._addDialogOpened = false)}">
371-
<vaadin-icon icon="font-awesome-solid:xmark"></vaadin-icon>
372-
</vaadin-button>
373-
`,
374-
[]
365+
if (this._addExtensionsEnabled) {
366+
return html`
367+
<vaadin-dialog
368+
theme="no-padding"
369+
resizable
370+
draggable
371+
header-title="Add extension"
372+
.opened="${this._addDialogOpened}"
373+
@opened-changed="${(event) => {
374+
this._addDialogOpened = event.detail.value;
375+
}}"
376+
${dialogHeaderRenderer(
377+
() => html`
378+
<vaadin-button theme="tertiary" @click="${() => (this._addDialogOpened = false)}">
379+
<vaadin-icon icon="font-awesome-solid:xmark"></vaadin-icon>
380+
</vaadin-button>
381+
`,
382+
[]
383+
)}
384+
${dialogRenderer(
385+
() => html`<qwc-extension-add @inprogress="${this._installRequest}"></qwc-extension-add>`
375386
)}
376-
${dialogRenderer(
377-
() => html`<qwc-extension-add @inprogress="${this._installRequest}"></qwc-extension-add>`
378-
)}
379-
></vaadin-dialog>
380-
${this._renderAddExtensionButton()}
381-
`;
387+
></vaadin-dialog>
388+
${this._renderAddExtensionButton()}
389+
`;
390+
}
382391
}
383392

384393
_renderAddExtensionButton(){

0 commit comments

Comments
 (0)