{"action":"created","issue":{"url":"https://api.github.com/repos/apache/netbeans/issues/1278","repository_url":"https://api.github.com/repos/apache/netbeans","labels_url":"https://api.github.com/repos/apache/netbeans/issues/1278/labels{/name}","comments_url":"https://api.github.com/repos/apache/netbeans/issues/1278/comments","events_url":"https://api.github.com/repos/apache/netbeans/issues/1278/events","html_url":"https://github.com/apache/netbeans/pull/1278","id":451048105,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjg0MjQ1NzM2","number":1278,"title":"[NETBEANS-2604] Support SVG icon loading from ImageUtilities","user":{"login":"eirikbakke","id":886243,"node_id":"MDQ6VXNlcjg4NjI0Mw==","avatar_url":"https://avatars3.githubusercontent.com/u/886243?v=4","gravatar_id":"","url":"https://api.github.com/users/eirikbakke","html_url":"https://github.com/eirikbakke","followers_url":"https://api.github.com/users/eirikbakke/followers","following_url":"https://api.github.com/users/eirikbakke/following{/other_user}","gists_url":"https://api.github.com/users/eirikbakke/gists{/gist_id}","starred_url":"https://api.github.com/users/eirikbakke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eirikbakke/subscriptions","organizations_url":"https://api.github.com/users/eirikbakke/orgs","repos_url":"https://api.github.com/users/eirikbakke/repos","events_url":"https://api.github.com/users/eirikbakke/events{/privacy}","received_events_url":"https://api.github.com/users/eirikbakke/received_events","type":"User","site_admin":false},"labels":[{"id":769928221,"node_id":"MDU6TGFiZWw3Njk5MjgyMjE=","url":"https://api.github.com/repos/apache/netbeans/labels/API%20Change","name":"API Change","color":"fbca04","default":false,"description":null},{"id":759430899,"node_id":"MDU6TGFiZWw3NTk0MzA4OTk=","url":"https://api.github.com/repos/apache/netbeans/labels/work-in-progress","name":"work-in-progress","color":"377296","default":false,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":48,"created_at":"2019-06-01T05:33:20Z","updated_at":"2019-11-24T21:02:05Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/apache/netbeans/pulls/1278","html_url":"https://github.com/apache/netbeans/pull/1278","diff_url":"https://github.com/apache/netbeans/pull/1278.diff","patch_url":"https://github.com/apache/netbeans/pull/1278.patch"},"body":"This PR adds support for SVG icon loading from ImageUtilities, and tests it by adding SVG icons for the Undo and Redo actions. See https://issues.apache.org/jira/browse/NETBEANS-2604 and the attached screenshot. This PR depends on https://github.com/apache/netbeans/pull/1273, which must be applied first. This PR can be reviewed more or less independently (just ignore the first commit, which contains all the changes from the other PR).\r\n\r\nSome questions for more experienced NetBeans veterans:\r\n- Are my module and package naming conventions appropriate? (E.g. put SVGLoader in org.openide.util.spi, and name the implementation module \"org.openide.util.ui.svg\".)\r\n- Am I filling in apichanges.xml correctly? (The previous entry, about VectorIcon, was from an earlier PR of mine as well, but I don't see that one reflected at https://bits.netbeans.org/11.0/javadoc/apichanges.html , which puzzles me.)\r\n- Is it correct to use \"OpenIDE-Module-Display-Category=Infrastructure\" for the SVG Loader module? (In platform/openide.util.ui.svg/src/org/openide/util/svg/Bundle.properties.)\r\n- Would it be better to keep the SVGLoader SPI in a private package, instead having the implementation module depend on the implementation version of openide.util.ui to gain access to it? I don't anticipate anyone ever needing to provide an alternative implementation.\r\n- Is there anything I need to do to verify that the JAR hashes are correct? The JARs from Maven Central are not exactly the same as those from https://xmlgraphics.apache.org/batik/download.html .\r\n- Is the inclusion of a some dependency JARs (commons-io, commons-logging, and xml-apis) from libs.batik OK? They all have the same Apache 2.0 license. There are existing wrapper modules for commons-io and commons-logging, but those are in the \"ide\" cluster, and I assume modules in the \"platform\" cluster shouldn't depend on modules in the \"ide\" cluster? Should the SVG loader implementation module (openide.util.ui.svg) rather be in the \"ide\" cluster?\r\n- When I build my NetBeans Platform app against a NetBeans build with this patch applied, SVG support is enabled even though I didn't add the supposedly-optional openide.util.ui.svg module (which provides the SVGLoaderImpl service provider) as a maven dependency. Why is this? How can I make it so that platform application developers need to request SVG support explicitly? And related: Where do I specify which maven coordinates the openide.util.ui.svg module should use?\r\n- Am I doing versioning right for the libs.batik library? Does it make sense to assign it version 1.0 rather than Batik's own version, which is 1.11?\r\n\r\nThanks for your help!\r\n\r\nExample SVG icons loaded and displayed in the IDE:\r\n![SVG icon screenshot](https://user-images.githubusercontent.com/886243/58744078-46de6f00-840b-11e9-892e-69caadc65b43.png)\r\n\r\nExample renderings of other SVG files tested (from Ultorg, an application built on the NetBeans Platform), as displayed using the platform/o.n.swing.tabcontrol/test/unit/src/org/netbeans/swing/tabcontrol/plaf/VectorIconTester.java utility (which was added in an earlier commit):\r\n![SVG Icons Tested](https://user-images.githubusercontent.com/886243/58753577-34a61480-848f-11e9-960a-edaeaea8d6c7.png)\r\n"},"comment":{"url":"https://api.github.com/repos/apache/netbeans/issues/comments/557927624","html_url":"https://github.com/apache/netbeans/pull/1278#issuecomment-557927624","issue_url":"https://api.github.com/repos/apache/netbeans/issues/1278","id":557927624,"node_id":"MDEyOklzc3VlQ29tbWVudDU1NzkyNzYyNA==","user":{"login":"eirikbakke","id":886243,"node_id":"MDQ6VXNlcjg4NjI0Mw==","avatar_url":"https://avatars3.githubusercontent.com/u/886243?v=4","gravatar_id":"","url":"https://api.github.com/users/eirikbakke","html_url":"https://github.com/eirikbakke","followers_url":"https://api.github.com/users/eirikbakke/followers","following_url":"https://api.github.com/users/eirikbakke/following{/other_user}","gists_url":"https://api.github.com/users/eirikbakke/gists{/gist_id}","starred_url":"https://api.github.com/users/eirikbakke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eirikbakke/subscriptions","organizations_url":"https://api.github.com/users/eirikbakke/orgs","repos_url":"https://api.github.com/users/eirikbakke/repos","events_url":"https://api.github.com/users/eirikbakke/events{/privacy}","received_events_url":"https://api.github.com/users/eirikbakke/received_events","type":"User","site_admin":false},"created_at":"2019-11-24T21:02:05Z","updated_at":"2019-11-24T21:02:05Z","author_association":"CONTRIBUTOR","body":"There seems to be some transient Travis failures... I had it all green yesterday. Will wait until I can make it pass again before merging."}}
{"actor":{"display_login":"eirikbakke"}}