Search code examples
javaantjfreechart

How to build jfreechart-1.0.19 from sources?


I'm trying to build this project:

git clone --depth 1 --branch v1.0.19 https://github.com/jfree/jfreechart.git

With "mvn install" command, there are following errors:

Failed tests:   testFifteenMinIncludedAndExcludedSegments(org.jfree.chart.axis.SegmentedTimelineTest)
  testFifteenMinSegmentedTimeline(org.jfree.chart.axis.SegmentedTimelineTest): expected:<-2208956400000> but was:<-2208967200000>
  testMondayThroughFridaySegmentedTimeline(org.jfree.chart.axis.SegmentedTimelineTest): expected:<-2208988800000> but was:<-2208999600000>
  testFindDomainBounds(org.jfree.data.time.TimeSeriesCollectionTest): expected:<1.199142E12> but was:<1.1991348E12>

Then I trying to build with ANT script

cd ant
ant

And I got jfreechart-1.0.19-bundle.jar 8M weight which is very different from MAVEN's jar https://repo1.maven.org/maven2/org/jfree/jfreechart/1.0.19/ . Please tell me how to build version 1.0.19 form sources?


Solution

  • Try building from the original source distribution found here. Verify the checksum, unzip the file and build with ant:

    $ java -version
    java version "11.0.10" 2021-01-19 LTS…
    $ md5 jfreechart-1.0.19.zip 
    MD5 (jfreechart-1.0.19.zip) = 69a5c88439566ac9d7e74cf34c69b7e0
    $ unzip -qq jfreechart-1.0.19.zip 
    $ pushd jfreechart-1.0.19
    $ pushd ant ; ant ; popd
    …
    BUILD SUCCESSFUL
    

    For lib/jfreechart-1.0.19.jar, I get a size of 1_565_109 bytes, comparable to the 1_565_065 bytes seen here. You also need jcommon-1.0.23.jar, included in the lib directory and found here.

    Addendum: Starting from a clone of the repository, a similar approach also works, producing a 1_565_051 byte JAR in lib and an 8M jfreechart-1.0.19-bundle.jar:

    $ git clone https://github.com/jfree/jfreechart.git jfreechart
    $ pushd jfreechart
    $ git fetch --tags
    $ git tag --list
    …
    v1.0.19
    …
    $ git checkout v1.0.19
    Note: switching to 'v1.0.19'…
    $ pushd ant ; ant ; popd
    …
    BUILD SUCCESSFUL
    $ git checkout master
    $ git status
    …
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
        jfreechart-1.0.19-bundle.jar
        jfreechart-1.0.19-javadocs.zip
        jfreechart-1.0.19.tar.gz
        jfreechart-1.0.19.zip
        lib/
     …