torutkのブログ

ソフトウェア・エンジニアのブログ

Java SE 6 (Mustang) b104ビルド情報

b104out/gensrc/sun/util/LocaleDataMetaInfo.javaコンパイルでエラーが発生します。
エラーメッセージはいずれも「文字列リテラルが閉じられていません。」で、該当コードは以下のようになっています。

	resourceNameToLocales.put("sun.text.resources.FormatData",
                                  " ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M 
^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M    
  : (数行続く)
^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M be^M be_BY^M bg^M bg_BG^M ca^M
 ca_ES^M cs^M cs_CZ^M
  :  (数行続く)
 tr_TR^M uk^M uk_UA^M | ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M ^M
  :
 zh_SG^M zh_TW^M ");

b102で当該コードは

	resourceNameToLocales.put("sun.text.resources.FormatData",
				  "  be be_BY bg bg_BG ca ca_ES cs cs_CZ da da_DK de de_AT 
de_CH de_DE de_LU el el_CY el_GR en en_AU en_CA en_GB en_IE en_IN en_MT en_NZ en_PH en_SG 
en_US en_ZA es es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_ES es_GT es_HN es_MX es_NI 
es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et et_EE fi fi_FI fr fr_BE fr_CA fr_CH 
fr_FR fr_LU ga ga_IE hr hr_HR hu hu_HU in in_ID is is_IS it it_CH it_IT lt lt_LT lv lv_LV 
mk mk_MK ms ms_MY mt mt_MT nl nl_BE nl_NL no no_NO no_NO_NY pl pl_PL pt pt_BR pt_PT ro 
ro_RO ru ru_RU sk sk_SK sl sl_SI sq sq_AL sr sr_BA sr_CS sv sv_SE tr tr_TR uk uk_UA |  ar 
ar_AE ar_BH ar_DZ ar_EG ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY 
ar_TN ar_YE hi_IN iw iw_IL ja ja_JP ja_JP_JP ko ko_KR th th_TH th_TH_TH vi vi_VN zh zh_CN 
zh_HK zh_SG zh_TW ");

となっており、ソースコードに余分な改行が大量に加わったような状況です。

問題のLocalDataMetaInfo.javaは、次のスクリプトによって生成されたソースです。

localelist.sh  \ 
      "FormatData CollationData TimeZoneNames LocaleNames CurrencyNames CalendarData" \
      D:/mustang/b104out/gensrc/sun/util/LocaleDataMetaInfo.java.tmp.euro  \
      D:/mustang/b104out/gensrc/sun/util/LocaleDataMetaInfo.java.tmp.noneuro  \
      ../../../src/share/classes/sun/util/LocalDataMetaInfo-XLocales.java  \
      D:/mustang/b104out/gensrc/sun/util/LocaleDataMetaInfo.java

LocaleDataMetaInfo.java.tmp.euroとLocaleDataMetaInfo.java.tmp.noneuroはいずれもmake後には存在していません。
これを実行しているMakefileは、j2se/make/java/java/genlocales.gmkです。確かにmake時に削除しています。これをコメントしてとりあえず残すようにして再度Makeを実行し検証します。

$(LocaleDataMetaInfo_Dest):$(LocaleDataMetaInfo_Src) $(LOCALEGEN_SH)
	@$(RM) $@.tmp.euro $@.tmp.noneuro;
	@$(prep-target) 
	@$(ECHO) $(subst .properties,'\n',$(Euro_Resources_properties)) > $@.tmp.euro;
	@$(ECHO) $(subst .java,'\n',$(Euro_Resources_java)) >> $@.tmp.euro;	
	@$(ECHO) $(subst .properties,'\n',$(NonEuro_Resources_properties)) > $@.tmp.noneuro;
	@$(ECHO) $(subst .java,'\n',$(NonEuro_Resources_java)) >> $@.tmp.noneuro;
	NAWK=$(NAWK) SED=$(SED) $(SH) $(LOCALEGEN_SH) $(RESOURCE_NAMES) $@.tmp.euro \
		$@.tmp.noneuro $< $@
#	@$(RM) $@.tmp.euro $@.tmp.noneuro;