diff --git a/tools/catalog.js b/tools/catalog.js index c929332dfe..0fc7737db9 100644 --- a/tools/catalog.js +++ b/tools/catalog.js @@ -578,7 +578,7 @@ _.extend(Catalog.prototype, { // Delete any that are source packages with builds. var count = 0; _.each(self.effectiveLocalPackages, function (loadPath, name) { - var buildDir = path.join(loadPath, '.build'); + var buildDir = path.join(loadPath, '.build.'+name); files.rm_recursive(buildDir); }); diff --git a/tools/compiler.js b/tools/compiler.js index 6fda52f7bf..f678ee867c 100644 --- a/tools/compiler.js +++ b/tools/compiler.js @@ -718,6 +718,7 @@ compiler.compile = function (packageSource, options) { version: packageSource.version, earliestCompatibleVersion: packageSource.earliestCompatibleVersion, defaultBuilds: packageSource.defaultArches, + isTest: packageSource.isTest, plugins: plugins, pluginWatchSet: pluginWatchSet, buildTimeDirectDependencies: buildTimeDeps.directDependencies, diff --git a/tools/unipackage.js b/tools/unipackage.js index 41f94f8803..e60c1970d2 100644 --- a/tools/unipackage.js +++ b/tools/unipackage.js @@ -142,7 +142,7 @@ _.extend(Build.prototype, { _.each(depBuild.packageVariables, function (symbol) { // Slightly hacky implementation of test-only exports. if (symbol.export === true || - (symbol.export === "tests" && self.buildName === "tests")) + (symbol.export === "tests" && self.pkg.isTest)) imports[symbol.name] = depBuild.pkg.name; }); }); @@ -208,6 +208,7 @@ var Unipackage = function () { self.version = null; self.earliestCompatibleVersion = null; self.defaultBuilds = {}; + self.isTest = false; // Builds, an array of class Build. self.builds = []; @@ -274,6 +275,7 @@ _.extend(Unipackage.prototype, { self.version = options.version; self.earliestCompatibleVersion = options.earliestCompatibleVersion; self.defaultBuilds = options.defaultBuilds; + self.isTest = options.isTest; self.plugins = options.plugins; self.pluginWatchSet = options.pluginWatchSet; self.buildTimeDirectDependencies = options.buildTimeDirectDependencies; @@ -491,6 +493,7 @@ _.extend(Unipackage.prototype, { }; self.version = mainJson.version; self.earliestCompatibleVersion = mainJson.earliestCompatibleVersion; + self.isTest = mainJson.isTest; } // If multiple sub-unipackages specify defaultBuilds or testBuilds for the // same arch, just take the answer from the first sub-unipackage. @@ -632,6 +635,7 @@ _.extend(Unipackage.prototype, { internal: self.metadata.internal, version: self.version, earliestCompatibleVersion: self.earliestCompatibleVersion, + isTest: self.isTest, builds: [], defaultBuilds: self.defaultBuilds, plugins: []