1+ var detect = require ( 'strider-detection-rules' )
12var path = require ( 'path' )
23
34// We include a copy of the virtualenv script
@@ -8,30 +9,40 @@ var VIRTUAL_ENV_DIR = "venv"
89var VIRTUAL_ENV_CMD = "python " + VIRTUAL_ENV_PY + " " + VIRTUAL_ENV_DIR
910var VIRTUAL_PYTHON = path . join ( VIRTUAL_ENV_DIR , "bin" , "python" )
1011var VIRTUAL_PIP = path . join ( VIRTUAL_ENV_DIR , "bin" , "pip" )
12+ var CREATE_VIRTUAL_ENV = VIRTUAL_ENV_CMD + " && " + VIRTUAL_PIP + " install -r requirements.txt"
13+
14+ var RULES = [ {
15+ filename :"manage.py" ,
16+ grep :/ d j a n g o / i,
17+ language :"python" ,
18+ framework :"django" ,
19+ prepare :CREATE_VIRTUAL_ENV ,
20+ test :VIRTUAL_PYTHON + " manage.py test" ,
21+ } , {
22+ filename :"setup.py" ,
23+ exists :true ,
24+ language :"python" ,
25+ framework :null ,
26+ prepare :CREATE_VIRTUAL_ENV ,
27+ test :VIRTUAL_PYTHON + " setup.py test" ,
28+ } ]
29+
1130
1231module . exports = function ( ctx , cb ) {
1332
14- var CREATE_VIRTUAL_ENV = VIRTUAL_ENV_CMD + " && " + VIRTUAL_PIP + " install -r requirements.txt"
33+ function doTest ( ctx , cb ) {
34+ detect ( RULES , "test" , ctx , cb )
35+ }
1536
16- ctx . addDetectionRule ( {
17- filename :"manage.py" ,
18- grep :/ d j a n g o / i,
19- language :"python" ,
20- framework :"django" ,
21- prepare :CREATE_VIRTUAL_ENV ,
22- test :VIRTUAL_PYTHON + " manage.py test" ,
23- } )
37+ function doPrepare ( ctx , cb ) {
38+ detect ( RULES , "prepare" , ctx , cb )
39+ }
2440
25- ctx . addDetectionRule ( {
26- filename :"setup.py" ,
27- exists :true ,
28- language :"python" ,
29- framework :null ,
30- prepare :CREATE_VIRTUAL_ENV ,
31- test :VIRTUAL_PYTHON + " setup.py test" ,
41+ ctx . addBuildHook ( {
42+ test : doTest ,
43+ prepare : doPrepare ,
3244 } )
3345
34-
3546 console . log ( "strider-python extension loaded" )
3647 cb ( null , null )
3748
0 commit comments