Include codemirror 3.13
Download and package codemirror 3.13 for inclusion in the UI. This may eventually replace the current side-by-side viewer, as well as offer rich online editing to make small fixes to existing changes. Change-Id: I483fb46d9e18164d189826eca5cb96f9a1471c7e
This commit is contained in:
@@ -74,6 +74,7 @@ gwt_module(
|
|||||||
'//lib:gwtjsonrpc_src',
|
'//lib:gwtjsonrpc_src',
|
||||||
'//lib:gwtorm',
|
'//lib:gwtorm',
|
||||||
'//lib:jsr305',
|
'//lib:jsr305',
|
||||||
|
'//lib/codemirror:codemirror',
|
||||||
'//lib/gwt:user',
|
'//lib/gwt:user',
|
||||||
'//lib/jgit:jgit',
|
'//lib/jgit:jgit',
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -28,11 +28,15 @@
|
|||||||
<inherits name='com.google.gerrit.Common'/>
|
<inherits name='com.google.gerrit.Common'/>
|
||||||
<inherits name='com.google.gerrit.UserAgent'/>
|
<inherits name='com.google.gerrit.UserAgent'/>
|
||||||
<inherits name='org.eclipse.jgit.JGit'/>
|
<inherits name='org.eclipse.jgit.JGit'/>
|
||||||
|
<inherits name='net.codemirror.CodeMirror'/>
|
||||||
|
|
||||||
<extend-property name='locale' values='en'/>
|
<extend-property name='locale' values='en'/>
|
||||||
<set-property-fallback name='locale' value='en'/>
|
<set-property-fallback name='locale' value='en'/>
|
||||||
<set-property name='locale' value='en'/>
|
<set-property name='locale' value='en'/>
|
||||||
<set-configuration-property name='UiBinder.useSafeHtmlTemplates' value='true'/>
|
<set-configuration-property name='UiBinder.useSafeHtmlTemplates' value='true'/>
|
||||||
|
|
||||||
|
<set-property name='gwt.logging.logLevel' value='SEVERE'/>
|
||||||
|
<set-property name='gwt.logging.popupHandler' value='DISABLED'/>
|
||||||
|
|
||||||
<entry-point class='com.google.gerrit.client.Gerrit'/>
|
<entry-point class='com.google.gerrit.client.Gerrit'/>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -85,6 +85,8 @@ import com.google.gwtjsonrpc.client.impl.ResultDeserializer;
|
|||||||
import com.google.gwtjsonrpc.common.AsyncCallback;
|
import com.google.gwtjsonrpc.common.AsyncCallback;
|
||||||
import com.google.gwtorm.client.KeyUtil;
|
import com.google.gwtorm.client.KeyUtil;
|
||||||
|
|
||||||
|
import net.codemirror.lib.CodeMirror;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class Gerrit implements EntryPoint {
|
public class Gerrit implements EntryPoint {
|
||||||
@@ -366,6 +368,7 @@ public class Gerrit implements EntryPoint {
|
|||||||
|
|
||||||
initHostname();
|
initHostname();
|
||||||
Window.setTitle(M.windowTitle1(myHost));
|
Window.setTitle(M.windowTitle1(myHost));
|
||||||
|
CodeMirror.install();
|
||||||
|
|
||||||
final HostPageDataService hpd = GWT.create(HostPageDataService.class);
|
final HostPageDataService hpd = GWT.create(HostPageDataService.class);
|
||||||
hpd.load(new GerritCallback<HostPageData>() {
|
hpd.load(new GerritCallback<HostPageData>() {
|
||||||
|
|||||||
20
gerrit-gwtui/src/main/java/net/codemirror/CodeMirror.gwt.xml
Normal file
20
gerrit-gwtui/src/main/java/net/codemirror/CodeMirror.gwt.xml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
Copyright (C) 2013 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<module>
|
||||||
|
<inherits name='com.google.gwt.logging.Logging'/>
|
||||||
|
<inherits name='com.google.gwt.resources.Resources'/>
|
||||||
|
<source path='lib'/>
|
||||||
|
</module>
|
||||||
68
gerrit-gwtui/src/main/java/net/codemirror/lib/CodeMirror.java
vendored
Normal file
68
gerrit-gwtui/src/main/java/net/codemirror/lib/CodeMirror.java
vendored
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
// Copyright (C) 2013 The Android Open Source Project
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
package net.codemirror.lib;
|
||||||
|
|
||||||
|
import com.google.gwt.dom.client.Document;
|
||||||
|
import com.google.gwt.dom.client.ScriptElement;
|
||||||
|
import com.google.gwt.dom.client.StyleInjector;
|
||||||
|
import com.google.gwt.resources.client.ExternalTextResource;
|
||||||
|
import com.google.gwt.resources.client.ResourceCallback;
|
||||||
|
import com.google.gwt.resources.client.ResourceException;
|
||||||
|
import com.google.gwt.resources.client.TextResource;
|
||||||
|
import com.google.gwt.safehtml.shared.SafeUri;
|
||||||
|
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
public class CodeMirror {
|
||||||
|
public static void install() {
|
||||||
|
asyncInjectCss(Lib.I.css());
|
||||||
|
asyncInjectScript(Lib.I.js().getSafeUri());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void asyncInjectCss(ExternalTextResource css) {
|
||||||
|
try {
|
||||||
|
css.getText(new ResourceCallback<TextResource>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(TextResource resource) {
|
||||||
|
StyleInjector.inject(resource.getText());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(ResourceException e) {
|
||||||
|
error(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (ResourceException e) {
|
||||||
|
error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void asyncInjectScript(SafeUri uri) {
|
||||||
|
ScriptElement script = Document.get().createScriptElement();
|
||||||
|
script.setSrc(uri.asString());
|
||||||
|
script.setLang("javascript");
|
||||||
|
script.setType("text/javascript");
|
||||||
|
Document.get().getBody().appendChild(script);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void error(ResourceException e) {
|
||||||
|
Logger log = Logger.getLogger("net.codemirror");
|
||||||
|
log.log(Level.SEVERE, "Cannot fetch CSS", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private CodeMirror() {
|
||||||
|
}
|
||||||
|
}
|
||||||
32
gerrit-gwtui/src/main/java/net/codemirror/lib/Lib.java
vendored
Normal file
32
gerrit-gwtui/src/main/java/net/codemirror/lib/Lib.java
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
// Copyright (C) 2013 The Android Open Source Project
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
package net.codemirror.lib;
|
||||||
|
|
||||||
|
import com.google.gwt.core.client.GWT;
|
||||||
|
import com.google.gwt.resources.client.ClientBundle;
|
||||||
|
import com.google.gwt.resources.client.DataResource;
|
||||||
|
import com.google.gwt.resources.client.DataResource.DoNotEmbed;
|
||||||
|
import com.google.gwt.resources.client.ExternalTextResource;
|
||||||
|
|
||||||
|
interface Lib extends ClientBundle {
|
||||||
|
static final Lib I = GWT.create(Lib.class);
|
||||||
|
|
||||||
|
@Source("codemirror.css")
|
||||||
|
ExternalTextResource css();
|
||||||
|
|
||||||
|
@Source("codemirror.js")
|
||||||
|
@DoNotEmbed
|
||||||
|
DataResource js();
|
||||||
|
}
|
||||||
1
lib/BUCK
1
lib/BUCK
@@ -9,6 +9,7 @@ define_license(name = 'args4j')
|
|||||||
define_license(name = 'automaton')
|
define_license(name = 'automaton')
|
||||||
define_license(name = 'bouncycastle')
|
define_license(name = 'bouncycastle')
|
||||||
define_license(name = 'clippy')
|
define_license(name = 'clippy')
|
||||||
|
define_license(name = 'codemirror')
|
||||||
define_license(name = 'h2')
|
define_license(name = 'h2')
|
||||||
define_license(name = 'jgit')
|
define_license(name = 'jgit')
|
||||||
define_license(name = 'jsch')
|
define_license(name = 'jsch')
|
||||||
|
|||||||
19
lib/LICENSE-codemirror
Normal file
19
lib/LICENSE-codemirror
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
Copyright (C) 2013 by Marijn Haverbeke <marijnh@gmail.com>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
35
lib/codemirror/BUCK
Normal file
35
lib/codemirror/BUCK
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
VERSION = '3.13'
|
||||||
|
SHA1 = '7a83ae686d75afd30bb152d7683f2dc27e59ea82'
|
||||||
|
URL = 'http://codemirror.net/codemirror-%s.zip' % VERSION
|
||||||
|
|
||||||
|
# TODO(sop) Repackage by license boundaries.
|
||||||
|
# TODO(sop) Minify with Closure JS compiler.
|
||||||
|
genrule(
|
||||||
|
name = 'codemirror',
|
||||||
|
cmd = ';'.join([
|
||||||
|
'cd $TMP',
|
||||||
|
'mkdir net META-INF',
|
||||||
|
'unzip -d net $SRCS',
|
||||||
|
'mv net/codemirror-%s net/codemirror' % VERSION,
|
||||||
|
'echo "Manifest-Version: 1.0" >META-INF/MANIFEST.MF',
|
||||||
|
'zip -r $OUT *'
|
||||||
|
]),
|
||||||
|
srcs = [genfile('dist.zip')],
|
||||||
|
deps = [
|
||||||
|
':download',
|
||||||
|
'//lib:LICENSE-codemirror',
|
||||||
|
],
|
||||||
|
out = 'codemirror.jar',
|
||||||
|
visibility = ['PUBLIC'],
|
||||||
|
)
|
||||||
|
|
||||||
|
genrule(
|
||||||
|
name = 'download',
|
||||||
|
cmd = '${//tools:download_file}' +
|
||||||
|
' -o $OUT' +
|
||||||
|
' -u ' + URL +
|
||||||
|
' -v ' + SHA1,
|
||||||
|
srcs = [],
|
||||||
|
deps = ['//tools:download_file'],
|
||||||
|
out = 'dist.zip',
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user