Menu

mavenizing

2019-04-11
2019-06-18
  • David Moten

    David Moten - 2019-04-11

    Hiya
    Cool project, I like the examples and good doco too. I haven't had much of
    a look at the source code but I see you are using ant and inline copies of
    dependency source trees. Do you want a hand mavenizing this? Perhaps
    migration to git (perhaps on github?).
    Cheers
    Dave

     
  • A. Vontobel

    A. Vontobel - 2019-04-16

    Hello David
    Thanks for your comment!
    Concerning maven, I observe that many projects are switching to it. To be honest, I prefere not to switch at the moment, as the task of configuering ant is already done (writing the ant build file seems to be a major drawback of ant?) and it works well.
    Concerning git. For my use case (just a single branch) I really prefer svn, it is more straight forward. Or maybe I am just getting older :)
    As you have correctly observed, the drawj2d jar file contains all the dependencies. This is unusual, but it simplifies the use in restricted environments. At source level, some of the libraries used are slightly modified: fixes applied, enhancements, removal of unused parts (e.g. to get rid of dependencies), removal of preprocessor macros, modifications for JDK8/11 compatibility, etc.
    Having said that: If someone is interested to actively participate in the project, I am happy to reconsider these old decisions.
    Cheers,
    Adrian

     
  • Anonymous

    Anonymous - 2019-04-28

    At source level, some of the libraries used are slightly modified: fixes applied, enhancements, removal of unused parts (e.g. to get rid of dependencies), removal of preprocessor macros, modifications for JDK8/11 compatibility, etc.

    erk, that makes things very difficult especially to migrate to later versions of the dependent libraries with their own fixes and enhancements. I'd like to see some docs on what versions of the dependent libraries are used and the patches made. Does that exist?

     
  • A. Vontobel

    A. Vontobel - 2019-06-18

    The libraries are listed in the program documentation. The version number (and patches made) may be found in the source code or the svn commit messages. An incomplete overview follows.

    Unmodified libraries are easier to update, of course. E.g. java-getopt, EpsGraphics, JLatexMath, svgSalamander. Sometimes a few changes were necessary. The preferred way was to ask the upstream project to include the changes. EvalEx, OrsonPDF and JFreeSVG authors have been so kind to accept or provide an even better solution. Thus these libraries correspond to the upstream projects again or are very close (EvalEx).

    Some projects are not actively maintained. There are pull requests (by others) for FreeHEP Graphics2D, but the master branch has not changed for years. The unmodified library incorrectly renders JLatexMath formulas, as an example. While there is not much work to maintain the library within drawj2d, the dependency upon this excellent library might turn into a problem one day, if nobody starts actively maintaining that complex project. If necessary drawj2d could switch to OrsonPDF and JFreeSVG. These optional backends are already supported, but not fully equivalent to freehep-vectorgraphics yet (limited support for transformations in OrsonPDF).
    The interpreter library Hecl also is not developed further. No work to update thus. Drawj2d has dropped the Java ME part and added unicode support. The library is kind of integral part of drawj2d.

    The only library that is hard to keep in sync with upstream is PDFRenderer. Maybe a different approach might be appropriate for it.

     

    Last edit: A. Vontobel 2019-06-19

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.