@@ -106,50 +106,26 @@ private void LogMissingDependenciesError(List<string> missingArtifacts) {
106
106
}
107
107
108
108
/// <summary>
109
- /// From a list of dependencies generate a list of Maven / Gradle / Ivy package spec
110
- /// strings.
109
+ /// Get package spec from a dependency.
111
110
/// </summary>
112
- /// <param name="dependencies">Dependency instances to query for package specs.</param>
113
- /// <returns>Dictionary of Dependency instances indexed by package spec strings.</returns>
114
- internal static Dictionary < string , string > DependenciesToPackageSpecs (
115
- IEnumerable < Dependency > dependencies ) {
116
- var sourcesByPackageSpec = new Dictionary < string , string > ( ) ;
117
- foreach ( var dependency in dependencies ) {
118
- // Convert the legacy "LATEST" version spec to a Gradle version spec.
119
- var packageSpec = dependency . Version . ToUpper ( ) == "LATEST" ?
120
- dependency . VersionlessKey + ":+" : dependency . Key ;
121
- var source = CommandLine . SplitLines ( dependency . CreatedBy ) [ 0 ] ;
122
- string sources ;
123
- if ( sourcesByPackageSpec . TryGetValue ( packageSpec , out sources ) ) {
124
- sources = sources + ", " + source ;
125
- } else {
126
- sources = source ;
127
- }
128
- sourcesByPackageSpec [ packageSpec ] = sources ;
129
- }
130
- return sourcesByPackageSpec ;
111
+ /// <param name="dependency">Dependency instance to query for package spec.</param>
112
+ internal static string DependencyToPackageSpec ( Dependency dependency ) {
113
+ return dependency . Version . ToUpper ( ) == "LATEST" ?
114
+ dependency . VersionlessKey + ":+" : dependency . Key ;
131
115
}
132
116
133
117
/// <summary>
134
118
/// From a list of dependencies generate a list of Maven / Gradle / Ivy package spec
135
- /// strings along with their corresponding dependency versions .
119
+ /// strings.
136
120
/// </summary>
137
121
/// <param name="dependencies">Dependency instances to query for package specs.</param>
138
- /// <returns>Dictionary where the key is a package spec string and value is a
139
- /// 3 item list of sources string, dependency version less string,
140
- /// and a dependency version string. </returns>
141
- internal static Dictionary < string , List < string > > DependenciesToPackageSpecsWithVersions (
122
+ /// <returns>Dictionary of Dependency instances indexed by package spec strings.</returns>
123
+ internal static Dictionary < string , string > DependenciesToPackageSpecs (
142
124
IEnumerable < Dependency > dependencies ) {
143
- // To keep it simple to iterate and process, create 3 separate
144
- // dictionaries to record required metadata about a package spec
145
- // (version and versionless key).
146
125
var sourcesByPackageSpec = new Dictionary < string , string > ( ) ;
147
- var versionsByPackageSpec = new Dictionary < string , string > ( ) ;
148
- var versionlessKeysByPackageSpec = new Dictionary < string , string > ( ) ;
149
126
foreach ( var dependency in dependencies ) {
150
127
// Convert the legacy "LATEST" version spec to a Gradle version spec.
151
- var packageSpec = dependency . Version . ToUpper ( ) == "LATEST" ?
152
- dependency . VersionlessKey + ":+" : dependency . Key ;
128
+ var packageSpec = DependencyToPackageSpec ( dependency ) ;
153
129
var source = CommandLine . SplitLines ( dependency . CreatedBy ) [ 0 ] ;
154
130
string sources ;
155
131
if ( sourcesByPackageSpec . TryGetValue ( packageSpec , out sources ) ) {
@@ -158,24 +134,8 @@ internal static Dictionary<string, List<string>> DependenciesToPackageSpecsWithV
158
134
sources = source ;
159
135
}
160
136
sourcesByPackageSpec [ packageSpec ] = sources ;
161
- versionsByPackageSpec [ packageSpec ] = dependency . Version ;
162
- versionlessKeysByPackageSpec [ packageSpec ] = dependency . VersionlessKey ;
163
- }
164
- // Create a new dictionary which combines the data from sources and
165
- // versions dictionaries. Key is packageSpec string and value is a
166
- // three-item list of strings of sources, version less string
167
- // and dependency version.
168
- // NOTE: tuples are a more elegant way of doing this but they work
169
- // only in .NET frameworks >= 4.0.
170
- var mergedByPackageSpec = new Dictionary < string , List < string > > ( ) ;
171
- foreach ( var item in sourcesByPackageSpec ) {
172
- mergedByPackageSpec [ item . Key ] = new List < string > {
173
- sourcesByPackageSpec [ item . Key ] ,
174
- versionlessKeysByPackageSpec [ item . Key ] ,
175
- versionsByPackageSpec [ item . Key ]
176
- } ;
177
137
}
178
- return mergedByPackageSpec ;
138
+ return sourcesByPackageSpec ;
179
139
}
180
140
181
141
/// <summary>
0 commit comments