diff --git a/lib/contracts/compiler.js b/lib/contracts/compiler.js index f682d214..0ee030f1 100644 --- a/lib/contracts/compiler.js +++ b/lib/contracts/compiler.js @@ -16,15 +16,16 @@ class Compiler { let pluginCompilers = self.plugins.getPluginsProperty('compilers', 'compilers'); pluginCompilers.forEach(function (compilerObject) { - if(available_compilers[compilerObject.extension] === undefined){ - available_compilers[compilerObject.extension] = compilerObject.cb; + if(available_compilers[compilerObject.extension] == undefined){ + available_compilers[compilerObject.extension] = []; } + available_compilers[compilerObject.extension].push(compilerObject.cb); }); let compiledObject = {}; async.eachObject(available_compilers, - function (extension, compiler, callback) { + function (extension, compilers, callback) { let matchingFiles = contractFiles.filter(function (file) { let fileMatch = file.filename.match(/\.[0-9a-z]+$/); if (fileMatch && (fileMatch[0] === extension)) { @@ -37,6 +38,9 @@ class Compiler { if (!matchingFiles || !matchingFiles.length) { return callback(); } + + let compiler = compilers[0]; + compiler.call(compiler, matchingFiles, function (err, compileResult) { Object.assign(compiledObject, compileResult); callback(err, compileResult);