Text files with nonstandard extensions in modules don't appear in correct IDE folders


#1

I have a module that has some third party code in it which includes some assembler with the extensions “.s” and “.asm”. When exporting this from the Projucer, all of the files with these extensions appear in the root directory of the IDE project instead of in their respective folders in the browser. The folders are still created, but are either empty if they contained only these files, or contain only files from the directory named .h/.cpp. As a result, these project files are kind of a mess with a bunch of unrelated files in the root directory.

Interestingly, .md files are fine (presumably because these were tested), and non-IDE files like .py or makefiles seem to be ignored (…why?). And then for some reason these other files get tossed in the project file’s root directory. I’m assuming this is incorrect behavior right?


#2

Hmmm not sure what you mean. I just tried the following and it worked as expected (latest develop branch):



#3

Thanks for looking into this!

Yeah, it works as expected when the file is actually a part of the Projucer project, but did you try it with the .s file being in a module’s code? That’s where I’m seeing the issue.


#4

I looked into this some more - weirdly, as far as I can find it only happens with .s/.asm files and all other extensions seem to be ignored as usual. It may happen with other file extensions, but I couldn’t find any - I tried several different lengths of different characters, and only .s and .asm seemed to produce this behavior.

Here is a completely reproducible test case:

  1. Create a file with the extension .s in some JUCE module folder - I arbitrarily picked /juce_core/logging/test.s.
  2. Export the project to Visual Studio 2015. This may happen with other IDEs, but I haven’t had the time to test.
  3. The file will incorrectly be placed in the solution browser’s root directory.

Screenshot:


#5

I’ve made a barebones project which demonstrates this bug. You should be able to just pull this repo, open the project in Projucer, export, and see it happen.

https://github.com/jonathonracz/juce_module_bug/tree/master

I spent a while trying to debug this, and I’m pretty sure something funny is going on inside the exporter’s ValueTree object. I’m sure someone who knows the guts of Projucer could better diagnose what might be happening.


#6

OK. This should be fixed on develop. You’ll need to re-build the Projucer. Thanks for reporting.


#7

Woohoo!!! I’ll check as soon as I get home from work today. Thanks Fabian!


#8

Just checked this out… are you sure you pushed this to the public develop branch? I did a clean rebuild of Projucer and the issue still occurs, and the only change to develop today was a one line AUv3 string change.


#9

Sorry we had internet issues here yesterday. It seems the commit didn’t go through. Should be there now/