src vs. dist

A discussion forum for JFreeChart (a 2D chart library for the Java platform).
Locked
Jens Elkner

src vs. dist

Post by Jens Elkner » Wed Jul 03, 2002 4:52 am

Hi,

just encountered, that some of the classes in the jfreechart sources are not included
in the shipped jfreechart-0.9.2.jar:

< com/jrefinery/chart/DateTickUnit.class
< com/jrefinery/chart/DateTitle.class
< com/jrefinery/chart/DefaultShapeFactory.class
< com/jrefinery/chart/ImageTitle.class
< com/jrefinery/chart/LegendItemCollection.class
< com/jrefinery/chart/LegendItemLayout.class
< com/jrefinery/chart/LegendTitle.class
< com/jrefinery/chart/PeriodMarkerPlot.class
< com/jrefinery/chart/PlotException.class
< com/jrefinery/chart/StandardLegendItemLayout.class
< com/jrefinery/chart/WindAxis.class
> com/jrefinery/chart/gorilla.jpg
< com/jrefinery/chart/tooltips/StandardToolTipsCollection.class
< com/jrefinery/chart/tooltips/ToolTip.class
< com/jrefinery/chart/tooltips/ToolTipsCollection.class

< indicates: in the source, but not in the jar
> indicates: in the jar, but not in the source

Any hints, why? Or are they not supported yet or not required any more?

BTW: I excluded all *Old.java in the build. Is this ok?

Regards,
jens.

David Gilbert

Re: src vs. dist

Post by David Gilbert » Wed Jul 03, 2002 6:25 am

Thanks for the feedback...I'll try to correct this for the next release. I run a shell script to build each distribution, using javac to compile the .java files into .class files. Mostly I rely on compiling JFreeChartDemo.java...but I've added a few explicit compiles because this doesn't catch all the classes. It looks like I have some others to add.

I've also noticed one or two files that should not be in there anymore...I'll try to clean those up.

Do you have an automated way of spotting these inconsistencies? Or have you compiled this list manually?

Regards,

DG.

Jens Elkner

Re: src vs. dist

Post by Jens Elkner » Wed Jul 03, 2002 6:36 pm

Actually I used ant + my "own" build.xml (which follows more the pattern I use for my
and jakarta projects wrt. directory structure), which is basically the same, I send you
for jcommon.

It groups **/junit/**, **/demo/** and the remaing stuff almost as the shipped one.
So I get 3 jar files, which contain almost every class from source except *Old.java.

Then I just use the following script, to compare them:

---schnipp---
#!/bin/ksh

# $Id: cmpjars.sh,v 1.1 2002/07/02 02:21:14 elkner Exp $

# uses jar, awk, sort, diff, egrep

TMP_DIR=/tmp


# no further customization usually required

if [ -z "$1" -o -z "$2" ]; then
echo "Usage: $0 jarfile1 jarfile2"
echo " "
echo "< indicates: in jarfile1 but not in jarfile2"
echo "> indicates: in jarfile2 but not in jarfile1"
exit 2
fi

JAR=`which jar 2>/dev/null`
if [ -n "$JAVA_HOME" ]; then
if [ -x ${JAVA_HOME}/bin/jar ]; then
JAR=${JAVA_HOME}/bin/jar
fi
fi

if [ -z "$JAR" ]; then
echo "JAR not found! Set JAVA_HOME or add the path to your PATH env!"
exit 1
fi

J1=$1
J2=$2

T1=$TMP_DIR/t1.$$
T2=$TMP_DIR/t2.$$

#
jar tvf $J1 | awk '{ print $8 }' | sort >$T1
jar tvf $J2 | awk '{ print $8 }' | sort >$T2
diff $T1 $T2 | egrep -v '^[0-9]'

rm -f $T1
rm -f $T2
---schnapp---

Not a ig deal ;-)

Regards,
jens.

Locked