GWT 2.3.0

com.google.gwt.core.linker
Class SingleScriptLinker

java.lang.Object
  extended by com.google.gwt.core.ext.Linker
      extended by com.google.gwt.core.ext.linker.AbstractLinker
          extended by com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
              extended by com.google.gwt.core.linker.SingleScriptLinker

@LinkerOrder(value=PRIMARY)
@Shardable
public class SingleScriptLinker
extends com.google.gwt.core.ext.linker.impl.SelectionScriptLinker

A Linker for producing a single JavaScript file from a GWT module. The use of this Linker requires that the module has exactly one distinct compilation result.


Field Summary
 
Fields inherited from class com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
COMPUTE_SCRIPT_BASE_JS, FRAGMENT_EXTENSION, FRAGMENT_SUBDIR, permutationsUtil, PROCESS_METAS_JS
 
Constructor Summary
SingleScriptLinker()
           
 
Method Summary
protected  java.util.Collection<Artifact<?>> doEmitCompilation(TreeLogger logger, LinkerContext context, CompilationResult result, ArtifactSet artifacts)
           
protected  EmittedArtifact emitSelectionScript(TreeLogger logger, LinkerContext context, ArtifactSet artifacts)
           
protected  java.lang.String getCompilationExtension(TreeLogger logger, LinkerContext context)
          Unimplemented.
 java.lang.String getDescription()
          Returns a human-readable String describing the Linker.
protected  java.lang.String getModulePrefix(TreeLogger logger, LinkerContext context, java.lang.String strongName)
          Unimplemented.
protected  java.lang.String getModuleSuffix(TreeLogger logger, LinkerContext context)
          Unimplemented.
protected  java.lang.String getSelectionScriptTemplate(TreeLogger logger, LinkerContext context)
           
 ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts, boolean onePermutation)
           This method is invoked for linkers annotated with Shardable.
 
Methods inherited from class com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
fillSelectionScriptTemplate, generateDeferredFragment, generatePrimaryFragment, generatePrimaryFragmentString, generateSelectionScript, generateSelectionScript, getHostedFilename, getModulePrefix, link, maybeAddHostedModeFile, maybeOutputPropertyMap, readFileToStringBuffer, replaceAll, supportsDevModeInJunit, wrapPrimaryFragment
 
Methods inherited from class com.google.gwt.core.ext.linker.AbstractLinker
emitBytes, emitBytes, emitInputStream, emitInputStream, emitString, emitString, emitWithStrongName, emitWithStrongName
 
Methods inherited from class com.google.gwt.core.ext.Linker
isShardable, relink
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SingleScriptLinker

public SingleScriptLinker()
Method Detail

getDescription

public java.lang.String getDescription()
Description copied from class: Linker
Returns a human-readable String describing the Linker.

Specified by:
getDescription in class Linker

link

public ArtifactSet link(TreeLogger logger,
                        LinkerContext context,
                        ArtifactSet artifacts,
                        boolean onePermutation)
                 throws UnableToCompleteException
Description copied from class: Linker

This method is invoked for linkers annotated with Shardable. It is called at two points during compilation: after the compile of each permutation, and after all compilation has finished. The onePermutation is true for a per-permutation call and false for a global final-link call.

For one-permutation calls, this method is passed all artifacts generated for just the one permutation. For the global call at the end of compilation, this method sees artifacts for the whole compilation, but with two modifications intended to support builds on computer clusters:

  1. All EmittedArtifacts have been converted to BinaryEmittedArtifacts
  2. All artifacts not marked as Transferable have been discarded.

Overrides:
link in class com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
Parameters:
logger - the TreeLogger to record to
context - provides access to the Linker's environment
artifacts - an unmodifiable view of the artifacts to link
onePermutation - true for a one-permutation call
Returns:
the artifacts that should be propagated through the linker chain
Throws:
UnableToCompleteException - if compilation violates assumptions made by the Linker or for errors encountered by the Linker

doEmitCompilation

protected java.util.Collection<Artifact<?>> doEmitCompilation(TreeLogger logger,
                                                              LinkerContext context,
                                                              CompilationResult result,
                                                              ArtifactSet artifacts)
                                                       throws UnableToCompleteException
Overrides:
doEmitCompilation in class com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
Throws:
UnableToCompleteException

emitSelectionScript

protected EmittedArtifact emitSelectionScript(TreeLogger logger,
                                              LinkerContext context,
                                              ArtifactSet artifacts)
                                       throws UnableToCompleteException
Overrides:
emitSelectionScript in class com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
Throws:
UnableToCompleteException

getCompilationExtension

protected java.lang.String getCompilationExtension(TreeLogger logger,
                                                   LinkerContext context)
                                            throws UnableToCompleteException
Unimplemented. Normally required by #doEmitCompilation(TreeLogger, LinkerContext, CompilationResult).

Specified by:
getCompilationExtension in class com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
Throws:
UnableToCompleteException

getModulePrefix

protected java.lang.String getModulePrefix(TreeLogger logger,
                                           LinkerContext context,
                                           java.lang.String strongName)
                                    throws UnableToCompleteException
Unimplemented. Normally required by #doEmitCompilation(TreeLogger, LinkerContext, CompilationResult).

Specified by:
getModulePrefix in class com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
Throws:
UnableToCompleteException

getModuleSuffix

protected java.lang.String getModuleSuffix(TreeLogger logger,
                                           LinkerContext context)
                                    throws UnableToCompleteException
Unimplemented. Normally required by #doEmitCompilation(TreeLogger, LinkerContext, CompilationResult).

Specified by:
getModuleSuffix in class com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
Throws:
UnableToCompleteException

getSelectionScriptTemplate

protected java.lang.String getSelectionScriptTemplate(TreeLogger logger,
                                                      LinkerContext context)
                                               throws UnableToCompleteException
Specified by:
getSelectionScriptTemplate in class com.google.gwt.core.ext.linker.impl.SelectionScriptLinker
Throws:
UnableToCompleteException

GWT 2.3.0