Home | History | Annotate | Download | only in util
      1 package org.unicode.cldr.util;
      2 
      3 import java.util.List;
      4 
      5 import org.unicode.cldr.tool.ToolConstants;
      6 
      7 import com.google.common.collect.ImmutableList;
      8 
      9 /**
     10  * Constant paths (moved here from CldrUtility).
     11  * These must not be used by any code destined for the SurveyTool, as this class will not be included.
     12  * @author srl
     13  *
     14  */
     15 
     16 public class CLDRPaths {
     17     /** default working directory for Eclipse is . = ${workspace_loc:cldr}, which is <CLDR>/tools/java/ */
     18     // set the base directory with -Dcldrdata=<value>
     19     // if the main is different, use -Dcldrmain=<value>
     20 
     21     public static final String BASE_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("CLDR_DIR", null)); // new
     22     public static final String LOCAL_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("LOCAL_DIR", BASE_DIRECTORY + "/../"));
     23     public static final String EXTERNAL_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("UCD_DIR", LOCAL_DIRECTORY));
     24     // File(Utility.getProperty("CLDR_DIR",
     25     // null)).getPath();
     26     // // get up to
     27     // <CLDR>
     28     public static final String COMMON_DIRECTORY = CldrUtility.getPath(BASE_DIRECTORY, "common/");
     29     public static final String COLLATION_DIRECTORY = CldrUtility.getPath(COMMON_DIRECTORY, "collation/");
     30     public static final String CASING_DIRECTORY = CldrUtility.getPath(COMMON_DIRECTORY, "casing/");
     31     public static final String MAIN_DIRECTORY = CldrUtility.getProperty("CLDR_MAIN",
     32         CldrUtility.getPath(CLDRPaths.COMMON_DIRECTORY, "main"));
     33 
     34     public static final String RBNF_DIRECTORY = CldrUtility.getPath(CLDRPaths.COMMON_DIRECTORY, "rbnf/");
     35     public static final String TRANSFORMS_DIRECTORY = CldrUtility.getPath(CLDRPaths.COMMON_DIRECTORY, "transforms/");
     36     public static final String ANNOTATIONS_DIRECTORY = CldrUtility.getPath(CLDRPaths.COMMON_DIRECTORY, "annotations/");
     37     public static final String SUBDIVISIONS_DIRECTORY = CldrUtility.getPath(CLDRPaths.COMMON_DIRECTORY, "subdivisions/");
     38     public static final String ANNOTATIONS_DERIVED_DIRECTORY = CldrUtility.getPath(CLDRPaths.COMMON_DIRECTORY, "annotationsDerived/");
     39 
     40     public static final String SEED_DIRECTORY = CldrUtility.getProperty("CLDR_SEED",
     41         CldrUtility.getPath(CLDRPaths.COMMON_DIRECTORY, "../seed/main"));
     42     public static final String SEED_COLLATION_DIRECTORY = CldrUtility.getPath(SEED_DIRECTORY, "../collation/");
     43     public static final String SEED_CASING_DIRECTORY = CldrUtility.getPath(SEED_DIRECTORY, "../casing/");
     44     public static final String SEED_ANNOTATIONS_DIRECTORY = CldrUtility.getPath(SEED_DIRECTORY, "../annotations/");
     45     public static final String VALIDITY_DIRECTORY = CldrUtility.getPath(CLDRPaths.COMMON_DIRECTORY, "validity/");
     46 
     47     public static final String EXEMPLARS_DIRECTORY = CldrUtility.getPath(CLDRPaths.BASE_DIRECTORY, "exemplars/main/");
     48 
     49     public static final String TMP_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("CLDR_TMP_DIR",
     50         CldrUtility.getPath(BASE_DIRECTORY, "../cldr-tmp/")));
     51     public static final String AUX_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("CLDR_TMP_DIR",
     52         CldrUtility.getPath(BASE_DIRECTORY, "../cldr-aux/")));
     53     public static final String TMP2_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("CLDR_TMP_DIR",
     54         CldrUtility.getPath(BASE_DIRECTORY, "../cldr-tmp2/")));
     55     // external data
     56     public static final String ARCHIVE_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("ARCHIVE",
     57         CldrUtility.getPath(BASE_DIRECTORY, "../cldr-archive/")));
     58     public static final String LAST_DIRECTORY = ARCHIVE_DIRECTORY + "cldr-" +
     59         ToolConstants.PREVIOUS_CHART_VERSION +
     60         "/";
     61     public static final String LAST_RELEASE_DIRECTORY = ARCHIVE_DIRECTORY + "cldr-" +
     62         ToolConstants.LAST_RELEASE_VERSION +
     63         "/";
     64     public static final String CLDR_PRIVATE_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("CLDR_PRIVATE_DATA",
     65         CldrUtility.getPath(BASE_DIRECTORY, "../cldr-private/")));
     66 
     67     public static final String LAST_COMMON_DIRECTORY = CldrUtility.getPath(CLDRPaths.LAST_DIRECTORY, "common/");
     68     public static final String LAST_TRANSFORMS_DIRECTORY = CldrUtility.getPath(CLDRPaths.LAST_COMMON_DIRECTORY, "transforms/");
     69 
     70     public static final String GEN_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("CLDR_GEN_DIR",
     71         CldrUtility.getPath(LOCAL_DIRECTORY, "Generated/cldr/")));
     72     public static final String DATA_DIRECTORY = CldrUtility.getPath(CldrUtility.getProperty("CLDR_EXT_DATA_DIR",
     73         CldrUtility.getPath(LOCAL_DIRECTORY, "Data/")));
     74 
     75     public static final String UCD_DATA_DIRECTORY = CldrUtility.getPath(EXTERNAL_DIRECTORY + "unicodetools/draft/");
     76     public static final String ICU_DATA_DIR = CldrUtility.getPath(CldrUtility.getProperty("ICU_DATA_DIR", null)); // eg
     77     public static final String BIRTH_DATA_DIR = CldrUtility.getPath(BASE_DIRECTORY, "tools/java/org/unicode/cldr/util/data/births/");
     78     /**
     79      * @deprecated please use XMLFile and CLDRFILE getSupplementalDirectory()
     80      * @see DEFAULT_SUPPLEMENTAL_DIRECTORY
     81      */
     82     public static final String SUPPLEMENTAL_DIRECTORY = CldrUtility.getPath(COMMON_DIRECTORY, "supplemental/");
     83     /**
     84      * Only the default, if no other directory is specified.
     85      */
     86     public static final String DEFAULT_SUPPLEMENTAL_DIRECTORY = CldrUtility.getPath(COMMON_DIRECTORY, "supplemental/");
     87     public static final String CHART_DIRECTORY = CldrUtility.getPath(AUX_DIRECTORY + "charts/", ToolConstants.CHART_VERSION);
     88     public static final String LOG_DIRECTORY = CldrUtility.getPath(TMP_DIRECTORY, "logs/");
     89     public static final String TEST_DIR = CldrUtility.getPath(CLDRPaths.BASE_DIRECTORY, "test/");
     90     /** If the generated BAT files are to work, this needs to be set right */
     91     public static final String COMPARE_PROGRAM = "\"C:\\Program Files (x86)\\Compare It!\\wincmp3.exe\"";
     92     /**
     93      * @deprecated Don't use this from any code that is run from the .JAR (SurveyTool, tests, etc).
     94      *             If it must be used, add a comment next to the usage to explain why it is needed.
     95      */
     96     public static final String UTIL_DATA_DIR = FileReaders.getRelativeFileName(
     97         CldrUtility.class, "data/");
     98 
     99     public enum DIRECTORIES {
    100         common_dtd, common_properties, common_uca,
    101 
    102         common_bcp47(DtdType.ldmlBCP47),
    103 
    104         common_annotations(DtdType.ldml), common_casing(DtdType.ldml), common_collation(DtdType.ldml), common_main(DtdType.ldml), common_rbnf(
    105             DtdType.ldml), common_segments(DtdType.ldml), common_subdivisions(DtdType.ldml),
    106 
    107         common_supplemental(DtdType.supplementalData), common_transforms(DtdType.supplementalData), common_validity(DtdType.supplementalData),
    108 
    109         keyboards_android(DtdType.keyboard, DtdType.platform), keyboards_chromeos(DtdType.keyboard, DtdType.platform), keyboards_dtd(DtdType.keyboard,
    110             DtdType.platform), keyboards_osx(DtdType.keyboard,
    111                 DtdType.platform), keyboards_und(DtdType.keyboard, DtdType.platform), keyboards_windows(DtdType.keyboard, DtdType.platform),
    112                 ;
    113 
    114         public final List<DtdType> dtdType;
    115 
    116         private DIRECTORIES(DtdType... dtdType) {
    117             this.dtdType = ImmutableList.copyOf(dtdType);
    118         }
    119     }
    120 
    121     @Deprecated //use DtdType.ldml.directories
    122 //    public static final Set<String> LDML_DIRECTORIES = ImmutableSet.of(
    123 //        "main",
    124 //        "annotations",
    125 //        "casing",
    126 //        "collation",
    127 //        "rbnf",
    128 //        "segments",
    129 //        "subdivisions"
    130 //        );
    131     public static final String UNICODE_VERSION = "10.0.0";
    132 }
    133