�� r�$Lc�����������@���s����d��Z��d�Z�d�d�k�Z�d�d�k�Z�d�d�k�Z�d�d�k�Z�d�d�k�l�Z�d�d�k �l �Z �d�d�k�Z�d����Z�d����Z �e�i�i�d�d ���Z�e�i�i�d �e�d�e �d�e�i�i�i�d �e�i�i�i���Z�d�e�f�d�������YZ�d����Z�d����Z�d����Z�d�S(���s����SCons.Tool.javac Tool-specific initialization for javac. There normally shouldn't be any need to import this module directly. It will usually be imported through the generic SCons.Tool.Tool() selection method. s=���src/engine/SCons/Tool/javac.py 5023 2010/06/14 22:05:46 sconsi����N(���t���_my_normcase(���t���parse_java_filec���������C���s���t��i�i�|����i�t��i�d���S(���s1���Turn a string (path name) into a Java class name.t���.(���t���ost���patht���normpatht���replacet���sep(���R���(����(����s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyt ���classname,���s����c������ ������s���|�i��d�d���}�|�i��d�d���}�|��d�i�t�i�i�i���|��d�}�|�d�i����i����}�t�|�t�i�i�i ���o�|�i �i����}�nC�t�|�t�i�i�i���o�|�i����}�n�t�i�i �d�|�i�����g��}�t�|������x|�D]} �| �i����i����} �t�| �t�i�i�i ���o�|�i�| ���q��t�| �t�i�i�i���o��t�i�i����} �| �i�����������f�d����}�x6�t�i���i������D]�\�}�} �}�|�| �|�|���q�W| �i�|�| ���|�i�t�| �i��������q��t�i�i �d�| �i�����q��W|�i��d�d ���}�g��}�x�|�D]�}�g��}�t�}�d�}�|�i����p��t�|�i����i����|���\�}�}�|�o��t�}�|�o$�|��d�i�|���}�|�t�i�}�n�|��d�}�d �}�x`�|�D]T�}�|�i �|�|���}�|�|�i �_!�|�|�i �_"�t#�|�|���|�i �_$�|�i�|���q�Wqn�|�o��|�i%�t&�|��� }�|�o$�|��d�i�|���i �|�|���}�n�|��d�i �|�|���}�|�|�i �_!�|�i �|�i �_"�t#�|���|�i �_$�|�i�|���n�x�|�D]�}�|�i'�|�g���q�W|�i�|���qW|�|�f�S(���sa���Create and return lists of source java files and their corresponding target class files. t ���JAVASUFFIXs���.javat���JAVACLASSSUFFIXs���.classi����s)���Java source must be File or Dir, not '%s'c������������s����t��g��}�|�D]'�}�t�|���i������o�|�|�q�q�~���}���i�|���}�g��}�|�D]�}�|�|�i�|���q[�~�} �x�| �D]�} �t�|��| �<q��Wd��S(���N(���t���sortedR����t���endswitht���Dirt���Filet���True(���t���argt���dirpatht ���filenamest���_[1]t���nt ���java_filest���mydirt���_[2]t���ft ���java_pathst���jp(���t���jst���dirnode(����s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyt���find_java_filesK���s����-*�t���JAVAVERSIONs���1.4t����N((���t���gett���must_be_samet���SConst���Nodet���FSR ���t���rentryt���disambiguatet ���isinstanceR���t���dirt���rdirt���Errorst ���UserErrort ���__class__R����t���appendt���Utilt���OrderedDictR���t���walkt���get_abspatht���extendt���listt���keysR���t���Nonet ���is_derivedR���t���rfilet���FalseR���t ���attributest ���java_classdirt���java_sourcedirR���t���java_classnamet���namet���lent���set_specific_source(���t���targett���sourcet���envt���java_suffixt���class_suffixt���classdirt���st ���sourcedirt���slistt���entryt���resultR���R���t���dirnamesR���t���versiont ���full_tlistR���t���tlistt���source_file_basedt���pkg_dirt���classest���dt���pt���ct���tt���base(����(���R���R���s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyt���emit_java_classes0���s����� ��� ! �$�s ���$JAVACCOMs���$JAVACCOMSTRt���actiont���emittert���target_factoryt���source_factoryt���pathoptc�����������B���s#���e��Z�d��Z�d�d���Z�d����Z�RS(���s���� Callable object for generating javac-style path options from a construction variable (e.g. -classpath, -sourcepath). c���������C���s���|�|��_��|�|��_�|�|��_�d��S(���N(���t���optt���vart���default(���t���selfR]���R^���R_���(����(����s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyt���__init__����s���� c���������C���s����|�|��i��}�|�o!�t�i�i�|���o �|�g�}�n�|��i�o�|�|�|��i�g�}�n�|�o�|��i�t�i�i�|���g�Sg��Sd��S(���N( ���R^���R"���R.���t���is_ListR_���R]���R���t���pathsept���join(���R`���R@���RA���RB���t ���for_signatureR���(����(����s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyt���__call__����s���� N(���t���__name__t ���__module__t���__doc__R5���Ra���Rf���(����(����(����s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyR\�������s���c��� ������O���st��t��i�i�|���p �|�g�}�n�t��i�i�|���p �|�g�}�n�|�|�d�g�t�|���t�|���}�|��i�d���}�g��}�x��t�|�|���D]��\�}�}�t�|�t��i�i�i ���o3�t�|�t��i�i�i ���o �|��i�} �qP|��i�} �no�t �i�i�|���o �|��i�} �nO�t �i�i�|���o �|��i�} �n/�|�t�|���|�j�o �|��i�} �n �|��i�} �|�i�| �|�|�|�|�����q��W|�S(���sX��� A pseudo-Builder wrapper around the separate JavaClass{File,Dir} Builders. i����s���$JAVASUFFIX(���R"���R.���Rb���R>���t���substt���zipR'���R#���R$���t���BaseR���t ���JavaClassFilet���JavaClassDirR���R���t���isfilet���isdirR2���( ���RB���R@���RA���t���argst���kwRC���RJ���RU���RF���t���b(����(����s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyt���Java����s,���� %� c���������C���s��t��i�i�|����}�t��i�i�|����}�t��i�i�|����}�|�i�d�t���|�i�|��i�d���t���t�|�_ �|��i �t���d�|��d�<t��i�i �d���|��d�<g��|��d�<g��|��d�<g��|��d�<t�|��d �<d �|��d�<d�|��d �<d�|��d�<d�|��d�<d�|��d�<d�|��d�<d�|��d�<d�|��d�<d�S(���sD���Add Builders and construction variables for javac to an Environment.s���$JAVASUFFIXt���javact���JAVACR���t ���JAVACFLAGSt���JAVABOOTCLASSPATHt ���JAVACLASSPATHt���JAVASOURCEPATHt���_javapathopts7���${_javapathopt("-bootclasspath", "JAVABOOTCLASSPATH")} t���_JAVABOOTCLASSPATHs/���${_javapathopt("-classpath", "JAVACLASSPATH")} t���_JAVACLASSPATHsK���${_javapathopt("-sourcepath", "JAVASOURCEPATH", "_JAVASOURCEPATHDEFAULT")} t���_JAVASOURCEPATHs#���${TARGET.attributes.java_sourcedir}t���_JAVASOURCEPATHDEFAULTsv���$JAVAC $JAVACFLAGS $_JAVABOOTCLASSPATH $_JAVACLASSPATH -d ${TARGET.attributes.java_classdir} $_JAVASOURCEPATH $SOURCESt ���_JAVACCOMs���${TEMPFILE('$_JAVACCOM')}t���JAVACCOMs���.classR ���s���.javaR ���N(���R"���t���Toolt���CreateJavaFileBuildert���CreateJavaClassFileBuildert���CreateJavaClassDirBuildert���add_emitterR5���RW���Rj���RY���t ���AddMethodRt���R.���t���CLVarR\���(���RB���t ���java_filet ���java_classt���java_class_dir(����(����s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyt���generate����s*���� c���������C���s���d�S(���Ni���(����(���RB���(����(����s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyt���exists����s����(���Ri���t���__revision__R���t���os.patht���SCons.ActionR"���t ���SCons.Buildert ���SCons.Node.FSR����t���SCons.Tool.JavaCommonR���t ���SCons.UtilR���RW���t���Actiont ���JavaActiont���BuilderR#���R$���t���Entryt���JavaBuildert���objectR\���Rt���R����R����(����(����(����s3���install/lib/scons-2.0.0.final.0/SCons/Tool/javac.pyt���<module> ���s&��� S $