Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build folder only based on sketch name + path #5107

Closed
tbowmo opened this issue Jul 7, 2016 · 7 comments
Closed

build folder only based on sketch name + path #5107

tbowmo opened this issue Jul 7, 2016 · 7 comments

Comments

@tbowmo
Copy link

tbowmo commented Jul 7, 2016

the build path is getting created in

https://github.com/arduino/Arduino/blob/master/arduino-core/src/processing/app/BaseNoGui.java#L132

And is based solely on the path and name of the sketch to compile. If we use arduino in a CI system, and want to do things in parallel for multiple archs, then they will collide with each other.

Can we have a bit more unique build path created? By adding timestamp for example in the string that get's md5ifized?

@facchinm
Copy link
Member

Hi @tbowmo,
the fixed path (obtained in the way you described) is useful to deterministically cache the build's intermediate results, speeding up the compile phase on the subsequent runs.

Adding an arch:board field to the md5ified string would be a good solution, while timestamping would make the folder non deterministic.
Would you mind opening a PR with the first solution? would it be ok for your usage?

@tbowmo
Copy link
Author

tbowmo commented Jul 13, 2016

Sounds reasonable.. was just easier for me to get timestamp, when doing initial experimenting. submitted PR #5130

@matthijskooijman
Copy link
Collaborator

IIRC I have some pending patches that remove the determinism again, since it's not strictly needed. I'll see if I can find it again and what the status is.

@tbowmo
Copy link
Author

tbowmo commented Jul 13, 2016

As long as we can have multiple builds on the same sketch running in parallel for multiple architectures, then it would be great..

@matthijskooijman
Copy link
Collaborator

Ah, found it. It's the "Randomize the the build path name" commit in #4263. That PR is scheduled to be merged soon after 1.6.10 is released, last I heard.

@matthijskooijman
Copy link
Collaborator

W00ps, linked the wrong PR, should have been #4363. Since that PR (in particular commit 59b70c8) is merged, build paths are now randomized. @tbowmo, could you verify that your usecase is indeed covered now, and if so close this issue? The latest release version (1.6.13) should include this change.

@tbowmo
Copy link
Author

tbowmo commented Nov 25, 2016

Verified to be ok..

@tbowmo tbowmo closed this as completed Nov 25, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants