@@ -161,25 +161,6 @@ function (lang, logger, envOptimize, file, parse,
161
161
} ;
162
162
}
163
163
164
- function getFileWriter ( fileName , encoding ) {
165
- var outFile = new java . io . File ( fileName ) , outWriter , parentDir ;
166
-
167
- parentDir = outFile . getAbsoluteFile ( ) . getParentFile ( ) ;
168
- if ( ! parentDir . exists ( ) ) {
169
- if ( ! parentDir . mkdirs ( ) ) {
170
- throw "Could not create directory: " + parentDir . getAbsolutePath ( ) ;
171
- }
172
- }
173
-
174
- if ( encoding ) {
175
- outWriter = new java . io . OutputStreamWriter ( new java . io . FileOutputStream ( outFile ) , encoding ) ;
176
- } else {
177
- outWriter = new java . io . OutputStreamWriter ( new java . io . FileOutputStream ( outFile ) ) ;
178
- }
179
-
180
- return new java . io . BufferedWriter ( outWriter ) ;
181
- }
182
-
183
164
optimize = {
184
165
/**
185
166
* Optimizes a file that contains JavaScript content. Optionally collects
@@ -196,29 +177,13 @@ function (lang, logger, envOptimize, file, parse,
196
177
* found.
197
178
*/
198
179
jsFile : function ( fileName , fileContents , outFileName , config , pluginCollector ) {
199
- var optimized , compressed , baseName , writer ;
200
-
201
180
if ( ! fileContents ) {
202
181
fileContents = file . readFile ( fileName ) ;
203
182
}
204
183
205
- optimized = optimize . js ( fileName , fileContents , config , pluginCollector ) ;
206
-
207
- compressed = typeof optimized == 'string' ? optimized : optimized . toSource ( ) ;
208
-
209
- if ( config . generateSourceMaps && optimized . sourceMap ) {
210
- baseName = ( new java . io . File ( outFileName ) ) . getName ( ) ;
184
+ fileContents = optimize . js ( fileName , fileContents , outFileName , config , pluginCollector ) ;
211
185
212
- file . saveUtf8File ( outFileName + ".src" , fileContents ) ;
213
-
214
- writer = getFileWriter ( outFileName + ".map" , "utf-8" ) ;
215
- optimized . sourceMap . appendTo ( writer , outFileName ) ;
216
- writer . close ( ) ;
217
-
218
- compressed += "\n//@ sourceMappingURL=" + baseName + ".map" ;
219
- }
220
-
221
- file . saveUtf8File ( outFileName , compressed ) ;
186
+ file . saveUtf8File ( outFileName , fileContents ) ;
222
187
} ,
223
188
224
189
/**
@@ -233,12 +198,12 @@ function (lang, logger, envOptimize, file, parse,
233
198
* @param {Array } [pluginCollector] storage for any plugin resources
234
199
* found.
235
200
*/
236
- js : function ( fileName , fileContents , config , pluginCollector ) {
237
- var parts = ( String ( config . optimize ) ) . split ( '.' ) ,
201
+ js : function ( fileName , fileContents , outFileName , config , pluginCollector ) {
202
+ var optFunc , optConfig ,
203
+ parts = ( String ( config . optimize ) ) . split ( '.' ) ,
238
204
optimizerName = parts [ 0 ] ,
239
205
keepLines = parts [ 1 ] === 'keepLines' ,
240
- licenseContents = '' ,
241
- optFunc , optResult ;
206
+ licenseContents = '' ;
242
207
243
208
config = config || { } ;
244
209
@@ -254,6 +219,11 @@ function (lang, logger, envOptimize, file, parse,
254
219
'" not found for this environment' ) ;
255
220
}
256
221
222
+ optConfig = config [ optimizerName ] || { }
223
+ if ( config . generateSourceMaps ) {
224
+ optConfig . generateSourceMaps = ! ! config . generateSourceMaps ;
225
+ }
226
+
257
227
if ( config . preserveLicenseComments ) {
258
228
//Pull out any license comments for prepending after optimization.
259
229
try {
@@ -263,13 +233,11 @@ function (lang, logger, envOptimize, file, parse,
263
233
}
264
234
}
265
235
266
- config [ optimizerName ] = config [ optimizerName ] || { } ;
267
-
268
- config [ optimizerName ] . generateSourceMaps = ! ! config . generateSourceMaps ;
269
-
270
- optResult = optFunc ( fileName , fileContents , keepLines , config [ optimizerName ] ) ;
271
-
272
- return config . generateSourceMaps ? optResult : licenseContents + ( typeof optResult == 'string' ? optResult : optResult . toSource ( ) ) ;
236
+ fileContents = licenseContents + optFunc ( fileName ,
237
+ fileContents ,
238
+ outFileName ,
239
+ keepLines ,
240
+ optConfig ) ;
273
241
}
274
242
275
243
return fileContents ;
0 commit comments