Search in sources :

Example 1 with FileInputSource

use of net.jangaroo.jooc.input.FileInputSource in project jangaroo-tools by CoreMedia.

the class ConfigClassBuilderTest method buildConfigClass.

private ConfigClass buildConfigClass(String resourceName, String module) throws URISyntaxException {
    File sourceFile = new File(getClass().getResource("/" + module + "/" + resourceName).toURI());
    InputSource inputSource = new FileInputSource(sourceFile, true);
    CompilationUnit compilationUnit = new Jooc().doParse(inputSource, new StdOutCompileLog(), SemicolonInsertionMode.QUIRKS);
    ConfigClassBuilder configClassBuilder = new ConfigClassBuilder(compilationUnit);
    return configClassBuilder.buildConfigClass();
}
Also used : CompilationUnit(net.jangaroo.jooc.ast.CompilationUnit) InputSource(net.jangaroo.jooc.input.InputSource) FileInputSource(net.jangaroo.jooc.input.FileInputSource) FileInputSource(net.jangaroo.jooc.input.FileInputSource) ConfigClassBuilder(net.jangaroo.exml.as.ConfigClassBuilder) Jooc(net.jangaroo.jooc.Jooc) StdOutCompileLog(net.jangaroo.jooc.StdOutCompileLog) File(java.io.File)

Example 2 with FileInputSource

use of net.jangaroo.jooc.input.FileInputSource in project jangaroo-tools by CoreMedia.

the class ConfigClassRegistry method scanAsFiles.

private void scanAsFiles(Map<String, File> sourceFilesByName) {
    InputSource configPackageInputSource = sourcePathInputSource.getChild(config.getConfigClassPackage().replace('.', File.separatorChar));
    if (configPackageInputSource != null) {
        for (InputSource source : configPackageInputSource.list()) {
            File file = ((FileInputSource) source).getFile();
            if (file.isFile() && file.getName().endsWith(Jooc.AS_SUFFIX)) {
                try {
                    File sourceDir = getConfig().findSourceDir(file);
                    String qName = CompilerUtils.qNameFromFile(sourceDir, file);
                    ConfigClass actionScriptConfigClass = findActionScriptConfigClass(qName);
                    if (actionScriptConfigClass != null) {
                        addSourceConfigClass(sourceFilesByName, file, actionScriptConfigClass);
                    }
                } catch (IOException e) {
                    throw new ExmlcException("could not read AS file", e);
                }
            }
        }
    }
}
Also used : PathInputSource(net.jangaroo.jooc.input.PathInputSource) InputSource(net.jangaroo.jooc.input.InputSource) FileInputSource(net.jangaroo.jooc.input.FileInputSource) FileInputSource(net.jangaroo.jooc.input.FileInputSource) ExmlcException(net.jangaroo.exml.api.ExmlcException) IOException(java.io.IOException) File(java.io.File)

Example 3 with FileInputSource

use of net.jangaroo.jooc.input.FileInputSource in project jangaroo-tools by CoreMedia.

the class Jooc method run1.

private CompilationResult run1() {
    InputSource sourcePathInputSource;
    InputSource classPathInputSource;
    try {
        sourcePathInputSource = PathInputSource.fromFiles(getConfig().getSourcePath(), new String[] { "" }, true);
        classPathInputSource = PathInputSource.fromFiles(getConfig().getClassPath(), new String[] { "", JOO_API_IN_JAR_DIRECTORY_PREFIX }, false);
    } catch (IOException e) {
        throw new CompilerError("IO Exception occurred", e);
    }
    setUp(sourcePathInputSource, classPathInputSource);
    HashMap<File, File> outputFileMap = new HashMap<File, File>();
    try {
        for (File sourceFile : getConfig().getSourceFiles()) {
            processSource(sourceFile);
        }
        CompilationUnitSinkFactory codeSinkFactory = createSinkFactory(getConfig(), false);
        CompilationUnitSinkFactory apiSinkFactory = null;
        if (getConfig().isGenerateApi()) {
            apiSinkFactory = createSinkFactory(getConfig(), true);
        }
        for (CompilationUnit unit : compileQueue) {
            unit.analyze(null);
            if (getConfig().getPublicApiViolationsMode() != PublicApiViolationsMode.ALLOW) {
                reportPublicApiViolations(unit);
            }
            File sourceFile = ((FileInputSource) unit.getSource()).getFile();
            File outputFile = null;
            // only generate JavaScript if [Native] annotation and 'native' modifier on primary declaration are not present:
            if (unit.getAnnotation(NATIVE_ANNOTATION_NAME) == null && !unit.getPrimaryDeclaration().isNative()) {
                outputFile = writeOutput(sourceFile, unit, codeSinkFactory, getConfig().isVerbose());
            }
            // always map source file, even if output file is null!
            outputFileMap.put(sourceFile, outputFile);
            if (getConfig().isGenerateApi()) {
                writeOutput(sourceFile, unit, apiSinkFactory, getConfig().isVerbose());
            }
        }
        int result = log.hasErrors() ? CompilationResult.RESULT_CODE_COMPILATION_FAILED : CompilationResult.RESULT_CODE_OK;
        return new CompilationResultImpl(result, outputFileMap);
    } catch (IOException e) {
        throw new CompilerError("IO Exception occurred", e);
    } finally {
        tearDown();
    }
}
Also used : CompilationUnit(net.jangaroo.jooc.ast.CompilationUnit) PathInputSource(net.jangaroo.jooc.input.PathInputSource) InputSource(net.jangaroo.jooc.input.InputSource) FileInputSource(net.jangaroo.jooc.input.FileInputSource) ZipEntryInputSource(net.jangaroo.jooc.input.ZipEntryInputSource) FileInputSource(net.jangaroo.jooc.input.FileInputSource) SingleFileCompilationUnitSinkFactory(net.jangaroo.jooc.backend.SingleFileCompilationUnitSinkFactory) CompilationUnitSinkFactory(net.jangaroo.jooc.backend.CompilationUnitSinkFactory) MergedOutputCompilationUnitSinkFactory(net.jangaroo.jooc.backend.MergedOutputCompilationUnitSinkFactory) HashMap(java.util.HashMap) IOException(java.io.IOException) File(java.io.File)

Aggregations

File (java.io.File)3 FileInputSource (net.jangaroo.jooc.input.FileInputSource)3 InputSource (net.jangaroo.jooc.input.InputSource)3 IOException (java.io.IOException)2 CompilationUnit (net.jangaroo.jooc.ast.CompilationUnit)2 PathInputSource (net.jangaroo.jooc.input.PathInputSource)2 HashMap (java.util.HashMap)1 ExmlcException (net.jangaroo.exml.api.ExmlcException)1 ConfigClassBuilder (net.jangaroo.exml.as.ConfigClassBuilder)1 Jooc (net.jangaroo.jooc.Jooc)1 StdOutCompileLog (net.jangaroo.jooc.StdOutCompileLog)1 CompilationUnitSinkFactory (net.jangaroo.jooc.backend.CompilationUnitSinkFactory)1 MergedOutputCompilationUnitSinkFactory (net.jangaroo.jooc.backend.MergedOutputCompilationUnitSinkFactory)1 SingleFileCompilationUnitSinkFactory (net.jangaroo.jooc.backend.SingleFileCompilationUnitSinkFactory)1 ZipEntryInputSource (net.jangaroo.jooc.input.ZipEntryInputSource)1