UNPKG

940 BJavaScriptView Raw
1var fs = require('fs');
2var path = require('path');
3var glob = require("glob")
4var _ = require('lodash');
5var exists = require('is-there');
6
7module.exports = {
8 name: 'scala',
9 detect: function(dir) {
10 if (glob.sync('*.sbt', {cwd: dir}).length === 0) return true;
11 if (glob.sync('project/*.sbt', {cwd: dir}).length === 0) return true;
12 if (glob.sync('project/*.scala', {cwd: dir}).length === 0) return true;
13 },
14 getDockerfile: function(dir) {
15 var templatePath = path.resolve(__dirname, 'Dockerfile.t');
16 var template = fs.readFileSync(templatePath, { encoding: 'utf8' });
17 var compiled = _.template(template);
18 var appName = getAppName(dir);
19 return compiled({
20 app_name: appName
21 });
22 }
23};
24
25function getAppName(dir) {
26 var f = null
27 fs.readdirSync(path.join(dir, 'target/universal/stage/bin/')).forEach(function(file) {
28 if (path.extname(file) == '') {
29 f = file;
30 }
31 });
32 return f;
33}