Skip to content

One click compile all known boards #2031

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

Closed
wants to merge 7 commits into from

Conversation

WesGilster
Copy link

Changes to compiler and boards.txt file to enable a single click compile. This is helpful for tool builders that need to distribute a simple program as a part of a larger distribution that supports the full range of Arduino devices.

@matthijskooijman
Copy link
Collaborator

Your code looks fairly ok to me. I left some comments in the individual commits.

However, I'm wondering if adding "build for all boards" support makes sense in the IDE itself? It sounds like a bit of a special case, though I guess it helps for library authors to compile-test their libraries? I originally thought that you intended to actually distribute the compiled .hex file, but I see now that that is not the case.

In any case, you should probably bring this up on the developers mailing list as well, to see if there is more interest in this feature.

@WesGilster
Copy link
Author

Posted on the mailing list to get a feel on the interest level. Menu entry is cleaner from an implementation standpoint, just a little less functional since it has to be kicked off from the menu instead of the toolbar. Really though, I don't care, I just need the function.

@WesGilster
Copy link
Author

I've posted twice on the developer's mailing list and nothing has come
through. I'm probably just stupid, but any idea what's going on?

Thanks,
Wes G.
On 4/24/2014 2:35 AM, Matthijs Kooijman wrote:

Your code looks fairly ok to me. I left some comments in the
individual commits.

However, I'm wondering if adding "build for all boards" support makes
sense in the IDE itself? It sounds like a bit of a special case,
though I guess it helps for library authors to compile-test their
libraries? I originally thought that you intended to actually
distribute the compiled .hex file, but I see now that that is not the
case.

In any case, you should probably bring this up on the developers
mailing list as well, to see if there is more interest in this feature.


Reply to this email directly or view it on GitHub
#2031 (comment).

@cmaglie
Copy link
Member

cmaglie commented Apr 26, 2014

Hi @WesGilster
The list is moderated on the first-post, it may takes some time to accept the first message, it depends on my availability since I'm the only administrator (for now).
BTW I've confirmed your post just now, it should be published in a minute.

@ArduinoBot
Copy link
Contributor

Can I build this pull request?

@WesGilster
Copy link
Author

Of course. Let me know how it works for you.

Thanks,
Wes G.
On 8/22/2014 6:51 AM, ArduinoBot wrote:

Can I build this pull request?


Reply to this email directly or view it on GitHub
#2031 (comment).

@ffissore
Copy link
Contributor

@WesGilster sorry for the automated comment from arduinobot. We are setting up automated build of all PRs, so that we can provide a downloadable version of the patched IDE

@WesGilster
Copy link
Author

I was wondering why someone would ask... :)

Thanks,
Wes G.
On 8/22/2014 7:39 AM, Federico Fissore wrote:

@WesGilster https://github.com/WesGilster sorry for the automated
comment from arduinobot, we are setting up automated build of all PRs,
so that we can provide a downloadable version of the patched IDE


Reply to this email directly or view it on GitHub
#2031 (comment).

@ArduinoBot
Copy link
Contributor

Can one of the admins verify this patch?

@cmaglie cmaglie added feature request A request to make an enhancement (not a bug fix) Component: IDE user interface The Arduino IDE's user interface labels Apr 15, 2015
@ffissore ffissore self-assigned this May 12, 2015
@ffissore
Copy link
Contributor

Sorry for the late reply. If I got it right, this PR aims at easing integration with other tools, right? If so, does using the CLI suffice?

An additional "build all" board will make life harder to both students and teachers teaching Arduino. Proof is the confusion created to studends with osx, puzzled by the two ports listed under ports, one tty and one cu. We ended up filtering out one: see #2626 and a8b29d4

@ffissore ffissore added the Waiting for feedback More information must be provided before we can proceed label May 19, 2015
@ffissore
Copy link
Contributor

@WesGilster
Copy link
Author

I don't really see how it complicates things given that everyone pretty
much understands that you build for whatever board that is selected.
Even if your dead set against the feature, you can always build and
deploy the Arduino IDE binaries without the "build all board" entry in
the boards.txt. Then all menu options look identical as they were before
my patch and only those that want the feature can modify the boards.txt
file manually to get it back.

To answer your other question, it does look like the CLI would work with
a looping shell/batch script. On the other hand, if I went that
direction, I'd probably just wrap the makefile script from within
Eclipse and use that tool chain exclusively. It's pretty painful keeping
projects in sync between the two IDEs anyway and the "build all" menu
option was the only real efficiency that the Arduino IDE had over
Eclipse(for me that is).

I haven't heard much interest on the "build all" topic; so, honestly I
don't think you'd be affecting tons of people if you nixed it. It seems
there aren't many developers looking to build their code for multiple
boards, which I found kindof curious.

Thanks,
Wes G.
On 5/19/2015 8:18 AM, Federico Fissore wrote:

Sorry for the late reply. If I got it right, this PR aims at easing
integration with other tools, right? If so, does using the CLI suffice?

An additional "build all" board will make life harder to both students
and teachers teaching Arduino. Proof is the confusion created to
studends with osx, puzzled by the two ports listed under ports, one
tty and one cu. We ended up filtering out one: see #2626
#2626 and a8b29d4
a8b29d4


Reply to this email directly or view it on GitHub
#2031 (comment).

@ffissore
Copy link
Contributor

Sorry, I just don't think this feature fits into the IDE. By using the CLI you can get the same result and also finer control over which boards are actually selected as targets.

@ffissore ffissore closed this May 26, 2015
@ffissore ffissore added this to the Release 1.6.5 milestone May 26, 2015
@matthijskooijman
Copy link
Collaborator

@WesGilster, not sure if you saw this one already, but since my last message I've written arduino-mass-builder, a python script that can build a sketch for a large number of boards using the IDE commandline interface. The primary goal of that script was to compare different builds and test code, but it might be useful for you too.

@WesGilster
Copy link
Author

Well yeah, that's pretty much perfect guys. That makes moving to Eclipse
a little more difficult... The C++ code for my project has pretty much
stabilized so I might not be able to test this for a few months, but it
looks pretty good. It even looks like it'll keep each of the built hex
files as well.

Thanks,
Wes G.
On 5/29/2015 3:38 AM, Matthijs Kooijman wrote:

@WesGilster https://github.com/WesGilster, not sure if you saw this
one already, but since my last message I've written
arduino-mass-builder
https://github.com/matthijskooijman/arduino-mass-builder, a python
script that can build a sketch for a large number of boards using the
IDE commandline interface. The primary goal of that script was to
compare different builds and test code, but it might be useful for you
too.


Reply to this email directly or view it on GitHub
#2031 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: IDE user interface The Arduino IDE's user interface feature request A request to make an enhancement (not a bug fix) Waiting for feedback More information must be provided before we can proceed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants