Last year you have solved issue SONARCOBOL-1600, allowing sub-directories in COPY statements.
This was a major improvement for us.
There is one left-over however:
When two copymembers with the same base-name but in different directories are present,
there is an incorrect waning about duplicate copymembers in the parser logging.
I will try to explain when I think the warning would be correct, and when it is wrong:
Suppose you have a COPYPATH like: ‘/dir1:/dir2’
then 2 copyfiles like ‘/dir1/C/subdir1/file1’ and ‘/dir2/C/subdir1/file1’ would be duplicate.
But files ‘/dir1/C/subdir1/file1’ and ‘/dir1/C/subdir2/file1’ are not duplicate.
For checking the ‘duplicity’ you should check if the part of the name that is mentioned in the source is present in more than one directory in the copypath. If it is not, the copymember is not a duplicate.
Another way of saying the same thing: When a program uses 2 copymembers, and leaving out any one of the copymembers causes the program to not compile anymore, the copymembers cannot be duplicate.
We use the a number of subdirectories to store the various parts of a program that are associated with the I/O of a file. For example, when we have a file ‘ORDER’, we have a ‘C/SELECT/ORDER’ , a ‘C/FD/ORDER’, a ‘C/IO/ORDER’ etc.
With over 900 files in our application you can imagine that this causes a huge amount of logging which is incorrect to begin with.
We would be very pleased if this logging can be fixed.
In case you disagree with the statement that the logging is incorrect it would help us a lot if the logging could be suppressed through configuration.