Insubstantial / insubstantial

Swing look-and-feel library and assorted widgets
193 stars 57 forks source link

Remove required batik dependency from flamingo #33

Closed flynnk closed 12 years ago

flynnk commented 13 years ago

In 6.2 batik was not listed as a maven dependency. In 6.3, it is. Batik is gigantic and dumps a lot of stuff on your classpath (why, yes, I would like another XML parser for no obvious reason....) that is just not needed if you do not use SVG icons (which Kirill had pretty much deprecated anyway). Two suggestions:

I would urge a 6.3.1 release to fix this regression if at all possible.

Sorry, but I've just had a lot of customer feedback about trying to shrink the resulting size of our applications and whether that's warranted or not, I have to live with it, and Batik is a nasty culprit.

shemnon commented 13 years ago

In your pom where you include flamingo, you can use maven explicitly remove a declared dependency. I'm on my home machine right so I don't have the explicit syntax on hand, but there is no need for a 6.3.1 since it can be build-time configured.

flynnk commented 13 years ago

I'm aware of the syntax (I've had to use it a couple of times), but I'm more likely to just wait for 7 instead, given the other issue I filed as well. It's a lot of XML and it's in 6-7 different projects we use Flamingo (except the one that actually does use Batik internally as well), so it's a lot of XML code to write in a lot of different places and then I'll have to tear it all back out. Probably best for me to just stick to 6.2 for right now.

Any thought on how you intend to treat the SVG stuff in 7.0?

shemnon commented 13 years ago

Likely drop it. Batik isn't fully compliant and hasn't had a release in 3 years. It's also a pain to keep integrated. I may make a flamingo-svg jar that has the old code, but I may just chop. I'll see when I get into it.

flynnk commented 13 years ago

+1 for drop. The existing code has significant performance problems and leaks threads (there's a ticket in the old issue tracker I opened on this). It's definitely in the 'do not use' category IMHO.