nexoscp / PlatformIOLion

Intellij IDEA/CLion Plugin to integrate PlatformIO
Apache License 2.0
8 stars 1 forks source link

merged commit #20

Closed sith closed 4 years ago

sith commented 4 years ago
  1. I added assertj framework to test UI components. It does not start the whole IDE but allows to test separate elements like windows panels, etc.
  2. JSON serialization takes significant amount of time, and in addition to that by some reason instantiation of JTable with all boards takes long time too. This is a concern. We can try to implement our own parser let's say parser of their own format, maybe it will be faster. Or enhance UI to show that boards are loading.
  3. I was iterating across multiple versions of UI. I stopped on this one. Every board has multiple possible frameworks so I inlined it in the table of available boards. The issue with that is PIO supports only one configuration per board id. So If client picks two frameworks for the same board, only one configuration actually will be added to final file.
  4. I added platformio.services.PlatformIOService that will allow us to encapsulate PIO command line interactions.

Please check the code when you have time and let me know what issue I should focus first. Major mistake I had is that it was too big change, I needed to communicate UI and agree on it first, then do next time.

I will ensure next changes will be smaller.

sith commented 4 years ago

Let me know your thought about assertj. It takes control over the mouse while tests are running, this is the downside.

nexoscp commented 4 years ago

GitHub action run into an old java problem: java.awt.HeadlessException for more on this, have a lokk at: https://www.oracle.com/technical-resources/articles/javase/headless.html Need to set a environment property.

nexoscp commented 4 years ago

More to read: https://github.com/joel-costigliola/assertj-swing/issues/90