~allenap/maas/xxx-a-thon

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: LaMont Jones
  • Date: 2016-03-07 23:20:52 UTC
  • mfrom: (4657.1.84 maas)
  • mto: (4657.1.93 maas)
  • mto: This revision was merged to the branch mainline in revision 4660.
  • Revision ID: lamont@canonical.com-20160307232052-rgfxbq7dujj6s093
MergeĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
py_enums := $(wildcard src/*/enum.py)
25
25
# JavaScript enum module (not modules).
26
26
js_enums := src/maasserver/static/js/enums.js
 
27
templates := $(shell find etc/maas/templates -type f)
 
28
py_data := src/maasserver/data/templates.py
27
29
 
28
30
# MAAS SASS stylesheets. The first input file (maas-styles.css) imports
29
31
# the others, so is treated specially in the target definitions.
50
52
    bin/database \
51
53
    bin/maas \
52
54
    bin/maas-probe-dhcp \
53
 
    bin/maas-provision \
54
 
    bin/maas-region-admin \
 
55
    bin/maas-rack \
 
56
    bin/maas-region \
55
57
    bin/twistd.rack \
56
58
    bin/twistd.region \
57
59
    bin/test.cli \
93
95
        $(buildout) install database
94
96
        @touch --no-create $@
95
97
 
96
 
bin/maas-region-admin bin/twistd.region: \
97
 
    bin/buildout buildout.cfg versions.cfg setup.py $(js_enums)
 
98
bin/maas-region bin/twistd.region: \
 
99
    data bin/buildout buildout.cfg versions.cfg setup.py $(js_enums)
98
100
        $(buildout) install region
99
101
        @touch --no-create $@
100
102
 
101
103
bin/test.region: \
102
 
    bin/buildout buildout.cfg versions.cfg setup.py $(js_enums)
 
104
    data bin/buildout buildout.cfg versions.cfg setup.py $(js_enums)
103
105
        $(buildout) install region-test
104
106
        @touch --no-create $@
105
107
 
119
121
        $(buildout) install e2e-test
120
122
        @touch --no-create $@
121
123
 
122
 
# bin/maas-region-admin is needed for South migration tests. bin/flake8 is
 
124
# bin/maas-region is needed for South migration tests. bin/flake8 is
123
125
# needed for checking lint and bin/sass is needed for checking css.
124
126
bin/test.testing: \
125
 
    bin/maas-region-admin bin/flake8 bin/sass bin/buildout \
 
127
    bin/maas-region bin/flake8 bin/sass bin/buildout \
126
128
    buildout.cfg versions.cfg setup.py
127
129
        $(buildout) install testing-test
128
130
        @touch --no-create $@
129
131
 
130
 
bin/maas-probe-dhcp bin/maas-provision bin/twistd.rack: \
 
132
bin/maas-probe-dhcp bin/maas-rack bin/twistd.rack: \
131
133
    bin/buildout buildout.cfg versions.cfg setup.py
132
134
        $(buildout) install rack
133
135
        @touch --no-create $@
134
136
 
135
137
bin/test.rack: \
136
 
          bin/buildout buildout.cfg versions.cfg setup.py bin/maas-provision
 
138
          bin/buildout buildout.cfg versions.cfg setup.py bin/maas-rack
137
139
        $(buildout) install rack-test
138
140
        @touch --no-create $@
139
141
 
190
192
  bin/test.config
191
193
  bin/test.region
192
194
  bin/test.testing
193
 
        bin/test.js
194
 
        bin/test.e2e
 
195
  bin/test.js
 
196
  bin/test.e2e
195
197
endef
196
198
 
 
199
data: $(py_data)
 
200
 
 
201
src/maasserver/data/templates.py: utilities/create-python-templates $(templates)
 
202
        utilities/create-python-templates > $@
 
203
 
197
204
test: $(strip $(test-scripts))
198
205
        @$(RM) coverage.data
199
206
        @echo $^ | xargs --verbose -n1 env
215
222
        @$(error Use `$(MAKE) test+coverage` to generate coverage data, or invoke a \
216
223
            test script using the `--with-coverage` flag)
217
224
 
218
 
lint: lint-py lint-js lint-doc lint-rst
 
225
lint: lint-py lint-py-imports lint-js lint-doc lint-rst
219
226
 
220
227
pocketlint = $(call available,pocketlint,python-pocket-lint)
221
228
 
235
242
        @find $(sources) -name '*.py' \
236
243
          ! -path '*/migrations/*' ! -path '*/south_migrations/*' \
237
244
          ! -path 'src/provisioningserver/twisted/*' ! -path 'ez_setup.py' \
238
 
          -print0 \
 
245
          ! -path 'src/maasserver/data/*' -print0 \
239
246
            | xargs -r0 -n50 -P4 bin/flake8 --ignore=E123,E402,E731 \
240
247
            --config=/dev/null
241
248
 
 
249
# Statically check imports against policy.
 
250
lint-py-imports:
 
251
        @utilities/check-imports
 
252
 
242
253
lint-doc:
243
254
        @utilities/doc-lint
244
255
 
266
277
 
267
278
check: clean test
268
279
 
269
 
docs/api.rst: bin/maas-region-admin src/maasserver/api/doc_handler.py syncdb
270
 
        bin/maas-region-admin generate_api_doc > $@
 
280
docs/api.rst: bin/maas-region src/maasserver/api/doc_handler.py syncdb
 
281
        bin/maas-region generate_api_doc > $@
271
282
 
272
 
sampledata: bin/maas-region-admin bin/database syncdb
273
 
        $(dbrun) bin/maas-region-admin generate_sample_data
 
283
sampledata: bin/maas-region bin/database syncdb
 
284
        $(dbrun) bin/maas-region generate_sample_data
274
285
 
275
286
doc: bin/sphinx docs/api.rst
276
287
        bin/sphinx
309
320
        find . -type f -name dropin.cache -print0 | xargs -r0 $(RM)
310
321
        $(RM) -r media/demo/* media/development
311
322
        $(RM) $(js_enums) $(js_enums).tmp
 
323
        $(RM) src/maasserver/data/templates.py
312
324
        $(RM) *.log
313
325
        $(RM) docs/api.rst
314
326
        $(RM) -r docs/_autosummary docs/_build
345
357
distclean: clean
346
358
        $(warning 'distclean' is deprecated; use 'clean')
347
359
 
348
 
harness: bin/maas-region-admin bin/database
349
 
        $(dbrun) bin/maas-region-admin shell --settings=maas.demo
 
360
harness: bin/maas-region bin/database
 
361
        $(dbrun) bin/maas-region shell --settings=maas.demo
350
362
 
351
363
dbharness: bin/database
352
364
        bin/database --preserve shell
353
365
 
354
 
syncdb: bin/maas-region-admin bin/database
355
 
        $(dbrun) bin/maas-region-admin dbupgrade
 
366
syncdb: bin/maas-region bin/database
 
367
        $(dbrun) bin/maas-region dbupgrade
356
368
 
357
369
define phony_targets
358
370
  build
377
389
  lint-doc
378
390
  lint-js
379
391
  lint-py
 
392
  lint-py-imports
380
393
  lint-rst
381
394
  man
 
395
  print-%
382
396
  sampledata
383
397
  styles
384
398
  syncdb
481
495
 
482
496
services/reloader/@deps:
483
497
 
484
 
services/regiond/@deps: bin/maas-region-admin
 
498
services/regiond/@deps: bin/maas-region
485
499
 
486
 
services/regiond2/@deps: bin/maas-region-admin
 
500
services/regiond2/@deps: bin/maas-region
487
501
 
488
502
#
489
503
# Package building
563
577
source-package-clean:
564
578
        @$(RM) -v $(addprefix $(packaging-build-area)/,$(patterns))
565
579
 
 
580
# Debugging target. Allows printing of any variable.
 
581
# As an example, try:
 
582
#     make print-js_enums
 
583
print-%:
 
584
        @echo $* = $($*)
 
585
 
566
586
define phony_package_targets
567
587
  -packaging-export-orig
568
588
  -packaging-fetch