An initial build of the new Jucer is now checked-in for the perusal of any interested parties…
As mentioned elsewhere, this is very much “phase 1” of a long development process! It currently lets you create a project and save that project with projects for XCode, MSVC and Linux, and edit the source files in an extremely basic way. Component and UI editing will be added in “phase 2”.
Using it should be fairly self-explanatory (I hope!)… Let me know if there are aspects that are entirely confusing, and I’ll try to make them clearer.
It currently supports apps, command-line apps, and plugins as project types. There’s also a ‘library’ type, which is designed primarily to let me manage the juce lib itself as a jucer project, and I’ll be converting it to use that in due course. You’re unlikely to want to use that in your own projects.
Anyone who’s interested in the export formats should be able to find the code pretty easily - there are obviously-named classes for each of the target IDEs, and the code is quite concise - the hardest format is XCode, but even that’s only about 1000 lines of code. If anyone fancies adding new format classes for things like Code::blocks or VC6, feel free to have a go!
$ make
jucer_ComponentDocument.cpp
jucer_DrawableDocument.cpp
jucer_NewFileWizard.cpp
jucer_Project.cpp
jucer_ProjectExporter.cpp
jucer_ProjectWizard.cpp
jucer_ResourceFile.cpp
Drawable jucer_DrawableEditor.cpp
../../Source/ui/Drawable Editor/jucer_DrawableEditor.cpp:30:40: error: jucer_DrawableTreeViewItem.h: No such file or directory
../../Source/ui/Drawable Editor/jucer_DrawableEditor.cpp: In constructor ‘RightHandPanel::RightHandPanel(DrawableEditor&)’:
../../Source/ui/Drawable Editor/jucer_DrawableEditor.cpp:48: error: ‘DrawableTreeViewItem’ has not been declared
make: *** [build/intermediate/Debug/jucer_DrawableEditor.o] Error 1
That made me chuckle. It was actually a (very brief) problem for me being so fast; there is little confirmation that it’s saved, and being so fast, at first I didn’t really believe it did anything. It’s wicked fast; wicked clever; wicked good.
I could talk about how I am trying to find a short/mid-term solution for how to hook the new Jucer 3.x for project maintenance, together with the old Jucer 1.x for the U/I editing of the components in those files.
I can still use the two of them side-by-side, 3.x for multi-file project maintenance, and 1.x for editing each component, but it complains [color=#BF0000]Cannot open include file: ‘juce.h’[/color] when it gets to the Jucer 1 component header file.
The Jucer 3 project is set to [color=#008040]Include Source Juce Code Directly (Split across several files)[/color], so I would have thought it could find juce.h without any fiddling. I tried adding -I “…/…/…/juce” to the compiler options in Jucer 3, but that didn’t seem to do it, so eventually I broke down and changed the [color=#008040]#include [/color]to [color=#008040]“…/…/…/juce/juce.h”[/color] …
That seemed “legal” since it was inside a //[Headers] block that said “-- You can add your own extra header files here --”. That implied it was editable, even though it wasn’t one of my headers.