compiler-jx/src/main/java/org/apache/royale/compiler/clients/COMPJSCNative.java [379:482]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    ByteArrayOutputStream temp = new ByteArrayOutputStream();
                    ByteArrayOutputStream sourceMapTemp = null;
                    
                    boolean isExterns = false;
                    if(cu.getDefinitionPromises().size() > 0)
                    {
                        isExterns = project.isExterns(cu.getDefinitionPromises().get(0).getQualifiedName());
                    }

                    // if the file is @externs DON'T create source map file
                    if (project.config.getSourceMap() && !isExterns)
                    {
                        sourceMapTemp = new ByteArrayOutputStream();
                    }
                    writer.writeTo(temp, sourceMapTemp, null);

                    File outputClassFile = getOutputClassFile(
                            cu.getQualifiedNames().get(0),
                            isExterns ? externsOut : jsOut,
                            false);
                    String outputClassFilePath = outputClassFile.getPath();
                    outputClassFilePath = outputClassFilePath.replace('\\', '/');
                    if (config.isVerbose())
                    {
                        System.out.println("Writing file: " + outputClassFilePath);     	
                    }
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    temp.writeTo(baos);
                    writeFileToZip(zipOutputStream, outputClassFilePath, baos, fileList);
                    if(sourceMapTemp != null)
                    {
                        String sourceMapFilePath = getOutputSourceMapFile(
                            cu.getQualifiedNames().get(0),
                            isExterns ? externsOut : jsOut,
                            false).getPath();
                        sourceMapFilePath = sourceMapFilePath.replace('\\', '/');
                        if (config.isVerbose())
                        {
                            System.out.println("Writing file: " + sourceMapFilePath);
                        }
                        baos = new ByteArrayOutputStream();
                        processSourceMap(sourceMapTemp, baos, outputClassFile, symbol);
                        writeFileToZip(zipOutputStream, sourceMapFilePath, baos, fileList);
                    }
                    writer.close();
                }
            }
            else if (cuType == ICompilationUnit.UnitType.SWC_UNIT)
            {
                String symbol = cu.getQualifiedNames().get(0);
                if (externs.contains(symbol)) continue;
                if (project.isExternalLinkage(cu)) continue;
                if (!packingSWC)
                {
                    // we probably shouldn't skip this -JT
                    continue;
                }

                // if another .swc file is on our library-path, we must
                // include the .js (and .js.map) files because the
                // bytecode will also be included. if we have the
                // bytecode, but not the .js files, the compiler won't
                // know where to find the .js files. that's really bad.

                // if the bytecode and .js files should not be included,
                // then the developer is expected to use
                // external-library-path instead of library-path.

                SWCCompilationUnit swcCU = (SWCCompilationUnit) cu;
                String outputClassFile = getOutputClassFile(
                        cu.getQualifiedNames().get(0),
                        jsOut,
                        false).getPath();
                outputClassFile = outputClassFile.replace('\\', '/');
                ISWCFileEntry fileEntry = swcCU.getSWC().getFile(outputClassFile);
                if (fileEntry == null)
                {
                    continue;
                }
                if (config.isVerbose())
                {
                    System.out.println("Writing file: " + outputClassFile + " from SWC: " + swcCU.getAbsoluteFilename());
                }
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                InputStream fileStream = fileEntry.createInputStream();
                IOUtils.copy(fileStream, baos);
                fileStream.close();
                writeFileToZip(zipOutputStream, outputClassFile, baos, fileList);

                String outputMapFile = outputClassFile + ".map";
                fileEntry = swcCU.getSWC().getFile(outputMapFile);
                if (fileEntry == null)
                {
                    continue;
                }
                if (config.isVerbose())
                {
                    System.out.println("Writing file: " + outputMapFile + " from SWC: " + swcCU.getAbsoluteFilename());
                }
                baos = new ByteArrayOutputStream();
                fileStream = fileEntry.createInputStream();
                IOUtils.copy(fileStream, baos);
                fileStream.close();
                writeFileToZip(zipOutputStream, outputMapFile, baos, fileList);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



compiler-jx/src/main/java/org/apache/royale/compiler/clients/COMPJSCRoyale.java [400:504]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    ByteArrayOutputStream temp = new ByteArrayOutputStream();
                    ByteArrayOutputStream sourceMapTemp = null;
                    
                    boolean isExterns = false;
                    if(cu.getDefinitionPromises().size() > 0)
                    {
                        isExterns = project.isExterns(cu.getDefinitionPromises().get(0).getQualifiedName());
                    }
                    
                    // if the file is @externs DON'T create source map file
                    if (project.config.getSourceMap() && !isExterns)
                    {
                        sourceMapTemp = new ByteArrayOutputStream();
                    }
                    writer.writeTo(temp, sourceMapTemp, null);

                    File outputClassFile = getOutputClassFile(
                            cu.getQualifiedNames().get(0),
                            isExterns ? externsOut : jsOut,
                            false);
                    String outputClassFilePath = outputClassFile.getPath();
                    outputClassFilePath = outputClassFilePath.replace('\\', '/');
                    if (config.isVerbose())
                    {
                        System.out.println("Writing file: " + outputClassFilePath);     	
                    }
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    temp.writeTo(baos);
                    writeFileToZip(zipOutputStream, outputClassFilePath, baos, fileList);
                    
                    if(sourceMapTemp != null)
                    {
                        String sourceMapFilePath = getOutputSourceMapFile(
                            cu.getQualifiedNames().get(0),
                            isExterns ? externsOut : jsOut,
                            false).getPath();
                        sourceMapFilePath = sourceMapFilePath.replace('\\', '/');
                        if (config.isVerbose())
                        {
                            System.out.println("Writing file: " + sourceMapFilePath);
                        }
                        baos = new ByteArrayOutputStream();
                        processSourceMap(sourceMapTemp, baos, outputClassFile, symbol);
                        writeFileToZip(zipOutputStream, sourceMapFilePath, baos, fileList);
                    }
                    writer.close();
                }
            }
            else if (cuType == ICompilationUnit.UnitType.SWC_UNIT)
            {
                String symbol = cu.getQualifiedNames().get(0);
                if (externs.contains(symbol)) continue;
                if (project.isExternalLinkage(cu)) continue;
                if (!packingSWC)
                {
                    // we probably shouldn't skip this -JT
                    continue;
                }

                // if another .swc file is on our library-path, we must
                // include the .js (and .js.map) files because the
                // bytecode will also be included. if we have the
                // bytecode, but not the .js files, the compiler won't
                // know where to find the .js files. that's really bad.

                // if the bytecode and .js files should not be included,
                // then the developer is expected to use
                // external-library-path instead of library-path.

                SWCCompilationUnit swcCU = (SWCCompilationUnit) cu;
                String outputClassFile = getOutputClassFile(
                        cu.getQualifiedNames().get(0),
                        jsOut,
                        false).getPath();
                outputClassFile = outputClassFile.replace('\\', '/');
                ISWCFileEntry fileEntry = swcCU.getSWC().getFile(outputClassFile);
                if (fileEntry == null)
                {
                    continue;
                }
                if (config.isVerbose())
                {
                    System.out.println("Writing file: " + outputClassFile + " from SWC: " + swcCU.getAbsoluteFilename());
                }
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                InputStream fileStream = fileEntry.createInputStream();
                IOUtils.copy(fileStream, baos);
                fileStream.close();
                writeFileToZip(zipOutputStream, outputClassFile, baos, fileList);

                String outputMapFile = outputClassFile + ".map";
                fileEntry = swcCU.getSWC().getFile(outputMapFile);
                if (fileEntry == null)
                {
                    continue;
                }
                if (config.isVerbose())
                {
                    System.out.println("Writing file: " + outputMapFile + " from SWC: " + swcCU.getAbsoluteFilename());
                }
                baos = new ByteArrayOutputStream();
                fileStream = fileEntry.createInputStream();
                IOUtils.copy(fileStream, baos);
                fileStream.close();
                writeFileToZip(zipOutputStream, outputMapFile, baos, fileList);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



