You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@netbeans.apache.org by GitBox <gi...@apache.org> on 2021/02/08 07:02:39 UTC

[GitHub] [netbeans] lkishalmi opened a new pull request #2747: [NETBEANS-2665] Gradle Project Loading Improvements

lkishalmi opened a new pull request #2747:
URL: https://github.com/apache/netbeans/pull/2747


   This is a massive change, I've been working for a while. The main goal would be to retrieve the subproject configuration in one or two passes from Gradle, instead of one-by-one. I do not know how the pieces would come together yet, but this PR has the following changes:
   
   1. Adds a new ModelFetcher which can retrieve multiple model objects from Gradle in one run.
   2. Deprecates the existing experimental feature flags, in order to announce new ones which are not part of the public API
   3. Refactor the GradleProjectCache as several functionalities are gobbling there:
     - Make a difference between Gradle involved and heuristic based project loading. Move out the notification handling as well.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



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

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


[GitHub] [netbeans] lkishalmi commented on pull request #2747: [NETBEANS-2665] Gradle Project Loading Improvements

Posted by GitBox <gi...@apache.org>.
lkishalmi commented on pull request #2747:
URL: https://github.com/apache/netbeans/pull/2747#issuecomment-803256599


   The main idea behind the new loading machinery would be, that whenever a project asks for reload, the reload would happen on root project level.
   Once we get a reload request, the request would be kept waiting while Gradle refreshes all project configuration in a project hierarchy and updates the caches of all projects in that root project. Once the caches get updated, the waiting would get notified, and eventually read their data from the prepared caches.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



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

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


[GitHub] [netbeans] lkishalmi commented on pull request #2747: [NETBEANS-2665] Gradle Project Loading Improvements

Posted by GitBox <gi...@apache.org>.
lkishalmi commented on pull request #2747:
URL: https://github.com/apache/netbeans/pull/2747#issuecomment-803510059


   The current snapshot is very work in progress (doesn't even compile), just demonstrating the scale of the work...


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



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

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


[GitHub] [netbeans] mklaehn commented on a change in pull request #2747: [NETBEANS-2665] Gradle Project Loading Improvements

Posted by GitBox <gi...@apache.org>.
mklaehn commented on a change in pull request #2747:
URL: https://github.com/apache/netbeans/pull/2747#discussion_r571887386



##########
File path: extide/gradle/netbeans-gradle-tooling/src/main/groovy/org/netbeans/modules/gradle/api/ModelFetcher.java
##########
@@ -0,0 +1,184 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */

Review comment:
       ```suggestion
   /*
    * Licensed to the Apache Software Foundation (ASF) under one
    * or more contributor license agreements.  See the NOTICE file
    * distributed with this work for additional information
    * regarding copyright ownership.  The ASF licenses this file
    * to you under the Apache License, Version 2.0 (the
    * "License"); you may not use this file except in compliance
    * with the License.  You may obtain a copy of the License at
    *
    *   http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing,
    * software distributed under the License is distributed on an
    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    * KIND, either express or implied.  See the License for the
    * specific language governing permissions and limitations
    * under the License.
    */
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



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

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


[GitHub] [netbeans] JaroslavTulach commented on pull request #2747: [NETBEANS-2665] Gradle Project Loading Improvements

Posted by GitBox <gi...@apache.org>.
JaroslavTulach commented on pull request #2747:
URL: https://github.com/apache/netbeans/pull/2747#issuecomment-803520386


   > Make a difference between Gradle involved and heuristic based project loading
   
   During my last week discussions with @sdedic it showed few times that knowing whether the external view of a `org.netbeans.api.Project` is exact or just a heuristic is important.
   
   > reload would happen on root project level.
   
   Good. It is my understanding that `gradle` is optimized for keeping structure of large projects in memory and then processing just the necessary part. Reloading on root level (if one can find where's the root?) seems like a good idea.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



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

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


[GitHub] [netbeans] lkishalmi merged pull request #2747: [NETBEANS-2665] Gradle Project Loading Improvements

Posted by GitBox <gi...@apache.org>.
lkishalmi merged pull request #2747:
URL: https://github.com/apache/netbeans/pull/2747


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



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

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


[GitHub] [netbeans] lkishalmi commented on pull request #2747: [NETBEANS-2665] Gradle Project Loading Improvements

Posted by GitBox <gi...@apache.org>.
lkishalmi commented on pull request #2747:
URL: https://github.com/apache/netbeans/pull/2747#issuecomment-803592988


   > > Make a difference between Gradle involved and heuristic based project loading
   > 
   > During my last week discussions with @sdedic it showed few times that knowing whether the external view of a `org.netbeans.api.Project` is exact or just a heuristic is important.
   Well, that's associated with the project (information) quality flag FALLBACK
   > 
   > > reload would happen on root project level.
   > 
   > Good. It is my understanding that `gradle` is optimized for keeping structure of large projects in memory and then processing just the necessary part. Reloading on root level (if one can find where's the root?) seems like a good idea.
   Finding a root project shall work 99% of  the time as Gradle now requires the root project having a settings Gradle script in it's directory (unless the settings script is specified from the command line, that's the remainder 1% maybe less projects). The intermediate project structure is harder to guess.
   
   Gradle just started to work in it's configuration caching which is at the moment not available for the IDEs to tap on. Some parts might be already cached though. 
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



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

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