#NEWLINE# def install( self , reference , current_path , remote = None , options = None , settings = None , build_mode = False , info = None , filename = None , update = False ) : #NEWLINE# #INDENT# ' Fetch and build all dependencies for the given reference\n        @param reference: ConanFileReference or path to user space conanfile\n        @param current_path: where the output files will be saved\n        @param remote: install only from that remote\n        @param options: list of tuples: [(optionname, optionvalue), (optionname, optionvalue)...]\n        @param settings: list of tuples: [(settingname, settingvalue), (settingname, value)...]\n        ' #NEWLINE# reference_given = True #NEWLINE# if ( not isinstance ( reference , ConanFileReference ) ) : #NEWLINE# #INDENT# conanfile_path = reference #NEWLINE# reference_given = False #NEWLINE# reference = None #NEWLINE# #UNINDENT# loader = self . _loader ( current_path , settings , options ) #NEWLINE# check_updates = ( not info ) #NEWLINE# remote_proxy = ConanProxy ( self . _paths , self . _user_io , self . _remote_manager , remote , update , check_updates ) #NEWLINE# if reference_given : #NEWLINE# #INDENT# project_reference = None #NEWLINE# conanfile_path = remote_proxy . get_conanfile ( reference ) #NEWLINE# output = ScopedOutput ( str ( reference ) , self . _user_io . out ) #NEWLINE# conanfile = loader . load_conan ( conanfile_path , output , consumer = True ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# project_reference = 'PROJECT' #NEWLINE# output = ScopedOutput ( project_reference , self . _user_io . out ) #NEWLINE# try : #NEWLINE# #INDENT# if ( filename and filename . endswith ( '.txt' ) ) : #NEWLINE# #INDENT# raise NotFoundException ( '' ) #NEWLINE# #UNINDENT# conan_file_path = os . path . join ( conanfile_path , ( filename or CONANFILE ) ) #NEWLINE# conanfile = loader . load_conan ( conan_file_path , output , consumer = True ) #NEWLINE# is_txt = False #NEWLINE# if ( ( conanfile . name is not None ) and ( conanfile . version is not None ) ) : #NEWLINE# #INDENT# project_reference = ( '%s/%s@' % ( conanfile . name , conanfile . version ) ) #NEWLINE# project_reference += 'PROJECT' #NEWLINE# #UNINDENT# #UNINDENT# except NotFoundException : #NEWLINE# #INDENT# conan_path = os . path . join ( conanfile_path , ( filename or CONANFILE_TXT ) ) #NEWLINE# conanfile = loader . load_conan_txt ( conan_path , output ) #NEWLINE# is_txt = True #NEWLINE# #UNINDENT# #UNINDENT# builder = DepsBuilder ( remote_proxy , self . _user_io . out , loader ) #NEWLINE# deps_graph = builder . load ( reference , conanfile ) #NEWLINE# registry = RemoteRegistry ( self . _paths . registry , self . _user_io . out ) #NEWLINE# if info : #NEWLINE# #INDENT# graph_updates_info = builder . get_graph_updates_info ( deps_graph ) #NEWLINE# Printer ( self . _user_io . out ) . print_info ( deps_graph , project_reference , info , registry , graph_updates_info , remote ) #NEWLINE# return #NEWLINE# #UNINDENT# Printer ( self . _user_io . out ) . print_graph ( deps_graph , registry ) #NEWLINE# installer = ConanInstaller ( self . _paths , self . _user_io , self ) #NEWLINE# installer . install ( deps_graph , build_mode ) #NEWLINE# if ( not reference_given ) : #NEWLINE# #INDENT# if is_txt : #NEWLINE# #INDENT# conanfile . info . settings = loader . _settings . values #NEWLINE# #UNINDENT# conanfile . info . full_settings = loader . _settings . values #NEWLINE# content = normalize ( conanfile . info . dumps ( ) ) #NEWLINE# save ( os . path . join ( current_path , CONANINFO ) , content ) #NEWLINE# output . info ( ( 'Generated %s' % CONANINFO ) ) #NEWLINE# write_generators ( conanfile , current_path , output ) #NEWLINE# local_installer = FileImporter ( deps_graph , self . _paths , current_path ) #NEWLINE# conanfile . copy = local_installer #NEWLINE# conanfile . imports ( ) #NEWLINE# copied_files = local_installer . execute ( ) #NEWLINE# import_output = ScopedOutput ( ( '%s imports()' % output . scope ) , output ) #NEWLINE# report_copied_files ( copied_files , import_output )