[
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: [email protected]
For additional commands, e-mail: [email protected]