List of usage examples for com.google.gwt.dev About getGwtVersionNum
public static String getGwtVersionNum()
From source file:cc.alcina.framework.jvmclient.service.GWTDummyClientBridge.java
License:Apache License
/** * Returns the current version of GWT ({@link About#getGwtVersionNum()}). */ @Override public String getVersion() { return About.getGwtVersionNum(); }
From source file:com.emitrom.ti4j.mobile.hybrid.linker.TiMobileHybridLinker.java
License:Apache License
public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException { ArtifactSet toReturn = new ArtifactSet(artifacts); DefaultTextOutput out = new DefaultTextOutput(true); long compilationTime = System.currentTimeMillis(); out.print("(function(){"); out.newline();//from w w w. j a v a 2s . c om // get compilation result Set<CompilationResult> results = artifacts.find(CompilationResult.class); if (results.size() == 0) { logger.log(TreeLogger.WARN, "Requested 0 permutations"); return toReturn; } CompilationResult result = results.iterator().next(); // get the generated javascript String[] javaScript = result.getJavaScript(); out.print("var $wnd;var $doc;"); out.print("var $moduleName, $moduleBase;"); out.newline(); out.print("if(typeof(window) != 'undefined'){ $wnd = window; $doc = $wnd.document; }"); out.newline(); out.print("var $gwt_version = \"" + About.getGwtVersionNum() + "\";"); out.newlineOpt(); out.print(javaScript[0]); out.newline(); out.print("var $stats = function(){};"); out.newline(); out.print("var $sessionId = function(){};"); out.newline(); out.print("var navigator = {};"); out.newline(); out.print("navigator.userAgent = 'timobile';"); out.newline(); out.print("$strongName = '" + result.getStrongName() + "';"); out.newline(); out.print("$ti4jCompilationDate = " + compilationTime + ";"); out.newline(); out.print("gwtOnLoad(null,'" + context.getModuleName() + "',null);"); out.newline(); out.print("})();"); out.newline(); toReturn.add(emitString(logger, out.toString(), context.getModuleName() + ".js")); // toReturn.add(emitString(logger, Long.toString(compilationTime), // APP_COMPILATION_FILE_NAME)); return toReturn; }
From source file:com.envjs.gwt.linker.ServerSingleScriptLinker.java
License:Apache License
@Override protected EmittedArtifact emitSelectionScript(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException { DefaultTextOutput out = new DefaultTextOutput(true); // Emit the selection script. // this for 'real browsers' to load the script // we don't need this. /*/* ww w. j a v a2s .c o m*/ String bootstrap = generateSelectionScript(logger, context, artifacts); bootstrap = context.optimizeJavaScript(logger, bootstrap); out.print(bootstrap); out.newlineOpt(); */ // we need a ref to the top level window // it is referenced in the closure below out.print("var $_window = this;"); out.newlineOpt(); // this is a hack to make backwards compatible out.print("var __defineParser__ = function(){};"); out.newlineOpt(); // Emit the module's JS a closure. out.newlineOpt(); out.print("(function () {"); out.newlineOpt(); out.print("var $gwt_version = \"" + About.getGwtVersionNum() + "\";"); out.newlineOpt(); out.print("var $wnd = $_window;"); out.newlineOpt(); out.print("var $doc = $wnd.document;"); out.newlineOpt(); out.print("var $moduleName, $moduleBase;"); out.newlineOpt(); out.print("var $stats = $wnd.__gwtStatsEvent ? function(a) {$wnd.__gwtStatsEvent(a)} : null;"); out.newlineOpt(); // Find the single CompilationResult Set<CompilationResult> results = artifacts.find(CompilationResult.class); if (results.size() != 1) { logger.log(TreeLogger.ERROR, "The module must have exactly one distinct" + " permutation when using the " + getDescription() + " Linker.", null); throw new UnableToCompleteException(); } CompilationResult result = results.iterator().next(); out.print("var $strongName = '" + result.getStrongName() + "';"); out.newlineOpt(); String[] js = result.getJavaScript(); if (js.length != 1) { logger.log(TreeLogger.ERROR, "The module must not have multiple fragments when using the " + getDescription() + " Linker.", null); throw new UnableToCompleteException(); } out.print(js[0]); // Generate the call to tell the bootstrap code that we're ready to go. out.newlineOpt(); // the original code setup an "onScriptLoad" event. // Here we just do it out.print("gwtOnLoad();"); out.newlineOpt(); out.print("})();"); out.newlineOpt(); return emitString(logger, out.toString(), context.getModuleName() + ".nocache.js"); }
From source file:com.smartgwt.linker.SmartGwtScriptInjector.java
License:Open Source License
public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts, boolean permutation) throws UnableToCompleteException { Float gwtVersion = Float.parseFloat(About.getGwtVersionNum().replaceFirst("([0-9]+\\.[0-9]+).*", "$1")); String moduleName = context.getModuleName(); // do nothing if the primary linker already handles script injection automatically if (permutation || gwtVersion < 2.5f || !forceScriptLoad(logger, moduleName, gwtVersion)) { return artifacts; }/*from w w w. j ava2s.com*/ // if there are no script tags present, then there's nothing to do Set<ScriptReference> scripts = artifacts.find(ScriptReference.class); if (scripts.size() == 0) return artifacts; // script tags are present, and manual load required; emit script loading ArtifactSet toReturn = new ArtifactSet(artifacts); Set<EmittedArtifact> emittedArtifacts = artifacts.find(EmittedArtifact.class); for (EmittedArtifact emittedArtifact : emittedArtifacts) { String partialPath = emittedArtifact.getPartialPath(); if (!partialPath.endsWith(".nocache.js")) continue; toReturn.remove(emittedArtifact); // add code at the end of the <moduleName>.nocache.js file to load the scripts String contents = SmartGwtLinkerUtils.getContents(emittedArtifact, logger); contents += getScriptLoadJS(scripts, context); StringBuffer sb = new StringBuffer(contents); toReturn.add(emitString(logger, sb.toString(), partialPath)); break; } return toReturn; }
From source file:delight.gwt.simplelinker.SimpleLinker.java
License:Apache License
@Override public ArtifactSet link(final TreeLogger logger, final LinkerContext context, final ArtifactSet artifacts) throws UnableToCompleteException { final ArtifactSet toReturn = new ArtifactSet(artifacts); final DefaultTextOutput out = new DefaultTextOutput(true); // out.print("var $stats = function() { };"); out.print("var $_window = this;"); out.newline();//from w w w . j a v a 2 s.c o m out.print("var $gwt_version = \"" + About.getGwtVersionNum() + "\";"); out.newline(); out.print("var $stats = $wnd.__gwtStatsEvent ? function(a) {$wnd.__gwtStatsEvent(a)} : null;"); out.newline(); out.print("var $sessionId = function() { };"); out.newline(); final Set<CompilationResult> results = artifacts.find(CompilationResult.class); CompilationResult result = null; if (results.size() > 1) { logger.log(TreeLogger.ERROR, "The module must have exactly one distinct" + " permutation when using the " + getDescription() + " Linker.", null); throw new UnableToCompleteException(); } else if (!results.isEmpty()) { result = results.iterator().next(); // dump JS final String[] js = result.getJavaScript(); if (js.length != 1) { logger.log(TreeLogger.ERROR, "The module must not have multiple fragments when using the " + getDescription() + " Linker.", null); throw new UnableToCompleteException(); } out.print(js[0]); out.newline(); } addPreloadCode(logger, context, artifacts, result, out); out.newline(); out.print("gwtOnLoad(null, '" + context.getModuleName() + "', null);"); out.newline(); // out.print("})();"); // out.newline(); // and to string toReturn.add(emitString(logger, out.toString(), context.getModuleName() + ".js")); return toReturn; }
From source file:gwt.ns.webworker.linker.WorkerModuleLinker.java
License:Apache License
@Override protected EmittedArtifact emitSelectionScript(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException { DefaultTextOutput out = new DefaultTextOutput(true); // Emit the selection script from template String bootstrap = generateSelectionScript(logger, context, artifacts); bootstrap = context.optimizeJavaScript(logger, bootstrap); out.print(bootstrap);// ww w . j a v a 2 s . c o m out.newlineOpt(); // Emit the module's JS within a closure. out.print("(function () {"); out.newlineOpt(); out.print("var $gwt_version = \"" + About.getGwtVersionNum() + "\";"); out.newlineOpt(); /* Point $wnd and $doc to insideWorker global scope. Shouldn't be used, but there * in case preexisting code uses either as a generic global variable * normal access of $wnd and $doc attributes and methods will be broken, * per Worker spec */ out.print("var $self = self;"); out.newlineOpt(); out.print("var $wnd = self;"); out.newlineOpt(); out.print("var $doc = self;"); out.newlineOpt(); out.print("var $moduleName, $moduleBase;"); //needed if no stats/error handling? out.newlineOpt(); out.print("var $stats = null;"); out.newlineOpt(); // append module code // Find the single CompilationResult Set<CompilationResult> results = artifacts.find(CompilationResult.class); if (results.size() != 1) { logger.log(TreeLogger.ERROR, "The module must have exactly one distinct" + " permutation when using the " + getDescription() + " Linker.", null); // give a hint to reason for failure logPermutationProperties(logger, context.getProperties()); throw new UnableToCompleteException(); } CompilationResult result = results.iterator().next(); out.print("var $strongName = '" + result.getStrongName() + "';"); out.newlineOpt(); // get actual compiled javascript and output // only one fragment currently supported (no runAsync) String[] js = result.getJavaScript(); if (js.length != 1) { logger.log(TreeLogger.ERROR, "The module must not have multiple fragments when using the " + getDescription() + " Linker. Use of GWT.runAsync within Worker" + " code is the most likely cause of this error.", null); throw new UnableToCompleteException(); } out.print(js[0]); // Generate the call to tell the bootstrap code that we're ready to go. out.newlineOpt(); out.print("if (" + context.getModuleFunctionName() + ") " + context.getModuleFunctionName() + ".onScriptLoad(gwtOnLoad);"); out.newlineOpt(); out.print("})();"); out.newlineOpt(); // TODO: this naming scheme helps WorkerCompilationLinker, but users // compiling separate worker scripts may desire a strong file name return emitString(logger, out.toString(), context.getModuleName() + WORKER_EXTENSION); }
From source file:org.cesiumjs.linker.CesiumScriptInjector.java
License:Apache License
@Override public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts, boolean permutation) throws UnableToCompleteException { Float gwtVersion = Float.parseFloat(About.getGwtVersionNum().replaceFirst("([0-9]+\\.[0-9]+).*", "$1")); String moduleName = context.getModuleName(); if (permutation) { return artifacts; }/*from w ww. j a v a 2s .c o m*/ Artifact scriptLoader = emitString(logger, "", SCRIPT_LOADER); ArtifactSet result = new ArtifactSet(artifacts); result.add(scriptLoader); if (gwtVersion < 2.5f || !forceScriptLoad(logger, moduleName, gwtVersion)) { return result; } Set<ScriptReference> scripts = result.find(ScriptReference.class); if (scripts.size() == 0) { return result; } Set<EmittedArtifact> emittedArtifacts = artifacts.find(EmittedArtifact.class); for (EmittedArtifact emittedArtifact : emittedArtifacts) { String partialPath = emittedArtifact.getPartialPath(); if (!partialPath.endsWith(moduleName + ".nocache.js")) continue; System.out.println(" Invoking Linker CesiumScriptInjector"); String pageRelativeModulePath = getPageRelativeModulePath(context); System.out.println(" Creating " + SCRIPT_LOADER + " to manually load the following script tags:"); result.remove(emittedArtifact); String nocacheJS = CesiumLinkerUtils.getContents(emittedArtifact, logger); nocacheJS += getScriptLoaderJS(pageRelativeModulePath); result.add(emitString(logger, nocacheJS, partialPath, context)); result.remove(scriptLoader); String loadTags = getScriptLoadJS(scripts, pageRelativeModulePath); result.add(emitString(logger, loadTags, SCRIPT_LOADER, context)); break; } return result; }
From source file:org.chromium.distiller.dev.DistillerScriptLinker.java
License:Apache License
@Override protected EmittedArtifact emitSelectionScript(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException { // Find the single Script result. Set<Script> results = artifacts.find(Script.class); if (results.size() != 1) { logger.log(TreeLogger.ERROR, "The module must have exactly one distinct" + " permutation when using the " + getDescription() + " Linker; found " + results.size(), null); throw new UnableToCompleteException(); }/*from w w w . j a v a2 s. c o m*/ Script result = results.iterator().next(); DefaultTextOutput out = new DefaultTextOutput(true); // Emit the module's JS as a closure. out.print("(function () {"); out.newlineOpt(); out.print("var $gwt_version = \"" + About.getGwtVersionNum() + "\";"); out.newlineOpt(); out.print("var $wnd = window; /* our linker */"); out.newlineOpt(); out.print("var $doc = $wnd.document;"); out.newlineOpt(); out.print("var $moduleName, $moduleBase;"); out.newlineOpt(); out.print("var $stats = $wnd.__gwtStatsEvent ? function(a) {$wnd.__gwtStatsEvent(a)} : null;"); out.newlineOpt(); out.print("var $strongName = '" + result.getStrongName() + "';"); out.newlineOpt(); out.print(result.getJavaScript()); out.newlineOpt(); out.print("gwtOnLoad(undefined, \"" + context.getModuleFunctionName() + "\", \"\", 0);"); out.newlineOpt(); out.print("})();"); out.newlineOpt(); return emitString(logger, out.toString(), context.getModuleName() + ".nocache.js"); }
From source file:org.cruxframework.crux.plugin.gadget.linker.GadgetLinker.java
License:Apache License
@Override protected String getModulePrefix(TreeLogger logger, LinkerContext context, String strongName) throws UnableToCompleteException { TextOutput out = new DefaultTextOutput(context.isOutputCompact()); // $wnd is the main window that the GWT code will affect and also the // location where the bootstrap function was defined. In iframe-based linkers, // $wnd is set to window.parent. Usually, in others, $wnd = window. // By default, $wnd is not set when the module starts, but a replacement for // installLocationIframe.js may set it. //BEGIN GADGET GWT 2.6.1 CHANGE out.print("var $wnd;"); out.newlineOpt();/*from ww w .ja va 2 s. com*/ out.print("if($wnd && $wnd." + context.getModuleFunctionName() + ") { $wnd = $wnd; } " + "else if(window." + context.getModuleFunctionName() + "){ $wnd = window; } " + "else { $wnd = window.parent; }"); //END GADGET GWT 2.6.1 CHANGE out.newlineOpt(); out.print("var __gwtModuleFunction = $wnd." + context.getModuleFunctionName() + ";"); out.newlineOpt(); out.print("var $sendStats = __gwtModuleFunction.__sendStats;"); out.newlineOpt(); out.print("$sendStats('moduleStartup', 'moduleEvalStart');"); out.newlineOpt(); out.print("var $gwt_version = \"" + About.getGwtVersionNum() + "\";"); out.newlineOpt(); out.print("var $strongName = '" + strongName + "';"); out.newlineOpt(); out.print("var $doc = $wnd.document;"); // The functions for runAsync are set up in the bootstrap script so they // can be overriden in the same way as other bootstrap code is, however // they will be called from, and expected to run in the scope of the GWT code // (usually an iframe) so, here we set up those pointers. out.print("function __gwtStartLoadingFragment(frag) {"); out.newlineOpt(); String fragDir = getFragmentSubdir(logger, context) + '/'; out.print("var fragFile = '" + fragDir + "' + $strongName + '/' + frag + '" + FRAGMENT_EXTENSION + "';"); out.newlineOpt(); out.print("return __gwtModuleFunction.__startLoadingFragment(fragFile);"); out.newlineOpt(); out.print("}"); out.newlineOpt(); out.print("function __gwtInstallCode(code) {return __gwtModuleFunction.__installRunAsyncCode(code);}"); out.newlineOpt(); // Even though we call the $sendStats function in the code written in this // linker, some of the compilation code still needs the $stats and // $sessionId // variables to be available. out.print("var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null;"); out.newlineOpt(); out.print("var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;"); out.newlineOpt(); return out.toString(); }
From source file:org.gwtproject.gwt.worker.linker.SingleScriptLinker.java
License:Apache License
@Override protected EmittedArtifact emitSelectionScript(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException { // Find the single Script result Set<Script> results = artifacts.find(Script.class); ensureSinglePermutation(logger, context, results); Script result = results.iterator().next(); DefaultTextOutput out = new DefaultTextOutput(true); // Emit the selection script. String bootstrap = generateSelectionScript(logger, context, artifacts); bootstrap = context.optimizeJavaScript(logger, bootstrap); out.print(bootstrap);/*from w ww. j av a 2 s . c o m*/ out.newlineOpt(); // Emit the module's JS a closure. out.print("(function () {"); out.newlineOpt(); out.print("var $gwt_version = \"" + About.getGwtVersionNum() + "\";"); out.newlineOpt(); defineJsWndAndDoc(out); out.print("var $moduleName, $moduleBase;"); out.newlineOpt(); out.print("var $stats = $wnd.__gwtStatsEvent ? function(a) {$wnd.__gwtStatsEvent(a)} : null;"); out.newlineOpt(); out.print("var $strongName = '" + result.getStrongName() + "';"); out.newlineOpt(); out.print(result.getJavaScript()); // Generate the call to tell the bootstrap code that we're ready to go. out.newlineOpt(); out.print("if (" + context.getModuleFunctionName() + ") " + context.getModuleFunctionName() + ".onScriptLoad(gwtOnLoad);"); out.newlineOpt(); out.print("})();"); out.newlineOpt(); return emitString(logger, out.toString(), context.getModuleName() + getCompilationExtension(logger, context)); }