1//#
2//#*******************************************************************************
3//#* Copyright (C) 1997-2015, International Business Machines Corporation and    *
4//#* others. All Rights Reserved.                                                *
5//#*******************************************************************************
6//#* This is the ant build file for ICU4J.  See readme.html for more information.
7//#*
8// policies needed to run tests
9grant
10{
11    // temporary for debugging
12    // permission java.lang.RuntimePermission "getProtectionDomain";
13
14    permission java.lang.RuntimePermission "accessDeclaredMembers";
15
16    // needed for Locale.setDefault, only used in tests and demos
17    permission java.util.PropertyPermission "user.language", "write";
18
19    // for charsets
20    permission java.lang.RuntimePermission "charsetProvider", "read";
21
22    // IBM 1.6 on Windows does not allow to use reflection to access
23    // getDSTSavings in TimeZone implementation class in sun.util.clanedar.
24    permission java.lang.RuntimePermission "accessClassInPackage.sun.util.calendar";
25
26    // for testing lenient decimal/group separator parsing
27    permission java.util.PropertyPermission "com.ibm.icu.text.DecimalFormat.SkipExtendedSeparatorParsing", "write";
28
29    // for setting the default time zone by the test framework
30    permission java.util.PropertyPermission "user.timezone", "write";
31
32    // for creating a fallback class loader
33    permission java.lang.RuntimePermission "createClassLoader";
34};
35
36// there must be a way for code in one jar file to call code in another jar
37// file and give the called code permission to read the calling code's
38// jar.  they're in different protection domains despite being on the
39// same classpath and being loaded by the same class loader, so the class
40// loader doesn't disambiguate which protection domain we're using. it's
41// not easy to figure out the security docs, sigh.
42//
43// this is so ICUData (in icu4j.jar), called from test code (in core/charset tests jar)
44// can read test resource files (in core/charset tests jar)
45//
46grant codebase "file:${user.dir}/icu4j.jar"
47{
48    permission java.io.FilePermission "${/}${user.dir}${/}icu4jtests.jar", "read";
49    permission java.io.FilePermission "${/}${user.dir}${/}icu4j-charset.jar", "read";
50
51    permission java.util.PropertyPermission "com.ibm.icu.util.TimeZone.DefaultTimeZoneType", "read";
52    permission java.util.PropertyPermission "com.ibm.icu.text.DecimalFormat.SkipExtendedSeparatorParsing", "read";
53};
54
55grant codebase "file:${user.dir}/icu4jtests.jar"
56{
57    permission java.io.FilePermission "${/}${user.dir}${/}icu4j.jar", "read";
58};