Re: Intellij build/test times
> 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
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
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
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
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
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
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
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
> > 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
> > 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
> 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
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
> 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
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
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
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
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
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
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
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
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
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
+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
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
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?