Nayana-ibm commented on PR #3261:
URL: https://github.com/apache/solr/pull/3261#issuecomment-2758039445
We've tested these changes on the s390x architecture, and they are not
working as expected.
Specifically, the current code:
`def withUiModule = !rootProject.hasProperty('disableUiModule') ||
rootProject.findProperty('disableUiModule') != 'true'`
always evaluates `withUiModule `as true, which means the UI module is never
disabled.
To fix this, we made some changes to ensure the disableUiModule flag is
properly recognized. Please see diff below:
```
diff --git a/build.gradle b/build.gradle
index 24c2045..7901130 100644
--- a/build.gradle
+++ b/build.gradle
@@ -35,6 +35,10 @@ plugins {
alias(libs.plugins.openapi.generator) apply false
}
+ext {
+ withUiModule = gradle.ext.withUiModule // Use the global setting
+}
+
// Declare default Java versions for the entire project and for SolrJ
separately
rootProject.ext.minJavaVersionDefault =
JavaVersion.toVersion(libs.versions.java.min.get())
rootProject.ext.minJavaVersionSolrJ =
JavaVersion.toVersion(libs.versions.java.solrj.get())
@@ -114,7 +118,6 @@ ext {
logger.debug('Lucene base version (without suffix): {}',
luceneBaseVersion)
return luceneBaseVersion
}
-
// For testing code
vectorIncubatorJavaVersions = [ JavaVersion.VERSION_21,
JavaVersion.VERSION_22, JavaVersion.VERSION_23, JavaVersion.VERSION_24,
JavaVersion.VERSION_25 ] as Set
}
diff --git a/settings.gradle b/settings.gradle
index 14b9169..4a16234 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -57,7 +57,6 @@ include "solr:modules:s3-repository"
include "solr:modules:scripting"
include "solr:modules:sql"
include "solr:webapp"
-include "solr:ui"
include "solr:benchmark"
include "solr:test-framework"
include "solr:solr-ref-guide"
@@ -68,5 +67,11 @@ include "solr:distribution"
include "solr:docker"
include "solr:prometheus-exporter"
+def disableUiModuleValue =
providers.gradleProperty('disableUiModule').orNull
+gradle.ext.withUiModule = disableUiModuleValue == null ||
disableUiModuleValue != 'true'
+if (gradle.ext.withUiModule) {
+ include(":solr:ui")
+}
+
// Configures development for joint Lucene/ Solr composite build.
apply from: file('gradle/lucene-dev/lucene-dev-repo-composite.gradle')
diff --git a/solr/webapp/build.gradle b/solr/webapp/build.gradle
index bd701b9..3ea3607 100644
--- a/solr/webapp/build.gradle
+++ b/solr/webapp/build.gradle
@@ -94,22 +94,24 @@ task downloadBrowserify(type: NpmTask) {
outputs.dir("${nodeProjectDir}/node_modules/browserify")
}
-tasks.register("generateUiDevFiles") {
- description = "Generate new UI for development and add files to outputs
for later referencing."
- group = "build"
-
- // Development files are larger in size but have shorter compile times.
- dependsOn
project(":solr:ui").tasks.wasmJsBrowserDevelopmentExecutableDistribution
-
outputs.dir(project(":solr:ui").file("build/dist/wasmJs/developmentExecutable/"))
+if (gradle.ext.withUiModule) {
+ tasks.register("generateUiDevFiles") {
+ description = "Generate new UI for development and add files to outputs
for later referencing."
+ group = "build"
+ dependsOn
project(":solr:ui").tasks.wasmJsBrowserDevelopmentExecutableDistribution
+
outputs.dir(project(":solr:ui").file("build/dist/wasmJs/developmentExecutable/"))
+ }
}
-tasks.register("generateUiProdFiles") {
- description = "Generate new UI for production and add files to outputs
for later referencing"
- group = "build"
+if (gradle.ext.withUiModule) {
+ tasks.register("generateUiProdFiles") {
+ description = "Generate new UI for production and add files to outputs
for later referencing"
+ group = "build"
- // Production files are smaller in size but have longer compile times.
- dependsOn project(":solr:ui").tasks.wasmJsBrowserDistribution
-
outputs.dir(project(":solr:ui").file("build/dist/wasmJs/productionExecutable/"))
+ // Production files are smaller in size but have longer compile times.
+ dependsOn project(":solr:ui").tasks.wasmJsBrowserDistribution
+
outputs.dir(project(":solr:ui").file("build/dist/wasmJs/productionExecutable/"))
+ }
}
task generateJsClientBundle(type: NpxTask) {
@@ -151,13 +153,15 @@ war {
// Include new Admin UI files in webapp
// By default, we always build dev that does not optimize generated files
for release to reduce build times.
- if (rootProject.ext.development) {
- from (tasks.generateUiDevFiles) {
- into "ui"
- }
- } else {
- from (tasks.generateUiProdFiles) {
- into "ui"
+ if (gradle.ext.withUiModule) {
+ if (rootProject.ext.development) {
+ from (tasks.generateUiDevFiles) {
+ into "ui"
+ }
+ } else {
+ from (tasks.generateUiProdFiles) {
+ into "ui"
+ }
}
}
}
```
Now, if you want to disable the UI module, you can simply run:
`./gradlew -PdisableUiModule=true`
This update makes sure the build process correctly includes or excludes the
UI module based on your settings.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]