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 2019/10/08 17:39:10 UTC

[GitHub] [netbeans] timboudreau commented on issue #1278: [NETBEANS-2604] Support SVG icon loading from ImageUtilities

timboudreau commented on issue #1278: [NETBEANS-2604] Support SVG icon loading from ImageUtilities
URL: https://github.com/apache/netbeans/pull/1278#issuecomment-539623163
 
 
   > I'm not very familiar with the clusters system--could you explain how to
   > do this? Is this different from what I started with in the first version of
   > this PR? For that version, @JaroslavTulach
   > <https://github.com/JaroslavTulach> objected that new libraries were
   > ending up in netbeans/platform/lib, which was undesirable. That included
   > libraries that were previously already in the ide cluster (
   > o.apache.commons.io and o.apache.commons.logging).
   >
   The cluster system actually dates back to Sun's architecture review
   requirements - but it is a generally good idea.  The idea - driven by
   requirements from Solaris - was that an application should only install ONE
   copy of any shared libraries on a system; and Sun was building multiple
   products on top of NetBeans.  So if there were two NetBeans-based
   applications on a system, there should only be one copy of, say, the
   platform modules or the editor modules, which both applications simply use
   as "clusters" of libraries.  So the cluster system was invented - carve the
   IDE and platform into chunks of relatied (and interdependent)
   functionality, such that inter-cluster dependencies are unidirectional and
   you - a directed graph.
   
   In practice, in terms of people installing multiple copies of software on
   systems, I don't think that is an enormous concern these days (this was
   back in the era of thin-clients, so a "system" was likely big iron and the
   "desktop" was a remote X connection).  But it forces us to think about both
   macro-level dependencies - what functionality is and isn't related, what is
   "essential" and what isn't, and what is "platform" vs. something else, and
   factor things accordingly.  That keeps a clean definition of what is
   "platform" and what isn't, and keeps the IDE and platform from merging into
   a monolithic hairball (which it once, circa 1999, was).  So it's a good
   thing to keep.
   
   Now, re SVG icons, that seems to me to be something which obviously belongs
   in the platform.  Display resolution is not going to go *down* and we are
   past the point where raster formats for this sort of thing are inadequate;
   mobile platforms typically have you create raster icons in multiple
   resolutions, which is annoying and goes out of date with the next model;
   and on the desktop, we're not dealing with standardized screen sizes and
   resolutions, so the only sane way to deal that is a resolution-independent
   graphics format.
   
   So, this belongs in the platform, period.
   
   If the objection is that the IDE itself is not yet using SVG icons, so it
   will result in library dependencies getting packaged which nothing
   uses, *that's
   a build-system problem, not an architecture problem.*  Fix the build system
   so the application-building phase detects that there are libraries which
   are not referenced in the manifest of any module or other library, and
   deletes those.  That's as simple as building a graph of inter-JAR
   dependencies and then seeing if what you actually get is *more than one
   distinct graph*, and deleting everything that is not in the largest graph
   which is the actual application.
   
   -Tim
   

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


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