[ 
https://issues.apache.org/jira/browse/SOLR-13452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16853762#comment-16853762
 ] 

Mark Miller commented on SOLR-13452:
------------------------------------

{quote}as long as something unexpected will fail precommit, probably due to a 
missing checksum.
{quote}
There are a variety of checks and enforcers that would fire and alert of you 
all the changes going on - you would then have to accept and commit those 
changes.

For example, let's say you update a single version of a library and it adds a 
couple of dependencies and changes the versions of a couple others.

* The license check would fail for new dependencies.
* The jar checksum check would fail for new dependencies and for version 
changes.
* The versions plugin would fail the check target until you do gradlew 
--write-locks and review/accept an updated versions.locks file that lists every 
dependency and it's current version.

IMO, the best idea is to let gradle handle transitive deps and version 
resolution - it will do the best job. A human then reviews and either accepts 
or makes constraints / exceptions. The whole system is designed to work this 
way really, and when done right, it's really the best we have IMHO.

bq. Does the precommit check notice when there's a checksum but no matching jar?

This is a little more complicated than that to do well or thoroughly. There is 
a cool plugin that helps with this, but it doesn't work with implementation and 
api yet. When it does, we can use it to find deps that are not actually used by 
anything anymore.

> Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.
> -------------------------------------------------------------------------
>
>                 Key: SOLR-13452
>                 URL: https://issues.apache.org/jira/browse/SOLR-13452
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Build
>            Reporter: Mark Miller
>            Assignee: Mark Miller
>            Priority: Major
>             Fix For: master (9.0)
>
>
> I took some things from the great work that Dat did in 
> [https://github.com/apache/lucene-solr/tree/jira/gradle] and took the ball a 
> little further.
>  
> When working with gradle in sub modules directly, I recommend 
> [https://github.com/dougborg/gdub]
> This gradle branch uses the following plugin for version locking, version 
> configuration and version consistency across modules: 
> [https://github.com/palantir/gradle-consistent-versions]
>  
>  https://github.com/apache/lucene-solr/tree/jira/SOLR-13452_gradle_2



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to