 						fs.writeFileSync(targetPath, content);
 					}
 				}
+				else
+				{
+					targetPath = assetPathToOutputPath(assetPath, this._mainFile, sourcePaths, outputDirectory);
+					mkdirp["sync"](path.dirname(targetPath));
+					fs.writeFileSync(targetPath, content);
+				}
 			}
 		}
 
 		private function processDescriptor():void
 		{
-			if(this._airDescriptor === null)
+			if(!this._airDescriptor)
 			{
 				return;
 			}
-			var outputDir:String = findOutputDirectory(this._mainFile, this._outputPath, this._isSWF);
-			var contentValue:String = findApplicationContent(this._mainFile, this._outputPath, this._isSWF);
+			var outputDir:String = findOutputDirectory(this._mainFile, this._outputPath, !this._outputIsJS);
+			var contentValue:String = findApplicationContent(this._mainFile, this._outputPath, !this._outputIsJS);
 			if(contentValue === null)
 			{
 				console.error("Failed to find content for application descriptor.");

				return;
			}
			var sourcePaths:Vector.<String> = null;
			if(this._sourcePaths !== null)
			{
				sourcePaths = this._sourcePaths.slice();
			}

		private var _javaExecutable:String;
		private var _configFilePath:String;
		private var _projectType:String;
		private var _configRequiresFlexJS:Boolean;
		private var _isSWFTargetOnly:Boolean;
		private var _outputIsJS:Boolean;
		private var _jsOutputType:String;
		private var _args:Array;
		private var _additionalOptions:String;
		private var _airDescriptor:String = null;
