Skip to content
This repository has been archived by the owner on Jul 15, 2023. It is now read-only.

if buildOnSave is on: build using -i #718

Merged
merged 2 commits into from
Jan 19, 2017

Conversation

mattetti
Copy link
Contributor

@mattetti mattetti commented Jan 11, 2017

This PR addresses the compilation performance optimization discussed in #673.

Installing the built packages improves following compilations since packages are only rebuilt if they changed.
If the current package is a main package, the installation is skipped to avoid installing executable binaries.

I had to tweak a util method that was scanning text files to find the package and the imports. Unfortunately this util wasn't tracking the name of the package. I needed the package name to check if the -i flag should be used or not.

@mattetti
Copy link
Contributor Author

@ramya-rao-a would you mind helping me understand what's wrong with the test suite? I seem to have broken something on macOS. The failures don't make too much sense to me :(

@ramya-rao-a
Copy link
Contributor

@mattetti The 2 tests are failing because they are not getting back expected errors from go build.
You are reading the file using fs.readFile and calling the runTool in the callback. By the time the callback is called, the test has already completed, and so does not get the results of go build.

Here is what you can try:

let buildPromise = new Promise<ICheckResult[]>((resolve, reject) => {
    fs.readFile(filename. 'utf8', (err, data) => {
        .....
        runTool(....).then(result => return resolve(result), err => return reject(err));
    }
});
runningToolsPromises.push(buildPromise);

@mattetti
Copy link
Contributor Author

perfect thank you! I'll give it a try

@mattetti
Copy link
Contributor Author

@ramya-rao-a PR updated, tests are now passing, thanks for your help!

Note, this PR is pending the resolution of the discussion happening there: #673

…ild-i

* 'master' of github.com:Microsoft/vscode-go:
  Moved debugging doc to a separate wiki
  Make a copy of process.env when setting VSCODE_GOTOOLS
  Debugger cannot read settings
  Improve error handling of test coverage (microsoft#721)
  Use proper plurality in output (microsoft#720)
  Fixes microsoft#303 Dont run test if current file is  not test file
  Added a note on how to debug single tests
  Allow Go tools to be installed in a separate GOPATH (microsoft#351)
  Fix typo in README.md (microsoft#715)
  Honor the 'cwd' launch configuration argument (microsoft#714)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants