@@ -47,7 +47,8 @@ Class.Define('BaseBuild', {
4747 dirFullPath : subFolder . path ,
4848 dirName : subFolder . name ,
4949 asmInfo : asmInfo ,
50- nugetCfg : this . _tryToFindNugetConfigFile ( subFolder . path )
50+ nugetCfg : this . _tryToFindNugetConfigFile ( subFolder . path ) ,
51+ readme : this . _tryToFindReadmeFile ( subFolder . path )
5152 } ) ;
5253 }
5354 }
@@ -56,6 +57,7 @@ Class.Define('BaseBuild', {
5657 _tryToFindNugetConfigFile : function ( dirFullPath ) {
5758 var folder = Wsh . Fso . GetFolder ( dirFullPath ) ,
5859 filesEnum = new Enumerator ( folder . files ) ,
60+ file = { } ,
5961 fileExt = '' ,
6062 result = '' ;
6163 for ( ; ! filesEnum . atEnd ( ) ; filesEnum . moveNext ( ) ) {
@@ -68,6 +70,22 @@ Class.Define('BaseBuild', {
6870 }
6971 return result ;
7072 } ,
73+ _tryToFindReadmeFile : function ( dirFullPath ) {
74+ var folder = Wsh . Fso . GetFolder ( dirFullPath ) ,
75+ filesEnum = new Enumerator ( folder . files ) ,
76+ file = { } ,
77+ fileName = '' ,
78+ result = '' ;
79+ for ( ; ! filesEnum . atEnd ( ) ; filesEnum . moveNext ( ) ) {
80+ file = Wsh . Fso . GetFile ( String ( filesEnum . item ( ) ) ) ;
81+ fileName = String ( file . Name ) . toUpperCase ( ) ;
82+ if ( fileName == 'README.MD' ) {
83+ result = file . Path ;
84+ break ;
85+ }
86+ }
87+ return result ;
88+ } ,
7189 cleanAllBinDirectoriesForNupkgs : function ( ) {
7290 var dirFullPath = '' ;
7391 for ( var i = 0 , l = this . modulesInfo . length ; i < l ; i += 1 ) {
@@ -164,6 +182,34 @@ Class.Define('BaseBuild', {
164182 }
165183 return nugetCfgContent ;
166184 } ,
185+ setUpVersionToReadmes : function ( ) {
186+ var readStream = null ,
187+ writeStream = null ,
188+ readmeFullPath = '' ,
189+ readmeContent = '' ;
190+ for ( var i = 0 , l = this . modulesInfo . length ; i < l ; i += 1 ) {
191+ readmeFullPath = this . modulesInfo [ i ] . readme ;
192+ if ( ! readmeFullPath ) continue ;
193+ // open for reading, if file doesn't exists, do not create new
194+ readStream = Wsh . Fso . OpenTextFile ( readmeFullPath , 1 , false ) ;
195+ readmeContent = readStream . ReadAll ( ) ;
196+ readStream . Close ( ) ;
197+ readmeContent = this . _setUpVersionToReadmeContent ( readmeContent ) ;
198+ // for overwriting, not as Unicode
199+ writeStream = Wsh . Fso . CreateTextFile ( readmeFullPath , true , false ) ;
200+ writeStream . Write ( readmeContent ) ;
201+ writeStream . Close ( ) ;
202+ }
203+ } ,
204+ _setUpVersionToReadmeContent : function ( nugetCfgContent ) {
205+ nugetCfgContent = nugetCfgContent . replace ( / \/ S t a b l e \- v ( [ \d ] * ) \. ( [ \d ] * ) \. ( [ \d ] * ) \- b r i g h t g r e e n \. s v g / g, function ( ) {
206+ var args = [ ] . slice . apply ( arguments ) ;
207+ args [ 0 ] = '/Stable-v' + this . versions [ 0 ] + '.' + this . versions [ 1 ] + '.' + this . versions [ 2 ] + '-brightgreen.svg' ;
208+ return args [ 0 ] ;
209+ } . bind ( this ) ) ;
210+ //log(nugetCfgContent);
211+ return nugetCfgContent ;
212+ } ,
167213 cleanDirectory : function ( relativeOrAbsolutePath , allFiles ) {
168214 var folder = Wsh . Fso . GetFolder ( relativeOrAbsolutePath ) ,
169215 filesEnum = new Enumerator ( folder . files ) ,
0 commit comments