Home | History | Annotate | Download | only in data
      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
      9 grant
     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 //
     46 grant 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 
     55 grant codebase "file:${user.dir}/icu4jtests.jar"
     56 {
     57     permission java.io.FilePermission "${/}${user.dir}${/}icu4j.jar", "read";
     58 };