|
1 | | -var detect = require('strider-detection-rules') |
2 | | -var fs = require('fs') |
3 | | -var path = require('path') |
| 1 | +'use strict'; |
| 2 | + |
| 3 | +var fs = require('fs'); |
| 4 | +var path = require('path'); |
4 | 5 |
|
5 | 6 | function shellCommand(command) { |
6 | | - if (!command || !command.replace(/#[^\n]*/g, '').trim().length) return |
| 7 | + if (!command || !command.replace(/#[^\n]*/g, '').trim().length) { |
| 8 | + return; |
| 9 | + } |
| 10 | + |
7 | 11 | return { |
8 | 12 | command: 'sh', |
9 | 13 | args: ['-x', '-c', command] |
10 | | - } |
| 14 | + }; |
11 | 15 | } |
12 | 16 |
|
13 | 17 | module.exports = { |
14 | 18 | init: function (config, job, context, done) { |
15 | | - var venvDir = path.join(context.baseDir, '.venv') |
16 | | - var test = undefined |
| 19 | + var venvDir = path.join(context.baseDir, '.venv'); |
| 20 | + var test; |
| 21 | + |
17 | 22 | if (config && config.test !== 'none') { |
18 | 23 | test = config.test |
19 | 24 | } |
| 25 | + |
20 | 26 | var defaultPrepare = function (context, done) { |
21 | 27 | if (!fs.existsSync(path.join(context.dataDir, 'requirements.txt'))) { |
22 | 28 | // skip if default and no requirements.txt exists |
23 | 29 | // we assume that if you're configuring your own, you'll ensure the file exists |
24 | | - return done(null, true) |
| 30 | + return done(null, true); |
25 | 31 | } |
26 | | - context.cmd("pip install -r requirements.txt", function (err) { |
27 | | - done(err, true) |
28 | | - }) |
| 32 | + |
| 33 | + context.cmd('pip install -r requirements.txt', function (err) { |
| 34 | + done(err, true); |
| 35 | + }); |
29 | 36 | } |
30 | | - var prepare = defaultPrepare |
| 37 | + |
| 38 | + var prepare = defaultPrepare; |
| 39 | + |
31 | 40 | if (config && config.prepare) { |
32 | | - prepare = shellCommand(config.prepare) |
| 41 | + prepare = shellCommand(config.prepare); |
33 | 42 | } |
| 43 | + |
34 | 44 | done(null, { |
35 | 45 | path: [path.join(venvDir, 'bin')], |
36 | 46 | environment: 'virtualenv ' + venvDir, |
37 | 47 | prepare: prepare, |
38 | 48 | test: test |
39 | | - }) |
| 49 | + }); |
40 | 50 | }, |
41 | 51 | autodetect: { |
42 | 52 | filename: 'requirements.txt', |
43 | 53 | exists: true, |
44 | 54 | language: 'python', |
45 | 55 | framework: null |
46 | 56 | } |
47 | | -} |
| 57 | +}; |
0 commit comments