#*
#*******************************************************************************
#* Copyright (C) 2006-2007, 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=3.8

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

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

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

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

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