99from conan .tools .cmake import cmake_layout
1010from conan .tools .cmake import CMakeDeps
1111from conan .tools .cmake import CMakeToolchain
12- from conan .tools .files import copy
12+ from conan .tools .files import get , copy , export_conandata_patches
1313from conan .tools .files import load
1414from conan .tools .scm import Git
1515from conan .tools .system import package_manager
@@ -21,7 +21,7 @@ class UserverConan(ConanFile):
2121 name = 'userver'
2222 description = 'The C++ Asynchronous Framework'
2323 topics = ('framework' , 'coroutines' , 'asynchronous' )
24- url = 'https://github.com/userver-framework/userver '
24+ url = 'https://github.com/conan-io/conan-center-index '
2525 homepage = 'https://userver.tech/'
2626 license = 'Apache-2.0'
2727 package_type = 'static-library'
@@ -92,15 +92,25 @@ class UserverConan(ConanFile):
9292 're2/*:with_icu' : True ,
9393 }
9494
95+ def source (self )
96+ known_version = (self .conan_data or {}).get ("sources" , {}).get (self .version )
97+ if known_version :
98+ get (self , ** known_version , strip_root = True )
99+ else :
100+ pass # Running from userver-framework/userver
101+
95102 def export_sources (self ):
96- git = Git (self )
97- tracked_sources = git .included_files ()
98- # To speed up copying, we take only the root folders
99- tracked_sources = set (f .split ('/' )[0 ] for f in tracked_sources )
100- for i in tracked_sources :
101- copy (self , f'{ i } *' , self .recipe_folder , self .export_sources_folder )
103+ known_version = (self .conan_data or {}).get ("sources" , {}).get (self .version )
104+ if known_version :
105+ export_conandata_patches (self )
106+ else :
107+ pass # Running from userver-framework/userver
102108
103109 def set_version (self ):
110+ if self .version :
111+ return
112+
113+ # Building from userver-framework/userver
104114 content = load (
105115 self ,
106116 os .path .join (
0 commit comments