Build Warnings


#1

I'm getting a lot of this doing command-line builds. I don't think I've done anything unusual...


2014-12-16 12:13:54.836 xcodebuild[13431:1007] warning:  The file reference for "../../corelib/jcf_gui/resources/binary_resources.cpp" is a member of multiple groups ("resources" and "Juce Library Code"); this indicates a malformed project.  Only the membership in one of the groups will be preserved (but membership in targets will be unaffected).  If you want a reference to the same file in more than one group, please add another reference to the same path.
2014-12-16 12:13:54.837 xcodebuild[13431:1007] warning:  The file reference for "../../corelib/juce/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp" is a member of multiple groups ("AAX" and "Juce Library Code"); this indicates a malformed project.  Only the membership in one of the groups will be preserved (but membership in targets will be unaffected).  If you want a reference to the same file in more than one group, please add another reference to the same path.
2014-12-16 12:13:54.837 xcodebuild[13431:1007] warning:  The file reference for "../../corelib/juce/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.mm" is a member of multiple groups ("AAX" and "Juce Library Code"); this indicates a malformed project.  Only the membership in one of the groups will be preserved (but membership in targets will be unaffected).  If you want a reference to the same file in more than one group, please add another reference to the same path.
2014-12-16 12:13:54.837 xcodebuild[13431:1007] warning:  The file reference for "../../corelib/juce/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm" is a member of multiple groups ("AU" and "Juce Library Code"); this indicates a malformed project.  Only the membership in one of the groups will be preserved (but membership in targets will be unaffected).  If you want a reference to the same file in more than one group, please add another reference to the same path.
2014-12-16 12:13:54.838 xcodebuild[13431:1007] warning:  The file reference for "../../corelib/juce/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp" is a member of multiple groups ("utility" and "Juce Library Code"); this indicates a malformed project.  Only the membership in one of the groups will be preserved (but membership in targets will be unaffected).  If you want a reference to the same file in more than one group, please add another reference to the same path.
2014-12-16 12:13:54.838 xcodebuild[13431:1007] warning:  The file reference for "../../corelib/juce/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp" is a member of multiple groups ("RTAS" and "Juce Library Code"); this indicates a malformed project.  Only the membership in one of the groups will be preserved (but membership in targets will be unaffected).  If you want a reference to the same file in more than one group, please add another reference to the same path.
2014-12-16 12:13:54.838 xcodebuild[13431:1007] warning:  The file reference for "../../corelib/juce/modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp" is a member of multiple groups ("RTAS" and "Juce Library Code"); this indicates a malformed project.  Only the membership in one of the groups will be preserved (but membership in targets will be unaffected).  If you want a reference to the same file in more than one group, please add another reference to the same path.
 


#2

Hmm, haven't seen that myself. It's a strange warning too, and is only the build system, not the compiler. Not sure what would be the right thing to do to avoid it..


#3

I'll dig. I think files are appearing in two groups  it's visible in the GUI, but not sure what's causing it. 


#4

I’ve started using xcodebuild and I’m getting these warnings. @bazrush - did you find a fix?


#5

No, it continues to annoy me every time … but not quite enough to find the fix.


#6

It’s probably just that Xcode would never produce a project file quite like that so is warning that it might be damaged. I’ll have a further dig but it sounds like you’ve had a good look. Presumably Xcode isn’t using xcodebuild. Otherwise we could figure out what flag it’s using to suppress the warning…


#7

Any new ideas about those warnings? They have annoyed us for a long time too, producing ugly log files from every continuous integration build of projects using JUCE on Mac.


#8

In my Xcode projects I have changed all the entries that represent juce module folders (for example “juce_gui_basics”, “juce_gui_core”) from being groups (yellow folder icon) to folder references (blue folder icon). See image below:

In my opinion that is better suited for the role of those entries.
They serve only as a reference of the inner source code of JUCE, but they don’t have to be actually built, and that is quite easy to do, by setting the whole folder reference not to be built (red arrow).

What needs to be built are only the actual module files, which are present in the Xcode project on the same level (green arrow), but nothing changes for them.

I don’t know if this can be of any help for the issue described in this thread.
I have never seen those warnings nor I am using xcodebuild on the command line, but the error complains about multiple groups so, well…, replacing one of the groups with a folder reference may do the trick


#9

As far as I can tell this does indeed fix the warning, however if there are any files that you would not want to appear within the folder structure in Xcode then I think this would be harder to achieve, also the order of files and folders is always alphabetical i.e. I don’t think you can have files appear after folders like is done by default when opening a project using the Projucer. However these points seem a small price to pay for removing these annoying warnings for builds triggered using xcodebuild.


#10

Well, the fact with folder references is that they are exactly what the word says: they reference a folder, and you get to see everything that is contained underneath.

Based on my (limited) understanding of how Projucer generates its Xcode projects, I guessed that those folders where there just for reference, so having all their content automatically listed inside (even in case it changes) is a desired feature in my opinion.

Perhaps @jules or @fabian may have a look at this? I expect that replacing groups with folder references for module folders actually makes the Projucer code simpler, because you only have to add one entry per each module, and not for each file contained inside.


#11

is there an update on this? Also having these warnings and they are cluttering the CI build log…


#12

I’ve fixed this on the develop branch - JUCE modules are now folder references.


#13

Unfortunately I’ve had to revert this change. It’s something we’ll keep looking at though.


#14

Can you elaborate more on the reason for this revert?


#15

The change broke older AU and RTAS plug-in formats which rely upon resource files. These live in the JUCE modules and were not being added to the project correctly. This is by no means a showstopper, but it’s best to put JUCE back into a fully working state until we get around to this.


#16

I’ve just changed JUCE modules into folder references again.