The shoutbox is currently out of service. Join us on Discord instead.

TI-Planet's "Project Builder" with online CE C Compiler

Started by Adriweb, March 19, 2016, 05:04:02 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Lionel Debroux

QuoteDoes the project builder support non-ez80 / non-ti targets too? just wondering.

Nope, it does not at the moment. However, modularity was one of the strong design goals, so that support for multiple targets - not just multiple toolchains for a given target, which is already in production for the TI-eZ80 native code module - can be added at some point.

QuoteAlso, an idea might be integration to some kind of versioning like overleaf does. (You can edit LaTeX and host the project on github.)

Indeed. In fact, this particular item is already part of the wish list, alongside project import :)
The ability to export projects out of the PB infrastructure allows users to perform manual commits into whichever (D)SCM they see fit, but it's obviously more cumbersome than a direct integration into e.g. Github.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

AmazoNKA

I hope this project will start supporting prizm soon. It Will be nice to have everything compiled online and fix vram issues for new fx-cg50 as well as allow to use two sets of icons one for old black backgrounds and another for white new one - it will attract more developers too. Thanks for working on this project

Adriweb

Changes since last time: (see my previous post)

New:
  • Automatic autocompletion popup (debounced)
  • Ctrl-Click (or Cmd-Click on mac) on toolchain functions/defines etc. will open up the corresponding documentation line on GitHub
  • Trailing whitespaces are now trimmed on save
  • clang-provided warnings (as well as errors and diagnostics) are now shown inline, updated on each save and file switching
    Other sources of warnings (ZDS, cppcheck) are still displayed, and have their name on the right.

  • Code re-indent feature available at the click of a button at the top-right of the editor


Improved:
  • More optimal sorting of the autocompletion items
  • Finer file permissions in the backend
  • Better security checks on #include statements
  • Stricter clang warning flags when using llvm-eZ80
  • The backend toolchain is now just the same as on github with a (very) small patch to apply
  • The backend code got improved/refactored for several things, like error handling, permissions checking, action processing, DB usage (now generic)...


Fixed:
  • Ctrl-Hover (or Cmd-Hover on mac) improvements on compatibility and performance
  • Some eZ80 ASM ctags were not correct
  • The clang build output was not complete ; everything is now shown correctly.
  • Forking a project was not working if done on a project that didn't have saved files yet (ie: just created), and had incorrect error handling.
  • Re-sharing in RW a project that was shared then unshared at some point would result in having an old version of the files.
  • The Ctrl/Cmd-Hover popup was not destroyed when its word would get edited
  • Random typos got fixed


My thanks to:
- Lionel Debroux who's started code-reviewing and suggested quite a few interesting things, mostly aimed towards a more reusable/portable PB. Everything isn't done yet, but we're getting there!
- Runer112 too in particular, for feedback, testing, sorting ideas+code
- Everyone else who's tried/used the PB and provided feedback :)


(post via https://tiplanet.org/forum/viewtopic.php?f=41&t=18118&p=219792#p219792)
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Among the numerous improvements from today:

  • Improved auto-completion rendering, now with types, signatures...
  • Better log output in the build console
  • The CEmu sidebar is now toggled properly if need be, when testing a program
  • Cache-busting URLs for several CSS and JS resources
  • Lots of cleanup/refactor in the backend
  • Some work by Lionel to make the PB easily installable locally (not committed yet)




Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Latest updates:
  • Improved fuzzy-match search rendering
  • Locals are now displayed correctly in the autocompletion list
  • Bugfix for conflicting type names / bootstrap label
  • CodeMirror updated
  • WebCEmu arrows display improved
  • WebCEmu is now multithreaded and, as such, runs at full-speed (this requires a very recent stable/beta browser version: Chrome 60 / Opera 47, Firefox 55, Safari 10.1, Edge 16)




Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Some of the latest updates:
  • The hardcoded requirement to have a 'main.c' file is now gone. You just need to have at least one (any) file in a project
  • You can now import source code files via drag'n'drop on the editor
  • Fix-its, when available, are displayed and applicable by clicking on the flash icon on the right of warnings
  • Even more safe file switching (you can't click on stuff when it's loading the content)
  • WebCEmu build improved (latest emscripten SDK, behind the scenes improvements)
  • AJAX activity indicator (when loading, saving, etc.)
  • Some misc. cleanup and bugfixes






Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

The few updates since last time:
  • Refactor some code related to linewidgets handling (inline messages)
  • Build actions now have an XHR timeout of 60 seconds instead of 10 like other actions
  • Code re-indenting is now also supported for ASM (credits and thanks to Runer112 who wrote the code)
Co-founder & co-administrator of TI-Planet and Inspired-Lua

DJ Omnimaga

That's a lot.of updates @Adriweb O.O . I didn't know there would be so many during Summer months. Good job so far

Adriweb

There hasn't been many updates since last time (about a month ago, yep...), but :

  • Runer112 improved the ASM re-indenter, it's now quite smart about keeping comments aligned etc.). Thanks!
  • The blue "Settings" button now opens a modal window with a few parameters you can adjust to your liking:
    • Output format (program/appvar)
    • Location (RAM/Archive)
    • Optimization settings
    • Custom clang parameters


Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Between yesterday and today, I spent about a dozer hours on making the backend architecture of modules more generic, splitting in several layers what's specific and what's generic for the server-side processing things. I've also completed the DBHelper SQLite backend implementation (untested though!), if people are interested in it someday.

Anyway, it's becoming easier and easier to handle/add several modules in the Project Builder (even though I could still generify some more layers in the front-end, for instance a "front-end for a module using CodeMirror").

An overview of the general architecture according to PHPStorm, not showing fields/methods/etc. (we don't see what uses what, too bad :P):



(via https://tiplanet.org/forum/viewtopic.php?f=41&t=18118&p=223628#p223628)
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

I finally did the rebase (well, I wrote a script to do it...) from the private repo to public repo, since early July.
There are only 2 files left not yet published, basically :)
Here are the 102 commits pushed: https://git.io/vF9hb

(And thanks to those who contributed to some of those commits, directly or indirectly, especially Mateo, Jacobly, Runer112, Lionel.)
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

Since this has been requested recently, I added a .webm screen-recording feature, so that you can now video-capture in addition to png-image capture :)



You can post such webm on some forums, or host it on gfycat for instance (which provides gif conversion etc.)...
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Powered by EzPortal