Re: gradle build gives spurious warnings about unferenced license files?

2024-08-29 Thread Dawid Weiss
>
> Only tangentially related, I wanna do a gradle bump (from 8.8 to 8.10), to
> get better support for JDK 23, but ran into a couple of issues with how we
> define properties - might be that we need a little tweaking in how we do
> this. Maybe a gradle bump could fix the warnings, I dunno.
>

Hi Chris.

I'll take care of this upgrade tonight.

Dawid


Re: gradle build gives spurious warnings about unferenced license files?

2024-08-29 Thread Uwe Schindler

Problem already solved!

It was caused by this commit: https://github.com/apache/lucene/pull/12150

The problem is that the tasks for license checks have side-effects on 
global properties, so they have to run. The above optimization added a 
new output to one of the tasks, so it wan'st consistently executed.


Fix is here: https://github.com/apache/lucene/pull/13696

Uwe

Am 28.08.2024 um 18:27 schrieb Chris Hegarty:

On 28 Aug 2024, at 15:46, Michael McCandless  wrote:

I opened https://github.com/apache/lucene/issues/13695 to try to get to the 
bottom of this.

Thanks for opening this issue Mike. I’ve seen the warnings too, but have no 
idea why they happen.

Only tangentially related, I wanna do a gradle bump (from 8.8 to 8.10), to get 
better support for JDK 23, but ran into a couple of issues with how we define 
properties - might be that we need a little tweaking in how we do this. Maybe a 
gradle bump could fix the warnings, I dunno.

-Chris.


Mike McCandless

http://blog.mikemccandless.com


On Tue, Aug 27, 2024 at 4:29 PM Michael McCandless  
wrote:
Hi Team,

When I run "gradle check" on main, sometimes I get seemingly false positive 
warnings about dozens of unferenced license files, like this:

WARNING: there were unreferenced files under license folder:
   - /s1/l/trunk/lucene/licenses/antlr4-runtime-LICENSE-BSD.txt
   - /s1/l/trunk/lucene/licenses/antlr4-runtime-NOTICE.txt
   - /s1/l/trunk/lucene/licenses/asm-LICENSE-BSD_LIKE.txt
   - /s1/l/trunk/lucene/licenses/asm-NOTICE.txt
   - /s1/l/trunk/lucene/licenses/asm-commons-LICENSE-BSD_LIKE.txt
   - /s1/l/trunk/lucene/licenses/asm-commons-NOTICE.txt
   - /s1/l/trunk/lucene/licenses/assertj-core-LICENSE-ASL.txt
   - /s1/l/trunk/lucene/licenses/assertj-core-NOTICE.txt
   - /s1/l/trunk/lucene/licenses/commons-codec-LICENSE-ASL.txt
   - /s1/l/trunk/lucene/licenses/commons-codec-NOTICE.txt
   ...

If I then do a "./gradlew clean" and again "./gradlew check" the warnings seem to go 
away, but then if I immediately run "./gradlew check" again (after clean then check), the warnings 
return.

Does anyone know why this happens?  Can we stop the false positives?  God 
forbid I someday actually introduce a true positive warning, I would never 
notice :)

Mike McCandless

http://blog.mikemccandless.com


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


--
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail: u...@thetaphi.de


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



Re: gradle build gives spurious warnings about unferenced license files?

2024-08-28 Thread Chris Hegarty


> On 28 Aug 2024, at 15:46, Michael McCandless  
> wrote:
> 
> I opened https://github.com/apache/lucene/issues/13695 to try to get to the 
> bottom of this.

Thanks for opening this issue Mike. I’ve seen the warnings too, but have no 
idea why they happen.

Only tangentially related, I wanna do a gradle bump (from 8.8 to 8.10), to get 
better support for JDK 23, but ran into a couple of issues with how we define 
properties - might be that we need a little tweaking in how we do this. Maybe a 
gradle bump could fix the warnings, I dunno.

-Chris.

> Mike McCandless
> 
> http://blog.mikemccandless.com
> 
> 
> On Tue, Aug 27, 2024 at 4:29 PM Michael McCandless 
>  wrote:
> Hi Team,
> 
> When I run "gradle check" on main, sometimes I get seemingly false positive 
> warnings about dozens of unferenced license files, like this:
> 
> WARNING: there were unreferenced files under license folder:
>   - /s1/l/trunk/lucene/licenses/antlr4-runtime-LICENSE-BSD.txt
>   - /s1/l/trunk/lucene/licenses/antlr4-runtime-NOTICE.txt
>   - /s1/l/trunk/lucene/licenses/asm-LICENSE-BSD_LIKE.txt
>   - /s1/l/trunk/lucene/licenses/asm-NOTICE.txt
>   - /s1/l/trunk/lucene/licenses/asm-commons-LICENSE-BSD_LIKE.txt
>   - /s1/l/trunk/lucene/licenses/asm-commons-NOTICE.txt
>   - /s1/l/trunk/lucene/licenses/assertj-core-LICENSE-ASL.txt
>   - /s1/l/trunk/lucene/licenses/assertj-core-NOTICE.txt
>   - /s1/l/trunk/lucene/licenses/commons-codec-LICENSE-ASL.txt
>   - /s1/l/trunk/lucene/licenses/commons-codec-NOTICE.txt
>   ...
> 
> If I then do a "./gradlew clean" and again "./gradlew check" the warnings 
> seem to go away, but then if I immediately run "./gradlew check" again (after 
> clean then check), the warnings return.
> 
> Does anyone know why this happens?  Can we stop the false positives?  God 
> forbid I someday actually introduce a true positive warning, I would never 
> notice :)
> 
> Mike McCandless
> 
> http://blog.mikemccandless.com


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



Re: gradle build gives spurious warnings about unferenced license files?

2024-08-28 Thread Michael McCandless
I opened https://github.com/apache/lucene/issues/13695 to try to get to the
bottom of this.

Mike McCandless

http://blog.mikemccandless.com


On Tue, Aug 27, 2024 at 4:29 PM Michael McCandless <
luc...@mikemccandless.com> wrote:

> Hi Team,
>
> When I run "gradle check" on main, sometimes I get seemingly false
> positive warnings about dozens of unferenced license files, like this:
>
> WARNING: there were unreferenced files under license folder:
>   - /s1/l/trunk/lucene/licenses/antlr4-runtime-LICENSE-BSD.txt
>   - /s1/l/trunk/lucene/licenses/antlr4-runtime-NOTICE.txt
>   - /s1/l/trunk/lucene/licenses/asm-LICENSE-BSD_LIKE.txt
>   - /s1/l/trunk/lucene/licenses/asm-NOTICE.txt
>   - /s1/l/trunk/lucene/licenses/asm-commons-LICENSE-BSD_LIKE.txt
>   - /s1/l/trunk/lucene/licenses/asm-commons-NOTICE.txt
>   - /s1/l/trunk/lucene/licenses/assertj-core-LICENSE-ASL.txt
>   - /s1/l/trunk/lucene/licenses/assertj-core-NOTICE.txt
>   - /s1/l/trunk/lucene/licenses/commons-codec-LICENSE-ASL.txt
>   - /s1/l/trunk/lucene/licenses/commons-codec-NOTICE.txt
>   ...
>
> If I then do a "./gradlew clean" and again "./gradlew check" the warnings
> seem to go away, but then if I immediately run "./gradlew check" again
> (after clean then check), the warnings return.
>
> Does anyone know why this happens?  Can we stop the false positives?  God
> forbid I someday actually introduce a true positive warning, I would never
> notice :)
>
> Mike McCandless
>
> http://blog.mikemccandless.com
>


Re: Gradle build optimization

2021-10-20 Thread Dawid Weiss
> Huh, I thought by "cd lucene/core" would be equivalent to "-p lucene/core" 
> from the root checkout?

I don't think it is. It's a wrapper script - I'm not sure it
recognizes where it's run from.

> real0m4.802s
> user0m2.988s
> sys 0m0.189s
>
> Not much better?

Ok. In that case, it's something else. I have a strong suspicion that
gradle's test task scans through all the classes or does something
weird. You could try running with a build scan so that there are more
details on which phase actually takes those 5 seconds.

D.

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



Re: Gradle build optimization

2021-10-20 Thread Michael McCandless
[Adding Jerome back on CC -- not sure he's sub'd]

More below:

On Wed, Oct 20, 2021 at 10:37 AM Dawid Weiss  wrote:

> > I do!  I am now using pure Gradle/Lucene clean checkout defaults, from
> quite a while back (last time you scolded me ;) )
>
> Oh, I never scold. I politely pass over the torch of wisdom (or
> bullwaste, depending on the day). :)
>

Perfect!  I love it :)


> > But it's still slower than ant on 8.x was/is, plus it makes me pay a
> warmup penalty the first time (at defaults anyways).
>
> Part of the startup penalty is the evaluation of various scripts and
> settings that never get used. There are gradle-sque ways of avoiding
> that (lazy evaluation) but they do increase code complexity (in my
> opinion). The first-time compilation should be improved by moving
> scripts into buildSrc (or plugins). Again: this removes the clarity of
> individual aspect-based scripts (again: my opinion).
>

OK


> > so then I tested on main, with JDK15, also in cwd lucene/core: "time
> ../../gradlew test --tests
> "org.apache.lucene.index.TestIndexWriter.testGetCommitData"
> -Ptests.seed=D708CEE0862DB94C > ignored":
>
> You're running the test task in *each and every submodule* that
> declares it, then filter for a specific test case. Try this:
>

Huh, I thought by "cd lucene/core" would be equivalent to "-p lucene/core"
from the root checkout?

time ../../gradlew -p lucene/core test --tests
> "org.apache.lucene.index.TestIndexWriter.testGetCommitData"
> -Ptests.seed=D708CEE0862DB94C > ignored
>

I tried that but the "lucene/core" seems to incorrectly "stack up":

beast3:core[main]$ time ../../gradlew test -p lucene/core --tests
"org.apache.lucene.index.TestIndexWriter.testGetCommitData"
-Ptests.seed=D708CEE0862DB94C

Starting a Gradle Daemon (subsequent builds will be faster)


FAILURE: Build failed with an exception.


* What went wrong:
The specified project directory '/l/trunk/lucene/core/lucene/core' does not
exist.

I think you either "cd lucene/core" or you stay in ROOT and pass -p
lucene:core:test (or -p lucene/core?)?


> or full scoped task :lucene:core:test. Should be slightly better.
>

OK I tried that, in ROOT of the checkout "time ./gradlew lucene:core:test
--tests "org.apache.lucene.index.TestIndexWriter.testGetCommitData"
-Ptests.seed=D708CEE0862DB94C > ignore"

(discard first warmup, then:)

real0m4.514s

user0m3.090s

sys 0m0.186s


real0m4.587s

user0m3.029s

sys 0m0.186s


real0m4.802s

user0m2.988s

sys 0m0.189s

Not much better?

> Also, I'm running on a 128 core crazy beast of a box (Ryzen Threadripper
> 3990X), 256 GB RAM, fast SSD, 10g networking, etc. :)
>
I'm jealous.
>

LOL well there are even faster CPUs now I think, so I'm jealous of them!
Turtles all the way down ...


> > Also I want to thank you for migrating us to Gradle in the first place
>
> No need to thank anybody. It's fun.
>

Awesome!


> > But I really don't like waiting :)  And yes maybe I just should learn
> how to use fancy IDE debuggers instead of SOP + rerun many times ;)
>
> IntelliJ works very well for me with Lucene (especially if gradle is
> not used for compilation/ test launching). You may also look at this -
> never tried it but it looks like something your all-green terminals
> may look forward to:
>
>
> https://docs.gradle.org/current/userguide/command_line_interface.html#sec:continuous_build


Whoa, that does look interesting!  Thanks for the pointer.

Mike


Re: Gradle build optimization

2021-10-20 Thread Jerome Prinet
I'm glad to see that this initiative creates a lot of excitement!

I however need to narrow down a bit the scope of expectations as my plan is
not to go too deep into the project's logic (won't cover tests taking too
long to run for instance) but rather applying some techniques to avoid task
execution when not needed.
This will happen without involving extra complexity hopefully.

We'll probably discuss that with the PR.

So far, here is the Jira ticket, feel free to drop your comments in there
as well:
https://issues.apache.org/jira/browse/LUCENE-10195

Best,
Jerome




On Wed, Oct 20, 2021 at 4:42 PM Dawid Weiss  wrote:

> > The fully scoped one doesn't enjoy tab completion in the shell though.
> > So I always do path-based "-p lucene/core" because it is less typing
> > and less mistakes.
>
> Funny, it's exactly why I prefer -p as well.
>
> D.
>


Re: Gradle build optimization

2021-10-20 Thread Dawid Weiss
> The fully scoped one doesn't enjoy tab completion in the shell though.
> So I always do path-based "-p lucene/core" because it is less typing
> and less mistakes.

Funny, it's exactly why I prefer -p as well.

D.

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



Re: Gradle build optimization

2021-10-20 Thread Robert Muir
On Wed, Oct 20, 2021 at 10:37 AM Dawid Weiss  wrote:
> You're running the test task in *each and every submodule* that
> declares it, then filter for a specific test case. Try this:
>
> time ../../gradlew -p lucene/core test --tests
> "org.apache.lucene.index.TestIndexWriter.testGetCommitData"
> -Ptests.seed=D708CEE0862DB94C > ignored
>
> or full scoped task :lucene:core:test. Should be slightly better.
>

The fully scoped one doesn't enjoy tab completion in the shell though.
So I always do path-based "-p lucene/core" because it is less typing
and less mistakes.

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



Re: Gradle build optimization

2021-10-20 Thread Dawid Weiss
> I do!  I am now using pure Gradle/Lucene clean checkout defaults, from quite 
> a while back (last time you scolded me ;) )

Oh, I never scold. I politely pass over the torch of wisdom (or
bullwaste, depending on the day). :)

> But it's still slower than ant on 8.x was/is, plus it makes me pay a warmup 
> penalty the first time (at defaults anyways).

Part of the startup penalty is the evaluation of various scripts and
settings that never get used. There are gradle-sque ways of avoiding
that (lazy evaluation) but they do increase code complexity (in my
opinion). The first-time compilation should be improved by moving
scripts into buildSrc (or plugins). Again: this removes the clarity of
individual aspect-based scripts (again: my opinion).

> so then I tested on main, with JDK15, also in cwd lucene/core: "time 
> ../../gradlew test --tests 
> "org.apache.lucene.index.TestIndexWriter.testGetCommitData" 
> -Ptests.seed=D708CEE0862DB94C > ignored":

You're running the test task in *each and every submodule* that
declares it, then filter for a specific test case. Try this:

time ../../gradlew -p lucene/core test --tests
"org.apache.lucene.index.TestIndexWriter.testGetCommitData"
-Ptests.seed=D708CEE0862DB94C > ignored

or full scoped task :lucene:core:test. Should be slightly better.

> Also, I'm running on a 128 core crazy beast of a box (Ryzen Threadripper 
> 3990X), 256 GB RAM, fast SSD, 10g networking, etc. :)

I'm jealous.

> Also I want to thank you for migrating us to Gradle in the first place

No need to thank anybody. It's fun.

> But I really don't like waiting :)  And yes maybe I just should learn how to 
> use fancy IDE debuggers instead of SOP + rerun many times ;)

IntelliJ works very well for me with Lucene (especially if gradle is
not used for compilation/ test launching). You may also look at this -
never tried it but it looks like something your all-green terminals
may look forward to:

https://docs.gradle.org/current/userguide/command_line_interface.html#sec:continuous_build

Dawid

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



Re: Gradle build optimization

2021-10-20 Thread Michael McCandless
It is very possible I am holding gradlew wrong, like this:
https://i2.wp.com/www.adatosystems.com/wp-content/uploads/2019/03/wrong_tool.jpg

Mike McCandless

http://blog.mikemccandless.com


On Wed, Oct 20, 2021 at 10:21 AM Michael McCandless <
luc...@mikemccandless.com> wrote:

> Jerome, if you are not sub'd to the Lucene dev list, then you maybe missed
> some of the replies here.  I'm CC'ing you back on here.
>
> More responses below:
>
> On Wed, Oct 20, 2021 at 8:45 AM Dawid Weiss  wrote:
>
>>
>>
>>> I was just annoyed yesterday at how long running a single test case
>>> takes.
>>>
>>
>> Use the background daemon, Mike.
>>
>
> I do!  I am now using pure Gradle/Lucene clean checkout defaults, from
> quite a while back (last time you scolded me ;) )
>
> And the defaults enable the daemon I think?  Yeah, just confirmed.
>
> But it's still slower than ant on 8.x was/is, plus it makes me pay a
> warmup penalty the first time (at defaults anyways).  I just tested 8.x in
> cwd lucene/core and JDK8: "time ant test -Dtestcase=TestIndexWriter
> -Dtestmethod=testGetCommitData > ignored" three times:
>
> real0m2.609s
>
> user0m10.583s
>
> sys 0m0.590s
>
>
> real0m2.585s
>
> user0m10.329s
>
> sys 0m0.827s
>
>
> real0m2.610s
>
> user0m10.458s
>
> sys 0m0.606s
>
>
>
> so then I tested on main, with JDK15, also in cwd lucene/core: "time
> ../../gradlew test --tests
> "org.apache.lucene.index.TestIndexWriter.testGetCommitData"
> -Ptests.seed=D708CEE0862DB94C > ignored":
>
> ** (first time discarded due to "daemon" warmup its fire up)
>
> real0m4.447s
>
> user0m2.956s
>
> sys 0m0.217s
>
>
> real0m4.399s
>
> user0m3.028s
>
> sys 0m0.233s
>
>
> real0m4.404s
>
> user0m3.021s
>
> sys 0m0.181s
>
>
> Now I know there are many differences besides ant/gradle!  Maybe JDK15's
> startup time got worse.  The random seed does not carry over.  Lucene's
> sources are different, etc.  And maybe I should care about a second or two
> :)  But I do!
>
> Also, I'm running on a 128 core crazy beast of a box (Ryzen Threadripper
> 3990X), 256 GB RAM, fast SSD, 10g networking, etc. :)
>
> Also I want to thank you for migrating us to Gradle in the first place --
> I know that was a crazy amount of work!  I'm trying not to complain (too
> much).  But I really don't like waiting :)  And yes maybe I just should
> learn how to use fancy IDE debuggers instead of SOP + rerun many times ;)
>
> Mike McCandless
>
> http://blog.mikemccandless.com
>


Re: Gradle build optimization

2021-10-20 Thread Michael McCandless
Jerome, if you are not sub'd to the Lucene dev list, then you maybe missed
some of the replies here.  I'm CC'ing you back on here.

More responses below:

On Wed, Oct 20, 2021 at 8:45 AM Dawid Weiss  wrote:

>
>
>> I was just annoyed yesterday at how long running a single test case takes.
>>
>
> Use the background daemon, Mike.
>

I do!  I am now using pure Gradle/Lucene clean checkout defaults, from
quite a while back (last time you scolded me ;) )

And the defaults enable the daemon I think?  Yeah, just confirmed.

But it's still slower than ant on 8.x was/is, plus it makes me pay a warmup
penalty the first time (at defaults anyways).  I just tested 8.x in cwd
lucene/core and JDK8: "time ant test -Dtestcase=TestIndexWriter
-Dtestmethod=testGetCommitData > ignored" three times:

real0m2.609s

user0m10.583s

sys 0m0.590s


real0m2.585s

user0m10.329s

sys 0m0.827s


real0m2.610s

user0m10.458s

sys 0m0.606s



so then I tested on main, with JDK15, also in cwd lucene/core: "time
../../gradlew test --tests
"org.apache.lucene.index.TestIndexWriter.testGetCommitData"
-Ptests.seed=D708CEE0862DB94C > ignored":

** (first time discarded due to "daemon" warmup its fire up)

real0m4.447s

user0m2.956s

sys 0m0.217s


real0m4.399s

user0m3.028s

sys 0m0.233s


real0m4.404s

user0m3.021s

sys 0m0.181s


Now I know there are many differences besides ant/gradle!  Maybe JDK15's
startup time got worse.  The random seed does not carry over.  Lucene's
sources are different, etc.  And maybe I should care about a second or two
:)  But I do!

Also, I'm running on a 128 core crazy beast of a box (Ryzen Threadripper
3990X), 256 GB RAM, fast SSD, 10g networking, etc. :)

Also I want to thank you for migrating us to Gradle in the first place -- I
know that was a crazy amount of work!  I'm trying not to complain (too
much).  But I really don't like waiting :)  And yes maybe I just should
learn how to use fancy IDE debuggers instead of SOP + rerun many times ;)

Mike McCandless

http://blog.mikemccandless.com


Re: Gradle build optimization

2021-10-20 Thread Dawid Weiss
Btw. this is a placeholder for some of the known bits that require solving.

https://issues.apache.org/jira/browse/LUCENE-9871

It'd be awesome to see some help from you guys at Gradle to solve the
non-trivial things:

- test runner and early/ internal JVM output (the issue I mentioned before),
- test runner test case ordering optimization (load balancing between
worker JVMs); currently the long-tail test case can slow down builds
significantly.
- support for user-local gradle.properties or computed properties there (we
currently generate this file because it'll be slightly different for every
developer, this requires a non-optimal first run),
- support for project-controlled up-to-date mechanism (versioned artifact
checksums) that is not bypassed on the first run. This is needed for
generated resources - I didn't figure out how to do it other than with ugly
hacks.

If any of these is of interest to you, I can provide more pointers, of
course. Let me know!

Dawid

On Wed, Oct 20, 2021 at 1:48 PM Jerome Prinet  wrote:

> Hi Lucene team!
> I am a software engineer at Gradle and I'd like to help you optimize
> Lucene's Gradle build.
> I have already been working on this topic and I'd like to open a PR.
> Should I start by creating a JIRA issue first?
> Please let me know how to proceed.
> Kind regards,
>
> --
>
> Jerome Prinet
> Senior Software Engineer
> Gradle
> W. gradle.com
>
>


Re: Gradle build optimization

2021-10-20 Thread Robert Muir
On Wed, Oct 20, 2021 at 8:52 AM Dawid Weiss  wrote:
>
> Can you tell us a bit more about which directions these mentioned
> optimizations apply to? If it's about build caches then it's already
> been discussed as a contribution to Solr:

Sure, something like that is definitely worthy of discussion first.

I don't understand why build caches are ever needed. If the outputs
are up-to-date with the inputs, then it should say UP-TO-DATE.

If I ask for "clean", then I really mean it, and expect the next run
to be slower.

These are simple rules for any build system (Makefile, etc). Gradle is
no exception.

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



Re: Gradle build optimization

2021-10-20 Thread Dawid Weiss
Also, run an explicit project task (or narrow down the project with
-p); if you're running a generic 'test' over all projects it may have
to run/ scan all the classes. If you provide a full command line you
used it'll be easier why it takes so long.

D.

On Wed, Oct 20, 2021 at 2:44 PM Dawid Weiss  wrote:
>
>
>>
>> I was just annoyed yesterday at how long running a single test case takes.
>
>
> Use the background daemon, Mike.
>
> D.
>

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



Re: Gradle build optimization

2021-10-20 Thread Dawid Weiss
Can you tell us a bit more about which directions these mentioned
optimizations apply to? If it's about build caches then it's already
been discussed as a contribution to Solr:

https://issues.apache.org/jira/browse/SOLR-15603

Also, it'd be great to see some feedback for more fundamental issues
within gradle -- like this one:

https://issues.apache.org/jira/browse/LUCENE-9120
https://github.com/gradle/gradle/issues/11609

(this is marked as closed -- incorrectly; it's still a bug and always has been).

Dawid

On Wed, Oct 20, 2021 at 1:48 PM Jerome Prinet  wrote:
>
> Hi Lucene team!
> I am a software engineer at Gradle and I'd like to help you optimize Lucene's 
> Gradle build.
> I have already been working on this topic and I'd like to open a PR.
> Should I start by creating a JIRA issue first?
> Please let me know how to proceed.
> Kind regards,
>
> --
>
> Jerome Prinet
> Senior Software Engineer
> Gradle
> W. gradle.com
>
>

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



Re: Gradle build optimization

2021-10-20 Thread Dawid Weiss
> I was just annoyed yesterday at how long running a single test case takes.
>

Use the background daemon, Mike.

D.


Re: Gradle build optimization

2021-10-20 Thread Michael McCandless
Whoa, hi Jerome, yes please :)

I was just annoyed yesterday at how long running a single test case takes.

Please create an issue and reference it (in all caps, i.e. LUCENE-X) in
the description.

Thanks,

Mike McCandless

http://blog.mikemccandless.com


On Wed, Oct 20, 2021 at 7:48 AM Jerome Prinet  wrote:

> Hi Lucene team!
> I am a software engineer at Gradle and I'd like to help you optimize
> Lucene's Gradle build.
> I have already been working on this topic and I'd like to open a PR.
> Should I start by creating a JIRA issue first?
> Please let me know how to proceed.
> Kind regards,
>
> --
>
> Jerome Prinet
> Senior Software Engineer
> Gradle
> W. gradle.com
>
>


Re: Gradle build, where's the output?

2020-09-22 Thread Erick Erickson
SOLR-14888

I’m a bit underwater now, so probably won’t get to a PR for a while.

> On Sep 22, 2020, at 12:33 PM, Mike Drob  wrote:
> 
> It likely disappeared when I switched us to use the distribution plugin. Feel 
> free to open either a JIRA or PR for it, depending on your comfort. 
> 
> On Tue, Sep 22, 2020 at 11:11 AM Erick Erickson  
> wrote:
> We’re probably talking about different things. I have access to all the 
> folders, I think our gradle build has changed recently and we stopped 
> printing out a message for where the results of a specific task wound up.
> 
> 
> 
> Always possible it’s something else of course, I’m checking whether it’s a 
> change to our build scripts which have been changing a lot lately.
> 
> 
> 
> > On Sep 22, 2020, at 11:51 AM, Martin Gainty  wrote:
> 
> > 
> 
> > travis doc suggests user account does not have 'read access' to dependency 
> > folder
> 
> > 
> 
> > https://docs.travis-ci.com/user/languages/java/#projects-using-gradle
> 
> > 
> 
> > m-
> 
> > 
> 
> > From: Erick Erickson 
> 
> > Sent: Tuesday, September 22, 2020 10:48 AM
> 
> > To: dev@lucene.apache.org 
> 
> > Subject: Gradle build, where's the output?
> 
> >  
> 
> > The Gradle build used to print out where to find the artifacts for the 
> > “assemble” and “dev” tasks, but that disappeared sometime. Is this 
> > intentional? It really helped me the first time I tried to run Solr after 
> > building with Gradle…
> 
> > 
> 
> > Currently, “gradlew tasks” does print the location of the artifacts for the 
> > “dev” target, but not the “assemble” target, that might suffice.
> 
> > -
> 
> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> 
> > For additional commands, e-mail: dev-h...@lucene.apache.org
> 
> 
> 
> 
> 
> -
> 
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> 
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 
> 
> 


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



Re: Gradle build, where's the output?

2020-09-22 Thread Mike Drob
It likely disappeared when I switched us to use the distribution plugin.
Feel free to open either a JIRA or PR for it, depending on your comfort.

On Tue, Sep 22, 2020 at 11:11 AM Erick Erickson 
wrote:

> We’re probably talking about different things. I have access to all the
> folders, I think our gradle build has changed recently and we stopped
> printing out a message for where the results of a specific task wound up.
>
>
>
> Always possible it’s something else of course, I’m checking whether it’s a
> change to our build scripts which have been changing a lot lately.
>
>
>
> > On Sep 22, 2020, at 11:51 AM, Martin Gainty  wrote:
>
> >
>
> > travis doc suggests user account does not have 'read access' to
> dependency folder
>
> >
>
> > https://docs.travis-ci.com/user/languages/java/#projects-using-gradle
>
> >
>
> > m-
>
> >
>
> > From: Erick Erickson 
>
> > Sent: Tuesday, September 22, 2020 10:48 AM
>
> > To: dev@lucene.apache.org 
>
> > Subject: Gradle build, where's the output?
>
> >
>
> > The Gradle build used to print out where to find the artifacts for the
> “assemble” and “dev” tasks, but that disappeared sometime. Is this
> intentional? It really helped me the first time I tried to run Solr after
> building with Gradle…
>
> >
>
> > Currently, “gradlew tasks” does print the location of the artifacts for
> the “dev” target, but not the “assemble” target, that might suffice.
>
> > -
>
> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>
> > For additional commands, e-mail: dev-h...@lucene.apache.org
>
>
>
>
>
> -
>
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>
>
>


Re: Gradle build, where's the output?

2020-09-22 Thread Erick Erickson
We’re probably talking about different things. I have access to all the 
folders, I think our gradle build has changed recently and we stopped printing 
out a message for where the results of a specific task wound up.

Always possible it’s something else of course, I’m checking whether it’s a 
change to our build scripts which have been changing a lot lately.

> On Sep 22, 2020, at 11:51 AM, Martin Gainty  wrote:
> 
> travis doc suggests user account does not have 'read access' to dependency 
> folder
> 
> https://docs.travis-ci.com/user/languages/java/#projects-using-gradle
> 
> m-
> 
> From: Erick Erickson 
> Sent: Tuesday, September 22, 2020 10:48 AM
> To: dev@lucene.apache.org 
> Subject: Gradle build, where's the output?
>  
> The Gradle build used to print out where to find the artifacts for the 
> “assemble” and “dev” tasks, but that disappeared sometime. Is this 
> intentional? It really helped me the first time I tried to run Solr after 
> building with Gradle…
> 
> Currently, “gradlew tasks” does print the location of the artifacts for the 
> “dev” target, but not the “assemble” target, that might suffice.
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org


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



Re: Gradle build, where's the output?

2020-09-22 Thread Martin Gainty
travis doc suggests user account does not have 'read access' to dependency 
folder

https://docs.travis-ci.com/user/languages/java/#projects-using-gradle

m-


From: Erick Erickson 
Sent: Tuesday, September 22, 2020 10:48 AM
To: dev@lucene.apache.org 
Subject: Gradle build, where's the output?

The Gradle build used to print out where to find the artifacts for the 
“assemble” and “dev” tasks, but that disappeared sometime. Is this intentional? 
It really helped me the first time I tried to run Solr after building with 
Gradle…

Currently, “gradlew tasks” does print the location of the artifacts for the 
“dev” target, but not the “assemble” target, that might suffice.
-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



Re: Gradle build question

2020-05-14 Thread Dawid Weiss
> WDYT about making 3g the default (I volunteer)?

I honestly don't know what consumes so much memory in the daemon -
whether it's the caches or something else. It doesn't seem the build
should need SO much memory... Feel free to bump but it'd be even
better to figure out why it needs so much and perhaps clean it up! :)

D.

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



Re: Gradle build is on master

2020-01-16 Thread Dawid Weiss
Hi Uwe,

> Can we correct it on ant's side somehow (by ignoring jetty-start-*)?

I've just committed a quick workaround so that ant-regenerate doesn't wipe
this particular file (on master) so that builds can pass.

I don't know any better solution to this. If we're looking to
switching to gradle then
I'd rather consider the gradle build the primary source of truth and
fix ant to what's
required for it to pass. Let me know what you think though.

D.

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



Re: Gradle build is on master

2020-01-16 Thread Dawid Weiss
> Thanks Dawid – great work!

Thank you all. I don't think it's particularly great, but definitely a
step forward from ant which has gotten very complex and where simple
things are difficult to achieve. Gradle is not without its own issues
(some known, some waiting to be discovered) but it is manageable I
think.

> there is a small problem with Jenkins (still running ANT build; I may add a 
> second one running the gradle build!):

Gradle on a CI will require some overrides -- I'd disable the daemon
and set the number of workers manually. Something like:

./gradlew --no-daemon --max-workers=5 ...

In the initial stage it'd be enough if you just ran precommit and
other checks, without tests:

./gradlew --no-daemon --max-workers=5 precommit check -x test

This would be helpful enough! Of course you can run tests as well but
they take approximately the same amount of time as with ant in my
experience.

> The Jenkins build does a license and JAR file check by first deleting all 
> checksum files and then regenerate all of them from the downloaded artifacts. 
> Afterwards it checks that the GIT checkout is clean. This is done to detect 
> obsolete or incorrect checksum files.

This only works for sha files, right? Because I removed quite a few
other dangling files when I implemented this for the gradle
counterpart (Gradle build does this kind of check as part of
precommit).

> With the gradle update you added the shaded jetty JAR file, but the old ANT 
> build seems to still use the old/different name. It means after checksum 
> regeneration the checkout is no longer clean:

Correct. The shaded jetty jar file is the only exception I made. It
just didn't fit the logical way those files are looked up (by their
real artifact name). In fact I ignore "start.jar" in gradle, otherwise
it'd be reported as a dangling file...

> /home/jenkins/workspace/Lucene-Solr-master-Linux/build.xml:494: Source 
> checkout is dirty (unversioned/missing files) after running tests!!! 
> Offending files:
>
> * solr/licenses/jetty-start-9.4.24.v20191120-shaded.jar.sha1

Can we correct it on ant's side somehow (by ignoring jetty-start-*)?
This file points at a real dependency and you can tell what this
dependency is while "start.jar.sha1" doesn't really mean anything (and
it isn't easy to figure out which license applies to it, etc.). There
are more oddball checksums in there that don't really match true
redistributed project dependencies [1] but this one is the most
annoying one I think.

D.

[1] 
https://github.com/apache/lucene-solr/blob/master/gradle/validation/jar-checks.gradle#L340-L368

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



RE: Gradle build is on master

2020-01-15 Thread Uwe Schindler
Thanks Dawid – great work!

 

there is a small problem with Jenkins (still running ANT build; I may add a 
second one running the gradle build!): The Jenkins build does a license and JAR 
file check by first deleting all checksum files and then regenerate all of them 
from the downloaded artifacts. Afterwards it checks that the GIT checkout is 
clean. This is done to detect obsolete or incorrect checksum files.

 

With the gradle update you added the shaded jetty JAR file, but the old ANT 
build seems to still use the old/different name. It means after checksum 
regeneration the checkout is no longer clean:

 

/home/jenkins/workspace/Lucene-Solr-master-Linux/build.xml:494: Source checkout 
is dirty (unversioned/missing files) after running tests!!! Offending files:

* solr/licenses/jetty-start-9.4.24.v20191120-shaded.jar.sha1

 

It does not seem to happen on 8.x branch so it look like caused by Gradle build.

 

See here:  
<https://jenkins.thetaphi.de/job/Lucene-Solr-master-Linux/25336/console> 
https://jenkins.thetaphi.de/job/Lucene-Solr-master-Linux/25336/console

 

Uwe

 

-

Uwe Schindler

Achterdiek 19, D-28357 Bremen

https://www.thetaphi.de

eMail: u...@thetaphi.de

 

From: David Smiley  
Sent: Wednesday, January 15, 2020 11:24 PM
To: Solr/Lucene Dev 
Subject: Re: Gradle build is on master

 

This is a big milestone indeed!  Thanks Mark, Dawid, Erick, Dat, Mike, etc.




~ David Smiley

Apache Lucene/Solr Search Developer

http://www.linkedin.com/in/davidwsmiley

 

 

On Wed, Jan 15, 2020 at 2:00 PM Anshum Gupta mailto:ans...@anshumgupta.net> > wrote:

Thank you Dawid and everyone else !

 

On Wed, Jan 15, 2020 at 5:33 AM Dawid Weiss mailto:dawid.we...@gmail.com> > wrote:

Hello,

I've just merged the gradle-master branch so gradle build can be used
on master.

As previously mentioned, it isn't a complete replacement for ant but I
think we're getting darn close and common tasks are fairly well
covered.

Any issues or concerns: create an issue in jira or send an e-mail to
the mailing list, CCing me directly.

Dawid

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




 

-- 

Anshum Gupta



Re: Gradle build is on master

2020-01-15 Thread David Smiley
This is a big milestone indeed!  Thanks Mark, Dawid, Erick, Dat, Mike, etc.

~ David Smiley
Apache Lucene/Solr Search Developer
http://www.linkedin.com/in/davidwsmiley


On Wed, Jan 15, 2020 at 2:00 PM Anshum Gupta  wrote:

> Thank you Dawid and everyone else !
>
> On Wed, Jan 15, 2020 at 5:33 AM Dawid Weiss  wrote:
>
>> Hello,
>>
>> I've just merged the gradle-master branch so gradle build can be used
>> on master.
>>
>> As previously mentioned, it isn't a complete replacement for ant but I
>> think we're getting darn close and common tasks are fairly well
>> covered.
>>
>> Any issues or concerns: create an issue in jira or send an e-mail to
>> the mailing list, CCing me directly.
>>
>> Dawid
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>
>
> --
> Anshum Gupta
>


Re: Gradle build is on master

2020-01-15 Thread Anshum Gupta
Thank you Dawid and everyone else !

On Wed, Jan 15, 2020 at 5:33 AM Dawid Weiss  wrote:

> Hello,
>
> I've just merged the gradle-master branch so gradle build can be used
> on master.
>
> As previously mentioned, it isn't a complete replacement for ant but I
> think we're getting darn close and common tasks are fairly well
> covered.
>
> Any issues or concerns: create an issue in jira or send an e-mail to
> the mailing list, CCing me directly.
>
> Dawid
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>

-- 
Anshum Gupta


Re: Gradle build is on master

2020-01-15 Thread Ishan Chattopadhyaya
Thanks Dawid. Big milestone reached.
Thanks Mark, Erick and everyone else who helped. I'm super excited.

On Wed, 15 Jan, 2020, 7:03 PM Dawid Weiss,  wrote:

> Hello,
>
> I've just merged the gradle-master branch so gradle build can be used
> on master.
>
> As previously mentioned, it isn't a complete replacement for ant but I
> think we're getting darn close and common tasks are fairly well
> covered.
>
> Any issues or concerns: create an issue in jira or send an e-mail to
> the mailing list, CCing me directly.
>
> Dawid
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Gradle build to land on master

2020-01-08 Thread Dawid Weiss
> Are you thinking to have a gradle task that fails if there is mismatch 
> between ant and gradle dependencies versions?

When you run './gradlew licenses' it currently applies all the checks
against the same "licenses" folders as ant. So when you change something in ant
and not do a corresponding change to gradle dependencies, "gradlew
precommit" (or "licenses")
will fail the build.

Technically there are a few ignored entries inside the gradle validation
script (to skip things like "start.jar"); everything else is resolved
directly from
declared dependencies.

https://github.com/apache/lucene-solr/blob/gradle-master/gradle/validation/jar-checks.gradle#L340-L368

The gradle validation script is more strict than the ant build -- it
fails if there are leftover files that don't belong
anywhere, for example.

Dawid

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



Re: Gradle build to land on master

2020-01-08 Thread Jan Høydahl
+1 The sooner the better

> This would ensure consistency in dependencies, for example
Are you thinking to have a gradle task that fails if there is mismatch between 
ant and gradle dependencies versions?

Jan

> 8. jan. 2020 kl. 15:29 skrev Dawid Weiss :
> 
> I think the gradle-master branch is already workable enough to land on master.
> 
> If you're not familiar with gradle then, once merged, run "gradlew help".
> 
> Some notes.
> 
> 1) I have been running tests on Windows and Linux, they're ok. The
> output is slightly different from ANT's but I think it's fine for
> working.
> 
> 2) The speed of compilation and running tests selectively is much
> better than ant's, especially on multicore machines.
> 
> 3) I use IntelliJ idea and the project imports into the IDE without
> any special handling. Code formatting and such may need to be adjusted
> though.
> 
> 4) Some things are incomplete (precommit does a subset of checks).
> Some are missing (regeneration tasks). Some are different (handling of
> dependencies, build output folder locations). It will take some time
> and learning to live with a new build system. I tried to provide short
> guides into selective areas (they're available as help tasks or plain
> text files under help/).
> 
> 5) If something does *not* work, let me know.
> 
> 6) It'd be nice if we had a build job somewhere on a faster machine
> that would run at least "gradlew precommit check -x test" so that
> rudimentary checks are applied, without running all the tests. This
> would ensure consistency in dependencies, for example.
> 
> 7) The parallel branch (gradle-master) and issue (LUCENE-9077) will be
> kept open and occasionally merged back and forth.
> 
> I have to shift more focus to my daily job but will help out and chip
> at the remaining bits, time permitting.
> 
> Dawid
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 


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



Re: Gradle build to land on master

2020-01-08 Thread Dawid Weiss
> Maybe the README should be altered a little bit to encourage people to mess 
> around with the gradle build. Currently all the instructions in the root 
> README are ant-based.

Will do it, thanks for the suggestion.

D

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



Re: Gradle build to land on master

2020-01-08 Thread Robert Muir
Dawid, I think the plan is good, and thanks for working on it.

Maybe the README should be altered a little bit to encourage people to mess
around with the gradle build. Currently all the instructions in the root
README are ant-based. I am thinking just a simple one-liner that explains
it: gradle is WIP, patches welcome, whatever you want it to say.




On Wed, Jan 8, 2020 at 12:44 PM Dawid Weiss  wrote:

> > So are we going to be able to do things like EA testing?
>
> We should be able to, eventually. For now I explicitly limited the
> environment to a particular Java/ Gradle version so that
> we're all on the same page... Gradle is a much more complicated (and
> fragile) ecosystem than ant. Weird things (like the one you
> experienced, argh!) can happen out of nowhere.
>
> Perhaps I should also clarify: the ant build will still work (on
> master) until we can iron out all the problems. I just don't want to
> keep the branch separate anymore. One of the reasons for this is
> simple: I've had more feedback in the last 5 minutes than I had in the
> last three weeks. :) I am also afraid the whole effort will die if
> there is only one person effectively using it -- this is what happened
> with Mark's branch. I tried to bring it to a functional level and I
> think it's there -- I've been working with it for over a month now.
>
> Dawid
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Gradle build to land on master

2020-01-08 Thread Dawid Weiss
> So are we going to be able to do things like EA testing?

We should be able to, eventually. For now I explicitly limited the
environment to a particular Java/ Gradle version so that
we're all on the same page... Gradle is a much more complicated (and
fragile) ecosystem than ant. Weird things (like the one you
experienced, argh!) can happen out of nowhere.

Perhaps I should also clarify: the ant build will still work (on
master) until we can iron out all the problems. I just don't want to
keep the branch separate anymore. One of the reasons for this is
simple: I've had more feedback in the last 5 minutes than I had in the
last three weeks. :) I am also afraid the whole effort will die if
there is only one person effectively using it -- this is what happened
with Mark's branch. I tried to bring it to a functional level and I
think it's there -- I've been working with it for over a month now.

Dawid

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



Re: Gradle build to land on master

2020-01-08 Thread Robert Muir
It is crazy classfiles are involved here at all. It is even crazier to be
reading classfiles of the JDK itself. I just asked to print the help...
crazy groovy

On Wed, Jan 8, 2020 at 12:27 PM Uwe Schindler  wrote:

> Hi,
>
> Sorry, this is a no-go for going to gradle. We currently want to build and
> test Lucene with all newer Java versions, including EA releases. I have no
> idea why the Gradle people are not looking into the issue of
> forward-compatibility.
>
> I had a long discussion already on the OpenJDK mailing lists about the
> classfile version issue. The problem is mainly ASM that's used for bytecode
> analysis where Gradle and Groovy depend on. If you pass ASM a classfile
> version that it does not unerstand it brings this error.
>
> I had a discussion with Remi Forax. My proposal would be:
> ClassReader should have 2 modes:
> - strict mode that enables all features (like you can add filtering on top
> of like method renames, and so pass the ClassReader (as visitor) to a
> ClassWriter. This strict mode ensures that a ClassReader then passed to
> ClassWriter produces the same class file. The requires that ASM fully
> understands the class file.
> - lenient mode: This marks the classreader/visitor as "risky". When
> passing this to ClassReader, it can open any class file, also those with
> newer class file versions. The classfile format is made in a way
> (attributes) that you can easily read over features you don't understand.
> In that case you can use a ClassReader like this to read method signatures,
> run forbiddenapi checks,... (what MOST code out there using ASM is doing!).
> The special flag on the visitor  interface is then there to protect people.
> If you pass a "lenient" class reader to a ClassWriter, the ClassWriter
> complains. So you cannot open a ClassReader in lenient way and pass  it to
> ClassWriter, because that would produce a classfile where maybe a
> significant part of stuff is missing/incorrect.
>
> In short: If there would be a non-picky ASM version / ASM mode like
> proposed before - that can just be used for "analysis" of class files,
> Gradle would be forward compatible. But Remi is too academic and also does
> not want this because he sees some "maintenance" trouble. But this is why I
> said strict mode and lenient mode. In lenient mode you cannot complain if
> your code behaves wrong when you open a class file that is newer than the
> version of ASM supports.
>
> In forbiddenapis I use hack to provide this leniency: When opening class
> files, I just patch the version number. Maybe gradle should do the same -
> IF AND ONLY IF IT DOES NOT USE IT FOR WRITING DERIVATIVE CLASS FILES:
>
> Maybe we could try to confive Gradle, Groovy and maybe Remi to take one of
> those routes. Otherwise we cannot use Gradle with CI builds.
>
> An alternative here is to go the Elasticsearch approach: Gradle and the
> Build runs with Java 11 and the Tests are running optionally with a later
> version - by pasisng a system property pointing to a TestRunner JDK.
>
> Uwe
>
> -
> Uwe Schindler
> Achterdiek 19, D-28357 Bremen
> https://www.thetaphi.de
> eMail: u...@thetaphi.de
>
> > -Original Message-
> > From: Dawid Weiss 
> > Sent: Wednesday, January 8, 2020 6:06 PM
> > To: Lucene Dev 
> > Subject: Re: Gradle build to land on master
> >
> > > right, that file is the exact one i change. the problem is if i change
> it to 6.0.1,
> > then it wants me to buy something.
> >
> > You can't change to any other gradle version -- stick to the version
> > defined in the wrapper and java 11. It is a fragile environment -
> > switching gradle version will cause plugin incompatibilities, etc.
> > Sigh.
> >
> > We can't upgrade to gradle 6.x yet because palantir's plugin for
> > dependency management doesn't work for me then.
> >
> > Different JVM configurations may be rough, especially with newer JVMs.
> >
> > D.
> >
> >
> > > On Wed, Jan 8, 2020 at 10:08 AM Thomas Matthijs 
> wrote:
> > >>
> > >> ./gradlew should try to use gradle 5.6.4 see
> > >> ./gradle/wrapper/gradle-wrapper.properties
> > >> With java 11 this all builds fine for me (can export JAVA_HOME to
> change)
> > >> Which version of java are you using? the linked issue hints at java
> 13?
> > >>
> > >> On Wed, 8 Jan 2020 at 16:01, Robert Muir  wrote:
> > >> >
> > >> > Here is the issue: https://github.com/gradle/gradle/issues/8681
> > >> >
> > >> > I tried upgrading gradle to 6.0.1,

Re: Gradle build to land on master

2020-01-08 Thread Dawid Weiss
> Sorry, this is a no-go for going to gradle. We currently want to build and 
> test Lucene with all newer Java versions, including EA releases. I have no 
> idea why the Gradle people are not looking into the issue of 
> forward-compatibility.

I'm sure there are ways to run tests against an arbitrary Java version:
https://docs.gradle.org/6.0-rc-1/userguide/building_java_projects.html#sec:java_cross_compilation

It's just not something I'm concerned with at the moment. Can't do
everything at once.

> An alternative here is to go the Elasticsearch approach: Gradle and the Build 
> runs with Java 11 and the Tests are running optionally with a later version - 
> by pasisng a system property pointing to a TestRunner JDK.

Exactly. I'm sure there are ways to do it.

D.

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



RE: Gradle build to land on master

2020-01-08 Thread Uwe Schindler
Hi,

Sorry, this is a no-go for going to gradle. We currently want to build and test 
Lucene with all newer Java versions, including EA releases. I have no idea why 
the Gradle people are not looking into the issue of forward-compatibility.

I had a long discussion already on the OpenJDK mailing lists about the 
classfile version issue. The problem is mainly ASM that's used for bytecode 
analysis where Gradle and Groovy depend on. If you pass ASM a classfile version 
that it does not unerstand it brings this error.

I had a discussion with Remi Forax. My proposal would be:
ClassReader should have 2 modes:
- strict mode that enables all features (like you can add filtering on top of 
like method renames, and so pass the ClassReader (as visitor) to a 
ClassWriter. This strict mode ensures that a ClassReader then passed to 
ClassWriter produces the same class file. The requires that ASM fully 
understands the class file.
- lenient mode: This marks the classreader/visitor as "risky". When passing 
this to ClassReader, it can open any class file, also those with newer class 
file versions. The classfile format is made in a way (attributes) that you can 
easily read over features you don't understand. In that case you can use a 
ClassReader like this to read method signatures, run forbiddenapi checks,... 
(what MOST code out there using ASM is doing!). The special flag on the visitor 
 interface is then there to protect people. If you pass a "lenient" class 
reader to a ClassWriter, the ClassWriter complains. So you cannot open a 
ClassReader in lenient way and pass  it to ClassWriter, because that would 
produce a classfile where maybe a significant part of stuff is 
missing/incorrect.

In short: If there would be a non-picky ASM version / ASM mode like proposed 
before - that can just be used for "analysis" of class files, Gradle would be 
forward compatible. But Remi is too academic and also does not want this 
because he sees some "maintenance" trouble. But this is why I said strict mode 
and lenient mode. In lenient mode you cannot complain if your code behaves 
wrong when you open a class file that is newer than the version of ASM supports.

In forbiddenapis I use hack to provide this leniency: When opening class files, 
I just patch the version number. Maybe gradle should do the same - IF AND ONLY 
IF IT DOES NOT USE IT FOR WRITING DERIVATIVE CLASS FILES:

Maybe we could try to confive Gradle, Groovy and maybe Remi to take one of 
those routes. Otherwise we cannot use Gradle with CI builds.

An alternative here is to go the Elasticsearch approach: Gradle and the Build 
runs with Java 11 and the Tests are running optionally with a later version - 
by pasisng a system property pointing to a TestRunner JDK.

Uwe

-
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail: u...@thetaphi.de

> -Original Message-
> From: Dawid Weiss 
> Sent: Wednesday, January 8, 2020 6:06 PM
> To: Lucene Dev 
> Subject: Re: Gradle build to land on master
> 
> > right, that file is the exact one i change. the problem is if i change it 
> > to 6.0.1,
> then it wants me to buy something.
> 
> You can't change to any other gradle version -- stick to the version
> defined in the wrapper and java 11. It is a fragile environment -
> switching gradle version will cause plugin incompatibilities, etc.
> Sigh.
> 
> We can't upgrade to gradle 6.x yet because palantir's plugin for
> dependency management doesn't work for me then.
> 
> Different JVM configurations may be rough, especially with newer JVMs.
> 
> D.
> 
> 
> > On Wed, Jan 8, 2020 at 10:08 AM Thomas Matthijs  wrote:
> >>
> >> ./gradlew should try to use gradle 5.6.4 see
> >> ./gradle/wrapper/gradle-wrapper.properties
> >> With java 11 this all builds fine for me (can export JAVA_HOME to change)
> >> Which version of java are you using? the linked issue hints at java 13?
> >>
> >> On Wed, 8 Jan 2020 at 16:01, Robert Muir  wrote:
> >> >
> >> > Here is the issue: https://github.com/gradle/gradle/issues/8681
> >> >
> >> > I tried upgrading gradle to 6.0.1, but it seems now it wants me to buy
> something?
> >> >
> >> > ]$ ./gradlew help
> >> > Starting a Gradle Daemon (subsequent builds will be faster)
> >> >
> >> > FAILURE: Build failed with an exception.
> >> >
> >> > * Where:
> >> > Build file '/Users/rob.muir/eclipse.workspace/lucene-solr/build.gradle' 
> >> > line:
> 5
> >> >
> >> > * What went wrong:
> >> > An exception occurred applying plugin request [id: 
> >> > 'com.gradle.build-scan',
> version: '

Re: Gradle build to land on master

2020-01-08 Thread Robert Muir
So are we going to be able to do things like EA testing?

On Wed, Jan 8, 2020 at 12:18 PM Dawid Weiss  wrote:

> > Can reproduce your problem with java 13, so guess only 11 is currently
> supported
>
> For completeness: the build actually enforces gradle and Java version
> and fails if there is a mismatch. The failure with Java 13 happens way
> before this check has a chance to even run.
>
>
> https://github.com/apache/lucene-solr/blob/gradle-master/gradle/validation/check-environment.gradle
>
> D.
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Gradle build to land on master

2020-01-08 Thread Dawid Weiss
> Can reproduce your problem with java 13, so guess only 11 is currently 
> supported

For completeness: the build actually enforces gradle and Java version
and fails if there is a mismatch. The failure with Java 13 happens way
before this check has a chance to even run.

https://github.com/apache/lucene-solr/blob/gradle-master/gradle/validation/check-environment.gradle

D.

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



Re: Gradle build to land on master

2020-01-08 Thread Dawid Weiss
Can you file a pull request to remove it? I added it initially hoping
it'd help with test browsing but it's not going to work anyway
(because Solr emits half a gig of logs).

Dawid

On Wed, Jan 8, 2020 at 4:51 PM Thomas Matthijs  wrote:
>
> Can reproduce your problem with java 13, so guess only 11 is currently 
> supported
>
> The buildscan plugin seems to be a problem
>
> https://github.com/apache/lucene-solr/blob/gradle-master/gradle/ci/buildscan.gradle
> https://docs.gradle.com/enterprise/gradle-plugin/#connecting_to_scans_gradle_com
>
> ==> "Be careful not to commit agreement to the terms of service into a
> project that may be built by others."
>
> Looks like its only for CI builds (?) build should probably be
> disabled by default
>
> Builds seems to work with java 13 & gradle 6 with it removed:
>
> diff --git a/build.gradle b/build.gradle
> index 8e90409dde7..428d7b3e93c 100644
> --- a/build.gradle
> +++ b/build.gradle
> @@ -1,10 +1,9 @@
>
>  plugins {
>id "base"
>id "com.palantir.consistent-versions" version "1.13.1"
> -  id "com.gradle.build-scan" version "3.0"
>id 'de.thetaphi.forbiddenapis' version '2.7' apply false
>  }
>
>  // Project version and main properties. Applies to all projects.
>  allprojects {
> @@ -17,13 +16,10 @@ allprojects {
>  // if the build file is incorrectly written and evaluates something
>  // eagerly).
>
>  apply from: file('gradle/generate-defaults.gradle')
>
> -// CI systems.
> -apply from: file('gradle/ci/buildscan.gradle')
> -
>  // Set up defaults and configure aspects for certain modules or functionality
>  // (java, tests)
>  apply from: file('gradle/defaults.gradle')
>  apply from: file('gradle/defaults-java.gradle')
>  apply from: file('gradle/testing/defaults-tests.gradle')
> diff --git a/gradle/validation/check-environment.gradle
> b/gradle/validation/check-environment.gradle
> index 3acfbb306d2..1d2d6e5509f 100644
> --- a/gradle/validation/check-environment.gradle
> +++ b/gradle/validation/check-environment.gradle
> @@ -3,11 +3,11 @@
>
>  import org.gradle.util.GradleVersion
>
>  configure(rootProject) {
>ext {
> -expectedGradleVersion = '5.6.4'
> +expectedGradleVersion = '6.0.1'
>  expectedJavaVersion = JavaVersion.VERSION_11
>}
>
>wrapper {
>  distributionType = Wrapper.DistributionType.ALL
> diff --git a/gradle/wrapper/gradle-wrapper.properties
> b/gradle/wrapper/gradle-wrapper.properties
> index 0ebb3108e20..1ba7206f882 100644
> --- a/gradle/wrapper/gradle-wrapper.properties
> +++ b/gradle/wrapper/gradle-wrapper.properties
> @@ -1,5 +1,5 @@
>  distributionBase=GRADLE_USER_HOME
>  distributionPath=wrapper/dists
> -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
> +distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
>  zipStoreBase=GRADLE_USER_HOME
>  zipStorePath=wrapper/dists
>
> On Wed, 8 Jan 2020 at 16:38, Robert Muir  wrote:
> >
> > right, that file is the exact one i change. the problem is if i change it 
> > to 6.0.1, then it wants me to buy something.
> >
> > On Wed, Jan 8, 2020 at 10:08 AM Thomas Matthijs  wrote:
> >>
> >> ./gradlew should try to use gradle 5.6.4 see
> >> ./gradle/wrapper/gradle-wrapper.properties
> >> With java 11 this all builds fine for me (can export JAVA_HOME to change)
> >> Which version of java are you using? the linked issue hints at java 13?
> >>
> >> On Wed, 8 Jan 2020 at 16:01, Robert Muir  wrote:
> >> >
> >> > Here is the issue: https://github.com/gradle/gradle/issues/8681
> >> >
> >> > I tried upgrading gradle to 6.0.1, but it seems now it wants me to buy 
> >> > something?
> >> >
> >> > ]$ ./gradlew help
> >> > Starting a Gradle Daemon (subsequent builds will be faster)
> >> >
> >> > FAILURE: Build failed with an exception.
> >> >
> >> > * Where:
> >> > Build file '/Users/rob.muir/eclipse.workspace/lucene-solr/build.gradle' 
> >> > line: 5
> >> >
> >> > * What went wrong:
> >> > An exception occurred applying plugin request [id: 
> >> > 'com.gradle.build-scan', version: '3.0']
> >> > > Failed to apply plugin [id 'com.gradle.build-scan']
> >> >> This build scan plugin is not compatible with less than Gradle 6.0.
> >> >  Please use the Gradle Enterprise plugin instead.
> >> >
> >> > On Wed, Jan 8, 2020 at 9:41 AM Robert Muir  wrote:
> >> >>
> >> >> I tried it out just to see, here was my experience:
> >> >>
> >> >> $ git checkout gradle-master
> >> >> Switched to branch 'gradle-master'
> >> >> Your branch is up to date with 'origin/gradle-master'.
> >> >> $ ./gradlew help
> >> >> Starting a Gradle Daemon (subsequent builds will be faster)
> >> >>
> >> >> FAILURE: Build failed with an exception.
> >> >>
> >> >> * Where:
> >> >> Settings file 
> >> >> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'
> >> >>
> >> >> * What went wrong:
> >> >> Could not compile settings file 
> >> >> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'.
> >> >> > startup failed:
> >> >>   General error during

Re: Gradle build to land on master

2020-01-08 Thread Dawid Weiss
> right, that file is the exact one i change. the problem is if i change it to 
> 6.0.1, then it wants me to buy something.

You can't change to any other gradle version -- stick to the version
defined in the wrapper and java 11. It is a fragile environment -
switching gradle version will cause plugin incompatibilities, etc.
Sigh.

We can't upgrade to gradle 6.x yet because palantir's plugin for
dependency management doesn't work for me then.

Different JVM configurations may be rough, especially with newer JVMs.

D.


> On Wed, Jan 8, 2020 at 10:08 AM Thomas Matthijs  wrote:
>>
>> ./gradlew should try to use gradle 5.6.4 see
>> ./gradle/wrapper/gradle-wrapper.properties
>> With java 11 this all builds fine for me (can export JAVA_HOME to change)
>> Which version of java are you using? the linked issue hints at java 13?
>>
>> On Wed, 8 Jan 2020 at 16:01, Robert Muir  wrote:
>> >
>> > Here is the issue: https://github.com/gradle/gradle/issues/8681
>> >
>> > I tried upgrading gradle to 6.0.1, but it seems now it wants me to buy 
>> > something?
>> >
>> > ]$ ./gradlew help
>> > Starting a Gradle Daemon (subsequent builds will be faster)
>> >
>> > FAILURE: Build failed with an exception.
>> >
>> > * Where:
>> > Build file '/Users/rob.muir/eclipse.workspace/lucene-solr/build.gradle' 
>> > line: 5
>> >
>> > * What went wrong:
>> > An exception occurred applying plugin request [id: 
>> > 'com.gradle.build-scan', version: '3.0']
>> > > Failed to apply plugin [id 'com.gradle.build-scan']
>> >> This build scan plugin is not compatible with less than Gradle 6.0.
>> >  Please use the Gradle Enterprise plugin instead.
>> >
>> > On Wed, Jan 8, 2020 at 9:41 AM Robert Muir  wrote:
>> >>
>> >> I tried it out just to see, here was my experience:
>> >>
>> >> $ git checkout gradle-master
>> >> Switched to branch 'gradle-master'
>> >> Your branch is up to date with 'origin/gradle-master'.
>> >> $ ./gradlew help
>> >> Starting a Gradle Daemon (subsequent builds will be faster)
>> >>
>> >> FAILURE: Build failed with an exception.
>> >>
>> >> * Where:
>> >> Settings file 
>> >> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'
>> >>
>> >> * What went wrong:
>> >> Could not compile settings file 
>> >> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'.
>> >> > startup failed:
>> >>   General error during semantic analysis: Unsupported class file major 
>> >> version 57
>> >>
>> >>   java.lang.IllegalArgumentException: Unsupported class file major 
>> >> version 57
>> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:184)
>> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:166)
>> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:152)
>> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:273)
>> >> at 
>> >> org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
>> >> at 
>> >> org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:254)
>> >> at 
>> >> org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:192)
>> >>
>> >> On Wed, Jan 8, 2020 at 9:30 AM Dawid Weiss  wrote:
>> >>>
>> >>> I think the gradle-master branch is already workable enough to land on 
>> >>> master.
>> >>>
>> >>> If you're not familiar with gradle then, once merged, run "gradlew help".
>> >>>
>> >>> Some notes.
>> >>>
>> >>> 1) I have been running tests on Windows and Linux, they're ok. The
>> >>> output is slightly different from ANT's but I think it's fine for
>> >>> working.
>> >>>
>> >>> 2) The speed of compilation and running tests selectively is much
>> >>> better than ant's, especially on multicore machines.
>> >>>
>> >>> 3) I use IntelliJ idea and the project imports into the IDE without
>> >>> any special handling. Code formatting and such may need to be adjusted
>> >>> though.
>> >>>
>> >>> 4) Some things are incomplete (precommit does a subset of checks).
>> >>> Some are missing (regeneration tasks). Some are different (handling of
>> >>> dependencies, build output folder locations). It will take some time
>> >>> and learning to live with a new build system. I tried to provide short
>> >>> guides into selective areas (they're available as help tasks or plain
>> >>> text files under help/).
>> >>>
>> >>> 5) If something does *not* work, let me know.
>> >>>
>> >>> 6) It'd be nice if we had a build job somewhere on a faster machine
>> >>> that would run at least "gradlew precommit check -x test" so that
>> >>> rudimentary checks are applied, without running all the tests. This
>> >>> would ensure consistency in dependencies, for example.
>> >>>
>> >>> 7) The parallel branch (gradle-master) and issue (LUCENE-9077) will be
>> >>> kept open and occasionally merged back and forth.
>> >>>
>> >>> I have to shift more focus to my daily job but will help out and chip
>> >>> at the remaining bits, time permitting.
>> >>>
>> >>> Dawid
>> >>>
>> >>> 

Re: Gradle build to land on master

2020-01-08 Thread Thomas Matthijs
Can reproduce your problem with java 13, so guess only 11 is currently supported

The buildscan plugin seems to be a problem

https://github.com/apache/lucene-solr/blob/gradle-master/gradle/ci/buildscan.gradle
https://docs.gradle.com/enterprise/gradle-plugin/#connecting_to_scans_gradle_com

==> "Be careful not to commit agreement to the terms of service into a
project that may be built by others."

Looks like its only for CI builds (?) build should probably be
disabled by default

Builds seems to work with java 13 & gradle 6 with it removed:

diff --git a/build.gradle b/build.gradle
index 8e90409dde7..428d7b3e93c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,10 +1,9 @@

 plugins {
   id "base"
   id "com.palantir.consistent-versions" version "1.13.1"
-  id "com.gradle.build-scan" version "3.0"
   id 'de.thetaphi.forbiddenapis' version '2.7' apply false
 }

 // Project version and main properties. Applies to all projects.
 allprojects {
@@ -17,13 +16,10 @@ allprojects {
 // if the build file is incorrectly written and evaluates something
 // eagerly).

 apply from: file('gradle/generate-defaults.gradle')

-// CI systems.
-apply from: file('gradle/ci/buildscan.gradle')
-
 // Set up defaults and configure aspects for certain modules or functionality
 // (java, tests)
 apply from: file('gradle/defaults.gradle')
 apply from: file('gradle/defaults-java.gradle')
 apply from: file('gradle/testing/defaults-tests.gradle')
diff --git a/gradle/validation/check-environment.gradle
b/gradle/validation/check-environment.gradle
index 3acfbb306d2..1d2d6e5509f 100644
--- a/gradle/validation/check-environment.gradle
+++ b/gradle/validation/check-environment.gradle
@@ -3,11 +3,11 @@

 import org.gradle.util.GradleVersion

 configure(rootProject) {
   ext {
-expectedGradleVersion = '5.6.4'
+expectedGradleVersion = '6.0.1'
 expectedJavaVersion = JavaVersion.VERSION_11
   }

   wrapper {
 distributionType = Wrapper.DistributionType.ALL
diff --git a/gradle/wrapper/gradle-wrapper.properties
b/gradle/wrapper/gradle-wrapper.properties
index 0ebb3108e20..1ba7206f882 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists

On Wed, 8 Jan 2020 at 16:38, Robert Muir  wrote:
>
> right, that file is the exact one i change. the problem is if i change it to 
> 6.0.1, then it wants me to buy something.
>
> On Wed, Jan 8, 2020 at 10:08 AM Thomas Matthijs  wrote:
>>
>> ./gradlew should try to use gradle 5.6.4 see
>> ./gradle/wrapper/gradle-wrapper.properties
>> With java 11 this all builds fine for me (can export JAVA_HOME to change)
>> Which version of java are you using? the linked issue hints at java 13?
>>
>> On Wed, 8 Jan 2020 at 16:01, Robert Muir  wrote:
>> >
>> > Here is the issue: https://github.com/gradle/gradle/issues/8681
>> >
>> > I tried upgrading gradle to 6.0.1, but it seems now it wants me to buy 
>> > something?
>> >
>> > ]$ ./gradlew help
>> > Starting a Gradle Daemon (subsequent builds will be faster)
>> >
>> > FAILURE: Build failed with an exception.
>> >
>> > * Where:
>> > Build file '/Users/rob.muir/eclipse.workspace/lucene-solr/build.gradle' 
>> > line: 5
>> >
>> > * What went wrong:
>> > An exception occurred applying plugin request [id: 
>> > 'com.gradle.build-scan', version: '3.0']
>> > > Failed to apply plugin [id 'com.gradle.build-scan']
>> >> This build scan plugin is not compatible with less than Gradle 6.0.
>> >  Please use the Gradle Enterprise plugin instead.
>> >
>> > On Wed, Jan 8, 2020 at 9:41 AM Robert Muir  wrote:
>> >>
>> >> I tried it out just to see, here was my experience:
>> >>
>> >> $ git checkout gradle-master
>> >> Switched to branch 'gradle-master'
>> >> Your branch is up to date with 'origin/gradle-master'.
>> >> $ ./gradlew help
>> >> Starting a Gradle Daemon (subsequent builds will be faster)
>> >>
>> >> FAILURE: Build failed with an exception.
>> >>
>> >> * Where:
>> >> Settings file 
>> >> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'
>> >>
>> >> * What went wrong:
>> >> Could not compile settings file 
>> >> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'.
>> >> > startup failed:
>> >>   General error during semantic analysis: Unsupported class file major 
>> >> version 57
>> >>
>> >>   java.lang.IllegalArgumentException: Unsupported class file major 
>> >> version 57
>> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:184)
>> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:166)
>> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:152)
>> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:273)
>> >> at 
>> >> org.codehaus.g

Re: Gradle build to land on master

2020-01-08 Thread Robert Muir
right, that file is the exact one i change. the problem is if i change it
to 6.0.1, then it wants me to buy something.

On Wed, Jan 8, 2020 at 10:08 AM Thomas Matthijs  wrote:

> ./gradlew should try to use gradle 5.6.4 see
> ./gradle/wrapper/gradle-wrapper.properties
> With java 11 this all builds fine for me (can export JAVA_HOME to change)
> Which version of java are you using? the linked issue hints at java 13?
>
> On Wed, 8 Jan 2020 at 16:01, Robert Muir  wrote:
> >
> > Here is the issue: https://github.com/gradle/gradle/issues/8681
> >
> > I tried upgrading gradle to 6.0.1, but it seems now it wants me to buy
> something?
> >
> > ]$ ./gradlew help
> > Starting a Gradle Daemon (subsequent builds will be faster)
> >
> > FAILURE: Build failed with an exception.
> >
> > * Where:
> > Build file '/Users/rob.muir/eclipse.workspace/lucene-solr/build.gradle'
> line: 5
> >
> > * What went wrong:
> > An exception occurred applying plugin request [id:
> 'com.gradle.build-scan', version: '3.0']
> > > Failed to apply plugin [id 'com.gradle.build-scan']
> >> This build scan plugin is not compatible with less than Gradle 6.0.
> >  Please use the Gradle Enterprise plugin instead.
> >
> > On Wed, Jan 8, 2020 at 9:41 AM Robert Muir  wrote:
> >>
> >> I tried it out just to see, here was my experience:
> >>
> >> $ git checkout gradle-master
> >> Switched to branch 'gradle-master'
> >> Your branch is up to date with 'origin/gradle-master'.
> >> $ ./gradlew help
> >> Starting a Gradle Daemon (subsequent builds will be faster)
> >>
> >> FAILURE: Build failed with an exception.
> >>
> >> * Where:
> >> Settings file
> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'
> >>
> >> * What went wrong:
> >> Could not compile settings file
> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'.
> >> > startup failed:
> >>   General error during semantic analysis: Unsupported class file major
> version 57
> >>
> >>   java.lang.IllegalArgumentException: Unsupported class file major
> version 57
> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:184)
> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:166)
> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:152)
> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:273)
> >> at
> org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
> >> at
> org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:254)
> >> at
> org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:192)
> >>
> >> On Wed, Jan 8, 2020 at 9:30 AM Dawid Weiss 
> wrote:
> >>>
> >>> I think the gradle-master branch is already workable enough to land on
> master.
> >>>
> >>> If you're not familiar with gradle then, once merged, run "gradlew
> help".
> >>>
> >>> Some notes.
> >>>
> >>> 1) I have been running tests on Windows and Linux, they're ok. The
> >>> output is slightly different from ANT's but I think it's fine for
> >>> working.
> >>>
> >>> 2) The speed of compilation and running tests selectively is much
> >>> better than ant's, especially on multicore machines.
> >>>
> >>> 3) I use IntelliJ idea and the project imports into the IDE without
> >>> any special handling. Code formatting and such may need to be adjusted
> >>> though.
> >>>
> >>> 4) Some things are incomplete (precommit does a subset of checks).
> >>> Some are missing (regeneration tasks). Some are different (handling of
> >>> dependencies, build output folder locations). It will take some time
> >>> and learning to live with a new build system. I tried to provide short
> >>> guides into selective areas (they're available as help tasks or plain
> >>> text files under help/).
> >>>
> >>> 5) If something does *not* work, let me know.
> >>>
> >>> 6) It'd be nice if we had a build job somewhere on a faster machine
> >>> that would run at least "gradlew precommit check -x test" so that
> >>> rudimentary checks are applied, without running all the tests. This
> >>> would ensure consistency in dependencies, for example.
> >>>
> >>> 7) The parallel branch (gradle-master) and issue (LUCENE-9077) will be
> >>> kept open and occasionally merged back and forth.
> >>>
> >>> I have to shift more focus to my daily job but will help out and chip
> >>> at the remaining bits, time permitting.
> >>>
> >>> Dawid
> >>>
> >>> -
> >>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> >>> For additional commands, e-mail: dev-h...@lucene.apache.org
> >>>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Gradle build to land on master

2020-01-08 Thread Robert Muir
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment AdoptOpenJDK (build 13.0.1+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 13.0.1+9, mixed mode, sharing)

On Wed, Jan 8, 2020 at 10:08 AM Thomas Matthijs  wrote:

> ./gradlew should try to use gradle 5.6.4 see
> ./gradle/wrapper/gradle-wrapper.properties
> With java 11 this all builds fine for me (can export JAVA_HOME to change)
> Which version of java are you using? the linked issue hints at java 13?
>
> On Wed, 8 Jan 2020 at 16:01, Robert Muir  wrote:
> >
> > Here is the issue: https://github.com/gradle/gradle/issues/8681
> >
> > I tried upgrading gradle to 6.0.1, but it seems now it wants me to buy
> something?
> >
> > ]$ ./gradlew help
> > Starting a Gradle Daemon (subsequent builds will be faster)
> >
> > FAILURE: Build failed with an exception.
> >
> > * Where:
> > Build file '/Users/rob.muir/eclipse.workspace/lucene-solr/build.gradle'
> line: 5
> >
> > * What went wrong:
> > An exception occurred applying plugin request [id:
> 'com.gradle.build-scan', version: '3.0']
> > > Failed to apply plugin [id 'com.gradle.build-scan']
> >> This build scan plugin is not compatible with less than Gradle 6.0.
> >  Please use the Gradle Enterprise plugin instead.
> >
> > On Wed, Jan 8, 2020 at 9:41 AM Robert Muir  wrote:
> >>
> >> I tried it out just to see, here was my experience:
> >>
> >> $ git checkout gradle-master
> >> Switched to branch 'gradle-master'
> >> Your branch is up to date with 'origin/gradle-master'.
> >> $ ./gradlew help
> >> Starting a Gradle Daemon (subsequent builds will be faster)
> >>
> >> FAILURE: Build failed with an exception.
> >>
> >> * Where:
> >> Settings file
> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'
> >>
> >> * What went wrong:
> >> Could not compile settings file
> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'.
> >> > startup failed:
> >>   General error during semantic analysis: Unsupported class file major
> version 57
> >>
> >>   java.lang.IllegalArgumentException: Unsupported class file major
> version 57
> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:184)
> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:166)
> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:152)
> >> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:273)
> >> at
> org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
> >> at
> org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:254)
> >> at
> org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:192)
> >>
> >> On Wed, Jan 8, 2020 at 9:30 AM Dawid Weiss 
> wrote:
> >>>
> >>> I think the gradle-master branch is already workable enough to land on
> master.
> >>>
> >>> If you're not familiar with gradle then, once merged, run "gradlew
> help".
> >>>
> >>> Some notes.
> >>>
> >>> 1) I have been running tests on Windows and Linux, they're ok. The
> >>> output is slightly different from ANT's but I think it's fine for
> >>> working.
> >>>
> >>> 2) The speed of compilation and running tests selectively is much
> >>> better than ant's, especially on multicore machines.
> >>>
> >>> 3) I use IntelliJ idea and the project imports into the IDE without
> >>> any special handling. Code formatting and such may need to be adjusted
> >>> though.
> >>>
> >>> 4) Some things are incomplete (precommit does a subset of checks).
> >>> Some are missing (regeneration tasks). Some are different (handling of
> >>> dependencies, build output folder locations). It will take some time
> >>> and learning to live with a new build system. I tried to provide short
> >>> guides into selective areas (they're available as help tasks or plain
> >>> text files under help/).
> >>>
> >>> 5) If something does *not* work, let me know.
> >>>
> >>> 6) It'd be nice if we had a build job somewhere on a faster machine
> >>> that would run at least "gradlew precommit check -x test" so that
> >>> rudimentary checks are applied, without running all the tests. This
> >>> would ensure consistency in dependencies, for example.
> >>>
> >>> 7) The parallel branch (gradle-master) and issue (LUCENE-9077) will be
> >>> kept open and occasionally merged back and forth.
> >>>
> >>> I have to shift more focus to my daily job but will help out and chip
> >>> at the remaining bits, time permitting.
> >>>
> >>> Dawid
> >>>
> >>> -
> >>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> >>> For additional commands, e-mail: dev-h...@lucene.apache.org
> >>>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Gradle build to land on master

2020-01-08 Thread Thomas Matthijs
./gradlew should try to use gradle 5.6.4 see
./gradle/wrapper/gradle-wrapper.properties
With java 11 this all builds fine for me (can export JAVA_HOME to change)
Which version of java are you using? the linked issue hints at java 13?

On Wed, 8 Jan 2020 at 16:01, Robert Muir  wrote:
>
> Here is the issue: https://github.com/gradle/gradle/issues/8681
>
> I tried upgrading gradle to 6.0.1, but it seems now it wants me to buy 
> something?
>
> ]$ ./gradlew help
> Starting a Gradle Daemon (subsequent builds will be faster)
>
> FAILURE: Build failed with an exception.
>
> * Where:
> Build file '/Users/rob.muir/eclipse.workspace/lucene-solr/build.gradle' line: 
> 5
>
> * What went wrong:
> An exception occurred applying plugin request [id: 'com.gradle.build-scan', 
> version: '3.0']
> > Failed to apply plugin [id 'com.gradle.build-scan']
>> This build scan plugin is not compatible with less than Gradle 6.0.
>  Please use the Gradle Enterprise plugin instead.
>
> On Wed, Jan 8, 2020 at 9:41 AM Robert Muir  wrote:
>>
>> I tried it out just to see, here was my experience:
>>
>> $ git checkout gradle-master
>> Switched to branch 'gradle-master'
>> Your branch is up to date with 'origin/gradle-master'.
>> $ ./gradlew help
>> Starting a Gradle Daemon (subsequent builds will be faster)
>>
>> FAILURE: Build failed with an exception.
>>
>> * Where:
>> Settings file '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'
>>
>> * What went wrong:
>> Could not compile settings file 
>> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'.
>> > startup failed:
>>   General error during semantic analysis: Unsupported class file major 
>> version 57
>>
>>   java.lang.IllegalArgumentException: Unsupported class file major version 57
>> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:184)
>> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:166)
>> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:152)
>> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:273)
>> at 
>> org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
>> at 
>> org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:254)
>> at 
>> org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:192)
>>
>> On Wed, Jan 8, 2020 at 9:30 AM Dawid Weiss  wrote:
>>>
>>> I think the gradle-master branch is already workable enough to land on 
>>> master.
>>>
>>> If you're not familiar with gradle then, once merged, run "gradlew help".
>>>
>>> Some notes.
>>>
>>> 1) I have been running tests on Windows and Linux, they're ok. The
>>> output is slightly different from ANT's but I think it's fine for
>>> working.
>>>
>>> 2) The speed of compilation and running tests selectively is much
>>> better than ant's, especially on multicore machines.
>>>
>>> 3) I use IntelliJ idea and the project imports into the IDE without
>>> any special handling. Code formatting and such may need to be adjusted
>>> though.
>>>
>>> 4) Some things are incomplete (precommit does a subset of checks).
>>> Some are missing (regeneration tasks). Some are different (handling of
>>> dependencies, build output folder locations). It will take some time
>>> and learning to live with a new build system. I tried to provide short
>>> guides into selective areas (they're available as help tasks or plain
>>> text files under help/).
>>>
>>> 5) If something does *not* work, let me know.
>>>
>>> 6) It'd be nice if we had a build job somewhere on a faster machine
>>> that would run at least "gradlew precommit check -x test" so that
>>> rudimentary checks are applied, without running all the tests. This
>>> would ensure consistency in dependencies, for example.
>>>
>>> 7) The parallel branch (gradle-master) and issue (LUCENE-9077) will be
>>> kept open and occasionally merged back and forth.
>>>
>>> I have to shift more focus to my daily job but will help out and chip
>>> at the remaining bits, time permitting.
>>>
>>> Dawid
>>>
>>> -
>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>

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



Re: Gradle build to land on master

2020-01-08 Thread Robert Muir
Here is the issue: https://github.com/gradle/gradle/issues/8681

I tried upgrading gradle to 6.0.1, but it seems now it wants me to buy
something?

]$ ./gradlew help
Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/rob.muir/eclipse.workspace/lucene-solr/build.gradle'
line: 5

* What went wrong:
An exception occurred applying plugin request [id: 'com.gradle.build-scan',
version: '3.0']
> Failed to apply plugin [id 'com.gradle.build-scan']
   > This build scan plugin is not compatible with less than Gradle 6.0.
 Please use the Gradle Enterprise plugin instead.

On Wed, Jan 8, 2020 at 9:41 AM Robert Muir  wrote:

> I tried it out just to see, here was my experience:
>
> $ git checkout gradle-master
> Switched to branch 'gradle-master'
> Your branch is up to date with 'origin/gradle-master'.
> $ ./gradlew help
> Starting a Gradle Daemon (subsequent builds will be faster)
>
> FAILURE: Build failed with an exception.
>
> * Where:
> Settings file
> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'
>
> * What went wrong:
> Could not compile settings file
> '/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'.
> > startup failed:
>   General error during semantic analysis: Unsupported class file major
> version 57
>
>   java.lang.IllegalArgumentException: Unsupported class file major version
> 57
> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:184)
> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:166)
> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:152)
> at groovyjarjarasm.asm.ClassReader.(ClassReader.java:273)
> at
> org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
> at
> org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:254)
> at
> org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:192)
>
> On Wed, Jan 8, 2020 at 9:30 AM Dawid Weiss  wrote:
>
>> I think the gradle-master branch is already workable enough to land on
>> master.
>>
>> If you're not familiar with gradle then, once merged, run "gradlew help".
>>
>> Some notes.
>>
>> 1) I have been running tests on Windows and Linux, they're ok. The
>> output is slightly different from ANT's but I think it's fine for
>> working.
>>
>> 2) The speed of compilation and running tests selectively is much
>> better than ant's, especially on multicore machines.
>>
>> 3) I use IntelliJ idea and the project imports into the IDE without
>> any special handling. Code formatting and such may need to be adjusted
>> though.
>>
>> 4) Some things are incomplete (precommit does a subset of checks).
>> Some are missing (regeneration tasks). Some are different (handling of
>> dependencies, build output folder locations). It will take some time
>> and learning to live with a new build system. I tried to provide short
>> guides into selective areas (they're available as help tasks or plain
>> text files under help/).
>>
>> 5) If something does *not* work, let me know.
>>
>> 6) It'd be nice if we had a build job somewhere on a faster machine
>> that would run at least "gradlew precommit check -x test" so that
>> rudimentary checks are applied, without running all the tests. This
>> would ensure consistency in dependencies, for example.
>>
>> 7) The parallel branch (gradle-master) and issue (LUCENE-9077) will be
>> kept open and occasionally merged back and forth.
>>
>> I have to shift more focus to my daily job but will help out and chip
>> at the remaining bits, time permitting.
>>
>> Dawid
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>


Re: Gradle build to land on master

2020-01-08 Thread Robert Muir
I tried it out just to see, here was my experience:

$ git checkout gradle-master
Switched to branch 'gradle-master'
Your branch is up to date with 'origin/gradle-master'.
$ ./gradlew help
Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* Where:
Settings file
'/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'

* What went wrong:
Could not compile settings file
'/Users/rob.muir/eclipse.workspace/lucene-solr/settings.gradle'.
> startup failed:
  General error during semantic analysis: Unsupported class file major
version 57

  java.lang.IllegalArgumentException: Unsupported class file major version
57
at groovyjarjarasm.asm.ClassReader.(ClassReader.java:184)
at groovyjarjarasm.asm.ClassReader.(ClassReader.java:166)
at groovyjarjarasm.asm.ClassReader.(ClassReader.java:152)
at groovyjarjarasm.asm.ClassReader.(ClassReader.java:273)
at
org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
at
org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:254)
at
org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:192)

On Wed, Jan 8, 2020 at 9:30 AM Dawid Weiss  wrote:

> I think the gradle-master branch is already workable enough to land on
> master.
>
> If you're not familiar with gradle then, once merged, run "gradlew help".
>
> Some notes.
>
> 1) I have been running tests on Windows and Linux, they're ok. The
> output is slightly different from ANT's but I think it's fine for
> working.
>
> 2) The speed of compilation and running tests selectively is much
> better than ant's, especially on multicore machines.
>
> 3) I use IntelliJ idea and the project imports into the IDE without
> any special handling. Code formatting and such may need to be adjusted
> though.
>
> 4) Some things are incomplete (precommit does a subset of checks).
> Some are missing (regeneration tasks). Some are different (handling of
> dependencies, build output folder locations). It will take some time
> and learning to live with a new build system. I tried to provide short
> guides into selective areas (they're available as help tasks or plain
> text files under help/).
>
> 5) If something does *not* work, let me know.
>
> 6) It'd be nice if we had a build job somewhere on a faster machine
> that would run at least "gradlew precommit check -x test" so that
> rudimentary checks are applied, without running all the tests. This
> would ensure consistency in dependencies, for example.
>
> 7) The parallel branch (gradle-master) and issue (LUCENE-9077) will be
> kept open and occasionally merged back and forth.
>
> I have to shift more focus to my daily job but will help out and chip
> at the remaining bits, time permitting.
>
> Dawid
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Gradle build effort (respin, please read)

2019-12-03 Thread Dawid Weiss
This may help you understand the hierarchy of how properties are
shadowing each other.
https://docs.gradle.org/current/userguide/build_environment.html

The discussion concerning project properties that people could
"override" locally concerned the settings
set in the global gradle.properties file -- this was something I
wasn't too happy with if they clashed with other projects.

For now the gradle build doesn't have any means to populate certain
properties with custom values (other than command-line). If there is a
need for it we can add it.

Dawid

On Tue, Dec 3, 2019 at 11:48 PM Erick Erickson  wrote:
>
> Thanks, I’m still untangling the various bits Mark put in and
> relying on people who actually, you know, understand
> things ;)
>
> > On Dec 3, 2019, at 5:11 PM, Dawid Weiss  wrote:
> >
> >> // the project version
> >> version=9.0.0
> >
> > You shouldn't have it in your global configuration. In fact, only
> > these make sense in there:
> >
> > org.gradle.daemon=true
> > org.gradle.workers.max = 6
> >
> > The cache and daemon settings I'd leave to the project's config.
> >
> > Dawid
> >
> > -
> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > For additional commands, e-mail: dev-h...@lucene.apache.org
> >
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>

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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread Erick Erickson
Thanks, I’m still untangling the various bits Mark put in and 
relying on people who actually, you know, understand
things ;)

> On Dec 3, 2019, at 5:11 PM, Dawid Weiss  wrote:
> 
>> // the project version
>> version=9.0.0
> 
> You shouldn't have it in your global configuration. In fact, only
> these make sense in there:
> 
> org.gradle.daemon=true
> org.gradle.workers.max = 6
> 
> The cache and daemon settings I'd leave to the project's config.
> 
> Dawid
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 


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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread Dawid Weiss
> // the project version
> version=9.0.0

You shouldn't have it in your global configuration. In fact, only
these make sense in there:

org.gradle.daemon=true
org.gradle.workers.max = 6

The cache and daemon settings I'd leave to the project's config.

Dawid

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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread Erick Erickson
Here’s what I have in ~/.gradle/gradle.properties that seems to at least be in 
the right ballpark. Based on Mark’s “intro to the gradle build” page:


// the project version
version=9.0.0

// whether or not to use the Gradle daemon - if true, keeps the build process 
around for reuse for up to 3 hours so that startup times are removed and 
hotspot has a chance to rock - you should generally set this to true in your 
~/.gradle/gradle.properties
// we set to false so that a CI system with no setting will not use a daemon by 
default
org.gradle.daemon=true

// allows tasks to be executed in parallel, across modules
org.gradle.parallel=true

// max parallel jobs to run at once, including both tasks and tests.
// default is number of CPU cores which is often too high - you should start by 
setting it to half the number of cores, especially if you have hyperthreading
org.gradle.workers.max = 6

// number of jvms to distribute tests across in parallel
// defaults to number of CPU cores / 2 - you should just set this the same as 
org.gradle.workers.max
// NOTE: gradle does not try to balance tests across jvms yet: 
https://github.com/gradle/gradle/issues/2669
tests_jvms = 6

// enables gradles build cache, which will reuse cached build outputs when it 
can
org.gradle.caching=true

// experimental gradle feature - does not currently work with our version 
constraints plugin: 
https://github.com/palantir/gradle-consistent-versions/pull/145
// also known to have other issues and not known to really speed anything up 
anyhow
org.gradle.configureondemand=false

// how much ram the gradle daemon or process can use
org.gradle.jvmargs=-Xmx1g


> On Dec 3, 2019, at 3:57 PM, Dawid Weiss  wrote:
> 
> That's aligned with my intuition -- logical cores / 2. Sadly I don't
> see how we may compute the number of workers dynamically (you can do
> this with test forks per project but not with the overall number of
> workers). I asked about it [1]. This is perhaps one of the few
> settings you could override globally via ~/.gradle/gradle.properties
> because it really applies to your hardware (corrects the overestimated
> default by Gradle).
> 
> org.gradle.workers.max=[cpu cures]/2
> 
> D.
> 
> [1] https://discuss.gradle.org/t/set-max-workers-dynamically/34087
> 
> On Tue, Dec 3, 2019 at 9:19 PM David Smiley  wrote:
>> 
>> FWIW on a 6 year old MacBook Pro with a Quad-core i7, it seems max-workers 
>> of 2 is about right, clocking in at 21:32.  3 took 20:17; not much better.
>> 
>> ~ David Smiley
>> Apache Lucene/Solr Search Developer
>> http://www.linkedin.com/in/davidwsmiley
>> 
>> 
>> On Tue, Dec 3, 2019 at 9:13 AM Erick Erickson  
>> wrote:
>>> 
>>> David Smiley:
>>> 
>>> gradlew -p solr/packaging assemble
>>> 
>>> couple of things:
>>> 1> The place you run bin/solr from is different
>>> 2> I didn’t need to specify the -p parameter and it defaulted to 
>>> ‘...solr/packaging/build/solr-9.0.0-SNAPSHOT', FWIW.
>>> 
>>> Once I got over having to switch to a different dir than I was accustomed 
>>> to, I realized that by not mixing the build output with source, things are 
>>> _much_ cleaner. After a “gradlew clean”, the packaging directory only 
>>> contains a build.gradle file.
>>> 
 On Dec 3, 2019, at 4:48 AM, Jan Høydahl  wrote:
 
 gradlew -p solr/packaging assemble
>>> 
>>> 
>>> -
>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>> 
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 


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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread Dawid Weiss
That's aligned with my intuition -- logical cores / 2. Sadly I don't
see how we may compute the number of workers dynamically (you can do
this with test forks per project but not with the overall number of
workers). I asked about it [1]. This is perhaps one of the few
settings you could override globally via ~/.gradle/gradle.properties
because it really applies to your hardware (corrects the overestimated
default by Gradle).

org.gradle.workers.max=[cpu cures]/2

D.

[1] https://discuss.gradle.org/t/set-max-workers-dynamically/34087

On Tue, Dec 3, 2019 at 9:19 PM David Smiley  wrote:
>
> FWIW on a 6 year old MacBook Pro with a Quad-core i7, it seems max-workers of 
> 2 is about right, clocking in at 21:32.  3 took 20:17; not much better.
>
> ~ David Smiley
> Apache Lucene/Solr Search Developer
> http://www.linkedin.com/in/davidwsmiley
>
>
> On Tue, Dec 3, 2019 at 9:13 AM Erick Erickson  wrote:
>>
>> David Smiley:
>>
>> gradlew -p solr/packaging assemble
>>
>> couple of things:
>> 1> The place you run bin/solr from is different
>> 2> I didn’t need to specify the -p parameter and it defaulted to 
>> ‘...solr/packaging/build/solr-9.0.0-SNAPSHOT', FWIW.
>>
>> Once I got over having to switch to a different dir than I was accustomed 
>> to, I realized that by not mixing the build output with source, things are 
>> _much_ cleaner. After a “gradlew clean”, the packaging directory only 
>> contains a build.gradle file.
>>
>> > On Dec 3, 2019, at 4:48 AM, Jan Høydahl  wrote:
>> >
>> > gradlew -p solr/packaging assemble
>>
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>

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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread David Smiley
FWIW on a 6 year old MacBook Pro with a Quad-core i7, it seems max-workers
of 2 is about right, clocking in at 21:32.  3 took 20:17; not much better.

~ David Smiley
Apache Lucene/Solr Search Developer
http://www.linkedin.com/in/davidwsmiley


On Tue, Dec 3, 2019 at 9:13 AM Erick Erickson 
wrote:

> David Smiley:
>
> gradlew -p solr/packaging assemble
>
> couple of things:
> 1> The place you run bin/solr from is different
> 2> I didn’t need to specify the -p parameter and it defaulted to
> ‘...solr/packaging/build/solr-9.0.0-SNAPSHOT', FWIW.
>
> Once I got over having to switch to a different dir than I was accustomed
> to, I realized that by not mixing the build output with source, things are
> _much_ cleaner. After a “gradlew clean”, the packaging directory only
> contains a build.gradle file.
>
> > On Dec 3, 2019, at 4:48 AM, Jan Høydahl  wrote:
> >
> > gradlew -p solr/packaging assemble
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Gradle build effort (respin, please read)

2019-12-03 Thread Erick Erickson
David Smiley:

gradlew -p solr/packaging assemble

couple of things:
1> The place you run bin/solr from is different
2> I didn’t need to specify the -p parameter and it defaulted to 
‘...solr/packaging/build/solr-9.0.0-SNAPSHOT', FWIW.

Once I got over having to switch to a different dir than I was accustomed to, I 
realized that by not mixing the build output with source, things are _much_ 
cleaner. After a “gradlew clean”, the packaging directory only contains a 
build.gradle file.

> On Dec 3, 2019, at 4:48 AM, Jan Høydahl  wrote:
> 
> gradlew -p solr/packaging assemble


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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread Dawid Weiss
Here's an example why I think toying with this gradle build is fun.
This adds a build fragment that cleans up the application of forbidden API
rules (they're applied automatically when a module consumes a certain
dependency).
Note how this is isolated from everything else, yet cross-cuts across
all modules to apply
it consistently and without too much boilerplate.

https://github.com/apache/lucene-solr/commit/6461909129c806a8c71d5e4d053061640fce4554

Dawid


D.

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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread Dawid Weiss
> Great work Dawid. Just trying out solr tests now.

A full suite of solr and lucene takes ~50 minutes... And I think it's
pretty much the same with ant now (?).

> I see that it is not very smart in parallel scheduling. But that is probably 
> something we can improve over time?

Maybe. I don't think it's going to improve things significantly
though. It'd take some deeper restructuring of the codebase to get
them to run faster.

> Is there some env.var or global setting to force e.g. -Ptests.seed=deadbeef 
> for faster runs?

Fixing the seed should be only done if you want to run two consecutive
times with exactly the same combination of components. Don't fix it
locally forever, please. Those randomizations are really effective to
discover odd stuff (even at the JVM bugs level...).

> We probably don’t need to randomize everything everywhere every time?

Perhaps some of the stuff we do statically at test suite level
(LuceneTestCase etc.) is too eager... I didn't look into this. But
overall I disagree with Mark here -- I still have faith in that
randomization of components has value to it.

> Also, I like your moving of build files from the source tree. Will soon get 
> used to gradlew -p solr/packaging assemble.
> Wonder how this will work with Admin UI changes. Hopefully you can just run a 
> new assemble and reload browser on each change.

If you wish to rerun assembly with a server running in the background
it may be tricky because some files may be locked by live processes
(applies to Windows in particular) and some files generated by the
server (logs, etc.) may be removed by the sync (since it's a sync, not
a copy). Working on "live" files served via http is indeed going to be
tricky. You could always work on those files inside the assembled
distribution and copy them over to the sources once done... not a
solution but a workaround.

D.

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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread Dawid Weiss
> ./gradlew -p lucene cleanTest test -Ptests.seed=28BC12BA7C2CD894 
> --max-workers=4
>
> the build time is XXX.

Yeah... you can tell I'm a non-linear e-mail writer, huh? s/XXX/11m 43s/.

For what it's worth, the "ant test" on Lucene takes an even longer
time on that machine:

BUILD SUCCESSFUL
Total time: 14 minutes 1 second

And I think it's a similar situation with Solr tests (I checked a
while ago, didn't try now).

Dawid

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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread Jan Høydahl
Great work Dawid. Just trying out solr tests now.
I see that it is not very smart in parallel scheduling. But that is probably 
something we can improve over time?
Is there some env.var or global setting to force e.g. -Ptests.seed=deadbeef for 
faster runs?
We probably don’t need to randomize everything everywhere every time?

Also, I like your moving of build files from the source tree. Will soon get 
used to gradlew -p solr/packaging assemble.
Wonder how this will work with Admin UI changes. Hopefully you can just run a 
new assemble and reload browser on each change.

Jan

> 3. des. 2019 kl. 09:35 skrev Dawid Weiss :
> 
>> gradlew -p lucene test
>> That took my machine 27 minutes!  I can see it used like 7 threads when I'd 
>> rather it use 3-4.  That's probably why.
> 
> I capped the execution of parallel tests to this
> (gradle/testing/defaults-tests.gradle):
> 
>  // Set up default parallel execution limits.
>  maxParallelForks = (int) Math.max(1,
> Math.min(Runtime.runtime.availableProcessors() / 2.0, 3.0))
> 
> but this limit applies per-project and gradle runs with N workers in
> parallel mode (where N equals the number of cores). For example, on my
> 8-core Linux machine (SSD drive) the test time for
> 
> ./gradlew -p lucene cleanTest test -Ptests.seed=28BC12BA7C2CD894
> 
> is 11m 32s. If I limit max workers to 4:
> 
> ./gradlew -p lucene cleanTest test -Ptests.seed=28BC12BA7C2CD894 
> --max-workers=4
> 
> the build time is XXX.
> 
> It is obvious we need to fine-tune this but it's not obvious what the
> defaults should be because there are many dimensions to performance:
> I/O congestion, CPU cores, overall memory bandwidth and operating
> system (underlying filesystem implementation mostly, I believe). Also,
> as Mark pointed out before, the test runner is slightly different in
> Gradle and doesn't load-balance tests too efficiently (no work
> stealing).
> 
> Finally, all the above also doesn't mean we can only think of
> improving gradle performance and not tests themselves... Some of them
> are just (very) slow. :)
> 
> If you're willing to experiment then try to run with a varying number
> of workers (and identical seed to keep the tests the same). Then see
> which one turns out to be the best for you (and report back). I think
> it'll be half the number of cores (effectively physical cores) unless
> you have a very beefy machine when memory bandwidth and I/O comes into
> play.
> 
> gradlew --max-workers N -Ptests.seed=deadbeef
> 
>> gradlew :helpAnt
>> This failed: -- java.io.FileNotFoundException
> 
> Corrected, apologies.
> 
> Dawid
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 


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



Re: Gradle build effort (respin, please read)

2019-12-03 Thread Dawid Weiss
> gradlew -p lucene test
> That took my machine 27 minutes!  I can see it used like 7 threads when I'd 
> rather it use 3-4.  That's probably why.

I capped the execution of parallel tests to this
(gradle/testing/defaults-tests.gradle):

  // Set up default parallel execution limits.
  maxParallelForks = (int) Math.max(1,
Math.min(Runtime.runtime.availableProcessors() / 2.0, 3.0))

but this limit applies per-project and gradle runs with N workers in
parallel mode (where N equals the number of cores). For example, on my
8-core Linux machine (SSD drive) the test time for

./gradlew -p lucene cleanTest test -Ptests.seed=28BC12BA7C2CD894

is 11m 32s. If I limit max workers to 4:

./gradlew -p lucene cleanTest test -Ptests.seed=28BC12BA7C2CD894 --max-workers=4

the build time is XXX.

It is obvious we need to fine-tune this but it's not obvious what the
defaults should be because there are many dimensions to performance:
I/O congestion, CPU cores, overall memory bandwidth and operating
system (underlying filesystem implementation mostly, I believe). Also,
as Mark pointed out before, the test runner is slightly different in
Gradle and doesn't load-balance tests too efficiently (no work
stealing).

Finally, all the above also doesn't mean we can only think of
improving gradle performance and not tests themselves... Some of them
are just (very) slow. :)

If you're willing to experiment then try to run with a varying number
of workers (and identical seed to keep the tests the same). Then see
which one turns out to be the best for you (and report back). I think
it'll be half the number of cores (effectively physical cores) unless
you have a very beefy machine when memory bandwidth and I/O comes into
play.

gradlew --max-workers N -Ptests.seed=deadbeef

> gradlew :helpAnt
> This failed: -- java.io.FileNotFoundException

Corrected, apologies.

Dawid

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



Re: Gradle build effort (respin, please read)

2019-12-02 Thread David Smiley
Really impressive Dawid!  I like how you were able to organize the build
files, especially the hacks and keeping the build.gradle files relatively
straightforward.

The dependency approach is totally good with me.  It addresses the
essential problem with pure Maven which is unknowingly sucking in
transitive dependencies.  Code reviews will continue to make new/updated
dependencies visible as they are today by forcing the commit to include
checksums 'n such.

gradlew -p lucene test
That took my machine 27 minutes!  I can see it used like 7 threads when I'd
rather it use 3-4.  That's probably why.

gradlew :helpAnt
This failed: -- java.io.FileNotFoundException:
/Users/dsmiley/DevSearch/lucene-solr/help/ant-gradle.txt (No such file or
directory)seems like a simple error related to an incomplete rename or
other refactor

What gradlew command is the equivalent of "ant server" for Solr?  I wish to
use "bin/solr".

I'm +1 with you committing to master as soon as you are comfortable.

~ David Smiley
Apache Lucene/Solr Search Developer
http://www.linkedin.com/in/davidwsmiley


On Mon, Dec 2, 2019 at 11:36 AM Dawid Weiss  wrote:

> > - run a single unit test (NOTE: one of the TODO’s is running the test
> multiple times. Gradle defaults to marking a test as “good” once it passes
> and doesn’t re-run it until there are code changes. This can be fixed)
>
> See gradlew :helpTests, Erick -- I corrected some of it today. In short:
>
> You can already run a single test multiple times with tests.iters
> (passed via -P or -D). This works from IDEs as well (because it's the
> runner's code, not gradle). Full 'beasting' mode is more difficult
> because current working directories will overlap. I have some ideas
> how this can be solved.
>
> I don't think we should force tests to re-run if nothing has changed.
> If everything is up-to-date and no properties have changed, the tests
> should skip. It really helps with incremental runs. Please note that
> "nothing has changed" is tricky with gradle because it takes all the
> properties, arguments, etc. passed to the test runner as input -- we
> pick a random test seed on each run so tests should re-run
> automatically because the seed will be different. However, if you run
> the same seed multiple times over (gradlew test -Ptests.seed=deadbeef)
> then it will indeed skip them. Finally, if you wish to force a re-run
> of any task gradle gives you many options to do so (the simplest is to
> add a forced "cleanXXX" of a task named XXX - try it: gradlew
> cleanTest test -Ptests.seed=deadbeef).
>
> I will add this explanation to the tests help file.
>
> I've warned gradle can be frustratingly complex! (but once you learn
> it it's fun ;).
>
> D.
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Gradle build effort (respin, please read)

2019-12-02 Thread Dawid Weiss
> - run a single unit test (NOTE: one of the TODO’s is running the test 
> multiple times. Gradle defaults to marking a test as “good” once it passes 
> and doesn’t re-run it until there are code changes. This can be fixed)

See gradlew :helpTests, Erick -- I corrected some of it today. In short:

You can already run a single test multiple times with tests.iters
(passed via -P or -D). This works from IDEs as well (because it's the
runner's code, not gradle). Full 'beasting' mode is more difficult
because current working directories will overlap. I have some ideas
how this can be solved.

I don't think we should force tests to re-run if nothing has changed.
If everything is up-to-date and no properties have changed, the tests
should skip. It really helps with incremental runs. Please note that
"nothing has changed" is tricky with gradle because it takes all the
properties, arguments, etc. passed to the test runner as input -- we
pick a random test seed on each run so tests should re-run
automatically because the seed will be different. However, if you run
the same seed multiple times over (gradlew test -Ptests.seed=deadbeef)
then it will indeed skip them. Finally, if you wish to force a re-run
of any task gradle gives you many options to do so (the simplest is to
add a forced "cleanXXX" of a task named XXX - try it: gradlew
cleanTest test -Ptests.seed=deadbeef).

I will add this explanation to the tests help file.

I've warned gradle can be frustratingly complex! (but once you learn
it it's fun ;).

D.

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



Re: Gradle build effort (respin, please read)

2019-12-02 Thread Erick Erickson
First, a slight correction. I deserve very little credit here,
Dawid did the heavy lifting, a huge shout-out to him! Cheering
from the sidelines is easy ;)

I played around a little with this last night, and AFAIC let’s just
fold it into master. From my perspective, it’s important that we
be able to try using this in baby steps, falling back to ant
whenever there’s something we can’t do in Gradle (yet).

Having more people contribute now that it’s functional will speed
this process.

Last night I was able to:

- build Solr

- run a single unit test (NOTE: one of the TODO’s is running the test multiple 
times. Gradle defaults to marking a test as “good” once it passes and doesn’t 
re-run it until there are code changes. This can be fixed)

- run the full test suite

- start solr with bin/solr start… (NOTE: this is in a slightly different place 
now)

- start Solr and attach a debugger and hit breakpoints.

IOW, I can do my regular work just using Gradle.

+1 to merging with master.

About merging into 8x. Straw-man proposal: we don’t. There are going to be a 
zillion commits on this before we stop using Ant, and merging into 8x after 
they’re all done will be “interesting”. So I propose we target 9.0 for using 
Gradle rather than Ant and do _NOT_ merge any of this into 8x. If the Gradle 
build isn’t ready by the time 9.0 comes out, we can still use Ant and switch 
over later.

> On Dec 2, 2019, at 10:07 AM, Dawid Weiss  wrote:
> 
> Hi folks.
> 
> For those who prefer the short version:
> git clone https://gitbox.apache.org/repos/asf/lucene-solr.git -b gradle-master
> gradlew :help
> gradlew -p lucene test
> gradlew -p solr/packaging assemble
> 
> A longer explanation follows.
> 
> I realize many of you probably got tired of the discussions and issues
> concerning the gradle build. I don't know why this turned so awkward
> instead of exciting (which it is) but I wanted to try to reflect on
> the lessons learned and retry the effort, perhaps with a better
> outcome this time.
> 
> Erick and I spent some time trying to revive what Mark did but we
> failed -- there were just too many mixed concerns and work-in-progress
> changes to reconcile. I wanted something that would be:
> 
> - usable from the first minute,
> - simple (no custom gradle plugins, etc.),
> - divisible into smaller logical chunks so that contributions could be
> smaller and incremental; without the need to work on the whole thing
> for months,
> - backward compatible with ant (because we are forced to use it until
> everything is ported).
> 
> I took some of the things from Cao and Mark but I essentially rewrote
> the build file and split it into logical fragments that configure
> different build aspects:
> 
> https://github.com/apache/lucene-solr/blob/gradle-master/build.gradle#L18-L48
> 
> A good example of the "smaller fragment" approach is a developer aid
> to display the slowest tests at the end of the run -- it's
> self-contained and gracefully separated from anything else in the
> build:
> 
> https://github.com/apache/lucene-solr/blob/gradle-master/gradle/testing/slowest-tests-at-end.gradle
> 
> It was, in fact, possible to isolate all the sore points and problems
> present with the current ant-based build into separate files that
> provide "workarounds" or "hacks" so that gradle works on the same file
> structure as ant. All of these files indicate a potential problem with
> the build itself (dependencies on test classes, non-conventional
> folder naming, etc.) but until we get rid of ant we can't easily fix
> these:
> 
> https://github.com/apache/lucene-solr/tree/gradle-master/gradle/ant-compat
> 
> The gradle-master branch is essentially a fork from the master branch
> with gradle build files layered on top. My (most controversial)
> decision was to embrace transitive dependencies -- I agree with Mark
> that they just can't be managed manually anymore, especially for Solr.
> Gradle has vast possibilities of excluding and configuring
> dependencies in any way we like without the need to enumerate each and
> every package manually. When something is added for the first time or
> upgraded we will have a safety trigger of the lock file and jar
> checksums (I still need to add this particular section though).
> 
> The build works for me just fine: tests run, assembly works, solr
> packaging works. IntelliJ imports the project as it is, without any
> need for custom tuning.
> 
> The question is how do we proceed from here. I can merge master fairly
> often but I think it would make most sense if we folded this in to
> master _as soon as possible_ so that people start doing actual
> development using gradle (and provide real life feedback). Please
> shout out if you have something against it.
> 
> In the meantime, if you're familiar with gradle and would like to help
> then here is a list of things that are missing from the build:
> https://issues.apache.org/jira/browse/LUCENE-9077
> 
> Some of them are simple, some are more difficult. The 

Re: Gradle build

2019-11-11 Thread Martin Gainty
if for no other reason than to standardise on a sane trunk everyone can work on
+1 for backport to 8



From: Erick Erickson 
Sent: Saturday, November 9, 2019 10:41 AM
To: dev@lucene.apache.org 
Subject: Re: Gradle build

OK, see SOLR-13914. I figure to close SOLR-13452 after I push to master, it’s 
too long.

To Cassandra’s point: I fully sympathize for two reasons:

1> the more we all can use Gradle all the time, the faster it’ll get into its 
final shape

2> the longer we have to add patches, the harder it’ll be to backport

Therefore I’m going to push for back-porting Real Soon Now, next weekend if 
possible. As soon as we have evidence that the Gradle build doesn’t break Solr, 
i.e. Jenkins master builds using Ant don’t start breaking due to this, I 
propose to back-port to 8x.

Let the fun begin!

Erick

> On Nov 8, 2019, at 8:30 PM, Gus Heck  wrote:
>
> +1 to option 2
>
> On Thu, Nov 7, 2019 at 6:23 PM David Smiley  wrote:
>
> Doing 2 doesn’t stop us going to 3 soon if we want.  Easier to fix/improve on 
> one branch while it’s new.
>
> On Thu, Nov 7, 2019 at 5:41 PM Adrien Grand  wrote:
> I'd be fine with option 2 but I have a slight preference for option 3.
> If we see the Gradle build as the future default build, then we need
> to start using it and I wonder that having to use a different workflow
> on branch_8x would be an incentive to keep using the Ant build
> instead.
>
> On Thu, Nov 7, 2019 at 11:15 AM Cassandra Targett  
> wrote:
> >
> > I’m fine with Option 2.
> >
> > Putting my project manager hat on, I’d really like to see a central list or 
> > Jira issues of the things we want to make sure to do before we can turn off 
> > Ant. The list/sub-tasks could be compiled after it’s merged to master, but 
> > it would be nice if we could approach this in a coordinated way so we’re 
> > all able to figure out quickly what remains - I think we’ll have a higher 
> > chance of faster success that way. Hopefully also people would sign up for 
> > the things that they will volunteer to drive to completion instead of 
> > hanging back because they aren’t sure what needs to be done.
> >
> > Dawid and I worked on the Ref Guide transition to Gradle in a separate 
> > branch and it’s either finished or very close to it IMO. It includes the PR 
> > I put up last night to remove the PDF build tasks. I just need to merge it 
> > into the main Gradle branch (jira/SOLR-13452_gradle_8), which I will try to 
> > do by tomorrow.
> >
> > Cassandra
> > On Nov 6, 2019, 3:07 PM -0600, David Smiley , 
> > wrote:
> >
> > Option 2.
> >
> > ~ David Smiley
> > Apache Lucene/Solr Search Developer
> > http://www.linkedin.com/in/davidwsmiley
> >
> >
> > On Wed, Nov 6, 2019 at 12:36 PM Erick Erickson  
> > wrote:
> >>
> >> All:
> >>
> >> re: SOLR-13452. I’m now coming down on both sides of the issue. My motive 
> >> here is if this was pushed, even in its current incomplete state, people 
> >> would have an easier time contributing to the effort. Of course this means 
> >> I would be asking people to use the gradle build at least on master if at 
> >> all possible.
> >>
> >> There are several assumptions I’m making here:
> >>
> >> - we can keep running the Ant build as long as necessary. Ant would be our 
> >> primary build process. The purpose of pushing the current Gradle effort is 
> >> to make it easier for others to contribute and “just try it”.
> >>
> >> - There are no conflicts between the Gradle and Ant builds, so we can 
> >> continue to use Ant as necessary until we make the switch.
> >>
> >> - people will commit up front to putting some effort into this. I flat 
> >> guarantee I won’t carry the load alone. If nobody else steps up, I’ll 
> >> table it. I will volunteer to push fixes from non-committers.
> >> — Yes, people can do this already with the gradle_8 branch, it’d just be 
> >> easier if it was already in the pull.
> >>
> >> - moving to Gradle as our primary workflow won’t happen until we work out 
> >> some of the kinks, things like.
> >> — running on Jenkins.
> >> — Getting the equivalent of “ant server dist” to run.
> >> — Getting the ref guide built.
> >> — I’m sure other things will crop up.
> >>
> >>
> >> So there are several options, please let me know which one you prefer:
> >>
> >> 1. do nothing. People can check out the gradle_8 build and work on it. 
> >> There has been some of this so far, many tha

Re: Gradle build

2019-11-09 Thread Cassandra Targett
I hoped to push my Ref Guide changes to the gradle_8 branch yesterday but got 
distracted with some other stuff for work. I don’t expect I’ll have time to 
work on it this weekend so if you push the other bits to master this weekend, 
I’ll make a new branch off master and will hopefully be able to get it in 
quickly early next week (I’m traveling Tuesday-Friday, so we’ll see).

Cassandra
On Nov 9, 2019, 9:41 AM -0600, Erick Erickson , wrote:
> OK, see SOLR-13914. I figure to close SOLR-13452 after I push to master, it’s 
> too long.
>
> To Cassandra’s point: I fully sympathize for two reasons:
>
> 1> the more we all can use Gradle all the time, the faster it’ll get into its 
> final shape
>
> 2> the longer we have to add patches, the harder it’ll be to backport
>
> Therefore I’m going to push for back-porting Real Soon Now, next weekend if 
> possible. As soon as we have evidence that the Gradle build doesn’t break 
> Solr, i.e. Jenkins master builds using Ant don’t start breaking due to this, 
> I propose to back-port to 8x.
>
> Let the fun begin!
>
> Erick
>
> > On Nov 8, 2019, at 8:30 PM, Gus Heck  wrote:
> >
> > +1 to option 2
> >
> > On Thu, Nov 7, 2019 at 6:23 PM David Smiley  
> > wrote:
> >
> > Doing 2 doesn’t stop us going to 3 soon if we want. Easier to fix/improve 
> > on one branch while it’s new.
> >
> > On Thu, Nov 7, 2019 at 5:41 PM Adrien Grand  wrote:
> > I'd be fine with option 2 but I have a slight preference for option 3.
> > If we see the Gradle build as the future default build, then we need
> > to start using it and I wonder that having to use a different workflow
> > on branch_8x would be an incentive to keep using the Ant build
> > instead.
> >
> > On Thu, Nov 7, 2019 at 11:15 AM Cassandra Targett  
> > wrote:
> > >
> > > I’m fine with Option 2.
> > >
> > > Putting my project manager hat on, I’d really like to see a central list 
> > > or Jira issues of the things we want to make sure to do before we can 
> > > turn off Ant. The list/sub-tasks could be compiled after it’s merged to 
> > > master, but it would be nice if we could approach this in a coordinated 
> > > way so we’re all able to figure out quickly what remains - I think we’ll 
> > > have a higher chance of faster success that way. Hopefully also people 
> > > would sign up for the things that they will volunteer to drive to 
> > > completion instead of hanging back because they aren’t sure what needs to 
> > > be done.
> > >
> > > Dawid and I worked on the Ref Guide transition to Gradle in a separate 
> > > branch and it’s either finished or very close to it IMO. It includes the 
> > > PR I put up last night to remove the PDF build tasks. I just need to 
> > > merge it into the main Gradle branch (jira/SOLR-13452_gradle_8), which I 
> > > will try to do by tomorrow.
> > >
> > > Cassandra
> > > On Nov 6, 2019, 3:07 PM -0600, David Smiley , 
> > > wrote:
> > >
> > > Option 2.
> > >
> > > ~ David Smiley
> > > Apache Lucene/Solr Search Developer
> > > http://www.linkedin.com/in/davidwsmiley
> > >
> > >
> > > On Wed, Nov 6, 2019 at 12:36 PM Erick Erickson  
> > > wrote:
> > > >
> > > > All:
> > > >
> > > > re: SOLR-13452. I’m now coming down on both sides of the issue. My 
> > > > motive here is if this was pushed, even in its current incomplete 
> > > > state, people would have an easier time contributing to the effort. Of 
> > > > course this means I would be asking people to use the gradle build at 
> > > > least on master if at all possible.
> > > >
> > > > There are several assumptions I’m making here:
> > > >
> > > > - we can keep running the Ant build as long as necessary. Ant would be 
> > > > our primary build process. The purpose of pushing the current Gradle 
> > > > effort is to make it easier for others to contribute and “just try it”.
> > > >
> > > > - There are no conflicts between the Gradle and Ant builds, so we can 
> > > > continue to use Ant as necessary until we make the switch.
> > > >
> > > > - people will commit up front to putting some effort into this. I flat 
> > > > guarantee I won’t carry the load alone. If nobody else steps up, I’ll 
> > > > table it. I will volunteer to push fixes from non-committers.
> > > > — Yes, people can do this already with the gradle_8 branch, it’d just 
> > > > be easier if it was already in the pull.
> > > >
> > > > - moving to Gradle as our primary workflow won’t happen until we work 
> > > > out some of the kinks, things like.
> > > > — running on Jenkins.
> > > > — Getting the equivalent of “ant server dist” to run.
> > > > — Getting the ref guide built.
> > > > — I’m sure other things will crop up.
> > > >
> > > >
> > > > So there are several options, please let me know which one you prefer:
> > > >
> > > > 1. do nothing. People can check out the gradle_8 build and work on it. 
> > > > There has been some of this so far, many thanks.
> > > >
> > > > 2. merge it into master only. TBD is when we take Ant out of master.
> > > >
> > > > 3. merge into both master and 8

Re: Gradle build

2019-11-09 Thread Erick Erickson
OK, see SOLR-13914. I figure to close SOLR-13452 after I push to master, it’s 
too long.

To Cassandra’s point: I fully sympathize for two reasons:

1> the more we all can use Gradle all the time, the faster it’ll get into its 
final shape

2> the longer we have to add patches, the harder it’ll be to backport

Therefore I’m going to push for back-porting Real Soon Now, next weekend if 
possible. As soon as we have evidence that the Gradle build doesn’t break Solr, 
i.e. Jenkins master builds using Ant don’t start breaking due to this, I 
propose to back-port to 8x.

Let the fun begin!

Erick

> On Nov 8, 2019, at 8:30 PM, Gus Heck  wrote:
> 
> +1 to option 2
> 
> On Thu, Nov 7, 2019 at 6:23 PM David Smiley  wrote:
> 
> Doing 2 doesn’t stop us going to 3 soon if we want.  Easier to fix/improve on 
> one branch while it’s new. 
> 
> On Thu, Nov 7, 2019 at 5:41 PM Adrien Grand  wrote:
> I'd be fine with option 2 but I have a slight preference for option 3.
> If we see the Gradle build as the future default build, then we need
> to start using it and I wonder that having to use a different workflow
> on branch_8x would be an incentive to keep using the Ant build
> instead.
> 
> On Thu, Nov 7, 2019 at 11:15 AM Cassandra Targett  
> wrote:
> >
> > I’m fine with Option 2.
> >
> > Putting my project manager hat on, I’d really like to see a central list or 
> > Jira issues of the things we want to make sure to do before we can turn off 
> > Ant. The list/sub-tasks could be compiled after it’s merged to master, but 
> > it would be nice if we could approach this in a coordinated way so we’re 
> > all able to figure out quickly what remains - I think we’ll have a higher 
> > chance of faster success that way. Hopefully also people would sign up for 
> > the things that they will volunteer to drive to completion instead of 
> > hanging back because they aren’t sure what needs to be done.
> >
> > Dawid and I worked on the Ref Guide transition to Gradle in a separate 
> > branch and it’s either finished or very close to it IMO. It includes the PR 
> > I put up last night to remove the PDF build tasks. I just need to merge it 
> > into the main Gradle branch (jira/SOLR-13452_gradle_8), which I will try to 
> > do by tomorrow.
> >
> > Cassandra
> > On Nov 6, 2019, 3:07 PM -0600, David Smiley , 
> > wrote:
> >
> > Option 2.
> >
> > ~ David Smiley
> > Apache Lucene/Solr Search Developer
> > http://www.linkedin.com/in/davidwsmiley
> >
> >
> > On Wed, Nov 6, 2019 at 12:36 PM Erick Erickson  
> > wrote:
> >>
> >> All:
> >>
> >> re: SOLR-13452. I’m now coming down on both sides of the issue. My motive 
> >> here is if this was pushed, even in its current incomplete state, people 
> >> would have an easier time contributing to the effort. Of course this means 
> >> I would be asking people to use the gradle build at least on master if at 
> >> all possible.
> >>
> >> There are several assumptions I’m making here:
> >>
> >> - we can keep running the Ant build as long as necessary. Ant would be our 
> >> primary build process. The purpose of pushing the current Gradle effort is 
> >> to make it easier for others to contribute and “just try it”.
> >>
> >> - There are no conflicts between the Gradle and Ant builds, so we can 
> >> continue to use Ant as necessary until we make the switch.
> >>
> >> - people will commit up front to putting some effort into this. I flat 
> >> guarantee I won’t carry the load alone. If nobody else steps up, I’ll 
> >> table it. I will volunteer to push fixes from non-committers.
> >> — Yes, people can do this already with the gradle_8 branch, it’d just be 
> >> easier if it was already in the pull.
> >>
> >> - moving to Gradle as our primary workflow won’t happen until we work out 
> >> some of the kinks, things like.
> >> — running on Jenkins.
> >> — Getting the equivalent of “ant server dist” to run.
> >> — Getting the ref guide built.
> >> — I’m sure other things will crop up.
> >>
> >>
> >> So there are several options, please let me know which one you prefer:
> >>
> >> 1. do nothing. People can check out the gradle_8 build and work on it. 
> >> There has been some of this so far, many thanks.
> >>
> >> 2. merge it into master only. TBD is when we take Ant out of master.
> >>
> >> 3. merge into both master and 8x. Assuming we can continue to use both, 
> >> I’m not sure what advantage there is to merging into 8x. This seems like 
> >> something that should come along with a major version release.
> >>
> >> 4. wait until it’s feature-complete. Based on the evidence so far, this 
> >> may be a long time coming.
> >>
> >> Also, the timing is fungible. I don’t see a downside as long as we can 
> >> continue to build with Ant. I certainly _do_ see a downside if we have to 
> >> do everything Ant does immediately after pushing to whatever branches.
> >>
> >> Erick
> >>
> >>
> >>
> >>
> >> -
> >> To unsubscribe, e-mail: dev-unsubscr...@lu

Re: Gradle build

2019-11-08 Thread Gus Heck
+1 to option 2

On Thu, Nov 7, 2019 at 6:23 PM David Smiley 
wrote:

>
> Doing 2 doesn’t stop us going to 3 soon if we want.  Easier to fix/improve
> on one branch while it’s new.
>
> On Thu, Nov 7, 2019 at 5:41 PM Adrien Grand  wrote:
>
>> I'd be fine with option 2 but I have a slight preference for option 3.
>> If we see the Gradle build as the future default build, then we need
>> to start using it and I wonder that having to use a different workflow
>> on branch_8x would be an incentive to keep using the Ant build
>> instead.
>>
>> On Thu, Nov 7, 2019 at 11:15 AM Cassandra Targett 
>> wrote:
>> >
>> > I’m fine with Option 2.
>> >
>> > Putting my project manager hat on, I’d really like to see a central
>> list or Jira issues of the things we want to make sure to do before we can
>> turn off Ant. The list/sub-tasks could be compiled after it’s merged to
>> master, but it would be nice if we could approach this in a coordinated way
>> so we’re all able to figure out quickly what remains - I think we’ll have a
>> higher chance of faster success that way. Hopefully also people would sign
>> up for the things that they will volunteer to drive to completion instead
>> of hanging back because they aren’t sure what needs to be done.
>> >
>> > Dawid and I worked on the Ref Guide transition to Gradle in a separate
>> branch and it’s either finished or very close to it IMO. It includes the PR
>> I put up last night to remove the PDF build tasks. I just need to merge it
>> into the main Gradle branch (jira/SOLR-13452_gradle_8), which I will try to
>> do by tomorrow.
>> >
>> > Cassandra
>> > On Nov 6, 2019, 3:07 PM -0600, David Smiley ,
>> wrote:
>> >
>> > Option 2.
>> >
>> > ~ David Smiley
>> > Apache Lucene/Solr Search Developer
>> > http://www.linkedin.com/in/davidwsmiley
>> >
>> >
>> > On Wed, Nov 6, 2019 at 12:36 PM Erick Erickson 
>> wrote:
>> >>
>> >> All:
>> >>
>> >> re: SOLR-13452. I’m now coming down on both sides of the issue. My
>> motive here is if this was pushed, even in its current incomplete state,
>> people would have an easier time contributing to the effort. Of course this
>> means I would be asking people to use the gradle build at least on master
>> if at all possible.
>> >>
>> >> There are several assumptions I’m making here:
>> >>
>> >> - we can keep running the Ant build as long as necessary. Ant would be
>> our primary build process. The purpose of pushing the current Gradle effort
>> is to make it easier for others to contribute and “just try it”.
>> >>
>> >> - There are no conflicts between the Gradle and Ant builds, so we can
>> continue to use Ant as necessary until we make the switch.
>> >>
>> >> - people will commit up front to putting some effort into this. I flat
>> guarantee I won’t carry the load alone. If nobody else steps up, I’ll table
>> it. I will volunteer to push fixes from non-committers.
>> >> — Yes, people can do this already with the gradle_8 branch, it’d just
>> be easier if it was already in the pull.
>> >>
>> >> - moving to Gradle as our primary workflow won’t happen until we work
>> out some of the kinks, things like.
>> >> — running on Jenkins.
>> >> — Getting the equivalent of “ant server dist” to run.
>> >> — Getting the ref guide built.
>> >> — I’m sure other things will crop up.
>> >>
>> >>
>> >> So there are several options, please let me know which one you prefer:
>> >>
>> >> 1. do nothing. People can check out the gradle_8 build and work on it.
>> There has been some of this so far, many thanks.
>> >>
>> >> 2. merge it into master only. TBD is when we take Ant out of master.
>> >>
>> >> 3. merge into both master and 8x. Assuming we can continue to use
>> both, I’m not sure what advantage there is to merging into 8x. This seems
>> like something that should come along with a major version release.
>> >>
>> >> 4. wait until it’s feature-complete. Based on the evidence so far,
>> this may be a long time coming.
>> >>
>> >> Also, the timing is fungible. I don’t see a downside as long as we can
>> continue to build with Ant. I certainly _do_ see a downside if we have to
>> do everything Ant does immediately after pushing to whatever branches.
>> >>
>> >> Erick
>> >>
>> >>
>> >>
>> >>
>> >> -
>> >> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> >> For additional commands, e-mail: dev-h...@lucene.apache.org
>> >>
>>
>>
>> --
>> Adrien
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>> --
> Sent from Gmail Mobile
>


-- 
http://www.needhamsoftware.com (work)
http://www.the111shift.com (play)


Re: Gradle build

2019-11-07 Thread David Smiley
Doing 2 doesn’t stop us going to 3 soon if we want.  Easier to fix/improve
on one branch while it’s new.

On Thu, Nov 7, 2019 at 5:41 PM Adrien Grand  wrote:

> I'd be fine with option 2 but I have a slight preference for option 3.
> If we see the Gradle build as the future default build, then we need
> to start using it and I wonder that having to use a different workflow
> on branch_8x would be an incentive to keep using the Ant build
> instead.
>
> On Thu, Nov 7, 2019 at 11:15 AM Cassandra Targett 
> wrote:
> >
> > I’m fine with Option 2.
> >
> > Putting my project manager hat on, I’d really like to see a central list
> or Jira issues of the things we want to make sure to do before we can turn
> off Ant. The list/sub-tasks could be compiled after it’s merged to master,
> but it would be nice if we could approach this in a coordinated way so
> we’re all able to figure out quickly what remains - I think we’ll have a
> higher chance of faster success that way. Hopefully also people would sign
> up for the things that they will volunteer to drive to completion instead
> of hanging back because they aren’t sure what needs to be done.
> >
> > Dawid and I worked on the Ref Guide transition to Gradle in a separate
> branch and it’s either finished or very close to it IMO. It includes the PR
> I put up last night to remove the PDF build tasks. I just need to merge it
> into the main Gradle branch (jira/SOLR-13452_gradle_8), which I will try to
> do by tomorrow.
> >
> > Cassandra
> > On Nov 6, 2019, 3:07 PM -0600, David Smiley ,
> wrote:
> >
> > Option 2.
> >
> > ~ David Smiley
> > Apache Lucene/Solr Search Developer
> > http://www.linkedin.com/in/davidwsmiley
> >
> >
> > On Wed, Nov 6, 2019 at 12:36 PM Erick Erickson 
> wrote:
> >>
> >> All:
> >>
> >> re: SOLR-13452. I’m now coming down on both sides of the issue. My
> motive here is if this was pushed, even in its current incomplete state,
> people would have an easier time contributing to the effort. Of course this
> means I would be asking people to use the gradle build at least on master
> if at all possible.
> >>
> >> There are several assumptions I’m making here:
> >>
> >> - we can keep running the Ant build as long as necessary. Ant would be
> our primary build process. The purpose of pushing the current Gradle effort
> is to make it easier for others to contribute and “just try it”.
> >>
> >> - There are no conflicts between the Gradle and Ant builds, so we can
> continue to use Ant as necessary until we make the switch.
> >>
> >> - people will commit up front to putting some effort into this. I flat
> guarantee I won’t carry the load alone. If nobody else steps up, I’ll table
> it. I will volunteer to push fixes from non-committers.
> >> — Yes, people can do this already with the gradle_8 branch, it’d just
> be easier if it was already in the pull.
> >>
> >> - moving to Gradle as our primary workflow won’t happen until we work
> out some of the kinks, things like.
> >> — running on Jenkins.
> >> — Getting the equivalent of “ant server dist” to run.
> >> — Getting the ref guide built.
> >> — I’m sure other things will crop up.
> >>
> >>
> >> So there are several options, please let me know which one you prefer:
> >>
> >> 1. do nothing. People can check out the gradle_8 build and work on it.
> There has been some of this so far, many thanks.
> >>
> >> 2. merge it into master only. TBD is when we take Ant out of master.
> >>
> >> 3. merge into both master and 8x. Assuming we can continue to use both,
> I’m not sure what advantage there is to merging into 8x. This seems like
> something that should come along with a major version release.
> >>
> >> 4. wait until it’s feature-complete. Based on the evidence so far, this
> may be a long time coming.
> >>
> >> Also, the timing is fungible. I don’t see a downside as long as we can
> continue to build with Ant. I certainly _do_ see a downside if we have to
> do everything Ant does immediately after pushing to whatever branches.
> >>
> >> Erick
> >>
> >>
> >>
> >>
> >> -
> >> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> >> For additional commands, e-mail: dev-h...@lucene.apache.org
> >>
>
>
> --
> Adrien
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
> --
Sent from Gmail Mobile


Re: Gradle build

2019-11-07 Thread Tomas Fernandez Lobbe
+1 to option 2 to begin with. I don’t know if we need to wait for a major 
release for this change, but I think it may be easier to iterate while it’s 
only in master for a while.

> On Nov 7, 2019, at 2:41 PM, Adrien Grand  wrote:
> 
> I'd be fine with option 2 but I have a slight preference for option 3.
> If we see the Gradle build as the future default build, then we need
> to start using it and I wonder that having to use a different workflow
> on branch_8x would be an incentive to keep using the Ant build
> instead.
> 
> On Thu, Nov 7, 2019 at 11:15 AM Cassandra Targett  
> wrote:
>> 
>> I’m fine with Option 2.
>> 
>> Putting my project manager hat on, I’d really like to see a central list or 
>> Jira issues of the things we want to make sure to do before we can turn off 
>> Ant. The list/sub-tasks could be compiled after it’s merged to master, but 
>> it would be nice if we could approach this in a coordinated way so we’re all 
>> able to figure out quickly what remains - I think we’ll have a higher chance 
>> of faster success that way. Hopefully also people would sign up for the 
>> things that they will volunteer to drive to completion instead of hanging 
>> back because they aren’t sure what needs to be done.
>> 
>> Dawid and I worked on the Ref Guide transition to Gradle in a separate 
>> branch and it’s either finished or very close to it IMO. It includes the PR 
>> I put up last night to remove the PDF build tasks. I just need to merge it 
>> into the main Gradle branch (jira/SOLR-13452_gradle_8), which I will try to 
>> do by tomorrow.
>> 
>> Cassandra
>> On Nov 6, 2019, 3:07 PM -0600, David Smiley , 
>> wrote:
>> 
>> Option 2.
>> 
>> ~ David Smiley
>> Apache Lucene/Solr Search Developer
>> http://www.linkedin.com/in/davidwsmiley
>> 
>> 
>> On Wed, Nov 6, 2019 at 12:36 PM Erick Erickson  
>> wrote:
>>> 
>>> All:
>>> 
>>> re: SOLR-13452. I’m now coming down on both sides of the issue. My motive 
>>> here is if this was pushed, even in its current incomplete state, people 
>>> would have an easier time contributing to the effort. Of course this means 
>>> I would be asking people to use the gradle build at least on master if at 
>>> all possible.
>>> 
>>> There are several assumptions I’m making here:
>>> 
>>> - we can keep running the Ant build as long as necessary. Ant would be our 
>>> primary build process. The purpose of pushing the current Gradle effort is 
>>> to make it easier for others to contribute and “just try it”.
>>> 
>>> - There are no conflicts between the Gradle and Ant builds, so we can 
>>> continue to use Ant as necessary until we make the switch.
>>> 
>>> - people will commit up front to putting some effort into this. I flat 
>>> guarantee I won’t carry the load alone. If nobody else steps up, I’ll table 
>>> it. I will volunteer to push fixes from non-committers.
>>> — Yes, people can do this already with the gradle_8 branch, it’d just be 
>>> easier if it was already in the pull.
>>> 
>>> - moving to Gradle as our primary workflow won’t happen until we work out 
>>> some of the kinks, things like.
>>> — running on Jenkins.
>>> — Getting the equivalent of “ant server dist” to run.
>>> — Getting the ref guide built.
>>> — I’m sure other things will crop up.
>>> 
>>> 
>>> So there are several options, please let me know which one you prefer:
>>> 
>>> 1. do nothing. People can check out the gradle_8 build and work on it. 
>>> There has been some of this so far, many thanks.
>>> 
>>> 2. merge it into master only. TBD is when we take Ant out of master.
>>> 
>>> 3. merge into both master and 8x. Assuming we can continue to use both, I’m 
>>> not sure what advantage there is to merging into 8x. This seems like 
>>> something that should come along with a major version release.
>>> 
>>> 4. wait until it’s feature-complete. Based on the evidence so far, this may 
>>> be a long time coming.
>>> 
>>> Also, the timing is fungible. I don’t see a downside as long as we can 
>>> continue to build with Ant. I certainly _do_ see a downside if we have to 
>>> do everything Ant does immediately after pushing to whatever branches.
>>> 
>>> Erick
>>> 
>>> 
>>> 
>>> 
>>> -
>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>> 
> 
> 
> -- 
> Adrien
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 


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



Re: Gradle build

2019-11-07 Thread Adrien Grand
I'd be fine with option 2 but I have a slight preference for option 3.
If we see the Gradle build as the future default build, then we need
to start using it and I wonder that having to use a different workflow
on branch_8x would be an incentive to keep using the Ant build
instead.

On Thu, Nov 7, 2019 at 11:15 AM Cassandra Targett  wrote:
>
> I’m fine with Option 2.
>
> Putting my project manager hat on, I’d really like to see a central list or 
> Jira issues of the things we want to make sure to do before we can turn off 
> Ant. The list/sub-tasks could be compiled after it’s merged to master, but it 
> would be nice if we could approach this in a coordinated way so we’re all 
> able to figure out quickly what remains - I think we’ll have a higher chance 
> of faster success that way. Hopefully also people would sign up for the 
> things that they will volunteer to drive to completion instead of hanging 
> back because they aren’t sure what needs to be done.
>
> Dawid and I worked on the Ref Guide transition to Gradle in a separate branch 
> and it’s either finished or very close to it IMO. It includes the PR I put up 
> last night to remove the PDF build tasks. I just need to merge it into the 
> main Gradle branch (jira/SOLR-13452_gradle_8), which I will try to do by 
> tomorrow.
>
> Cassandra
> On Nov 6, 2019, 3:07 PM -0600, David Smiley , wrote:
>
> Option 2.
>
> ~ David Smiley
> Apache Lucene/Solr Search Developer
> http://www.linkedin.com/in/davidwsmiley
>
>
> On Wed, Nov 6, 2019 at 12:36 PM Erick Erickson  
> wrote:
>>
>> All:
>>
>> re: SOLR-13452. I’m now coming down on both sides of the issue. My motive 
>> here is if this was pushed, even in its current incomplete state, people 
>> would have an easier time contributing to the effort. Of course this means I 
>> would be asking people to use the gradle build at least on master if at all 
>> possible.
>>
>> There are several assumptions I’m making here:
>>
>> - we can keep running the Ant build as long as necessary. Ant would be our 
>> primary build process. The purpose of pushing the current Gradle effort is 
>> to make it easier for others to contribute and “just try it”.
>>
>> - There are no conflicts between the Gradle and Ant builds, so we can 
>> continue to use Ant as necessary until we make the switch.
>>
>> - people will commit up front to putting some effort into this. I flat 
>> guarantee I won’t carry the load alone. If nobody else steps up, I’ll table 
>> it. I will volunteer to push fixes from non-committers.
>> — Yes, people can do this already with the gradle_8 branch, it’d just be 
>> easier if it was already in the pull.
>>
>> - moving to Gradle as our primary workflow won’t happen until we work out 
>> some of the kinks, things like.
>> — running on Jenkins.
>> — Getting the equivalent of “ant server dist” to run.
>> — Getting the ref guide built.
>> — I’m sure other things will crop up.
>>
>>
>> So there are several options, please let me know which one you prefer:
>>
>> 1. do nothing. People can check out the gradle_8 build and work on it. There 
>> has been some of this so far, many thanks.
>>
>> 2. merge it into master only. TBD is when we take Ant out of master.
>>
>> 3. merge into both master and 8x. Assuming we can continue to use both, I’m 
>> not sure what advantage there is to merging into 8x. This seems like 
>> something that should come along with a major version release.
>>
>> 4. wait until it’s feature-complete. Based on the evidence so far, this may 
>> be a long time coming.
>>
>> Also, the timing is fungible. I don’t see a downside as long as we can 
>> continue to build with Ant. I certainly _do_ see a downside if we have to do 
>> everything Ant does immediately after pushing to whatever branches.
>>
>> Erick
>>
>>
>>
>>
>> -
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>


-- 
Adrien

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



Re: Gradle build

2019-11-07 Thread Cassandra Targett
I’m fine with Option 2.

Putting my project manager hat on, I’d really like to see a central list or 
Jira issues of the things we want to make sure to do before we can turn off 
Ant. The list/sub-tasks could be compiled after it’s merged to master, but it 
would be nice if we could approach this in a coordinated way so we’re all able 
to figure out quickly what remains - I think we’ll have a higher chance of 
faster success that way. Hopefully also people would sign up for the things 
that they will volunteer to drive to completion instead of hanging back because 
they aren’t sure what needs to be done.

Dawid and I worked on the Ref Guide transition to Gradle in a separate branch 
and it’s either finished or very close to it IMO. It includes the PR I put up 
last night to remove the PDF build tasks. I just need to merge it into the main 
Gradle branch (jira/SOLR-13452_gradle_8), which I will try to do by tomorrow.

Cassandra
On Nov 6, 2019, 3:07 PM -0600, David Smiley , wrote:
> Option 2.
>
> ~ David Smiley
> Apache Lucene/Solr Search Developer
> http://www.linkedin.com/in/davidwsmiley
>
>
> > On Wed, Nov 6, 2019 at 12:36 PM Erick Erickson  
> > wrote:
> > > All:
> > >
> > > re: SOLR-13452. I’m now coming down on both sides of the issue. My motive 
> > > here is if this was pushed, even in its current incomplete state, people 
> > > would have an easier time contributing to the effort. Of course this 
> > > means I would be asking people to use the gradle build at least on master 
> > > if at all possible.
> > >
> > > There are several assumptions I’m making here:
> > >
> > > - we can keep running the Ant build as long as necessary. Ant would be 
> > > our primary build process. The purpose of pushing the current Gradle 
> > > effort is to make it easier for others to contribute and “just try it”.
> > >
> > > - There are no conflicts between the Gradle and Ant builds, so we can 
> > > continue to use Ant as necessary until we make the switch.
> > >
> > > - people will commit up front to putting some effort into this. I flat 
> > > guarantee I won’t carry the load alone. If nobody else steps up, I’ll 
> > > table it. I will volunteer to push fixes from non-committers.
> > > — Yes, people can do this already with the gradle_8 branch, it’d just be 
> > > easier if it was already in the pull.
> > >
> > > - moving to Gradle as our primary workflow won’t happen until we work out 
> > > some of the kinks, things like.
> > > — running on Jenkins.
> > > — Getting the equivalent of “ant server dist” to run.
> > > — Getting the ref guide built.
> > > — I’m sure other things will crop up.
> > >
> > >
> > > So there are several options, please let me know which one you prefer:
> > >
> > > 1. do nothing. People can check out the gradle_8 build and work on it. 
> > > There has been some of this so far, many thanks.
> > >
> > > 2. merge it into master only. TBD is when we take Ant out of master.
> > >
> > > 3. merge into both master and 8x. Assuming we can continue to use both, 
> > > I’m not sure what advantage there is to merging into 8x. This seems like 
> > > something that should come along with a major version release.
> > >
> > > 4. wait until it’s feature-complete. Based on the evidence so far, this 
> > > may be a long time coming.
> > >
> > > Also, the timing is fungible. I don’t see a downside as long as we can 
> > > continue to build with Ant. I certainly _do_ see a downside if we have to 
> > > do everything Ant does immediately after pushing to whatever branches.
> > >
> > > Erick
> > >
> > >
> > >
> > >
> > > -
> > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > > For additional commands, e-mail: dev-h...@lucene.apache.org
> > >


Re: Gradle build

2019-11-06 Thread David Smiley
Option 2.

~ David Smiley
Apache Lucene/Solr Search Developer
http://www.linkedin.com/in/davidwsmiley


On Wed, Nov 6, 2019 at 12:36 PM Erick Erickson 
wrote:

> All:
>
> re: SOLR-13452. I’m now coming down on both sides of the issue. My motive
> here is if this was pushed, even in its current incomplete state, people
> would have an easier time contributing to the effort. Of course this means
> I would be asking people to use the gradle build at least on master if at
> all possible.
>
> There are several assumptions I’m making here:
>
> - we can keep running the Ant build as long as necessary. Ant would be our
> primary build process. The purpose of pushing the current Gradle effort is
> to make it easier for others to contribute and “just try it”.
>
> - There are no conflicts between the Gradle and Ant builds, so we can
> continue to use Ant as necessary until we make the switch.
>
> - people will commit up front to putting some effort into this. I flat
> guarantee I won’t carry the load alone. If nobody else steps up, I’ll table
> it. I will volunteer to push fixes from non-committers.
> — Yes, people can do this already with the gradle_8 branch, it’d just be
> easier if it was already in the pull.
>
> - moving to Gradle as our primary workflow won’t happen until we work out
> some of the kinks, things like.
> — running on Jenkins.
> — Getting the equivalent of “ant server dist” to run.
> — Getting the ref guide built.
> — I’m sure other things will crop up.
>
>
> So there are several options, please let me know which one you prefer:
>
> 1. do nothing. People can check out the gradle_8 build and work on it.
> There has been some of this so far, many thanks.
>
> 2. merge it into master only. TBD is when we take Ant out of master.
>
> 3. merge into both master and 8x. Assuming we can continue to use both,
> I’m not sure what advantage there is to merging into 8x. This seems like
> something that should come along with a major version release.
>
> 4. wait until it’s feature-complete. Based on the evidence so far, this
> may be a long time coming.
>
> Also, the timing is fungible. I don’t see a downside as long as we can
> continue to build with Ant. I certainly _do_ see a downside if we have to
> do everything Ant does immediately after pushing to whatever branches.
>
> Erick
>
>
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Gradle build

2019-11-06 Thread Dawid Weiss
> — Getting the equivalent of “ant server dist” to run.

I never managed to understand what the proper assembly workflow is in
Solr, to be honest... the "create-package", "dist-*", "package-*"
tasks -- do all of these make sense (and need to be exposed in
gradle)?

> — Getting the ref guide built.

This should be done on a branch already.

> — I’m sure other things will crop up.

Oh, I'm sure they will ;)

D.

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



Re: Gradle build

2019-11-06 Thread Ishan Chattopadhyaya
+1 to option 2.
As I'm working on the package manager, I hope to move to splitting up
pieces of Solr into their own packages (so as to have a lean core).
Having the gradle build will be important at that time, so I have keen
interest in seeing it merged soon.

On Wed, Nov 6, 2019 at 11:06 PM Erick Erickson  wrote:
>
> All:
>
> re: SOLR-13452. I’m now coming down on both sides of the issue. My motive 
> here is if this was pushed, even in its current incomplete state, people 
> would have an easier time contributing to the effort. Of course this means I 
> would be asking people to use the gradle build at least on master if at all 
> possible.
>
> There are several assumptions I’m making here:
>
> - we can keep running the Ant build as long as necessary. Ant would be our 
> primary build process. The purpose of pushing the current Gradle effort is to 
> make it easier for others to contribute and “just try it”.
>
> - There are no conflicts between the Gradle and Ant builds, so we can 
> continue to use Ant as necessary until we make the switch.
>
> - people will commit up front to putting some effort into this. I flat 
> guarantee I won’t carry the load alone. If nobody else steps up, I’ll table 
> it. I will volunteer to push fixes from non-committers.
> — Yes, people can do this already with the gradle_8 branch, it’d just be 
> easier if it was already in the pull.
>
> - moving to Gradle as our primary workflow won’t happen until we work out 
> some of the kinks, things like.
> — running on Jenkins.
> — Getting the equivalent of “ant server dist” to run.
> — Getting the ref guide built.
> — I’m sure other things will crop up.
>
>
> So there are several options, please let me know which one you prefer:
>
> 1. do nothing. People can check out the gradle_8 build and work on it. There 
> has been some of this so far, many thanks.
>
> 2. merge it into master only. TBD is when we take Ant out of master.
>
> 3. merge into both master and 8x. Assuming we can continue to use both, I’m 
> not sure what advantage there is to merging into 8x. This seems like 
> something that should come along with a major version release.
>
> 4. wait until it’s feature-complete. Based on the evidence so far, this may 
> be a long time coming.
>
> Also, the timing is fungible. I don’t see a downside as long as we can 
> continue to build with Ant. I certainly _do_ see a downside if we have to do 
> everything Ant does immediately after pushing to whatever branches.
>
> Erick
>
>
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>

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