#*******************************************************************************
#* Copyright (C) 2009, International Business Machines Corporation and         *
#* others. All Rights Reserved.                                                *
#*******************************************************************************

# Version numbers, etc.
icu4j.spec.version = 4.3.2
icu4j.impl.version = 4.3.2
current.year = 2009

corp = IBM Corporation
copyright = Copyright 2000-${current.year}, International Business Machines Corporation and others.  All Rights Reserved.

# Standard directory structure
src.dir = src
out.dir = out
bin.dir = ${out.dir}/bin
jar.dir = ${out.dir}/lib

# Default java compiler options
javac.source = 1.5
javac.target = 1.5
javac.debug = on
javac.encoding = ascii
javac.compilerarg = -Xlint:none

# Manifest attributes
jar.spec.version = ${icu4j.spec.version}
jar.impl.version = ${icu4j.impl.version}
jar.copyright.info = ${copyright}

# Jar locations
icu4j.data.jar = ${shared.dir}/data/icudata.jar
icu4j.testdata.jar = ${shared.dir}/data/testdata.jar

icu4j.core.jar = ${icu4j.core.dir}/${jar.dir}/icu4j-core.jar
icu4j.collate.jar = ${icu4j.collate.dir}/${jar.dir}/icu4j-collate.jar
icu4j.charset.jar = ${icu4j.charset.dir}/${jar.dir}/icu4j-charsets.jar
icu4j.localespi.jar = ${icu4j.localespi.dir}/${jar.dir}/icu4j-localespi.jar
icu4j.translit.jar = ${icu4j.translit.dir}/${jar.dir}/icu4j-translit.jar

icu4j.test-framework.jar = ${icu4j.test-framework.dir}/${jar.dir}/icu4j-test-framework.jar
icu4j.core-tests.jar = ${icu4j.core-tests.dir}/${jar.dir}/icu4j-core-tests.jar
icu4j.collate-tests.jar = ${icu4j.collate-tests.dir}/${jar.dir}/icu4j-collate-tests.jar
icu4j.charset-tests.jar = ${icu4j.charset-tests.dir}/${jar.dir}/icu4j-charset-tests.jar
icu4j.localespi-tests.jar = ${icu4j.localespi-tests.dir}/${jar.dir}/icu4j-localespi-tests.jar
icu4j.translit-tests.jar = ${icu4j.translit-tests.dir}/${jar.dir}/icu4j-translit-tests.jar

icu4j.build-tools.jar = ${icu4j.build-tools.dir}/${jar.dir}/icu4j-build-tools.jar
icu4j.tools.jar = ${icu4j.tools.dir}/${jar.dir}/icu4j-tools.jar

icu4j.demos.jar = ${icu4j.demos.dir}/${jar.dir}/icu4jdemos.jar
