Merge lp:~sergiusens/snapcraft/lifecycle into lp:~snappy-dev/snapcraft/core

Proposed by Sergio Schvezov on 2015-10-19
Status: Merged
Approved by: Sergio Schvezov on 2015-10-20
Approved revision: 213
Merged at revision: 248
Proposed branch: lp:~sergiusens/snapcraft/lifecycle
Merge into: lp:~snappy-dev/snapcraft/core
Diff against target: 191 lines (+28/-28)
4 files modified
snapcraft/cmds.py (+3/-3)
snapcraft/tests/test_lifecycle.py (+21/-22)
snapcraft/tests/test_yaml.py (+1/-1)
snapcraft/yaml.py (+3/-2)
To merge this branch: bzr merge lp:~sergiusens/snapcraft/lifecycle
Reviewer Review Type Date Requested Status
Leo Arias 2015-10-19 Approve on 2015-10-19
Review via email: mp+274947@code.launchpad.net

Commit Message

Rename snapcraft.plugin to snapcraft.lifecycle

To post a comment you must log in.
Leo Arias (elopio) wrote :

I like the new name.
I left a question on the diff, but not a blocker. +1.

review: Approve
Sergio Schvezov (sergiusens) wrote :

On Mon, Oct 19, 2015 at 7:50 PM, Leo Arias <email address hidden> wrote:

> Review: Approve
>
> I like the new name.
> I left a question on the diff, but not a blocker. +1.
>
> Diff comments:
>
> > -from snapcraft import (
> > - plugin,
> > - tests
> > -)
> > +import snapcraft.lifecycle
> > +import snapcraft.tests
>
> any reason for this change?
> when I started using more than one level in the namespace some python
> people started saying I was doing it like java.
>
>
Because you told me you preferred it ;-)

Leo Arias (elopio) wrote :

um, I don't think so, but maybe you are right and I said something like that. Anyway, what I usually say is that I prefer to import modules than symbols. Like

from snapcraft import lifecycle

instead of

from snapcraft.lifecycle import load_plugin.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'snapcraft/cmds.py'
2--- snapcraft/cmds.py 2015-10-14 21:42:35 +0000
3+++ snapcraft/cmds.py 2015-10-19 20:52:21 +0000
4@@ -25,7 +25,7 @@
5 import tempfile
6 import time
7
8-import snapcraft.plugin
9+import snapcraft.lifecycle
10 import snapcraft.yaml
11 from snapcraft import common
12 from snapcraft import meta
13@@ -54,7 +54,7 @@
14 if args.part:
15 yaml += 'parts:\n'
16 for part_name in args.part:
17- part = snapcraft.plugin.load_plugin(part_name, part_name)
18+ part = snapcraft.lifecycle.load_plugin(part_name, part_name)
19 yaml += ' ' + part.name + ':\n'
20 for opt in part.config.get('options', []):
21 if part.config['options'][opt].get('required', False):
22@@ -263,7 +263,7 @@
23 for part in parts:
24 # Gather our own files up
25 fileset = getattr(part.code.options, 'stage', ['*']) or ['*']
26- part_files, _ = snapcraft.plugin.migratable_filesets(
27+ part_files, _ = snapcraft.lifecycle.migratable_filesets(
28 fileset,
29 part.installdir)
30
31
32=== renamed file 'snapcraft/plugin.py' => 'snapcraft/lifecycle.py'
33=== renamed file 'snapcraft/tests/test_plugin.py' => 'snapcraft/tests/test_lifecycle.py'
34--- snapcraft/tests/test_plugin.py 2015-10-17 02:25:13 +0000
35+++ snapcraft/tests/test_lifecycle.py 2015-10-19 20:52:21 +0000
36@@ -24,19 +24,17 @@
37 patch,
38 )
39
40-from snapcraft import (
41- plugin,
42- tests
43-)
44+import snapcraft.lifecycle
45+import snapcraft.tests
46
47
48 def get_test_plugin(name='mock', part_name='mock-part', properties=None):
49 if properties is None:
50 properties = {}
51- return plugin.PluginHandler(name, part_name, properties)
52-
53-
54-class PluginTestCase(tests.TestCase):
55+ return snapcraft.lifecycle.PluginHandler(name, part_name, properties)
56+
57+
58+class PluginTestCase(snapcraft.tests.TestCase):
59
60 def test_init_unknown_plugin_must_log_error(self):
61 fake_logger = fixtures.FakeLogger(level=logging.ERROR)
62@@ -71,7 +69,7 @@
63 r'\\a',
64 ]
65
66- include, exclude = plugin._get_file_list(stage_set)
67+ include, exclude = snapcraft.lifecycle._get_file_list(stage_set)
68
69 self.assertEqual(include, ['opt/something', 'usr/bin',
70 '-everything', r'\a'])
71@@ -83,7 +81,7 @@
72 'usr/bin',
73 ]
74
75- include, exclude = plugin._get_file_list(stage_set)
76+ include, exclude = snapcraft.lifecycle._get_file_list(stage_set)
77
78 self.assertEqual(include, ['opt/something', 'usr/bin'])
79 self.assertEqual(exclude, [])
80@@ -94,7 +92,7 @@
81 '-usr/lib/*.a',
82 ]
83
84- include, exclude = plugin._get_file_list(stage_set)
85+ include, exclude = snapcraft.lifecycle._get_file_list(stage_set)
86
87 self.assertEqual(include, ['*'])
88 self.assertEqual(exclude, ['etc', 'usr/lib/*.a'])
89@@ -180,9 +178,9 @@
90 dstdir = tmpdir + '/stage'
91 os.makedirs(dstdir)
92
93- snap_files, snap_dirs = plugin.migratable_filesets(
94+ files, dirs = snapcraft.lifecycle.migratable_filesets(
95 filesets[key]['fileset'], srcdir)
96- plugin._migrate_files(snap_files, snap_dirs, srcdir, dstdir)
97+ snapcraft.lifecycle._migrate_files(files, dirs, srcdir, dstdir)
98
99 expected = []
100 for item in filesets[key]['result']:
101@@ -200,28 +198,28 @@
102 self.assertEqual(expected, result)
103
104 @patch('importlib.import_module')
105- @patch('snapcraft.plugin._load_local')
106- @patch('snapcraft.plugin._get_plugin')
107+ @patch('snapcraft.lifecycle._load_local')
108+ @patch('snapcraft.lifecycle._get_plugin')
109 def test_non_local_plugins(self, plugin_mock,
110 local_load_mock, import_mock):
111 mock_plugin = Mock()
112 mock_plugin.schema.return_value = {}
113 plugin_mock.return_value = mock_plugin
114 local_load_mock.side_effect = ImportError()
115- plugin.PluginHandler('mock', 'mock-part', {})
116+ snapcraft.lifecycle.PluginHandler('mock', 'mock-part', {})
117 import_mock.assert_called_with('snapcraft.plugins.mock')
118 local_load_mock.assert_called_with('x-mock')
119
120 def test_filesets_includes_without_relative_paths(self):
121- with self.assertRaises(plugin.PluginError) as raised:
122- plugin._get_file_list(['rel', '/abs/include'])
123+ with self.assertRaises(snapcraft.lifecycle.PluginError) as raised:
124+ snapcraft.lifecycle._get_file_list(['rel', '/abs/include'])
125
126 self.assertEqual(
127 "path '/abs/include' must be relative", str(raised.exception))
128
129 def test_filesets_exlcudes_without_relative_paths(self):
130- with self.assertRaises(plugin.PluginError) as raised:
131- plugin._get_file_list(['rel', '-/abs/exclude'])
132+ with self.assertRaises(snapcraft.lifecycle.PluginError) as raised:
133+ snapcraft.lifecycle._get_file_list(['rel', '-/abs/exclude'])
134
135 self.assertEqual(
136 "path '/abs/exclude' must be relative", str(raised.exception))
137@@ -231,7 +229,8 @@
138 self.useFixture(fake_logger)
139
140 with self.assertRaises(SystemExit) as raised:
141- plugin.load_plugin('dummy-part', 'test_unexisting_name')
142+ snapcraft.lifecycle.load_plugin(
143+ 'dummy-part', 'test_unexisting_name')
144
145 self.assertEqual(raised.exception.code, 1, 'Wrong exit code returned.')
146 self.assertEqual(
147@@ -240,7 +239,7 @@
148 fake_logger.output)
149
150
151-class PluginMakedirsTestCase(tests.TestCase):
152+class PluginMakedirsTestCase(snapcraft.tests.TestCase):
153
154 scenarios = [
155 ('existing_dirs', {'make_dirs': True}),
156
157=== modified file 'snapcraft/tests/test_yaml.py'
158--- snapcraft/tests/test_yaml.py 2015-10-15 22:08:19 +0000
159+++ snapcraft/tests/test_yaml.py 2015-10-19 20:52:21 +0000
160@@ -93,7 +93,7 @@
161 mock_loadPlugin.assert_called_with('part1', 'go', {
162 'source': 'http://source.tar.gz', 'stage': [], 'snap': []})
163
164- @unittest.mock.patch('snapcraft.plugin.load_plugin')
165+ @unittest.mock.patch('snapcraft.lifecycle.load_plugin')
166 @unittest.mock.patch('snapcraft.wiki.Wiki.get_part')
167 def test_config_with_wiki_part_after(self, mock_get_part, mock_load):
168 self.make_snapcraft_yaml("""name: test
169
170=== modified file 'snapcraft/yaml.py'
171--- snapcraft/yaml.py 2015-10-19 03:47:39 +0000
172+++ snapcraft/yaml.py 2015-10-19 20:52:21 +0000
173@@ -21,7 +21,7 @@
174 import os.path
175 import yaml
176
177-import snapcraft.plugin
178+import snapcraft.lifecycle
179 import snapcraft.wiki
180 from snapcraft import common
181
182@@ -188,7 +188,8 @@
183 return sorted_parts
184
185 def load_plugin(self, part_name, plugin_name, properties):
186- part = snapcraft.plugin.load_plugin(part_name, plugin_name, properties)
187+ part = snapcraft.lifecycle.load_plugin(
188+ part_name, plugin_name, properties)
189
190 self.build_tools += part.code.build_packages
191 self.all_parts.append(part)

Subscribers

People subscribed via source and target branches