You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by Laszlo Kishalmi <la...@gmail.com> on 2019/02/02 23:44:38 UTC

Question on: Gradle Project Open Defaults

Dear Gradle Users,

I just would like to ask your opinion what would be the better:

  * Open project fast, but probably with missing dependencies.
  * Open project slower, but loading the initial set of required
    dependencies (this is the default now)

Laszlo Kishalmi


Re: Question on: Gradle Project Open Defaults

Posted by Scott Palmer <sw...@gmail.com>.
Same here. I want the loaded project to have the correct view of the class path. Unless the fast opening eventually resolved everything correctly and it is just a temporary case of some classes appear to be missing and then those red underlines go away.  But even in that case there would need to be a substantial speed boost to project opening. 

Scott

> On Feb 2, 2019, at 9:10 PM, Josh Juneau <ju...@gmail.com> wrote:
> 
> +1 to loading more slowly with all required dependencies.  
> 
> 
> Josh Juneau
> http://jj-blogger.blogspot.com
> https://www.apress.com/index.php/author/author/view/id/1866
> 
> 
>> On Feb 2, 2019, at 6:21 PM, Wade Chandler <wa...@apache.org> wrote:
>> 
>> I prefer it to work and be just like working with Gradle at the CLI; my
>> tasks and config etc. Not sure other context to your question if there is
>> any. What happens from a user perspective with either course? If it loads
>> fast, but doesn't fully work, and I can't be productive, then that would be
>> bad for me. I work like this personally:
>> 
>> 1) something quick to view and maybe make a one line change? Vi or VS Code.
>> 
>> 2) Heavy duty coding session? IDE ... Because I know I need all the nice
>> tools.
>> 
>> Thanks
>> 
>> Wade
>> 
>> 
>>> On Sat, Feb 2, 2019, 19:08 Laszlo Kishalmi <laszlo.kishalmi@gmail.com wrote:
>>> 
>>> Dear Gradle Users,
>>> 
>>> I just would like to ask your opinion what would be the better:
>>> 
>>> * Open project fast, but probably with missing dependencies.
>>> * Open project slower, but loading the initial set of required
>>>   dependencies (this is the default now)
>>> 
>>> Laszlo Kishalmi
>>> 
>>> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.incubator.apache.org
For additional commands, e-mail: dev-help@netbeans.incubator.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Question on: Gradle Project Open Defaults

Posted by Josh Juneau <ju...@gmail.com>.
+1 to loading more slowly with all required dependencies.  


Josh Juneau
http://jj-blogger.blogspot.com
https://www.apress.com/index.php/author/author/view/id/1866


> On Feb 2, 2019, at 6:21 PM, Wade Chandler <wa...@apache.org> wrote:
> 
> I prefer it to work and be just like working with Gradle at the CLI; my
> tasks and config etc. Not sure other context to your question if there is
> any. What happens from a user perspective with either course? If it loads
> fast, but doesn't fully work, and I can't be productive, then that would be
> bad for me. I work like this personally:
> 
> 1) something quick to view and maybe make a one line change? Vi or VS Code.
> 
> 2) Heavy duty coding session? IDE ... Because I know I need all the nice
> tools.
> 
> Thanks
> 
> Wade
> 
> 
>> On Sat, Feb 2, 2019, 19:08 Laszlo Kishalmi <laszlo.kishalmi@gmail.com wrote:
>> 
>> Dear Gradle Users,
>> 
>> I just would like to ask your opinion what would be the better:
>> 
>>  * Open project fast, but probably with missing dependencies.
>>  * Open project slower, but loading the initial set of required
>>    dependencies (this is the default now)
>> 
>> Laszlo Kishalmi
>> 
>> 

Re: Question on: Gradle Project Open Defaults

Posted by Wade Chandler <wa...@apache.org>.
I prefer it to work and be just like working with Gradle at the CLI; my
tasks and config etc. Not sure other context to your question if there is
any. What happens from a user perspective with either course? If it loads
fast, but doesn't fully work, and I can't be productive, then that would be
bad for me. I work like this personally:

1) something quick to view and maybe make a one line change? Vi or VS Code.

2) Heavy duty coding session? IDE ... Because I know I need all the nice
tools.

Thanks

Wade


On Sat, Feb 2, 2019, 19:08 Laszlo Kishalmi <laszlo.kishalmi@gmail.com wrote:

> Dear Gradle Users,
>
> I just would like to ask your opinion what would be the better:
>
>   * Open project fast, but probably with missing dependencies.
>   * Open project slower, but loading the initial set of required
>     dependencies (this is the default now)
>
> Laszlo Kishalmi
>
>

Re: Question on: Gradle Project Open Defaults

Posted by Attila Kelemen <at...@gmail.com>.
I have just noticed that disabling the red curlies is possible (and
relatively simple). However, I still don't think it is worth loading the
project without dependencies.

Attila Kelemen <at...@gmail.com> ezt írta (időpont: 2019. febr.
3., V, 20:18):

> There is no free lunch however. If the Gradle integration chooses to skip
> dependency resolution, then it will have to reevaluate the build scripts
> (though it is not that bad anymore). Also, this is only relevant for the
> very first load of the project because after that, anything can be cached
> and assumed to be a good first guess next time you open the project (and
> you have your dependencies resolved already in the Gradle cache). As for
> disabling red curlys: Is it even possible in NB API? Anyway, my opinion is
> that loading any non-trivial project without dependencies is practically
> pointless (if you are just browsing, you might as well do it on GitHub or
> whatever else).
>
> Attila Kelemen
>
> Tim Boudreau <ni...@gmail.com> ezt írta (időpont: 2019. febr. 3., V,
> 19:02):
>
>> I think it's a question of user experience, and this need not be an
>> either/or choice with the right design and supporting plumbing. How about:
>>
>> Project opens fast. Dependencies are not immediately loaded - they will be
>> loaded lazily. Dependency nodes and such show a loading state until that
>> has completed. And the critical thing for user experience: Marking files
>> as
>> having errors is blocked until they ARE loaded.
>>
>> Fast loading is good. Having dependencies resolved is good. Look for the
>> way to have both, not choose between them - needing to is an indicator
>> that
>> the architecture is wrong.
>>
>> There are a few APIs that I suspect are synchronous that shouldn't be to
>> do
>> this right - I notice, in a thread dump after invoking code completion a
>> few times, that you can wind up with one thread per invocation stalled if
>> I
>> take a thread dump of the IDE. But all that is stuff that ought to be
>> fixed
>> (or at least made more aggressively cancelable).
>>
>> -Tim
>>
>> On Sat, Feb 2, 2019 at 7:08 PM Laszlo Kishalmi <laszlo.kishalmi@gmail.com
>> >
>> wrote:
>>
>> > Dear Gradle Users,
>> >
>> > I just would like to ask your opinion what would be the better:
>> >
>> >   * Open project fast, but probably with missing dependencies.
>> >   * Open project slower, but loading the initial set of required
>> >     dependencies (this is the default now)
>> >
>> > Laszlo Kishalmi
>> >
>> > --
>> http://timboudreau.com
>>
>

Re: Question on: Gradle Project Open Defaults

Posted by Attila Kelemen <at...@gmail.com>.
There is no free lunch however. If the Gradle integration chooses to skip
dependency resolution, then it will have to reevaluate the build scripts
(though it is not that bad anymore). Also, this is only relevant for the
very first load of the project because after that, anything can be cached
and assumed to be a good first guess next time you open the project (and
you have your dependencies resolved already in the Gradle cache). As for
disabling red curlys: Is it even possible in NB API? Anyway, my opinion is
that loading any non-trivial project without dependencies is practically
pointless (if you are just browsing, you might as well do it on GitHub or
whatever else).

Attila Kelemen

Tim Boudreau <ni...@gmail.com> ezt írta (időpont: 2019. febr. 3., V,
19:02):

> I think it's a question of user experience, and this need not be an
> either/or choice with the right design and supporting plumbing. How about:
>
> Project opens fast. Dependencies are not immediately loaded - they will be
> loaded lazily. Dependency nodes and such show a loading state until that
> has completed. And the critical thing for user experience: Marking files as
> having errors is blocked until they ARE loaded.
>
> Fast loading is good. Having dependencies resolved is good. Look for the
> way to have both, not choose between them - needing to is an indicator that
> the architecture is wrong.
>
> There are a few APIs that I suspect are synchronous that shouldn't be to do
> this right - I notice, in a thread dump after invoking code completion a
> few times, that you can wind up with one thread per invocation stalled if I
> take a thread dump of the IDE. But all that is stuff that ought to be fixed
> (or at least made more aggressively cancelable).
>
> -Tim
>
> On Sat, Feb 2, 2019 at 7:08 PM Laszlo Kishalmi <la...@gmail.com>
> wrote:
>
> > Dear Gradle Users,
> >
> > I just would like to ask your opinion what would be the better:
> >
> >   * Open project fast, but probably with missing dependencies.
> >   * Open project slower, but loading the initial set of required
> >     dependencies (this is the default now)
> >
> > Laszlo Kishalmi
> >
> > --
> http://timboudreau.com
>

Re: Question on: Gradle Project Open Defaults

Posted by Tim Boudreau <ni...@gmail.com>.
I think it's a question of user experience, and this need not be an
either/or choice with the right design and supporting plumbing. How about:

Project opens fast. Dependencies are not immediately loaded - they will be
loaded lazily. Dependency nodes and such show a loading state until that
has completed. And the critical thing for user experience: Marking files as
having errors is blocked until they ARE loaded.

Fast loading is good. Having dependencies resolved is good. Look for the
way to have both, not choose between them - needing to is an indicator that
the architecture is wrong.

There are a few APIs that I suspect are synchronous that shouldn't be to do
this right - I notice, in a thread dump after invoking code completion a
few times, that you can wind up with one thread per invocation stalled if I
take a thread dump of the IDE. But all that is stuff that ought to be fixed
(or at least made more aggressively cancelable).

-Tim

On Sat, Feb 2, 2019 at 7:08 PM Laszlo Kishalmi <la...@gmail.com>
wrote:

> Dear Gradle Users,
>
> I just would like to ask your opinion what would be the better:
>
>   * Open project fast, but probably with missing dependencies.
>   * Open project slower, but loading the initial set of required
>     dependencies (this is the default now)
>
> Laszlo Kishalmi
>
> --
http://timboudreau.com