Re: Intellij build/test times

2024-06-13 Thread Dawid Weiss
> I don't see why in the gradle.properties template we've messed with
> the default daemon; this should purely be a personal choice and not
> one where we the project need to make a strong preference for you.
>

I think the choice is still there - we generate this file with some sane
defaults so that people can (and should!) modify it to their liking.

The reason for the daemon timeout set to 15 mins is that if you're
switching branches
or play with jvm settings (different jvms), you'll quickly run out of
memory (multiple gradle
daemons running in the background).

Dawid


Re: Intellij build/test times

2024-06-13 Thread David Smiley
I'm coming to this late but want to chime in to concur with most of
Dawid's responses.

I don't see why in the gradle.properties template we've messed with
the default daemon; this should purely be a personal choice and not
one where we the project need to make a strong preference for you.

On Thu, Jun 13, 2024 at 9:43 PM Dawid Weiss  wrote:
>
>
> I would love to do that but it's almost like the three body problem - IDEs, 
> gradle and code changes.
>
> Dawid
>
> On Thu, Jun 13, 2024 at 8:49 PM Michael Sokolov  wrote:
>>
>> Thanks for digging into this Dawid - I think it's important to keep an
>> IDE dev path pretty clear of underbrush in order to encourage new
>> joiners, even if it is not the primary or best means of building and
>> testing
>>
>> On Thu, Jun 13, 2024 at 2:01 PM Dawid Weiss  wrote:
>> >
>> >
>> > Hi Mike,
>> >
>> > Just FYI - I confirm something is odd with the configuration evaluation. 
>> > The times vary wildly on my machine. I don't know why it's the case and I 
>> > couldn't pinpoint a clear cause. Once the daemon is running, things are 
>> > faster - perhaps you should increase the default daemon timeout (it also 
>> > applies to the IDE, I think):
>> >
>> > # timeout after 15 mins of inactivity.
>> > org.gradle.daemon.idletimeout=90
>> >
>> > I'll try to improve things by refreshing some of the build scripts. I 
>> > really liked gradle when it started - mostly for its simplicity. I don't 
>> > like how it turned from a build system to a distributed cache of prebuilt 
>> > artefacts... eh.
>> >
>> > 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: Intellij build/test times

2024-06-13 Thread Dawid Weiss
I would love to do that but it's almost like the three body problem - IDEs,
gradle and code changes.

Dawid

On Thu, Jun 13, 2024 at 8:49 PM Michael Sokolov  wrote:

> Thanks for digging into this Dawid - I think it's important to keep an
> IDE dev path pretty clear of underbrush in order to encourage new
> joiners, even if it is not the primary or best means of building and
> testing
>
> On Thu, Jun 13, 2024 at 2:01 PM Dawid Weiss  wrote:
> >
> >
> > Hi Mike,
> >
> > Just FYI - I confirm something is odd with the configuration evaluation.
> The times vary wildly on my machine. I don't know why it's the case and I
> couldn't pinpoint a clear cause. Once the daemon is running, things are
> faster - perhaps you should increase the default daemon timeout (it also
> applies to the IDE, I think):
> >
> > # timeout after 15 mins of inactivity.
> > org.gradle.daemon.idletimeout=90
> >
> > I'll try to improve things by refreshing some of the build scripts. I
> really liked gradle when it started - mostly for its simplicity. I don't
> like how it turned from a build system to a distributed cache of prebuilt
> artefacts... eh.
> >
> > Dawid
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Intellij build/test times

2024-06-13 Thread Michael Sokolov
Thanks for digging into this Dawid - I think it's important to keep an
IDE dev path pretty clear of underbrush in order to encourage new
joiners, even if it is not the primary or best means of building and
testing

On Thu, Jun 13, 2024 at 2:01 PM Dawid Weiss  wrote:
>
>
> Hi Mike,
>
> Just FYI - I confirm something is odd with the configuration evaluation. The 
> times vary wildly on my machine. I don't know why it's the case and I 
> couldn't pinpoint a clear cause. Once the daemon is running, things are 
> faster - perhaps you should increase the default daemon timeout (it also 
> applies to the IDE, I think):
>
> # timeout after 15 mins of inactivity.
> org.gradle.daemon.idletimeout=90
>
> I'll try to improve things by refreshing some of the build scripts. I really 
> liked gradle when it started - mostly for its simplicity. I don't like how it 
> turned from a build system to a distributed cache of prebuilt artefacts... eh.
>
> Dawid

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



Re: Intellij build/test times

2024-06-13 Thread Dawid Weiss
Hi Mike,

Just FYI - I confirm something is odd with the configuration evaluation.
The times vary wildly on my machine. I don't know why it's the case and I
couldn't pinpoint a clear cause. Once the daemon is running, things are
faster - perhaps you should increase the default daemon timeout (it also
applies to the IDE, I think):

# timeout after 15 mins of inactivity.
org.gradle.daemon.idletimeout=90

I'll try to improve things by refreshing some of the build scripts. I
really liked gradle when it started - mostly for its simplicity. I don't
like how it turned from a build system to a distributed cache of prebuilt
artefacts... eh.

Dawid


Re: Intellij build/test times

2024-06-10 Thread Dawid Weiss
I've taken a look at intellij source code and I don't think the default
annotation preprocessor location can be easily redirected in "intellij
compilation" mode. This personally doesn't bother me much but maybe you're
right that the official developer docs shouldn't make people think too hard
and assume gradle is used both from command line and the IDE - I honestly
don't know... IDEs are a moving target, it's really difficult to keep up
with the changes, eh.

D.

On Mon, Jun 10, 2024 at 5:07 PM Dawid Weiss  wrote:

>
>
> If I set IJ build/test to "gradle" and then right click on "core" in
>> the Project tab -- it gives an option like "run tests in
>> lucene-root.lucene.core" which works.
>
>
> It works because you're running all tests in a module.
>
>
>> At the very top (lucene
>> [lucene-root]) of the hierarchy you can right-click and select "run
>> all tests", but this fails with "Error running 'All in lucene-root':
>> No junit.jar". I thought this had once worked, but maybe I was only
>> running tests in core?
>>
>
> It can't work in the current setup - the topmost project isn't a Java
> module. Maybe it worked at some point when we had ant-generated intellij
> files (which aggregated everything on the same classpath)? I honestly can't
> remember.
>
> Honestly, if you want to run everything, add a gradle configuration and
> run it there - it'll be faster than a sequential run from the IDE.
>
> Dawid
>


Re: Intellij build/test times

2024-06-10 Thread Dawid Weiss
If I set IJ build/test to "gradle" and then right click on "core" in
> the Project tab -- it gives an option like "run tests in
> lucene-root.lucene.core" which works.


It works because you're running all tests in a module.


> At the very top (lucene
> [lucene-root]) of the hierarchy you can right-click and select "run
> all tests", but this fails with "Error running 'All in lucene-root':
> No junit.jar". I thought this had once worked, but maybe I was only
> running tests in core?
>

It can't work in the current setup - the topmost project isn't a Java
module. Maybe it worked at some point when we had ant-generated intellij
files (which aggregated everything on the same classpath)? I honestly can't
remember.

Honestly, if you want to run everything, add a gradle configuration and run
it there - it'll be faster than a sequential run from the IDE.

Dawid


Re: Intellij build/test times

2024-06-10 Thread Michael Sokolov
If I set IJ build/test to "gradle" and then right click on "core" in
the Project tab -- it gives an option like "run tests in
lucene-root.lucene.core" which works. At the very top (lucene
[lucene-root]) of the hierarchy you can right-click and select "run
all tests", but this fails with "Error running 'All in lucene-root':
No junit.jar". I thought this had once worked, but maybe I was only
running tests in core?

On Mon, Jun 10, 2024 at 9:37 AM Dawid Weiss  wrote:
>>
>> When I say "run in IJ" I mean I right clicked a button somewhere and said 
>> "run all tests" :) I expect it was with the gradle runner selected.
>
>
> When you find that button, let me know. It's probably right next to the Holy 
> Grail. ;)
>
> Dawid

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



Re: Intellij build/test times

2024-06-10 Thread Dawid Weiss
>
> When I say "run in IJ" I mean I right clicked a button somewhere and said
> "run all tests" :) I expect it was with the gradle runner selected.
>

When you find that button, let me know. It's probably right next to the
Holy Grail. ;)

Dawid

>


Re: Intellij build/test times

2024-06-10 Thread Michael Sokolov
>
> Yet I feel certain I have been able to run all tests in IJ before.
>
>
>
> I don't think this was ever the case with intellij. Or maybe you ran those
> tests via gradle?


When I say "run in IJ" I mean I right clicked a button somewhere and said
"run all tests" :) I expect it was with the gradle runner selected.


On Mon, Jun 10, 2024 at 6:38 AM Dawid Weiss  wrote:

>
> Yet I feel certain I have been able to run all tests in IJ before.
>>
>
> I don't think this was ever the case with intellij. Or maybe you ran those
> tests via gradle?
>
>
>> There are a few oddities that happen in intellij that require you to
>> fiddle with the build in odd ways, but I wonder if these will be
>> reproducible or if they maybe happen because there is some bad state:
>>
>
> Intellij changes from version to version so there is no "one" version,
> unfortunately. Also, sometimes
> some of the settings intellij sets up on the initial import persist and
> 'reloading' the gradle plugin does not
> help to update them. An occasional import from scratch is a good way to
> check if something like this happens.
>
> 1. Building branch_9x with intellij builder selected in the gradle
>> settings failed to build the benchmark module due to some modules not
>> being visible to it (e.g. icu). So I "unload module benchmark"
>> effectively skipping building that, and then I am able to build the
>> rest of lucene. YMMV
>>
>
> I can't reproduce this on main, haven't tried 9x.
>
>
>> 2. After switching back to main branch, I got a build failure  "error:
>> Annotation generator had thrown the exception.
>> javax.annotation.processing.FilerException: Attempt to recreate a file
>> for type
>> org.apache.lucene.benchmark.jmh.jmh_generated.ExpressionsBenchmark_expression_jmhTest".
>> I see there are some generated classes in
>> lucene/benchmark_jmh/src/java/generated, that show up in git status,
>> so I remove that folder and then everything is fine - some cruft left
>> from a previous build?
>>
>
> This is intellij's compiler emitting annotation processor output (jmh) to
> an incorrect location.
> It's javac's '-s' option. Not sure how to configure this option so that
> intellij picks it up from the gradle build model.
>
>
>> Side note: when running all tests in "intellij" mode you cannot do it
>> by selecting the "core" module - you have to navigate down to the
>> "tests" folder.
>
>
> Correct, This is the classpath-container unit which contains tests.
>
>
>> Also I observed that when running tests in "gradle"
>> mode I no longer observed the slow startup times? Really unsure what
>> that means. Maybe some networking thing?
>>
>
> Or the daemon starting for the first time - this is relatively expensive.
> Once the daemon is up, launch times should
> be faster.
>
>
>> But the main thing I learned is that while running tests using
>> intellij builder mostly works, MemorySegmentIndexInputProvider fails
>> to get loaded and any test using MMapDirectory will fail, regardless
>> of whether I run a single test or a whole suite. This is true on both
>> 9x and main branches and causes 1/3-1/2 of tests to fail in core.
>>
>
> This class is in src/java21 - it's not picked up as a source folder by
> intellij. And if you add it manually, you'll get errors related to
> compilation because of the way the gradle build "cheats" javac and bypasses
> explicitly importing
> jdk.incubator.vector and not declaring --enable-preview...
>
> In short: yes, it'll be difficult to work around that, especially with an
> automatic project import in intellij (perhaps you could hand-craft
> configuration files so that it works, I'm not sure).
>
>
>> At this point I'm reluctant to recommend using the intellij build
>> mode. Maybe it will become viable again if we can figure out how to
>> get MMapDirectory tests to work with it?
>>
>
> I use it because it's much faster. Whenever I need something  more
> complex, I set up a dedicated gradle launch configuration for that - like
> so:
>
> [image: image.png]
>
> I'm neither gradle nor intellij expert though, it's mostly a
> trial-and-error of what works and what doesn't...
>
> D.
>


Re: Intellij build/test times

2024-06-10 Thread Dawid Weiss
> Yet I feel certain I have been able to run all tests in IJ before.
>

I don't think this was ever the case with intellij. Or maybe you ran those
tests via gradle?


> There are a few oddities that happen in intellij that require you to
> fiddle with the build in odd ways, but I wonder if these will be
> reproducible or if they maybe happen because there is some bad state:
>

Intellij changes from version to version so there is no "one" version,
unfortunately. Also, sometimes
some of the settings intellij sets up on the initial import persist and
'reloading' the gradle plugin does not
help to update them. An occasional import from scratch is a good way to
check if something like this happens.

1. Building branch_9x with intellij builder selected in the gradle
> settings failed to build the benchmark module due to some modules not
> being visible to it (e.g. icu). So I "unload module benchmark"
> effectively skipping building that, and then I am able to build the
> rest of lucene. YMMV
>

I can't reproduce this on main, haven't tried 9x.


> 2. After switching back to main branch, I got a build failure  "error:
> Annotation generator had thrown the exception.
> javax.annotation.processing.FilerException: Attempt to recreate a file
> for type
> org.apache.lucene.benchmark.jmh.jmh_generated.ExpressionsBenchmark_expression_jmhTest".
> I see there are some generated classes in
> lucene/benchmark_jmh/src/java/generated, that show up in git status,
> so I remove that folder and then everything is fine - some cruft left
> from a previous build?
>

This is intellij's compiler emitting annotation processor output (jmh) to
an incorrect location.
It's javac's '-s' option. Not sure how to configure this option so that
intellij picks it up from the gradle build model.


> Side note: when running all tests in "intellij" mode you cannot do it
> by selecting the "core" module - you have to navigate down to the
> "tests" folder.


Correct, This is the classpath-container unit which contains tests.


> Also I observed that when running tests in "gradle"
> mode I no longer observed the slow startup times? Really unsure what
> that means. Maybe some networking thing?
>

Or the daemon starting for the first time - this is relatively expensive.
Once the daemon is up, launch times should
be faster.


> But the main thing I learned is that while running tests using
> intellij builder mostly works, MemorySegmentIndexInputProvider fails
> to get loaded and any test using MMapDirectory will fail, regardless
> of whether I run a single test or a whole suite. This is true on both
> 9x and main branches and causes 1/3-1/2 of tests to fail in core.
>

This class is in src/java21 - it's not picked up as a source folder by
intellij. And if you add it manually, you'll get errors related to
compilation because of the way the gradle build "cheats" javac and bypasses
explicitly importing
jdk.incubator.vector and not declaring --enable-preview...

In short: yes, it'll be difficult to work around that, especially with an
automatic project import in intellij (perhaps you could hand-craft
configuration files so that it works, I'm not sure).


> At this point I'm reluctant to recommend using the intellij build
> mode. Maybe it will become viable again if we can figure out how to
> get MMapDirectory tests to work with it?
>

I use it because it's much faster. Whenever I need something  more complex,
I set up a dedicated gradle launch configuration for that - like so:

[image: image.png]

I'm neither gradle nor intellij expert though, it's mostly a
trial-and-error of what works and what doesn't...

D.


Re: Intellij build/test times

2024-06-09 Thread Michael Sokolov
OK, I can see how the directory structure might be at odds
w/intellij's view of the world.Yet I feel certain I have been able to
run all tests in IJ before.

Just to disconfirm my insanity I tried again building and running all
tests in core on branch_9x/main using both intellij and gradle
build/test options (both via in intellij).

There are a few oddities that happen in intellij that require you to
fiddle with the build in odd ways, but I wonder if these will be
reproducible or if they maybe happen because there is some bad state:

1. Building branch_9x with intellij builder selected in the gradle
settings failed to build the benchmark module due to some modules not
being visible to it (e.g. icu). So I "unload module benchmark"
effectively skipping building that, and then I am able to build the
rest of lucene. YMMV
2. After switching back to main branch, I got a build failure  "error:
Annotation generator had thrown the exception.
javax.annotation.processing.FilerException: Attempt to recreate a file
for type 
org.apache.lucene.benchmark.jmh.jmh_generated.ExpressionsBenchmark_expression_jmhTest".
I see there are some generated classes in
lucene/benchmark_jmh/src/java/generated, that show up in git status,
so I remove that folder and then everything is fine - some cruft left
from a previous build?

Side note: when running all tests in "intellij" mode you cannot do it
by selecting the "core" module - you have to navigate down to the
"tests" folder. Also I observed that when running tests in "gradle"
mode I no longer observed the slow startup times? Really unsure what
that means. Maybe some networking thing?

But the main thing I learned is that while running tests using
intellij builder mostly works, MemorySegmentIndexInputProvider fails
to get loaded and any test using MMapDirectory will fail, regardless
of whether I run a single test or a whole suite. This is true on both
9x and main branches and causes 1/3-1/2 of tests to fail in core.

At this point I'm reluctant to recommend using the intellij build
mode. Maybe it will become viable again if we can figure out how to
get MMapDirectory tests to work with it?

On Sat, Jun 8, 2024 at 4:06 PM Dawid Weiss  wrote:
>
>
>> By the way, the
>> classpath problems seem to occur with either method (gradle or
>> intellij) when running entire suite - I just confused while switching
>> back and forth. This is on main, haven't tried 9x recently
>
>
> Some of these headaches are caused by Lucene's folder structure and have been 
> there forever - resources mixed with source classes. I don't know if you can 
> make intellij use a folder as a resource and as source directory at the same 
> time - I don't think it's possible. If so, tests that rely on these resources 
> will fail. It's been this way since I remember - nothing has changed here.
>
> There is also a lot of trickery involving modular paths etc. I don't think 
> it'll be easy to simulate this in Intellij. Then, 99% of test cases will run 
> just fine from intellij without any special hacks (I think)...
>
> I'd say - run individual tests from intellij, add a test launching config 
> redirecting to gradle for the whole suite - it should also be faster this way 
> since tests will run in parallel between modules.
>
> D.

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



Re: Intellij build/test times

2024-06-08 Thread Dawid Weiss
> By the way, the
> classpath problems seem to occur with either method (gradle or
> intellij) when running entire suite - I just confused while switching
> back and forth. This is on main, haven't tried 9x recently
>

Some of these headaches are caused by Lucene's folder structure and have
been there forever - resources mixed with source classes. I don't know if
you can make intellij use a folder as a resource and as source directory at
the same time - I don't think it's possible. If so, tests that rely on
these resources will fail. It's been this way since I remember - nothing
has changed here.

There is also a lot of trickery involving modular paths etc. I don't think
it'll be easy to simulate this in Intellij. Then, 99% of test cases will
run just fine from intellij without any special hacks (I think)...

I'd say - run individual tests from intellij, add a test launching config
redirecting to gradle for the whole suite - it should also be faster this
way since tests will run in parallel between modules.

D.


Re: Intellij build/test times

2024-06-08 Thread Michael Sokolov
Indeed, it's when I run multiple tests that I see the problems.
Running single test classes seems to work OK. In the past I have been
able to run the entire test suite, but I agree this is less critical
than being able to debug single tests. Cursory internet search
indicates the problem is widespread and others propose using the same
plan - don't use gradle test runner in intellij. By the way, the
classpath problems seem to occur with either method (gradle or
intellij) when running entire suite - I just confused while switching
back and forth. This is on main, haven't tried 9x recently

On Fri, Jun 7, 2024 at 4:05 PM Dawid Weiss  wrote:
>
>
> Hi Mike,
>
> Are you trying to run all the tests from Lucene from IntelliJ? I admit I 
> haven't tried that... :) I usually use intellij for running/ debugging 
> isolated classes, then rerun the full suite from command line (increased 
> parallelism). I don't think everything will work - if something needs a 
> specific setup done by gradle tasks or has resources under src, where they're 
> not seed as resources by intellij and thus not copied - tough luck. But most 
> stuff should work.
>
> Running via gradle is slow for me not just with Lucene but also with other 
> projects... I can take a look but I'm pessimistic I can do any wonders here.
>
> Dawid
>
> On Fri, Jun 7, 2024 at 6:06 PM Michael Sokolov  wrote:
>>
>> I'm also getting errors like:
>>
>> Caused by: java.lang.ExceptionInInitializerError: Exception
>> java.lang.LinkageError: MemorySegmentIndexInputProvider is missing in
>> Lucene JAR file [in thread
>> "TEST-TestDemo.testDemo-seed#[872544629C2881C6]"]
>>
>> I wonder if this is due to some kind of module permissions thing
>> controlling the visibility of these symbols?
>>
>> On Fri, Jun 7, 2024 at 11:53 AM Michael Sokolov  wrote:
>> >
>> > hm I found FakeCharFilterFactory in src/test/META-INF.services -- it's
>> > in a "test sources root" folder and won't allow itself to be set as a
>> > resources folder? hm even after fiddling with this - I finally get to
>> > mark it as "test resources root" my test is still not passing. This
>> > can't be this hard!
>> >
>> > On Fri, Jun 7, 2024 at 11:44 AM Michael Sokolov  wrote:
>> > >
>> > > hmm so after playing around with this Intellij build for a bit I ran
>> > > into some trouble -- all the tests relying on SPI seemed to start
>> > > failing. So then I switched back to build with Gradle and rebuild the
>> > > project and these tests passed. Just to double check there wasn't some
>> > > strange stale build problem, I think switched back again to IntelliJ
>> > > builder and I still see the same failures; example is like:
>> > >
>> > > NOTE: reproduce with: gradlew test --tests
>> > > TestAnalysisSPILoader.testLookupCharFilter
>> > > -Dtests.seed=88A2DA17C6510A33 -Dtests.locale=en-PR
>> > > -Dtests.timezone=Etc/GMT-9 -Dtests.asserts=true
>> > > -Dtests.file.encoding=UTF-8
>> > >
>> > > java.lang.IllegalArgumentException: A SPI class of type
>> > > org.apache.lucene.analysis.CharFilterFactory with name 'Fake' does not
>> > > exist. You need to add the corresponding JAR file supporting this SPI
>> > > to your classpath. The current classpath supports the following names:
>> > > []
>> > >
>> > > I guess there must be some setup required in order to expose the SPI
>> > > resource files to the build? So I checked some of the resources
>> > > folders like lucene/analysis/common/src/resources and sure enough it
>> > > is labeled as a resources folder in intellij UI. So ... what am I
>> > > missing?
>> > >
>> > > On Fri, Jun 7, 2024 at 10:40 AM Michael Sokolov  
>> > > wrote:
>> > > >
>> > > > ok, life must be scary for developers on windows!
>> > > >
>> > > > On Fri, Jun 7, 2024 at 10:33 AM Dawid Weiss  
>> > > > wrote:
>> > > > >
>> > > > >
>> > > > > Certain regenerate tasks do require perl and python indeed.
>> > > > >
>> > > > > On Fri, Jun 7, 2024 at 2:23 PM Michael Sokolov  
>> > > > > wrote:
>> > > > >>
>> > > > >> While editing this CONTRIBUTING.md I found the following statement:
>> > > > >>
>> > > > >> Some build tasks (in particular `./gradlew check`) require Perl
>> > > > >> and Python 3.
>> > > > >>
>> > > > >> Is it actually true that we require Perl?
>> > > > >>
>> > > > >> On Fri, Jun 7, 2024 at 8:11 AM Michael Sokolov  
>> > > > >> wrote:
>> > > > >> >
>> > > > >> > So I'm glad we have a fix for this, but it's making me realize 
>> > > > >> > that
>> > > > >> > any new joiner that uses intellij (probably most of them?) will 
>> > > > >> > have
>> > > > >> > this problem and have no idea what to do about it. They will just
>> > > > >> > conclude - running Lucene tests in intellij sucks. If we revived 
>> > > > >> > that
>> > > > >> > intellij target maybe that would help - but .. you would have to 
>> > > > >> > know
>> > > > >> > to run it! So then I went to look at our project web page to see 
>> > > > >> > what
>> > > > >> > kind of developer docs we have that a new contributor might find.
>> > > > 

Re: Intellij build/test times

2024-06-07 Thread Dawid Weiss
Hi Mike,

Are you trying to run *all* the tests from Lucene from IntelliJ? I admit I
haven't tried that... :) I usually use intellij for running/ debugging
isolated classes, then rerun the full suite from command line (increased
parallelism). I don't think everything will work - if something needs a
specific setup done by gradle tasks or has resources under src, where
they're not seed as resources by intellij and thus not copied - tough luck.
But most stuff should work.

Running via gradle is slow for me not just with Lucene but also with other
projects... I can take a look but I'm pessimistic I can do any wonders here.

Dawid

On Fri, Jun 7, 2024 at 6:06 PM Michael Sokolov  wrote:

> I'm also getting errors like:
>
> Caused by: java.lang.ExceptionInInitializerError: Exception
> java.lang.LinkageError: MemorySegmentIndexInputProvider is missing in
> Lucene JAR file [in thread
> "TEST-TestDemo.testDemo-seed#[872544629C2881C6]"]
>
> I wonder if this is due to some kind of module permissions thing
> controlling the visibility of these symbols?
>
> On Fri, Jun 7, 2024 at 11:53 AM Michael Sokolov 
> wrote:
> >
> > hm I found FakeCharFilterFactory in src/test/META-INF.services -- it's
> > in a "test sources root" folder and won't allow itself to be set as a
> > resources folder? hm even after fiddling with this - I finally get to
> > mark it as "test resources root" my test is still not passing. This
> > can't be this hard!
> >
> > On Fri, Jun 7, 2024 at 11:44 AM Michael Sokolov 
> wrote:
> > >
> > > hmm so after playing around with this Intellij build for a bit I ran
> > > into some trouble -- all the tests relying on SPI seemed to start
> > > failing. So then I switched back to build with Gradle and rebuild the
> > > project and these tests passed. Just to double check there wasn't some
> > > strange stale build problem, I think switched back again to IntelliJ
> > > builder and I still see the same failures; example is like:
> > >
> > > NOTE: reproduce with: gradlew test --tests
> > > TestAnalysisSPILoader.testLookupCharFilter
> > > -Dtests.seed=88A2DA17C6510A33 -Dtests.locale=en-PR
> > > -Dtests.timezone=Etc/GMT-9 -Dtests.asserts=true
> > > -Dtests.file.encoding=UTF-8
> > >
> > > java.lang.IllegalArgumentException: A SPI class of type
> > > org.apache.lucene.analysis.CharFilterFactory with name 'Fake' does not
> > > exist. You need to add the corresponding JAR file supporting this SPI
> > > to your classpath. The current classpath supports the following names:
> > > []
> > >
> > > I guess there must be some setup required in order to expose the SPI
> > > resource files to the build? So I checked some of the resources
> > > folders like lucene/analysis/common/src/resources and sure enough it
> > > is labeled as a resources folder in intellij UI. So ... what am I
> > > missing?
> > >
> > > On Fri, Jun 7, 2024 at 10:40 AM Michael Sokolov 
> wrote:
> > > >
> > > > ok, life must be scary for developers on windows!
> > > >
> > > > On Fri, Jun 7, 2024 at 10:33 AM Dawid Weiss 
> wrote:
> > > > >
> > > > >
> > > > > Certain regenerate tasks do require perl and python indeed.
> > > > >
> > > > > On Fri, Jun 7, 2024 at 2:23 PM Michael Sokolov 
> wrote:
> > > > >>
> > > > >> While editing this CONTRIBUTING.md I found the following
> statement:
> > > > >>
> > > > >> Some build tasks (in particular `./gradlew check`) require
> Perl
> > > > >> and Python 3.
> > > > >>
> > > > >> Is it actually true that we require Perl?
> > > > >>
> > > > >> On Fri, Jun 7, 2024 at 8:11 AM Michael Sokolov <
> msoko...@gmail.com> wrote:
> > > > >> >
> > > > >> > So I'm glad we have a fix for this, but it's making me realize
> that
> > > > >> > any new joiner that uses intellij (probably most of them?) will
> have
> > > > >> > this problem and have no idea what to do about it. They will
> just
> > > > >> > conclude - running Lucene tests in intellij sucks. If we
> revived that
> > > > >> > intellij target maybe that would help - but .. you would have
> to know
> > > > >> > to run it! So then I went to look at our project web page to
> see what
> > > > >> > kind of developer docs we have that a new contributor might
> find.
> > > > >> >
> > > > >> > The first place Google sent me was to our github page
> > > > >> > https://github.com/apache/lucene/?tab=readme-ov-file-- that
> one has
> > > > >> > some very brief description about how to build, but nothing
> about
> > > > >> > intellij. It does have a prominent link to "Developer
> documentation"
> > > > >> > which is here:
> https://github.com/apache/lucene/tree/main/dev-docs but
> > > > >> > that folder is mostly empty; it has a few somewhat esoteric
> bits of
> > > > >> > info, but again nothing basic about building and testing; no
> > > > >> > discussion of all the myriad gradle tasks and deep help info
> that
> > > > >> > exists there.
> > > > >> >
> > > > >> > Next I tried looking on apache.org, but actually it is quite
> hard to
> > > > >> > find any info about Lucene there - Apache 

Re: Intellij build/test times

2024-06-07 Thread Michael Sokolov
I'm also getting errors like:

Caused by: java.lang.ExceptionInInitializerError: Exception
java.lang.LinkageError: MemorySegmentIndexInputProvider is missing in
Lucene JAR file [in thread
"TEST-TestDemo.testDemo-seed#[872544629C2881C6]"]

I wonder if this is due to some kind of module permissions thing
controlling the visibility of these symbols?

On Fri, Jun 7, 2024 at 11:53 AM Michael Sokolov  wrote:
>
> hm I found FakeCharFilterFactory in src/test/META-INF.services -- it's
> in a "test sources root" folder and won't allow itself to be set as a
> resources folder? hm even after fiddling with this - I finally get to
> mark it as "test resources root" my test is still not passing. This
> can't be this hard!
>
> On Fri, Jun 7, 2024 at 11:44 AM Michael Sokolov  wrote:
> >
> > hmm so after playing around with this Intellij build for a bit I ran
> > into some trouble -- all the tests relying on SPI seemed to start
> > failing. So then I switched back to build with Gradle and rebuild the
> > project and these tests passed. Just to double check there wasn't some
> > strange stale build problem, I think switched back again to IntelliJ
> > builder and I still see the same failures; example is like:
> >
> > NOTE: reproduce with: gradlew test --tests
> > TestAnalysisSPILoader.testLookupCharFilter
> > -Dtests.seed=88A2DA17C6510A33 -Dtests.locale=en-PR
> > -Dtests.timezone=Etc/GMT-9 -Dtests.asserts=true
> > -Dtests.file.encoding=UTF-8
> >
> > java.lang.IllegalArgumentException: A SPI class of type
> > org.apache.lucene.analysis.CharFilterFactory with name 'Fake' does not
> > exist. You need to add the corresponding JAR file supporting this SPI
> > to your classpath. The current classpath supports the following names:
> > []
> >
> > I guess there must be some setup required in order to expose the SPI
> > resource files to the build? So I checked some of the resources
> > folders like lucene/analysis/common/src/resources and sure enough it
> > is labeled as a resources folder in intellij UI. So ... what am I
> > missing?
> >
> > On Fri, Jun 7, 2024 at 10:40 AM Michael Sokolov  wrote:
> > >
> > > ok, life must be scary for developers on windows!
> > >
> > > On Fri, Jun 7, 2024 at 10:33 AM Dawid Weiss  wrote:
> > > >
> > > >
> > > > Certain regenerate tasks do require perl and python indeed.
> > > >
> > > > On Fri, Jun 7, 2024 at 2:23 PM Michael Sokolov  
> > > > wrote:
> > > >>
> > > >> While editing this CONTRIBUTING.md I found the following statement:
> > > >>
> > > >> Some build tasks (in particular `./gradlew check`) require Perl
> > > >> and Python 3.
> > > >>
> > > >> Is it actually true that we require Perl?
> > > >>
> > > >> On Fri, Jun 7, 2024 at 8:11 AM Michael Sokolov  
> > > >> wrote:
> > > >> >
> > > >> > So I'm glad we have a fix for this, but it's making me realize that
> > > >> > any new joiner that uses intellij (probably most of them?) will have
> > > >> > this problem and have no idea what to do about it. They will just
> > > >> > conclude - running Lucene tests in intellij sucks. If we revived that
> > > >> > intellij target maybe that would help - but .. you would have to know
> > > >> > to run it! So then I went to look at our project web page to see what
> > > >> > kind of developer docs we have that a new contributor might find.
> > > >> >
> > > >> > The first place Google sent me was to our github page
> > > >> > https://github.com/apache/lucene/?tab=readme-ov-file-- that one has
> > > >> > some very brief description about how to build, but nothing about
> > > >> > intellij. It does have a prominent link to "Developer documentation"
> > > >> > which is here: https://github.com/apache/lucene/tree/main/dev-docs 
> > > >> > but
> > > >> > that folder is mostly empty; it has a few somewhat esoteric bits of
> > > >> > info, but again nothing basic about building and testing; no
> > > >> > discussion of all the myriad gradle tasks and deep help info that
> > > >> > exists there.
> > > >> >
> > > >> > Next I tried looking on apache.org, but actually it is quite hard to
> > > >> > find any info about Lucene there - Apache just has too many projects.
> > > >> > I did finally find this page though
> > > >> > https://projects.apache.org/project.html?lucene-core and it links to
> > > >> > https://lucene.apache.org/core/. From there, I see a "Developer" 
> > > >> > link,
> > > >> > again this page has a paucity of info; basically it links you to
> > > >> > github, jenkins, and to the wiki. The "wiki" link actually just takes
> > > >> > you to a different github page -- and *this* one actually has some
> > > >> > useful info on how to build -- I think it's our best "intro" page for
> > > >> > a new developer. However all it says about IntelliJ is: "IntelliJ -
> > > >> > IntelliJ idea can import and build gradle-based projects out of the
> > > >> > box." true, sort of.
> > > >> >
> > > >> > So I think I will (1) add a note about this IJ build setting to that
> > > >> > page, and (2) consolidate some of 

Re: Intellij build/test times

2024-06-07 Thread Michael Sokolov
hm I found FakeCharFilterFactory in src/test/META-INF.services -- it's
in a "test sources root" folder and won't allow itself to be set as a
resources folder? hm even after fiddling with this - I finally get to
mark it as "test resources root" my test is still not passing. This
can't be this hard!

On Fri, Jun 7, 2024 at 11:44 AM Michael Sokolov  wrote:
>
> hmm so after playing around with this Intellij build for a bit I ran
> into some trouble -- all the tests relying on SPI seemed to start
> failing. So then I switched back to build with Gradle and rebuild the
> project and these tests passed. Just to double check there wasn't some
> strange stale build problem, I think switched back again to IntelliJ
> builder and I still see the same failures; example is like:
>
> NOTE: reproduce with: gradlew test --tests
> TestAnalysisSPILoader.testLookupCharFilter
> -Dtests.seed=88A2DA17C6510A33 -Dtests.locale=en-PR
> -Dtests.timezone=Etc/GMT-9 -Dtests.asserts=true
> -Dtests.file.encoding=UTF-8
>
> java.lang.IllegalArgumentException: A SPI class of type
> org.apache.lucene.analysis.CharFilterFactory with name 'Fake' does not
> exist. You need to add the corresponding JAR file supporting this SPI
> to your classpath. The current classpath supports the following names:
> []
>
> I guess there must be some setup required in order to expose the SPI
> resource files to the build? So I checked some of the resources
> folders like lucene/analysis/common/src/resources and sure enough it
> is labeled as a resources folder in intellij UI. So ... what am I
> missing?
>
> On Fri, Jun 7, 2024 at 10:40 AM Michael Sokolov  wrote:
> >
> > ok, life must be scary for developers on windows!
> >
> > On Fri, Jun 7, 2024 at 10:33 AM Dawid Weiss  wrote:
> > >
> > >
> > > Certain regenerate tasks do require perl and python indeed.
> > >
> > > On Fri, Jun 7, 2024 at 2:23 PM Michael Sokolov  wrote:
> > >>
> > >> While editing this CONTRIBUTING.md I found the following statement:
> > >>
> > >> Some build tasks (in particular `./gradlew check`) require Perl
> > >> and Python 3.
> > >>
> > >> Is it actually true that we require Perl?
> > >>
> > >> On Fri, Jun 7, 2024 at 8:11 AM Michael Sokolov  
> > >> wrote:
> > >> >
> > >> > So I'm glad we have a fix for this, but it's making me realize that
> > >> > any new joiner that uses intellij (probably most of them?) will have
> > >> > this problem and have no idea what to do about it. They will just
> > >> > conclude - running Lucene tests in intellij sucks. If we revived that
> > >> > intellij target maybe that would help - but .. you would have to know
> > >> > to run it! So then I went to look at our project web page to see what
> > >> > kind of developer docs we have that a new contributor might find.
> > >> >
> > >> > The first place Google sent me was to our github page
> > >> > https://github.com/apache/lucene/?tab=readme-ov-file-- that one has
> > >> > some very brief description about how to build, but nothing about
> > >> > intellij. It does have a prominent link to "Developer documentation"
> > >> > which is here: https://github.com/apache/lucene/tree/main/dev-docs but
> > >> > that folder is mostly empty; it has a few somewhat esoteric bits of
> > >> > info, but again nothing basic about building and testing; no
> > >> > discussion of all the myriad gradle tasks and deep help info that
> > >> > exists there.
> > >> >
> > >> > Next I tried looking on apache.org, but actually it is quite hard to
> > >> > find any info about Lucene there - Apache just has too many projects.
> > >> > I did finally find this page though
> > >> > https://projects.apache.org/project.html?lucene-core and it links to
> > >> > https://lucene.apache.org/core/. From there, I see a "Developer" link,
> > >> > again this page has a paucity of info; basically it links you to
> > >> > github, jenkins, and to the wiki. The "wiki" link actually just takes
> > >> > you to a different github page -- and *this* one actually has some
> > >> > useful info on how to build -- I think it's our best "intro" page for
> > >> > a new developer. However all it says about IntelliJ is: "IntelliJ -
> > >> > IntelliJ idea can import and build gradle-based projects out of the
> > >> > box." true, sort of.
> > >> >
> > >> > So I think I will (1) add a note about this IJ build setting to that
> > >> > page, and (2) consolidate some of the other links to go here instead
> > >> > of routing folks through a twisty maze of web pages
> > >> >
> > >> > On Fri, Jun 7, 2024 at 7:45 AM Stefan Vodita  
> > >> > wrote:
> > >> > >
> > >> > > +1, I had the same problem and it seems better now. Thank you, Dawid!
> > >> > >
> > >> > > On Thu, 6 Jun 2024 at 12:20, Michael Sokolov  
> > >> > > wrote:
> > >> > >>
> > >> > >> Oh! TIL! so much better, thanks. And now I have the "Repeat" option
> > >> > >> back in the test runner
> > >> > >>
> > >> > >> On Thu, Jun 6, 2024 at 6:18 AM Dawid Weiss  
> > >> > >> wrote:
> > >> > >> >
> > >> > >> >
> > >> > >> > 

Re: Intellij build/test times

2024-06-07 Thread Michael Sokolov
hmm so after playing around with this Intellij build for a bit I ran
into some trouble -- all the tests relying on SPI seemed to start
failing. So then I switched back to build with Gradle and rebuild the
project and these tests passed. Just to double check there wasn't some
strange stale build problem, I think switched back again to IntelliJ
builder and I still see the same failures; example is like:

NOTE: reproduce with: gradlew test --tests
TestAnalysisSPILoader.testLookupCharFilter
-Dtests.seed=88A2DA17C6510A33 -Dtests.locale=en-PR
-Dtests.timezone=Etc/GMT-9 -Dtests.asserts=true
-Dtests.file.encoding=UTF-8

java.lang.IllegalArgumentException: A SPI class of type
org.apache.lucene.analysis.CharFilterFactory with name 'Fake' does not
exist. You need to add the corresponding JAR file supporting this SPI
to your classpath. The current classpath supports the following names:
[]

I guess there must be some setup required in order to expose the SPI
resource files to the build? So I checked some of the resources
folders like lucene/analysis/common/src/resources and sure enough it
is labeled as a resources folder in intellij UI. So ... what am I
missing?

On Fri, Jun 7, 2024 at 10:40 AM Michael Sokolov  wrote:
>
> ok, life must be scary for developers on windows!
>
> On Fri, Jun 7, 2024 at 10:33 AM Dawid Weiss  wrote:
> >
> >
> > Certain regenerate tasks do require perl and python indeed.
> >
> > On Fri, Jun 7, 2024 at 2:23 PM Michael Sokolov  wrote:
> >>
> >> While editing this CONTRIBUTING.md I found the following statement:
> >>
> >> Some build tasks (in particular `./gradlew check`) require Perl
> >> and Python 3.
> >>
> >> Is it actually true that we require Perl?
> >>
> >> On Fri, Jun 7, 2024 at 8:11 AM Michael Sokolov  wrote:
> >> >
> >> > So I'm glad we have a fix for this, but it's making me realize that
> >> > any new joiner that uses intellij (probably most of them?) will have
> >> > this problem and have no idea what to do about it. They will just
> >> > conclude - running Lucene tests in intellij sucks. If we revived that
> >> > intellij target maybe that would help - but .. you would have to know
> >> > to run it! So then I went to look at our project web page to see what
> >> > kind of developer docs we have that a new contributor might find.
> >> >
> >> > The first place Google sent me was to our github page
> >> > https://github.com/apache/lucene/?tab=readme-ov-file-- that one has
> >> > some very brief description about how to build, but nothing about
> >> > intellij. It does have a prominent link to "Developer documentation"
> >> > which is here: https://github.com/apache/lucene/tree/main/dev-docs but
> >> > that folder is mostly empty; it has a few somewhat esoteric bits of
> >> > info, but again nothing basic about building and testing; no
> >> > discussion of all the myriad gradle tasks and deep help info that
> >> > exists there.
> >> >
> >> > Next I tried looking on apache.org, but actually it is quite hard to
> >> > find any info about Lucene there - Apache just has too many projects.
> >> > I did finally find this page though
> >> > https://projects.apache.org/project.html?lucene-core and it links to
> >> > https://lucene.apache.org/core/. From there, I see a "Developer" link,
> >> > again this page has a paucity of info; basically it links you to
> >> > github, jenkins, and to the wiki. The "wiki" link actually just takes
> >> > you to a different github page -- and *this* one actually has some
> >> > useful info on how to build -- I think it's our best "intro" page for
> >> > a new developer. However all it says about IntelliJ is: "IntelliJ -
> >> > IntelliJ idea can import and build gradle-based projects out of the
> >> > box." true, sort of.
> >> >
> >> > So I think I will (1) add a note about this IJ build setting to that
> >> > page, and (2) consolidate some of the other links to go here instead
> >> > of routing folks through a twisty maze of web pages
> >> >
> >> > On Fri, Jun 7, 2024 at 7:45 AM Stefan Vodita  
> >> > wrote:
> >> > >
> >> > > +1, I had the same problem and it seems better now. Thank you, Dawid!
> >> > >
> >> > > On Thu, 6 Jun 2024 at 12:20, Michael Sokolov  
> >> > > wrote:
> >> > >>
> >> > >> Oh! TIL! so much better, thanks. And now I have the "Repeat" option
> >> > >> back in the test runner
> >> > >>
> >> > >> On Thu, Jun 6, 2024 at 6:18 AM Dawid Weiss  
> >> > >> wrote:
> >> > >> >
> >> > >> >
> >> > >> > Don't know what's causing this... but I never run IntelliJ builds 
> >> > >> > or tests through its gradle launcher, actually. Switch it to 
> >> > >> > compile and run using its own built-in method - much faster.
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > Dawid
> >> > >> >
> >> > >> > On Thu, Jun 6, 2024 at 12:10 PM Michael Sokolov 
> >> > >> >  wrote:
> >> > >> >>
> >> > >> >> Hi, I wonder how many of us are using intellij to run Lucene 
> >> > >> >> tests, and if you are, have you noticed it having gotten really 
> >> > >> >> quite slow? It 

Re: Intellij build/test times

2024-06-07 Thread Michael Sokolov
ok, life must be scary for developers on windows!

On Fri, Jun 7, 2024 at 10:33 AM Dawid Weiss  wrote:
>
>
> Certain regenerate tasks do require perl and python indeed.
>
> On Fri, Jun 7, 2024 at 2:23 PM Michael Sokolov  wrote:
>>
>> While editing this CONTRIBUTING.md I found the following statement:
>>
>> Some build tasks (in particular `./gradlew check`) require Perl
>> and Python 3.
>>
>> Is it actually true that we require Perl?
>>
>> On Fri, Jun 7, 2024 at 8:11 AM Michael Sokolov  wrote:
>> >
>> > So I'm glad we have a fix for this, but it's making me realize that
>> > any new joiner that uses intellij (probably most of them?) will have
>> > this problem and have no idea what to do about it. They will just
>> > conclude - running Lucene tests in intellij sucks. If we revived that
>> > intellij target maybe that would help - but .. you would have to know
>> > to run it! So then I went to look at our project web page to see what
>> > kind of developer docs we have that a new contributor might find.
>> >
>> > The first place Google sent me was to our github page
>> > https://github.com/apache/lucene/?tab=readme-ov-file-- that one has
>> > some very brief description about how to build, but nothing about
>> > intellij. It does have a prominent link to "Developer documentation"
>> > which is here: https://github.com/apache/lucene/tree/main/dev-docs but
>> > that folder is mostly empty; it has a few somewhat esoteric bits of
>> > info, but again nothing basic about building and testing; no
>> > discussion of all the myriad gradle tasks and deep help info that
>> > exists there.
>> >
>> > Next I tried looking on apache.org, but actually it is quite hard to
>> > find any info about Lucene there - Apache just has too many projects.
>> > I did finally find this page though
>> > https://projects.apache.org/project.html?lucene-core and it links to
>> > https://lucene.apache.org/core/. From there, I see a "Developer" link,
>> > again this page has a paucity of info; basically it links you to
>> > github, jenkins, and to the wiki. The "wiki" link actually just takes
>> > you to a different github page -- and *this* one actually has some
>> > useful info on how to build -- I think it's our best "intro" page for
>> > a new developer. However all it says about IntelliJ is: "IntelliJ -
>> > IntelliJ idea can import and build gradle-based projects out of the
>> > box." true, sort of.
>> >
>> > So I think I will (1) add a note about this IJ build setting to that
>> > page, and (2) consolidate some of the other links to go here instead
>> > of routing folks through a twisty maze of web pages
>> >
>> > On Fri, Jun 7, 2024 at 7:45 AM Stefan Vodita  
>> > wrote:
>> > >
>> > > +1, I had the same problem and it seems better now. Thank you, Dawid!
>> > >
>> > > On Thu, 6 Jun 2024 at 12:20, Michael Sokolov  wrote:
>> > >>
>> > >> Oh! TIL! so much better, thanks. And now I have the "Repeat" option
>> > >> back in the test runner
>> > >>
>> > >> On Thu, Jun 6, 2024 at 6:18 AM Dawid Weiss  
>> > >> wrote:
>> > >> >
>> > >> >
>> > >> > Don't know what's causing this... but I never run IntelliJ builds or 
>> > >> > tests through its gradle launcher, actually. Switch it to compile and 
>> > >> > run using its own built-in method - much faster.
>> > >> >
>> > >> >
>> > >> >
>> > >> > Dawid
>> > >> >
>> > >> > On Thu, Jun 6, 2024 at 12:10 PM Michael Sokolov  
>> > >> > wrote:
>> > >> >>
>> > >> >> Hi, I wonder how many of us are using intellij to run Lucene tests, 
>> > >> >> and if you are, have you noticed it having gotten really quite slow? 
>> > >> >> It seems to take a long time doing... Something... Before the test 
>> > >> >> starts running. I have a suspicion that we are using gradle in a way 
>> > >> >> that forces it to rebuild its cache every time or something like 
>> > >> >> that. Once upon a time we had an intellij build setup target that 
>> > >> >> set things up in a more intellij friendly way, according gradle, 
>> > >> >> didn't we? Does that still exist?
>> > >>
>> > >> -
>> > >> 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: Intellij build/test times

2024-06-07 Thread Dawid Weiss
Certain regenerate tasks do require perl and python indeed.

On Fri, Jun 7, 2024 at 2:23 PM Michael Sokolov  wrote:

> While editing this CONTRIBUTING.md I found the following statement:
>
> Some build tasks (in particular `./gradlew check`) require Perl
> and Python 3.
>
> Is it actually true that we require Perl?
>
> On Fri, Jun 7, 2024 at 8:11 AM Michael Sokolov  wrote:
> >
> > So I'm glad we have a fix for this, but it's making me realize that
> > any new joiner that uses intellij (probably most of them?) will have
> > this problem and have no idea what to do about it. They will just
> > conclude - running Lucene tests in intellij sucks. If we revived that
> > intellij target maybe that would help - but .. you would have to know
> > to run it! So then I went to look at our project web page to see what
> > kind of developer docs we have that a new contributor might find.
> >
> > The first place Google sent me was to our github page
> > https://github.com/apache/lucene/?tab=readme-ov-file-- that one has
> > some very brief description about how to build, but nothing about
> > intellij. It does have a prominent link to "Developer documentation"
> > which is here: https://github.com/apache/lucene/tree/main/dev-docs but
> > that folder is mostly empty; it has a few somewhat esoteric bits of
> > info, but again nothing basic about building and testing; no
> > discussion of all the myriad gradle tasks and deep help info that
> > exists there.
> >
> > Next I tried looking on apache.org, but actually it is quite hard to
> > find any info about Lucene there - Apache just has too many projects.
> > I did finally find this page though
> > https://projects.apache.org/project.html?lucene-core and it links to
> > https://lucene.apache.org/core/. From there, I see a "Developer" link,
> > again this page has a paucity of info; basically it links you to
> > github, jenkins, and to the wiki. The "wiki" link actually just takes
> > you to a different github page -- and *this* one actually has some
> > useful info on how to build -- I think it's our best "intro" page for
> > a new developer. However all it says about IntelliJ is: "IntelliJ -
> > IntelliJ idea can import and build gradle-based projects out of the
> > box." true, sort of.
> >
> > So I think I will (1) add a note about this IJ build setting to that
> > page, and (2) consolidate some of the other links to go here instead
> > of routing folks through a twisty maze of web pages
> >
> > On Fri, Jun 7, 2024 at 7:45 AM Stefan Vodita 
> wrote:
> > >
> > > +1, I had the same problem and it seems better now. Thank you, Dawid!
> > >
> > > On Thu, 6 Jun 2024 at 12:20, Michael Sokolov 
> wrote:
> > >>
> > >> Oh! TIL! so much better, thanks. And now I have the "Repeat" option
> > >> back in the test runner
> > >>
> > >> On Thu, Jun 6, 2024 at 6:18 AM Dawid Weiss 
> wrote:
> > >> >
> > >> >
> > >> > Don't know what's causing this... but I never run IntelliJ builds
> or tests through its gradle launcher, actually. Switch it to compile and
> run using its own built-in method - much faster.
> > >> >
> > >> >
> > >> >
> > >> > Dawid
> > >> >
> > >> > On Thu, Jun 6, 2024 at 12:10 PM Michael Sokolov 
> wrote:
> > >> >>
> > >> >> Hi, I wonder how many of us are using intellij to run Lucene
> tests, and if you are, have you noticed it having gotten really quite slow?
> It seems to take a long time doing... Something... Before the test starts
> running. I have a suspicion that we are using gradle in a way that forces
> it to rebuild its cache every time or something like that. Once upon a time
> we had an intellij build setup target that set things up in a more intellij
> friendly way, according gradle, didn't we? Does that still exist?
> > >>
> > >> -
> > >> 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: Intellij build/test times

2024-06-07 Thread Michael Sokolov
While editing this CONTRIBUTING.md I found the following statement:

Some build tasks (in particular `./gradlew check`) require Perl
and Python 3.

Is it actually true that we require Perl?

On Fri, Jun 7, 2024 at 8:11 AM Michael Sokolov  wrote:
>
> So I'm glad we have a fix for this, but it's making me realize that
> any new joiner that uses intellij (probably most of them?) will have
> this problem and have no idea what to do about it. They will just
> conclude - running Lucene tests in intellij sucks. If we revived that
> intellij target maybe that would help - but .. you would have to know
> to run it! So then I went to look at our project web page to see what
> kind of developer docs we have that a new contributor might find.
>
> The first place Google sent me was to our github page
> https://github.com/apache/lucene/?tab=readme-ov-file-- that one has
> some very brief description about how to build, but nothing about
> intellij. It does have a prominent link to "Developer documentation"
> which is here: https://github.com/apache/lucene/tree/main/dev-docs but
> that folder is mostly empty; it has a few somewhat esoteric bits of
> info, but again nothing basic about building and testing; no
> discussion of all the myriad gradle tasks and deep help info that
> exists there.
>
> Next I tried looking on apache.org, but actually it is quite hard to
> find any info about Lucene there - Apache just has too many projects.
> I did finally find this page though
> https://projects.apache.org/project.html?lucene-core and it links to
> https://lucene.apache.org/core/. From there, I see a "Developer" link,
> again this page has a paucity of info; basically it links you to
> github, jenkins, and to the wiki. The "wiki" link actually just takes
> you to a different github page -- and *this* one actually has some
> useful info on how to build -- I think it's our best "intro" page for
> a new developer. However all it says about IntelliJ is: "IntelliJ -
> IntelliJ idea can import and build gradle-based projects out of the
> box." true, sort of.
>
> So I think I will (1) add a note about this IJ build setting to that
> page, and (2) consolidate some of the other links to go here instead
> of routing folks through a twisty maze of web pages
>
> On Fri, Jun 7, 2024 at 7:45 AM Stefan Vodita  wrote:
> >
> > +1, I had the same problem and it seems better now. Thank you, Dawid!
> >
> > On Thu, 6 Jun 2024 at 12:20, Michael Sokolov  wrote:
> >>
> >> Oh! TIL! so much better, thanks. And now I have the "Repeat" option
> >> back in the test runner
> >>
> >> On Thu, Jun 6, 2024 at 6:18 AM Dawid Weiss  wrote:
> >> >
> >> >
> >> > Don't know what's causing this... but I never run IntelliJ builds or 
> >> > tests through its gradle launcher, actually. Switch it to compile and 
> >> > run using its own built-in method - much faster.
> >> >
> >> >
> >> >
> >> > Dawid
> >> >
> >> > On Thu, Jun 6, 2024 at 12:10 PM Michael Sokolov  
> >> > wrote:
> >> >>
> >> >> Hi, I wonder how many of us are using intellij to run Lucene tests, and 
> >> >> if you are, have you noticed it having gotten really quite slow? It 
> >> >> seems to take a long time doing... Something... Before the test starts 
> >> >> running. I have a suspicion that we are using gradle in a way that 
> >> >> forces it to rebuild its cache every time or something like that. Once 
> >> >> upon a time we had an intellij build setup target that set things up in 
> >> >> a more intellij friendly way, according gradle, didn't we? Does that 
> >> >> still exist?
> >>
> >> -
> >> 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: Intellij build/test times

2024-06-07 Thread Michael Sokolov
So I'm glad we have a fix for this, but it's making me realize that
any new joiner that uses intellij (probably most of them?) will have
this problem and have no idea what to do about it. They will just
conclude - running Lucene tests in intellij sucks. If we revived that
intellij target maybe that would help - but .. you would have to know
to run it! So then I went to look at our project web page to see what
kind of developer docs we have that a new contributor might find.

The first place Google sent me was to our github page
https://github.com/apache/lucene/?tab=readme-ov-file-- that one has
some very brief description about how to build, but nothing about
intellij. It does have a prominent link to "Developer documentation"
which is here: https://github.com/apache/lucene/tree/main/dev-docs but
that folder is mostly empty; it has a few somewhat esoteric bits of
info, but again nothing basic about building and testing; no
discussion of all the myriad gradle tasks and deep help info that
exists there.

Next I tried looking on apache.org, but actually it is quite hard to
find any info about Lucene there - Apache just has too many projects.
I did finally find this page though
https://projects.apache.org/project.html?lucene-core and it links to
https://lucene.apache.org/core/. From there, I see a "Developer" link,
again this page has a paucity of info; basically it links you to
github, jenkins, and to the wiki. The "wiki" link actually just takes
you to a different github page -- and *this* one actually has some
useful info on how to build -- I think it's our best "intro" page for
a new developer. However all it says about IntelliJ is: "IntelliJ -
IntelliJ idea can import and build gradle-based projects out of the
box." true, sort of.

So I think I will (1) add a note about this IJ build setting to that
page, and (2) consolidate some of the other links to go here instead
of routing folks through a twisty maze of web pages

On Fri, Jun 7, 2024 at 7:45 AM Stefan Vodita  wrote:
>
> +1, I had the same problem and it seems better now. Thank you, Dawid!
>
> On Thu, 6 Jun 2024 at 12:20, Michael Sokolov  wrote:
>>
>> Oh! TIL! so much better, thanks. And now I have the "Repeat" option
>> back in the test runner
>>
>> On Thu, Jun 6, 2024 at 6:18 AM Dawid Weiss  wrote:
>> >
>> >
>> > Don't know what's causing this... but I never run IntelliJ builds or tests 
>> > through its gradle launcher, actually. Switch it to compile and run using 
>> > its own built-in method - much faster.
>> >
>> >
>> >
>> > Dawid
>> >
>> > On Thu, Jun 6, 2024 at 12:10 PM Michael Sokolov  wrote:
>> >>
>> >> Hi, I wonder how many of us are using intellij to run Lucene tests, and 
>> >> if you are, have you noticed it having gotten really quite slow? It seems 
>> >> to take a long time doing... Something... Before the test starts running. 
>> >> I have a suspicion that we are using gradle in a way that forces it to 
>> >> rebuild its cache every time or something like that. Once upon a time we 
>> >> had an intellij build setup target that set things up in a more intellij 
>> >> friendly way, according gradle, didn't we? Does that still exist?
>>
>> -
>> 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: Intellij build/test times

2024-06-07 Thread Stefan Vodita
+1, I had the same problem and it seems better now. Thank you, Dawid!

On Thu, 6 Jun 2024 at 12:20, Michael Sokolov  wrote:

> Oh! TIL! so much better, thanks. And now I have the "Repeat" option
> back in the test runner
>
> On Thu, Jun 6, 2024 at 6:18 AM Dawid Weiss  wrote:
> >
> >
> > Don't know what's causing this... but I never run IntelliJ builds or
> tests through its gradle launcher, actually. Switch it to compile and run
> using its own built-in method - much faster.
> >
> >
> >
> > Dawid
> >
> > On Thu, Jun 6, 2024 at 12:10 PM Michael Sokolov 
> wrote:
> >>
> >> Hi, I wonder how many of us are using intellij to run Lucene tests, and
> if you are, have you noticed it having gotten really quite slow? It seems
> to take a long time doing... Something... Before the test starts running. I
> have a suspicion that we are using gradle in a way that forces it to
> rebuild its cache every time or something like that. Once upon a time we
> had an intellij build setup target that set things up in a more intellij
> friendly way, according gradle, didn't we? Does that still exist?
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>


Re: Intellij build/test times

2024-06-06 Thread Michael Sokolov
Oh! TIL! so much better, thanks. And now I have the "Repeat" option
back in the test runner

On Thu, Jun 6, 2024 at 6:18 AM Dawid Weiss  wrote:
>
>
> Don't know what's causing this... but I never run IntelliJ builds or tests 
> through its gradle launcher, actually. Switch it to compile and run using its 
> own built-in method - much faster.
>
>
>
> Dawid
>
> On Thu, Jun 6, 2024 at 12:10 PM Michael Sokolov  wrote:
>>
>> Hi, I wonder how many of us are using intellij to run Lucene tests, and if 
>> you are, have you noticed it having gotten really quite slow? It seems to 
>> take a long time doing... Something... Before the test starts running. I 
>> have a suspicion that we are using gradle in a way that forces it to rebuild 
>> its cache every time or something like that. Once upon a time we had an 
>> intellij build setup target that set things up in a more intellij friendly 
>> way, according gradle, didn't we? Does that still exist?

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



Intellij build/test times

2024-06-06 Thread Michael Sokolov
Hi, I wonder how many of us are using intellij to run Lucene tests, and if
you are, have you noticed it having gotten really quite slow? It seems to
take a long time doing... Something... Before the test starts running. I
have a suspicion that we are using gradle in a way that forces it to
rebuild its cache every time or something like that. Once upon a time we
had an intellij build setup target that set things up in a more intellij
friendly way, according gradle, didn't we? Does that still exist?