chatman commented on code in PR #1375:
URL: https://github.com/apache/solr/pull/1375#discussion_r1116080785


##########
dev-docs/dependency-upgrades.adoc:
##########
@@ -0,0 +1,64 @@
+= Dependency upgrades
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+Solr has lots of 3rd party dependencies, defined mainly in `versions.props`.
+Keeping them up-to-date is crucial for a number of reasons:
+
+* minimizing the risk of critical CVE vulnerabilities by staying on a recent 
and supported version
+* avoiding "dependency hell", that can arise from falling too far behind
+
+Read the `help/dependencies.txt` file for an in-depth explanation of how 
gradle is deployed in Solr, using
+https://github.com/palantir/gradle-consistent-versions[Gradle 
consistent-versions] plugin.
+
+== Manual dependency upgrades
+In order to upgrade a dependency, you need to run through a number of steps:
+
+1. Identify the available versions from e.g. https://search.maven.org[Maven 
Central]
+2. Update the version in `versions.props` file
+3. Run `./gradlew --write-locks` to re-generate `versions.lock`. Note that 
this may cause a cascading effect where
+   the locked version of other dependencies also change.
+4. Run `./gradlew updateLicenses` to re-generate SHA1 checksums of the new jar 
files.
+5. Once in a while, a new version of a dependency will transitively bring in 
brand-new dependencies.
+   You'll need to decide whether to keep or exclude them. See 
`help/dependencies.txt` for details.
+
+== Renovate bot Pull Requests
+A member of the Solr community operates a Github bot running 
https://github.com/renovatebot/renovate[Renovate], which
+files Pull Requests to Solr with dependency upgrade proposals. The PRs are 
labeled `dependencies` and do include
+changes resulting from `--write-locks` and `updateLicenses`.
+
+Community members and committers can then review, and if manual changes are 
needed, help bring the PR to completion.
+For many dependencies, a changelog is included in the PR text, which may help 
guide the upgrade decision.
+
+The scans are run on a schedule. New PRs are filed every Sunday, and only 
dependency versions that are at least

Review Comment:
   All these details are irrelevant to mention in Solr's main developer docs. A 
link to this info (maintained in the external project) should suffice. Problem 
with keep all this info here is that every time there's a change in execution 
schedule in the external project, unnecessary changes would be taken up to this 
document to keep it in sync.



-- 
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

Reply via email to