@@ -106,50 +106,26 @@ private void LogMissingDependenciesError(List<string> missingArtifacts) {
106106 }
107107
108108 /// <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.
111110 /// </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 ;
131115 }
132116
133117 /// <summary>
134118 /// From a list of dependencies generate a list of Maven / Gradle / Ivy package spec
135- /// strings along with their corresponding dependency versions .
119+ /// strings.
136120 /// </summary>
137121 /// <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 (
142124 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).
146125 var sourcesByPackageSpec = new Dictionary < string , string > ( ) ;
147- var versionsByPackageSpec = new Dictionary < string , string > ( ) ;
148- var versionlessKeysByPackageSpec = new Dictionary < string , string > ( ) ;
149126 foreach ( var dependency in dependencies ) {
150127 // 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 ) ;
153129 var source = CommandLine . SplitLines ( dependency . CreatedBy ) [ 0 ] ;
154130 string sources ;
155131 if ( sourcesByPackageSpec . TryGetValue ( packageSpec , out sources ) ) {
@@ -158,24 +134,8 @@ internal static Dictionary<string, List<string>> DependenciesToPackageSpecsWithV
158134 sources = source ;
159135 }
160136 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- } ;
177137 }
178- return mergedByPackageSpec ;
138+ return sourcesByPackageSpec ;
179139 }
180140
181141 /// <summary>
0 commit comments