equal
deleted
inserted
replaced
82 # contains at least one @publishedAll element - must be "Public by tag" |
82 # contains at least one @publishedAll element - must be "Public by tag" |
83 return "Public by tag"; |
83 return "Public by tag"; |
84 } |
84 } |
85 } |
85 } |
86 |
86 |
87 my %location_by_filename; |
|
88 my %precedent; |
|
89 |
|
90 # Read list of Symbian^1 files |
|
91 my $line; |
|
92 while ($line = <>) |
|
93 { |
|
94 chomp $line; |
|
95 $line =~ s/\\/\//g; # Unix separators please |
|
96 if ($line =~ /(epoc32\/include\/(.*\/)?([^\/]+))\s*$/) |
|
97 { |
|
98 my $fullname = $1; |
|
99 my $filename = $3; |
|
100 |
|
101 $precedent{lc $fullname} = $fullname; |
|
102 } |
|
103 } |
|
104 |
|
105 # Process epoc32\include tree |
87 # Process epoc32\include tree |
106 |
88 |
107 my %rationale; |
89 my %rationale; |
108 my %origin; |
|
109 my %ignoring_case; |
90 my %ignoring_case; |
110 |
91 |
111 sub scan_directory($$) |
92 sub scan_directory($$) |
112 { |
93 { |
113 my ($path, $name) = @_; |
94 my ($path, $name) = @_; |
125 { |
106 { |
126 scan_directory($newpath, $newname); |
107 scan_directory($newpath, $newname); |
127 next; |
108 next; |
128 } |
109 } |
129 |
110 |
130 $origin{$newname} = "Symbian^2"; |
|
131 $ignoring_case{lc $newname} = $newname; |
111 $ignoring_case{lc $newname} = $newname; |
132 |
112 |
133 my @includefiles = (); |
113 my @includefiles = (); |
134 my $reason = analyse_api($newpath,$newname, \@includefiles); |
114 my $reason = analyse_api($newpath,$newname, \@includefiles); |
135 |
115 |
136 if (defined $precedent{lc $newname}) |
|
137 { |
|
138 $origin{$newname} = "Symbian^1"; # present in Symbian^1 list of Public apis |
|
139 if ($reason !~ /Public/) |
|
140 { |
|
141 $reason = "Public by precedent"; # was made public in Symbian^1 |
|
142 } |
|
143 } |
|
144 $rationale{$newname} = $reason; |
116 $rationale{$newname} = $reason; |
145 |
117 |
146 if ($reason =~ /Public/) |
118 if ($reason =~ /Public/) |
147 { |
119 { |
148 push @public_included, @includefiles; # #included files are therefore also public |
120 push @public_included, @includefiles; # #included files are therefore also public |
160 my $newname = "epoc32/include/$file"; |
132 my $newname = "epoc32/include/$file"; |
161 $newname = $ignoring_case{lc $newname}; |
133 $newname = $ignoring_case{lc $newname}; |
162 $rationale{$newname} = "Public by Inclusion"; |
134 $rationale{$newname} = "Public by Inclusion"; |
163 } |
135 } |
164 |
136 |
165 # Look for Symbian^1 files which have moved or simply been deleted |
137 print "Filename\tClassification\tReason\n"; |
166 |
|
167 foreach my $file (values %precedent) |
|
168 { |
|
169 if (!defined $origin{$file}) |
|
170 { |
|
171 $rationale{$file} = "Deleted"; |
|
172 $origin{$file} = "Symbian^1"; |
|
173 } |
|
174 } |
|
175 |
|
176 print "Filename\tClassification\tReason\tOrigin\n"; |
|
177 foreach my $file (sort keys %rationale) |
138 foreach my $file (sort keys %rationale) |
178 { |
139 { |
179 my $reason = $rationale{$file}; |
140 my $reason = $rationale{$file}; |
180 my $classification = "Platform"; |
141 my $classification = "Platform"; |
181 $classification = "Public" if ($reason =~ /Public/); |
142 $classification = "Public" if ($reason =~ /Public/); |
182 print "$file\t$classification\t$reason\t$origin{$file}\n"; |
143 print "$file\t$classification\t$reason\n"; |
183 } |
144 } |