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

Uwe Schindler commented on SOLR-13452:
--------------------------------------

Hi Mark,

I am working on forbidden-apis but there are 2 additional problems:

(1) First you added an {{include 'build/src'}} in settings.gradle, although 
this is not needed. The result of this is that the buildSrc dir is treated as a 
separate subproject, so all the configurations are applied to it, too. This 
should not be done. I removed it, project still compiles. If you keep the 
include, you break the build plugin because it uses itsself to build itsself. 
This fails e.g., forbiddenapis. On the other hand, it might be good to run 
"rat" on it. But this should be configured in buildSrc directly.

Another option is to give the build source a separate name and exclude it from 
the top-level config inside "subprojects" config. This is how Elasticsearch 
does it.

(2) There is a problem with the "compileOnly" dependency in solr-core. As it's 
compile only its also not exported to projects relying on it. As forbiddenapis 
hardcodes it as a signatures file, it wont work. You already excluded solrj, 
but it also affect other Solr modules that does not have it. IMHO, I'd change 
the configuration to only exclude servlet-api.txt sgnatures if the servlet-api 
compileOnly dependency is there.

(3) commons-io is missing. We need some trick to get the version number, but 
that's also easy: (like in 2, ask the configuration for the version).

I fixed (1) locally and working on (2). Once this works, I will look into the 
test excldudes for the forked Hadoop test classes. That should be easy (just 
change the forbiddenApisTest task in the Solr Core module and exclude 
directories).

> 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
>            Priority: Major
>
> 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]
> By default, dependencies are not transitive, but there is a special 
> Configuration for adding dependencies on other project internal modules that 
> are transitive to their direct external dependencies (their jar libs).
>  



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