#*
#*******************************************************************************
#* Copyright (C) 2006-2008, International Business Machines Corporation and    *
#* others. All Rights Reserved.                                                *
#*******************************************************************************
#* This is the properties file for ICU4J builds. 
#*

# spec version won't be changed in a feature stream
icu4j.spec.version.string=4.0

# impl version will be updated for maintenance releases.
# It must be <icu4j.spec.version.string>[.<maint-version>]
icu4j.impl.version.string=4.0

# data version number won't be changed in a feature stream
icu4j.data.version.number=40

# these version numbers are used by API change report
icu4j.version.number=400
icu4j.previous.version.number=381

current.year=2008
api.report.out=${api.dir}/icu4j_compare_${icu4j.previous.version.number}_${icu4j.version.number}.html
copyright=Copyright (c) 2000-2008, International Business Machines Corporation and others.  All Rights Reserved.
corp=IBM Corporation
default.target.rt.version=J2SE15

icu4j.plugin.impl.version.string=4.0.0
copyright.eclipse=Licensed Materials - Property of IBM \n (C) Copyright IBM Corp. 2000, 2008. All Rights Reserved. \n IBM is a registered trademark of IBM Corp.