Skip to content

Commit

Permalink
Do not explicitly require modules from project directory (#713)
Browse files Browse the repository at this point in the history
* Allow to pass-through projectPath to Builder

* Do not explicitly require modules from project directory
  • Loading branch information
raphinesse committed Apr 13, 2019
1 parent b177f84 commit 4cf3dcf
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 8 deletions.
4 changes: 2 additions & 2 deletions bin/lib/create.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,8 @@ function writeProjectProperties (projectPath, target_api) {

// This makes no sense, what if you're building with a different build system?
function prepBuildFiles (projectPath) {
var buildModule = require(path.resolve(projectPath, 'cordova/lib/builders/builders'));
buildModule.getBuilder().prepBuildFiles();
var buildModule = require('../templates/cordova/lib/builders/builders');
buildModule.getBuilder(projectPath).prepBuildFiles();
}

function copyBuildRules (projectPath, isLegacy) {
Expand Down
6 changes: 2 additions & 4 deletions bin/templates/cordova/Api.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,7 @@ Api.createPlatform = function (destination, config, options, events) {
var result;
try {
result = require('../../lib/create').create(destination, config, options, events).then(function (destination) {
var PlatformApi = require(path.resolve(destination, 'cordova/Api'));
return new PlatformApi(PLATFORM, destination, events);
return new Api(PLATFORM, destination, events);
});
} catch (e) {
events.emit('error', 'createPlatform is not callable from the android project API.');
Expand Down Expand Up @@ -130,8 +129,7 @@ Api.updatePlatform = function (destination, options, events) {
var result;
try {
result = require('../../lib/create').update(destination, options, events).then(function (destination) {
var PlatformApi = require(path.resolve(destination, 'cordova/Api'));
return new PlatformApi('android', destination, events);
return new Api(PLATFORM, destination, events);
});
} catch (e) {
events.emit('error', 'updatePlatform is not callable from the android project API, you will need to do this manually.');
Expand Down
4 changes: 2 additions & 2 deletions bin/templates/cordova/lib/builders/builders.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ const CordovaError = require('cordova-common').CordovaError;
*
* @return {Builder} A builder instance for specified build type.
*/
module.exports.getBuilder = function () {
module.exports.getBuilder = function (projectPath) {
try {
const Builder = require('./ProjectBuilder');
return new Builder();
return new Builder(projectPath);
} catch (err) {
throw new CordovaError('Failed to instantiate ProjectBuilder builder: ' + err);
}
Expand Down

0 comments on commit 4cf3dcf

Please sign in to comment.