Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
flavor.api.SkiaFlavorApi Class Reference
Inheritance diagram for flavor.api.SkiaFlavorApi:

Public Member Functions

 get_flavor (self, vars_api, app_name)
 
 setup (self, app_name)
 
 step (self, name, cmd, **kwargs)
 
 device_path_join (self, *args)
 
 copy_directory_contents_to_device (self, host_dir, device_dir)
 
 copy_directory_contents_to_host (self, device_dir, host_dir)
 
 copy_file_to_device (self, host_path, device_path)
 
 create_clean_host_dir (self, path)
 
 create_clean_device_dir (self, path)
 
 read_file_on_device (self, path, **kwargs)
 
 remove_file_on_device (self, path)
 
 install (self, skps=False, images=False, lotties=False, svgs=False, resources=False, mskps=False, texttraces=False)
 
 cleanup_steps (self)
 

Public Attributes

 device_dirs
 
 host_dirs
 

Protected Member Functions

 _copy_dir (self, host_version, version_file, tmp_dir, host_path, device_path)
 
 _copy_images (self)
 
 _copy_lotties (self)
 
 _copy_skps (self)
 
 _copy_svgs (self)
 
 _copy_mskps (self)
 
 _copy_texttraces (self)
 

Protected Attributes

 _f
 
 _skia_dir
 

Detailed Description

Definition at line 55 of file api.py.

Member Function Documentation

◆ _copy_dir()

flavor.api.SkiaFlavorApi._copy_dir (   self,
  host_version,
  version_file,
  tmp_dir,
  host_path,
  device_path 
)
protected

Definition at line 128 of file api.py.

129 host_path, device_path):
130 actual_version_file = self.m.path.join(tmp_dir, version_file)
131 # Copy to device.
132 device_version_file = self.device_path_join(
133 self.device_dirs.tmp_dir, version_file)
134 if str(actual_version_file) != str(device_version_file):
135 device_version = self.read_file_on_device(device_version_file,
136 abort_on_failure=False,
137 fail_build_on_failure=False)
138 if not device_version:
139 device_version = VERSION_NONE
140 if device_version != host_version:
141 self.remove_file_on_device(device_version_file)
142 self.create_clean_device_dir(device_path)
143 self.copy_directory_contents_to_device(
144 host_path, device_path)
145
146 # Copy the new version file.
147 self.copy_file_to_device(actual_version_file, device_version_file)
148

◆ _copy_images()

flavor.api.SkiaFlavorApi._copy_images (   self)
protected
Copy test images if needed.

Definition at line 149 of file api.py.

149 def _copy_images(self):
150 """Copy test images if needed."""
151 version = self.m.run.asset_version('skimage', self._skia_dir)
152 self.m.run.writefile(
153 self.m.path.join(self.m.vars.tmp_dir, VERSION_FILE_SK_IMAGE),
154 version)
155 self._copy_dir(
156 version,
157 VERSION_FILE_SK_IMAGE,
158 self.m.vars.tmp_dir,
159 self.host_dirs.images_dir,
160 self.device_dirs.images_dir)
161 return version
162

◆ _copy_lotties()

flavor.api.SkiaFlavorApi._copy_lotties (   self)
protected
Copy test lotties if needed.

Definition at line 163 of file api.py.

163 def _copy_lotties(self):
164 """Copy test lotties if needed."""
165 version = self.m.run.asset_version('lottie-samples', self._skia_dir)
166 self.m.run.writefile(
167 self.m.path.join(self.m.vars.tmp_dir, VERSION_FILE_LOTTIE),
168 version)
169 self._copy_dir(
170 version,
171 VERSION_FILE_LOTTIE,
172 self.m.vars.tmp_dir,
173 self.host_dirs.lotties_dir,
174 self.device_dirs.lotties_dir)
175 return version
176

◆ _copy_mskps()

flavor.api.SkiaFlavorApi._copy_mskps (   self)
protected
Copy the MSKPs if needed.

Definition at line 205 of file api.py.

205 def _copy_mskps(self):
206 """Copy the MSKPs if needed."""
207 version = self.m.run.asset_version('mskp', self._skia_dir)
208 self.m.run.writefile(
209 self.m.path.join(self.m.vars.tmp_dir, VERSION_FILE_MSKP),
210 version)
211 self._copy_dir(
212 version,
213 VERSION_FILE_MSKP,
214 self.m.vars.tmp_dir,
215 self.host_dirs.mskp_dir,
216 self.device_dirs.mskp_dir)
217 return version
218

◆ _copy_skps()

flavor.api.SkiaFlavorApi._copy_skps (   self)
protected
Copy the SKPs if needed.

Definition at line 177 of file api.py.

177 def _copy_skps(self):
178 """Copy the SKPs if needed."""
179 version = self.m.run.asset_version('skp', self._skia_dir)
180 self.m.run.writefile(
181 self.m.path.join(self.m.vars.tmp_dir, VERSION_FILE_SKP),
182 version)
183 self._copy_dir(
184 version,
185 VERSION_FILE_SKP,
186 self.m.vars.tmp_dir,
187 self.host_dirs.skp_dir,
188 self.device_dirs.skp_dir)
189 return version
190

◆ _copy_svgs()

flavor.api.SkiaFlavorApi._copy_svgs (   self)
protected
Copy the SVGs if needed.

Definition at line 191 of file api.py.

191 def _copy_svgs(self):
192 """Copy the SVGs if needed."""
193 version = self.m.run.asset_version('svg', self._skia_dir)
194 self.m.run.writefile(
195 self.m.path.join(self.m.vars.tmp_dir, VERSION_FILE_SVG),
196 version)
197 self._copy_dir(
198 version,
199 VERSION_FILE_SVG,
200 self.m.vars.tmp_dir,
201 self.host_dirs.svg_dir,
202 self.device_dirs.svg_dir)
203 return version
204

◆ _copy_texttraces()

flavor.api.SkiaFlavorApi._copy_texttraces (   self)
protected
Copy the text traces if needed.

Definition at line 219 of file api.py.

219 def _copy_texttraces(self):
220 """Copy the text traces if needed."""
221 version = self.m.run.asset_version('text_blob_traces', self._skia_dir)
222 self.m.run.writefile(
223 self.m.path.join(self.m.vars.tmp_dir, VERSION_FILE_TEXTTRACES),
224 version)
225 self._copy_dir(
226 version,
227 VERSION_FILE_TEXTTRACES,
228 self.m.vars.tmp_dir,
229 self.host_dirs.texttraces_dir,
230 self.device_dirs.texttraces_dir)
231 return version

◆ cleanup_steps()

flavor.api.SkiaFlavorApi.cleanup_steps (   self)

Definition at line 125 of file api.py.

125 def cleanup_steps(self):
126 return self._f.cleanup_steps()
127

◆ copy_directory_contents_to_device()

flavor.api.SkiaFlavorApi.copy_directory_contents_to_device (   self,
  host_dir,
  device_dir 
)

Definition at line 81 of file api.py.

81 def copy_directory_contents_to_device(self, host_dir, device_dir):
82 return self._f.copy_directory_contents_to_device(host_dir, device_dir)
83

◆ copy_directory_contents_to_host()

flavor.api.SkiaFlavorApi.copy_directory_contents_to_host (   self,
  device_dir,
  host_dir 
)

Definition at line 84 of file api.py.

84 def copy_directory_contents_to_host(self, device_dir, host_dir):
85 return self._f.copy_directory_contents_to_host(device_dir, host_dir)
86

◆ copy_file_to_device()

flavor.api.SkiaFlavorApi.copy_file_to_device (   self,
  host_path,
  device_path 
)

Definition at line 87 of file api.py.

87 def copy_file_to_device(self, host_path, device_path):
88 return self._f.copy_file_to_device(host_path, device_path)
89

◆ create_clean_device_dir()

flavor.api.SkiaFlavorApi.create_clean_device_dir (   self,
  path 
)

Definition at line 93 of file api.py.

93 def create_clean_device_dir(self, path):
94 return self._f.create_clean_device_dir(path)
95

◆ create_clean_host_dir()

flavor.api.SkiaFlavorApi.create_clean_host_dir (   self,
  path 
)

Definition at line 90 of file api.py.

90 def create_clean_host_dir(self, path):
91 return self._f.create_clean_host_dir(path)
92

◆ device_path_join()

flavor.api.SkiaFlavorApi.device_path_join (   self,
args 
)

Definition at line 78 of file api.py.

78 def device_path_join(self, *args):
79 return self._f.device_path_join(*args)
80

◆ get_flavor()

flavor.api.SkiaFlavorApi.get_flavor (   self,
  vars_api,
  app_name 
)
Return a flavor utils object specific to the given builder.

Definition at line 56 of file api.py.

56 def get_flavor(self, vars_api, app_name):
57 """Return a flavor utils object specific to the given builder."""
58 if is_chromebook(vars_api):
59 return chromebook.ChromebookFlavor(self, app_name)
60 if is_android(vars_api):
61 return android.AndroidFlavor(self, app_name)
62 elif is_ios(vars_api):
63 return ios.iOSFlavor(self, app_name)
64 elif is_valgrind(vars_api):
65 return valgrind.ValgrindFlavor(self, app_name)
66 else:
67 return default.DefaultFlavor(self, app_name)
68

◆ install()

flavor.api.SkiaFlavorApi.install (   self,
  skps = False,
  images = False,
  lotties = False,
  svgs = False,
  resources = False,
  mskps = False,
  texttraces = False 
)

Definition at line 102 of file api.py.

103 resources=False, mskps=False, texttraces=False):
104 self._f.install()
105
106 if texttraces:
107 self._copy_texttraces()
108 # TODO(borenet): Only copy files which have changed.
109 if resources:
110 self.copy_directory_contents_to_device(
111 self.m.path['start_dir'].join('skia', 'resources'),
112 self.device_dirs.resource_dir)
113
114 if skps:
115 self._copy_skps()
116 if images:
117 self._copy_images()
118 if lotties:
119 self._copy_lotties()
120 if svgs:
121 self._copy_svgs()
122 if mskps:
123 self._copy_mskps()
124
static bool install(SkBitmap *bm, const SkImageInfo &info, const SkRasterHandleAllocator::Rec &rec)

◆ read_file_on_device()

flavor.api.SkiaFlavorApi.read_file_on_device (   self,
  path,
**  kwargs 
)

Definition at line 96 of file api.py.

96 def read_file_on_device(self, path, **kwargs):
97 return self._f.read_file_on_device(path, **kwargs)
98

◆ remove_file_on_device()

flavor.api.SkiaFlavorApi.remove_file_on_device (   self,
  path 
)

Definition at line 99 of file api.py.

99 def remove_file_on_device(self, path):
100 return self._f.remove_file_on_device(path)
101

◆ setup()

flavor.api.SkiaFlavorApi.setup (   self,
  app_name 
)

Definition at line 69 of file api.py.

69 def setup(self, app_name):
70 self._f = self.get_flavor(self.m.vars, app_name)
71 self.device_dirs = self._f.device_dirs
72 self.host_dirs = self._f.host_dirs
73 self._skia_dir = self.m.path['start_dir'].join('skia')
74
Definition setup.py:1

◆ step()

flavor.api.SkiaFlavorApi.step (   self,
  name,
  cmd,
**  kwargs 
)

Definition at line 75 of file api.py.

75 def step(self, name, cmd, **kwargs):
76 return self._f.step(name, cmd, **kwargs)
77
static int step(int x, SkScalar min, SkScalar max)
Definition BlurTest.cpp:215

Member Data Documentation

◆ _f

flavor.api.SkiaFlavorApi._f
protected

Definition at line 70 of file api.py.

◆ _skia_dir

flavor.api.SkiaFlavorApi._skia_dir
protected

Definition at line 73 of file api.py.

◆ device_dirs

flavor.api.SkiaFlavorApi.device_dirs

Definition at line 71 of file api.py.

◆ host_dirs

flavor.api.SkiaFlavorApi.host_dirs

Definition at line 72 of file api.py.


The documentation for this class was generated from the following file: