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 2018/05/06 06:23:44 UTC

[GitHub] JaroslavTulach opened a new pull request #536: Per-cluster repository layout

JaroslavTulach opened a new pull request #536: Per-cluster repository layout
URL: https://github.com/apache/incubator-netbeans/pull/536
 
 
   Up until now the repository structure of NetBeans source code has been flat - module next to a module. That comes with advantages, but also drawbacks. Recently two new cons appeared:
   
   * github isn't willing to show the [whole repository](https://github.com/jtulach/netbeans-releases) - it limits the list to just a thousand files
   * new modules are (hopefully) going to be granted by Oracle and not all of them are of the same importance
   
   Luckily [NetBeans Runtime Container](http://wiki.apidesign.org/wiki/NetBeans_Platform) already supports grouping modules into bigger chunks - e.g. **clusters**. Thus it is natural that from time to time people would like to group the sources into **clusters** as well. This PR is another attempt to do so.
   
   The `platform` modules are being moved into `platform` subdirectory. Other clusters shall follow, which would leave us with five to twenty top level directories in the repository (once more of the original NetBeans code is donated). There already is support for nesting modules into subdirs (used by [contrib](http://hg.netbeans.org/main/contrib/) repository) - e.g. this is about extending it to work with all the clusters.
   
   The list of clusters and modules is specified in `nbbuild/cluster.properties` and `nbbuild/build.properties`. In general there seem to be two approaches:
   * change these files to use full path to modules - e.g. `openide.util` would become `platform/openide.util`
   * change the `nbbuild/antsrc` tasks to search for the modules in cluster subdirs, but keep their names.
   
   I started with the latter approach, but currently the patch looks more like  s one. I am not sure it is the greatest idea, as that means all references to properties like `${libs.osgi}` need to be replaced by `${platform/libs.osgi}` and it would be better to avoid it. 
   
   In addition to this change, we also need to extend the the `apisupport` modules to recognize this new layout. Such tooling change shall be integrated soon,  as otherwise the IDE will not be able to work with own sources (btw. a drawback is that NetBeans 8.2 doesn't recognize this new layout).
   
   Anyway this is a work in progress. I am creating this PR to get an early feedback on the overall direction. CC @jglick, @tzezula, @sdedic, @thurka, @jlahoda 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on 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


With regards,
Apache Git Services

---------------------------------------------------------------------
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