1 | var fs = require('fs');
|
2 | var path = require('path');
|
3 | var glob = require("glob")
|
4 | var _ = require('lodash');
|
5 | var exists = require('is-there');
|
6 |
|
7 | module.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 |
|
25 | function 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 | }
|