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: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org