<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>17062119</buildableDurationMillis><buildableTimeMillis>17062119</buildableTimeMillis><buildingDurationMillis>765207</buildingDurationMillis><executingTimeMillis>765207</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>0</waitingDurationMillis><waitingTimeMillis>0</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>602</buildNumber><marked><SHA1>255e9e7b85efb801f4dad1c557aaa4ff5d6c4e0e</SHA1><branch><SHA1>255e9e7b85efb801f4dad1c557aaa4ff5d6c4e0e</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>255e9e7b85efb801f4dad1c557aaa4ff5d6c4e0e</SHA1><branch><SHA1>255e9e7b85efb801f4dad1c557aaa4ff5d6c4e0e</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>255e9e7b85efb801f4dad1c557aaa4ff5d6c4e0e</SHA1><branch><SHA1>255e9e7b85efb801f4dad1c557aaa4ff5d6c4e0e</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://gitbox.apache.org/repos/asf/solr.git</remoteUrl><scmName></scmName></action><action></action><action _class='hudson.plugins.jira.JiraBuildAction'></action><action _class='hudson.plugins.jira.JiraBuildAction'></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#602</displayName><duration>765207</duration><estimatedDuration>836043</estimatedDuration><fullDisplayName>Solr » Solr-Lint-main #602</fullDisplayName><id>602</id><inProgress>false</inProgress><keepLog>false</keepLog><number>602</number><queueId>21900113</queueId><result>SUCCESS</result><timestamp>1783809742280</timestamp><url>https://ci-builds.apache.org/job/Solr/job/Solr-Lint-main/602/</url><builtOn>lucene-solr-3</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/modules/jwt-auth/build.gradle</affectedPath><affectedPath>solr/benchmark/build.gradle</affectedPath><affectedPath>solr/modules/sql/build.gradle</affectedPath><affectedPath>changelog/unreleased/dagp-SOLR-18302.yml</affectedPath><affectedPath>solr/modules/scripting/build.gradle</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>solr/core/build.gradle</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>solr/ui/build.gradle.kts</affectedPath><affectedPath>solr/solrj/gradle.lockfile</affectedPath><affectedPath>solr/modules/gcs-repository/build.gradle</affectedPath><affectedPath>solr/cross-dc-manager/build.gradle</affectedPath><affectedPath>dev-docs/gradle-help/dependencies.txt</affectedPath><affectedPath>solr/modules/ltr/build.gradle</affectedPath><affectedPath>solr/modules/cuvs/build.gradle</affectedPath><affectedPath>settings.gradle</affectedPath><affectedPath>solr/modules/cross-dc/gradle.lockfile</affectedPath><affectedPath>solr/benchmark/gradle.lockfile</affectedPath><affectedPath>solr/solrj-zookeeper/build.gradle</affectedPath><affectedPath>solr/test-framework/build.gradle</affectedPath><affectedPath>solr/modules/extraction/build.gradle</affectedPath><affectedPath>solr/modules/analysis-extras/build.gradle</affectedPath><affectedPath>solr/modules/opentelemetry/build.gradle</affectedPath><affectedPath>solr/api/build.gradle</affectedPath><affectedPath>solr/modules/language-models/build.gradle</affectedPath><affectedPath>solr/ui/gradle.lockfile</affectedPath><affectedPath>gradle/validation/dependencies.gradle</affectedPath><affectedPath>solr/modules/langid/build.gradle</affectedPath><affectedPath>solr/solrj-streaming/build.gradle</affectedPath><affectedPath>gradle/validation/dependency-analyze.gradle.kts</affectedPath><affectedPath>solr/modules/clustering/build.gradle</affectedPath><affectedPath>solr/solrj/build.gradle</affectedPath><affectedPath>solr/modules/s3-repository/build.gradle</affectedPath><affectedPath>solr/modules/cross-dc/build.gradle</affectedPath><affectedPath>solr/solrj-jetty/build.gradle</affectedPath><commitId>af89e0379f3e499a46a88b7c7483aa5c0ea6e474</commitId><timestamp>1783732396000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-18302: dependency-analysis (DAGP) — reporting + build hygiene (#4612)

Adds the Dependency Analysis Gradle Plugin (com.autonomousapps
build-health) as an opt-in `analyzeDependencies` task — it reports
advice, doesn't fail the build, since api-vs-implementation calls need
human judgement rather than blanket enforcement.

- Remove redundant project() declarations that solr-core already
  provides via api (24 across 17 modules) — cutterslade-era
  "state the obvious" leftovers.
- Force kotlin-metadata-jvm to Solr's Kotlin so DAGP can analyze
  :solr:ui (autonomousapps/dependency-analysis-gradle-plugin#1661;
  temporary).
- Ensure lockfile doesn't have spotless or DAGP related special configurations.

Co-authored-by: David Smiley &lt;dsmiley@apache.org&gt;
</comment><date>2026-07-10 21:13:16 -0400</date><id>af89e0379f3e499a46a88b7c7483aa5c0ea6e474</id><msg>SOLR-18302: dependency-analysis (DAGP) — reporting + build hygiene (#4612)</msg><path><editType>edit</editType><file>solr/benchmark/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/gcs-repository/build.gradle</file></path><path><editType>edit</editType><file>solr/solrj-zookeeper/build.gradle</file></path><path><editType>edit</editType><file>solr/benchmark/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/langid/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/cross-dc/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/extraction/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/cross-dc/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/core/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/cuvs/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/jwt-auth/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/analysis-extras/build.gradle</file></path><path><editType>add</editType><file>changelog/unreleased/dagp-SOLR-18302.yml</file></path><path><editType>edit</editType><file>settings.gradle</file></path><path><editType>edit</editType><file>solr/ui/build.gradle.kts</file></path><path><editType>edit</editType><file>solr/modules/opentelemetry/build.gradle</file></path><path><editType>add</editType><file>gradle/validation/dependency-analyze.gradle.kts</file></path><path><editType>edit</editType><file>solr/modules/language-models/build.gradle</file></path><path><editType>edit</editType><file>solr/solrj/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/ui/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/solrj-jetty/build.gradle</file></path><path><editType>edit</editType><file>solr/cross-dc-manager/build.gradle</file></path><path><editType>edit</editType><file>dev-docs/gradle-help/dependencies.txt</file></path><path><editType>edit</editType><file>solr/test-framework/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/sql/build.gradle</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>solr/modules/s3-repository/build.gradle</file></path><path><editType>edit</editType><file>solr/solrj-streaming/build.gradle</file></path><path><editType>edit</editType><file>solr/solrj/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/ltr/build.gradle</file></path><path><editType>edit</editType><file>solr/modules/scripting/build.gradle</file></path><path><editType>edit</editType><file>solr/api/build.gradle</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>gradle/validation/dependencies.gradle</file></path><path><editType>edit</editType><file>solr/modules/clustering/build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>settings.gradle</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>solr/webapp/gradle.lockfile</affectedPath><affectedPath>solr/webapp/js-client/gradle.lockfile</affectedPath><affectedPath>solr/webapp/build.gradle</affectedPath><affectedPath>solr/webapp/js-client/build.gradle.kts</affectedPath><affectedPath>solr/solr-ref-guide/build.gradle</affectedPath><affectedPath>gradle/node.gradle</affectedPath><commitId>255e9e7b85efb801f4dad1c557aaa4ff5d6c4e0e</commitId><timestamp>1783740077000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>build: decouple JS API client bundling into an optional module (#4603)

The OpenAPI-generated JS client (npm install + babel build + browserify bundle)
was embedded directly in :solr:webapp's build.gradle, making that module quietly
depend on npm/node for something unrelated to compiling/packaging the webapp
itself. Pull it out into its own module, :solr:webapp:js-client, which exposes
the built bundle via a `jsClientBundle` configuration that :solr:webapp now
consumes as a normal cross-project dependency (mirroring how it already consumes
:solr:server's serverLib/solrCore and :solr:api's jsClient outputs), instead of
:solr:webapp defining the npm tasks and reaching into its own local task outputs.

Also make the JS client bundle optional, mirroring the existing disableUiModule
pattern:
- settings.gradle: new -PdisableJsClient=true flag (gradle.ext.withJsClient),
  excluding :solr:webapp:js-client from the build entirely when set.
- solr/webapp/build.gradle: the generatedJSClientBundle dependency is only added
  when the flag is on; the war{} block's from(configurations.generatedJSClientBundle)
  is left unconditional since an empty configuration is already a safe no-op.

Refactor gradle/node.gradle so it no longer hardcodes which projects need
node/npm.
</comment><date>2026-07-10 23:21:17 -0400</date><id>255e9e7b85efb801f4dad1c557aaa4ff5d6c4e0e</id><msg>build: decouple JS API client bundling into an optional module (#4603)</msg><path><editType>add</editType><file>solr/webapp/js-client/gradle.lockfile</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>solr/webapp/build.gradle</file></path><path><editType>edit</editType><file>settings.gradle</file></path><path><editType>edit</editType><file>gradle/node.gradle</file></path><path><editType>edit</editType><file>solr/webapp/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/solr-ref-guide/build.gradle</file></path><path><editType>add</editType><file>solr/webapp/js-client/build.gradle.kts</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></culprit></freeStyleBuild>