[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-08-31 Thread Mark Miller (Jira)


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

Mark Miller edited comment on SOLR-13452 at 9/1/19 12:24 AM:
-

Development has shifted to 
https://github.com/apache/lucene-solr/tree/jira/SOLR-13452_gradle_6 which is up 
to date from a few days ago I believe.

If anyone pushes something to the previous branch on an update, I'll cherry 
pick it to the latest branch for you if it helps.


was (Author: markrmil...@gmail.com):
Development has shifted to 
https://github.com/apache/lucene-solr/tree/jira/SOLR-13452_gradle_6 which is up 
from a few days ago I believe.

If anyone pushes something to the previous branch on an update, I'll cherry 
pick it to the latest branch for you if it helps.

> 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
>  Components: Build
>Reporter: Mark Miller
>Assignee: Mark Miller
>Priority: Major
> Fix For: master (9.0)
>
> Attachments: gradle-build.pdf
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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_6



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-08-23 Thread Tomoko Uchida (Jira)


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

Tomoko Uchida edited comment on SOLR-13452 at 8/23/19 2:18 PM:
---

When I looked into inter-module dependency problems on IDEA, I noticed that it 
seems difficult to manage to keep our current IDEA module structure with Gradle 
IDEA plugin.
 I discarded (refactored) current structure defined in {{.idea/modules.xml}} 
and instead, made use of the default structure generated by the Gradle plugin. 
(Gradle IDEA plugin works well for me and I think it's much better than 
maintaining ".iml" files for all Lucene/Solr modules on our own.)

By this change IDEA users will see:
 1. module names have been changed (e.g., "backward-codecs" is now 
"lucene-backward-codecs", "extraction" is "solr-contrib-extraction", and so on) 
 2. main / test modules had been merged into one module (e.g., "lucene-core" 
and "lucene-core-tests" are now packed into "lucene-core", "solr-core" and 
"solr-core-tests" are packed into "solr-core", and so on).
 And you might notice 3. IDEA complains some circular dependencies those 
haven't been reported so far (they had been cleverly suppressed by customized 
module structure), but daily development shouldn't be affected by this.

I think unused IDEA configuration files can be removed when we remove all other 
Ant related files.

For me IDEA setup is 90% ready now... still not perfect, some 
fixes/improvements are needed.

[~markrmil...@gmail.com]: when I looked through build files, I noticed a typo.

[https://github.com/apache/lucene-solr/blob/jira/SOLR-13452_gradle_5/lucene/analysis/stempel/build.gradle#L22]

I think {{lucene-analyzers-stemple}} should be {{lucene-analyzers-stempel}} :)


was (Author: tomoko uchida):
When I looked into inter-module dependency problems on IDEA, I noticed that it 
seems difficult to manage to keep our current IDEA module structure with Gradle 
IDEA plugin.
 I discarded (refactored) current structure defined in {{.idea/modules.xml}} 
and instead, made use of the default structure generated by the Gradle plugin. 
(Gradle IDEA plugin works well for me and I think it's much better than 
maintaining ".iml" files for all Lucene/Solr modules on our own.)

By this change IDEA users will see:
 1. module names have been changed (e.g., "backward-codecs" is now 
"lucene-backward-codecs", "extraction" is "solr-contrib-extraction", and so on) 
 2. main / test modules have been merged into one module (e.g., "lucene-core" 
and "lucene-core-tests" are now packed into "lucene-core", "solr-core" and 
"solr-core-tests" are packed into "solr-core", and so on).
 And you might notice 3. IDEA complains some circular dependencies those 
haven't been reported so far (they have been cleverly suppressed by customized 
module structure), but daily development shouldn't be affected by this.

I think unused IDEA configuration files can be removed when we remove all other 
Ant related files.

For me IDEA setup is 90% ready now... still not perfect, some 
fixes/improvements are needed.

> 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
>  Components: Build
>Reporter: Mark Miller
>Assignee: Mark Miller
>Priority: Major
> Fix For: master (9.0)
>
> Attachments: gradle-build.pdf
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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_5



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-08-23 Thread Tomoko Uchida (Jira)


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

Tomoko Uchida edited comment on SOLR-13452 at 8/23/19 12:42 PM:


When I looked into inter-module dependency problems on IDEA, I noticed that it 
seems difficult to manage to keep our current IDEA module structure with Gradle 
IDEA plugin.
 I discarded (refactored) current structure defined in {{.idea/modules.xml}} 
and instead, made use of the default structure generated by the Gradle plugin. 
(Gradle IDEA plugin works well for me and I think it's much better than 
maintaining ".iml" files for all Lucene/Solr modules on our own.)

By this change IDEA users will see:
 1. module names have been changed (e.g., "backward-codecs" is now 
"lucene-backward-codecs", "extraction" is "solr-contrib-extraction", and so on) 
 2. main / test modules have been merged into one module (e.g., "lucene-core" 
and "lucene-core-tests" are now packed into "lucene-core", "solr-core" and 
"solr-core-tests" are packed into "solr-core", and so on).
 And you might notice 3. IDEA complains some circular dependencies those 
haven't been reported so far (they have been cleverly suppressed by customized 
module structure), but daily development shouldn't be affected by this.

I think unused IDEA configuration files can be removed when we remove all other 
Ant related files.

For me IDEA setup is 90% ready now... still not perfect, some 
fixes/improvements are needed.


was (Author: tomoko uchida):
When I looked into inter-module dependency problems on IDEA, I noticed that it 
seems difficult to manage to keep our current IDEA module structure with Gradle 
IDEA plugin.
 I discarded current structure (defined in {{.idea/modules.xml}}) and instead 
made use of the default structure generated by the Gradle plugin. (Gradle IDEA 
plugin works well for me and I think it's much better than maintaining ".iml" 
files for all Lucene/Solr modules on our own.)

By this change IDEA users will see:
 1. module names have been changed (e.g., "backward-codecs" is now 
"lucene-backward-codecs", "extraction" is "solr-contrib-extraction", and so on) 
 2. main / test modules have been merged into one module (e.g., "lucene-core" 
and "lucene-core-tests" are now packed into "lucene-core", "solr-core" and 
"solr-core-tests" are packed into "solr-core", and so on).
 And you might notice 3. IDEA complains some circular dependencies those 
haven't been reported so far (they have been cleverly suppressed by customized 
module structure), but daily development shouldn't be affected by this.

I think unused IDEA configuration files can be removed when we remove all other 
Ant related files.

For me IDEA setup is 90% ready now... still not perfect, some 
fixes/improvements are needed.

> 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
>  Components: Build
>Reporter: Mark Miller
>Assignee: Mark Miller
>Priority: Major
> Fix For: master (9.0)
>
> Attachments: gradle-build.pdf
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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_5



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-08-23 Thread Tomoko Uchida (Jira)


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

Tomoko Uchida edited comment on SOLR-13452 at 8/23/19 12:40 PM:


When I looked into inter-module dependency problems on IDEA, I noticed that it 
seems difficult to manage to keep our current IDEA module structure with Gradle 
IDEA plugin.
 I discarded current structure (defined in {{.idea/modules.xml}}) and instead 
made use of the default structure generated by the Gradle plugin. (Gradle IDEA 
plugin works well for me and I think it's much better than maintaining ".iml" 
files for all Lucene/Solr modules on our own.)

By this change IDEA users will see:
 1. module names have been changed (e.g., "backward-codecs" is now 
"lucene-backward-codecs", "extraction" is "solr-contrib-extraction", and so on) 
 2. main / test modules have been merged into one module (e.g., "lucene-core" 
and "lucene-core-tests" are now packed into "lucene-core", "solr-core" and 
"solr-core-tests" are packed into "solr-core", and so on).
 And you might notice 3. IDEA complains some circular dependencies those 
haven't been reported so far (they have been cleverly suppressed by customized 
module structure), but daily development shouldn't be affected by this.

I think unused IDEA configuration files can be removed when we remove all other 
Ant related files.

For me IDEA setup is 90% ready now... still not perfect, some 
fixes/improvements are needed.


was (Author: tomoko uchida):
When I looked into inter-module dependency problems on IDEA, I noticed that it 
seems difficult to manage to keep our current IDEA module structure with Gradle 
IDEA plugin.
 I discarded current IDEA module structure (defined in {{.idea/modules.xml}}) 
and instead made use of the default structure generated by the Gradle plugin. 
(Gradle IDEA plugin works well for me and I think it's much better than 
maintaining ".iml" files for all Lucene/Solr modules.)

By this change IDEA users will see that 
 1. module names have been changed (e.g., "backward-codecs" is now 
"lucene-backward-codecs", "extraction" is "solr-contrib-extraction", and so on) 
 2. separated main / test modules have been merged into one module (e.g., 
"lucene-core" and "lucene-core-tests" are now packed into "lucene-core", 
"solr-core" and "solr-core-tests" are packed into "solr-core", and so on).
 And you might notice 3. IDEA complains some circular dependency problems those 
haven't been reported so far, but daily development shouldn't be affected by 
this.

For me IDEA setup is 90% ready now... still not perfect, some 
fixes/improvements are needed.

> 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
>  Components: Build
>Reporter: Mark Miller
>Assignee: Mark Miller
>Priority: Major
> Fix For: master (9.0)
>
> Attachments: gradle-build.pdf
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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_5



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-08-22 Thread Ignacio Vera (Jira)


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

Ignacio Vera edited comment on SOLR-13452 at 8/22/19 7:55 AM:
--

I had a look to the implementation and I found that the new Lucene modules 
monitor and Luke seems not to be included in the gradle build.

And a question: which is the gradle command similar to ant precommit?


was (Author: ivera):
I had a look to the implementation and I found that the new Lucene modules 
monitor and Luke seems not to be included in the cradle build.

And a question: which is the griddle command similar to ant precommit?

> 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
>  Components: Build
>Reporter: Mark Miller
>Assignee: Mark Miller
>Priority: Major
> Fix For: master (9.0)
>
> Attachments: gradle-build.pdf
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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_5



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-06-11 Thread Joel Bernstein (JIRA)


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

Joel Bernstein edited comment on SOLR-13452 at 6/11/19 8:50 PM:


I think this sounds legit. Solr uses a very limited set of Calcite features and 
the test cases cover all of them. If the test cases are passing is that enough 
to be certain that the production release will run correctly with the same 
features?

[~krisden], what are your thoughts on this?


was (Author: joel.bernstein):
I think this sounds legit. Solr uses a very limited set of Calcite features and 
the test cases cover all of them. If the test cases are passing is that enough 
to be certain that the production release will run correctly with the same 
features?

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



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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-06-06 Thread Mark Miller (JIRA)


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

Mark Miller edited comment on SOLR-13452 at 6/6/19 11:52 AM:
-

{quote}One think I noticed is that you use File constructor a lot
{quote}
Yeah, I'm still fumbling with groovy and gradle as a Java guy. I'll do a pass 
and try to convert file stuff.

FYI, the new unusedDeps task will give a printout like the following (example 
on solr-core):
{noformat}
> gw unusedDeps

Our classpath dependency count 101
Our directly used dependency count 76

List of possibly unused jars - they may be used at runtime however 
(Class.forName or something), this is not definitive.
We take our classpath dependenies, substract our direct dependencies and then 
subtract dependencies used by our direct dependencies

asm-analysis-6.2.jar
asm-tree-6.2.jar
commons-beanutils-1.9.3.jar
kerb-crypto-1.0.1.jar
kerby-config-1.0.1.jar
kerby-pkix-1.0.1.jar
kerby-util-1.0.1.jar
lucene-spatial-8.1.0.jar
org.restlet.ext.servlet-2.3.0.jar

{noformat}


was (Author: markrmil...@gmail.com):
bq. One think I noticed is that you use File constructor a lot

Yeah, I'm still fumbling with groovy and gradle as a Java guy. I'll do a pass 
and try to convert file stuff.

FYI, the new unusedDeps task will give a printout like the following:

{noformat}
> gw unusedDeps

Our classpath dependency count 101
Our directly used dependency count 76

List of possibly unused jars - they may be used at runtime however 
(Class.forName or something), this is not definitive.
We take our classpath dependenies, substract our direct dependencies and then 
subtract dependencies used by our direct dependencies

asm-analysis-6.2.jar
asm-tree-6.2.jar
commons-beanutils-1.9.3.jar
kerb-crypto-1.0.1.jar
kerby-config-1.0.1.jar
kerby-pkix-1.0.1.jar
kerby-util-1.0.1.jar
lucene-spatial-8.1.0.jar
org.restlet.ext.servlet-2.3.0.jar

{noformat}



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



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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-05-27 Thread Mark Miller (JIRA)


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

Mark Miller edited comment on SOLR-13452 at 5/27/19 7:08 PM:
-

bq. Both approaches have their pros and cons. No worries.

Right, any project could go either way, so it has more to do with what the 
community will allow or go with and what I can manage to get bogged down with 
here. Technical issues aside, it's not easy to make a big change like this with 
so many developers on the project.

One thing that could def put weight towards using transitive with excludes is 
if we don't get full version resolution without transitive. For example, if 
zookeeper says it wants commons-io 2.4 and we have transitive false, when we 
pick our commons-io version, does it still take that into account?

[~dweiss], [~thetaphi], do you know?

If we did't get proper version resolution, I'd really argue we should change 
how we do things sooner rather than later.


was (Author: markrmil...@gmail.com):
bq. Both approaches have their pros and cons. No worries.

Right, any project could go either way, so it has more to do with what the 
community will allow or go with and what I can manage to get bogged down with 
her. Technical issues aside, it's not easy to make a big change like this with 
so many developers on the project.

One thing that could def put weight towards using transitive with excludes is 
if we don't get full version resolution without transitive. For example, if 
zookeeper says it wants commons-io 2.4 and we have transitive false, when we 
pick our commons-io version, does it still take that into account?

[~dweiss], [~thetaphi], do you know?

If we did't get proper version resolution, I'd really argue we should change 
how we do things sooner rather than later.

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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-05-21 Thread Varun Thacker (JIRA)


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

Varun Thacker edited comment on SOLR-13452 at 5/22/19 1:39 AM:
---

When i run {{./gradlew runjflex}} StandardTokenizerImpl has a compile time 
error - I believe we need to port this hack 
[https://github.com/apache/lucene-solr/blob/c756b50ae4324b5692b2956c7a5d484122ac3016/lucene/common-build.xml#L2575]
 over?  I'll try to address this and post back.

I knew about this specifically because I recently ran into this while trying to 
build a custom tokenizer

 

Just changing the skeleton.default file and removing the final modifier from 
ZZ_BUFFERSIZE didn't work . It hadn't worked for me previously as well. I'll 
look at it when I'm back in a few hours


was (Author: varunthacker):
When i run {{./gradlew runjflex}} StandardTokenizerImpl has a compile time 
error - I believe we need to port this hack 
[https://github.com/apache/lucene-solr/blob/c756b50ae4324b5692b2956c7a5d484122ac3016/lucene/common-build.xml#L2575]
 over?  I'll try to address this and post back.

 

I knew about this specifically because I recently ran into this while trying to 
build a custom tokenizer

 

> 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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-05-21 Thread Varun Thacker (JIRA)


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

Varun Thacker edited comment on SOLR-13452 at 5/22/19 1:31 AM:
---

When i run {{./gradlew runjflex}} StandardTokenizerImpl has a compile time 
error - I believe we need to port this hack 
[https://github.com/apache/lucene-solr/blob/c756b50ae4324b5692b2956c7a5d484122ac3016/lucene/common-build.xml#L2575]
 over?  I'll try to address this and post back.

 

I knew about this specifically because I recently ran into this while trying to 
build a custom tokenizer

 


was (Author: varunthacker):
When i run {{./gradlew runjflex}} this the StandardTokenizerImpl has a compile 
time error - I believe we need to port this hack 
[https://github.com/apache/lucene-solr/blob/c756b50ae4324b5692b2956c7a5d484122ac3016/lucene/common-build.xml#L2575]
 over?  I'll try to address this and post back.

 

I knew about this specifically because I recently ran into this while trying to 
build a custom tokenizer

 

> 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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-05-20 Thread Mark Miller (JIRA)


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

Mark Miller edited comment on SOLR-13452 at 5/20/19 8:59 PM:
-

The above commit let's you test the build using your local check out in docker.

This is very basic at the moment and just runs a few targets. By doing this in 
docker we can control various isolation levels, a clean dependency cache 
environment and can install certain target pre-requisites like python.

We could shorten the dependency gathering phase with an apt cache image or by 
sharing local caches with Docker if wanted to.

The test is in buildSrc and implemented as a new target called buildTest (I 
have not tested that much yet, just running from eclipse directly so far). It's 
implemented as a Java junit test that calls out to bash. A test script is run 
and configured to fail the junit test if any command fails. The test has an 
assume that basically checks for unix and docker command availability.


was (Author: markrmil...@gmail.com):
The above commit let's you test the build using your local check out in docker.

This is very basic at the moment and just runs a few targets. By doing this in 
docker we can control various isolation levels, a clean dependency cache 
environment and can install certain target pre-requisites like python.

We could shorten the dependency gathering phase with an apt cache image or by 
sharing local caches with Docker if wanted to.

The test is in buildSrc and implemented as a new target called testBuild (I 
have not tested that much yet, just running from eclipse directly so far). It's 
implemented as a Java junit test that calls out to bash. A test script is run 
and configured to fail the junit test if any command fails. The test has an 
assume that basically checks for unix and docker command availability.

> 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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-05-18 Thread Mark Miller (JIRA)


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

Mark Miller edited comment on SOLR-13452 at 5/18/19 9:43 PM:
-

Did some quick testing to ensure we are not regressing in multi-module build 
performance:
{noformat}
with deps cached and warmed up (ant cmd run more than once and gradle daemon on)

ant clean compile-test
  Total time: 1 minute 35 seconds


gw clean compileTestJava
  BUILD SUCCESSFUL in 27s

cold run with no deps cached (gradle daemon on)

ant clean compile-test
  Total time: 7 minutes 19 seconds
  
gw clean compileTestJava
  BUILD SUCCESSFUL in 1m 7s
{noformat}


was (Author: markrmil...@gmail.com):
Did some quick testing to ensure we are not regressing in multi-module build 
performance:

{noformat}


with deps cached and warmed up (ant cmd run more than once and gradle daemon on)

ant clean compile-java
  Total time: 1 minute 35 seconds


gw clean compileTestJava
  BUILD SUCCESSFUL in 27s

cold run with no deps cached (gradle daemon on)

ant clean compile-test
  Total time: 7 minutes 19 seconds
  
gw clean compileTestJava
  BUILD SUCCESSFUL in 1m 7s
{noformat}

> 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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-05-15 Thread Uwe Schindler (JIRA)


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

Uwe Schindler edited comment on SOLR-13452 at 5/15/19 10:23 PM:


Hi Mark,

I am working on forbidden-apis but there are few 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).

(4) System.out checking is also missing

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


was (Author: thetaphi):
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

[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-05-15 Thread Mark Miller (JIRA)


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

Mark Miller edited comment on SOLR-13452 at 5/15/19 2:24 PM:
-

I think Groovy seems more widely known and used with Gradle currently and one 
of the primary motivations here is to use something that most devs will be 
familiar with and that has great support and tooling.

If that changes, we would/could consider moving in the future I would imagine.


was (Author: markrmil...@gmail.com):
I think Goovy seems more widely known and used with Gradle currently and one of 
the primary motivations here is to use something that most devs will be 
familiar with and that has great support and tooling.

If that changes, we would/cloud consider moving in the future I would imagine.

> 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



[jira] [Comment Edited] (SOLR-13452) Update the lucene-solr build from Ivy+Ant+Maven (shadow build) to Gradle.

2019-05-10 Thread Tomoko Uchida (JIRA)


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

Tomoko Uchida edited comment on SOLR-13452 at 5/11/19 3:43 AM:
---

Hi [~markrmil...@gmail.com],

thank you for working for this.
{quote}I got eclipse working fairly well for me, I don't use idea though, so I 
imagine some work there.
{quote}
I use IntelliJ IDEA. I think I can help with this after all work is done. 
(Please give a mention to me.) 


was (Author: tomoko uchida):
Hi [~markrmil...@gmail.com],

thank you for working this.

bq. I got eclipse working fairly well for me, I don't use idea though, so I 
imagine some work there.

I use IntelliJ IDEA. I think I can help with this after all work is done. 
(Please give a mention to me.) 

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



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