29 Commits

Author SHA1 Message Date
David Ostrovsky
fbf6b7dabd Download commands: Add JGit archive
Since JGit 3.1 archive command was implemented. Add it to download
drop down as new line.

The following libraries are introduced in this change:

* jgit-archive (Apache 2)
* commons-compress (Apache 2)
* tukaani-xz (Public domain)

Change-Id: I5f61aac8c434414c73585a9320e84f4430dd111d
2014-03-03 23:34:46 +00:00
Dave Borowitz
5598c86c74 Update gwtjsonrpc to 1.5
Change-Id: Ic1dc85f87afedb2506e8264a0ca4fd5e749a5600
2014-02-24 14:49:26 -08:00
Dave Borowitz
02bf1cd82a Upgrade guava to 16.0
Change-Id: I810574fe5f6ed5c397b595092105d970eebfc3a2
2014-01-30 20:28:00 +00:00
Shawn Pearce
d573026720 Merge "Update GWT version to 2.6.0-rc3" 2014-01-24 05:14:02 +00:00
David Pursehouse
9918e069c4 Upgrade H2 to version 1.3.174
This version includes a fix for an LOB deadlock between reading
and updating LOB columns.

Bug: Issue 2365
Change-Id: I845d645ee4bc095ffb04f38a03dc00a4de7ff243
2014-01-24 00:58:17 +00:00
David Ostrovsky
a283507bcc Update GWT version to 2.6.0-rc3
GWT 2.6.0 has Java 7 support and other new features [1].

Internal Jetty version, shipped with GWT was updated to 8.1. This
version collides with the version that is used internally by Gerrit
(9.1).  To resolve the conflict, GWT's own Jetty version is stripped
from the gwt-dev.jar with maven_jar() method and Gerrit's own Jetty
used instead. Missing Jetty artifacts, needed for the GWT to run in
dev mode:

* jetty-webapp
* jetty-xml

are included now as dependency of gerrit-gwtdebug project.

New GWT version updates a number of dependencies that are used in
Gerrit [3]. Update them too.

EditIteratorTest test is failing with NSME Exception in gwt-test-utils
framework, so deactivate it for now [2].

[1] http://www.gwtproject.org/release-notes.html#Release_Notes_2_6_0_RC1
[2] https://code.google.com/p/gwt-test-utils/issues/detail?id=179
[3]
* Guava 15.0
* Protobuf 2.5.0
* ASM 4.1

Change-Id: I0fa96da6465d52febeae65168b0bd1c2913f6c7e
2014-01-23 06:39:08 +01:00
Shawn Pearce
7511ad7a1d Update parboiled to 1.1.6
Change-Id: I3ddd2e46593170fa48c6efdfbc26aeb5467a568e
2014-01-21 08:28:25 -08:00
Shawn Pearce
a74ec02f8d Update parboiled to 1.1.4
Change-Id: I59365316b77bcc35a477f6fb32fe23884e1feaa9
2014-01-17 09:57:27 -08:00
David Ostrovsky
e01d9b7f20 Bump Jetty version to stable 9.1 and Servlet API to 3.1
Change-Id: Ic6a374afa978e66ec1a04a2b39801da158ba31d7
2014-01-04 22:28:10 +01:00
Edwin Kempin
100af098ef Update org.pegdown:pegdown to 1.2.1
Change-Id: I1a4974b621d689ffd41073e1f1b140352c45aa1b
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
2013-12-30 10:32:35 +01:00
David Pursehouse
7275ab2aff Update gwtjsonrpc to 1.4
Change-Id: If2b9414c9efd73c29333bb1e8cec2230cd8b5f7f
2013-12-12 16:25:48 +09:00
David Pursehouse
b636df8177 Update gwtorm to 1.8
Change-Id: Id65589a87b62b72a64cc8a7d80ea9bbf612950ef
2013-12-09 14:15:03 +09:00
David Ostrovsky
985752f232 Bump args4j version to 2.0.26
New version has features which be useful for Gerrit core and plugins:

* new hidden attribute, specifying to hide it in help message
* new depends attribute, specifying the dependent option(s)
* multiValued attribute was removed

Change-Id: Ic7e9f37231cb83940db50fe3b9efe8ad972108cf
2013-11-15 09:58:39 +01:00
alex.ryazantsev
d215908bae Completed test migration to junit4, easymock updated to version 3.2
Change-Id: I6381045b3dae7133cc3589c5dd20ed977118a83d
2013-11-07 11:22:24 -08:00
Shawn Pearce
f5016f461b Merge branch 'stable-2.7' into stable-2.8
* stable-2.7:
  Bump JSch to 1.5.0 to fix Java7 compatibility
  Extend AddBranchResult with toString method implementation
  Get rid of JdbcSQLException while numbers are read from cache

Conflicts:
	gerrit-common/src/main/java/com/google/gerrit/common/data/AddBranchResult.java
	pom.xml

Change-Id: Ic3bae80a40bfa2d8e8eee598bcdbd771b99cbeda
2013-11-05 11:15:47 -08:00
Shawn Pearce
0264894220 Update Guava to 15.0
Change-Id: Ibf90914eb9143843ede026888cb3bda75d6118ef
2013-09-30 14:42:27 -07:00
Shawn Pearce
57defbb9e5 Remove jsr305 library
In d6ccccf96a238 Sasa Zivkov explained OSGI runtimes do not accept the
javax.annotation.* package to be provided by the application, as part
of the package is already included with the JRE.

Now that Gerrit has its own version of the @Nullable annotation, drop
the jsr305 library dependency.

Change-Id: I253fd74af7a73c5d5bc4a0b35755cc449957e0f2
2013-09-26 23:12:55 -07:00
Dave Borowitz
2474f211d4 Add dependency on the Google protocol buffer library
This allows us to use gwtorm's protobuf serialization support. Prior
to this, loading classes like ProtobufCodec would fail because we were
missing this transitive dependency.

Change-Id: I715317135fc3dab76bfe3ad78751e10f31309ebf
2013-09-10 15:59:25 -07:00
Shawn Pearce
99a38952cf Document diffy logo is CC-BY 3.0
Restructure the build process slightly so there is license information
attached to the diffy images.  The CC-BY 3.0 attribution information
and license will now appear in the documentation alongside all other
libraries used by Gerrit.

Change-Id: I8e3315fbe79ae1dc8e0444c6e6ed2ae241bcefb0
2013-08-21 08:57:42 -07:00
Shawn Pearce
7dac89264e Update Guava to 14.0.1
Change-Id: I957fcdf7ec415bfc27ebda6fd82d8916437f21bc
2013-08-14 16:30:23 -07:00
Shawn Pearce
7bc778d10f Update gwtorm to 1.7
Change-Id: I97fd85dac7f27b70531b3c471b9c0d4a8e785aab
2013-08-12 11:44:40 -07:00
David Ostrovsky
8d7ba2fd46 Bump H2 version to 1.3.173
The new version fixes the critical bug [1] that prevents us from be able to
migrate the ReviewDB schema.

[1] http://code.google.com/p/h2database/issues/detail?id=485
Change-Id: I6888b1df87a904c18eeea4bad2188dab51d60718
2013-08-04 22:13:14 +02:00
Ahaan Ugale
404c8246bc Add secondary index implementation using SolrCloud
SolrCloud can be used instead of Lucene by adding "type = SOLR"
under [index] and "url = <zookeeper-url>" under [index "solr"]
in gerrit.config.

Change-Id: I0ff8579c5e23c58b16f3605bc20eba4e80fb40fc
2013-06-27 13:52:39 -07:00
David Ostrovsky
020d76b7f9 BUCK: fix linking with Lucene
Make gerrit-lucene depend on reviewdb-server instead of -client.
This enables artifacts which depend on gerrit-lucene and on
reviewdb-server (gerrit-pgm) to be combined together into a
java_binary(). Otherwise it would not be possible because of
duplicate classes: reviewdb-server.jar contains classes in common
with reviewdb-client.jar.

The same holds true for LICENSE.txt and NOTICE.txt:
skip these files from Maven artifacts lucene-core.jar and
lucene-analyzers-common.jar. Otherwise it wouldn't be possible to
put artifacts which depend on gerrit-lucene into a java_binary().

Change-Id: I20a7f087b517a6ddadf58e88890fe68505177d48
2013-06-19 09:15:22 -07:00
Dave Borowitz
9161eda6d5 Index modified filenames with Lucene
Add a ChangeIndex interface and an implementation based on Apache
Lucene[1] to provide a secondary index, indexing things we won't or
can't index in the database.

As an example, index the list of modified files in the most recent
patch set of each change. Provide an EqualsFilePredicate for searching
on exact filenames[2], and teach the query builder to rewrite such
predicates as ChangeDataSources returning results from the index.

As this feature is still experimental but we want to avoid prolonged
feature branch development, protect it with an undocumented
index.enabled boolean in gerrit.config.

[1] http://lucene.apache.org/core/

[2] Uses the "file:" operator the same as RegexFilePredicate, but does
    not support regular expressions in the search context.

Change-Id: Ie14ebe062d991eb9626f7b5d78b2d193c1bcb33f
2013-05-29 15:06:15 -07:00
Shawn Pearce
1e279c10fd 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
2013-05-20 11:39:10 -07:00
Shawn Pearce
bd5629718f Update buck build for strict dependencies
java_library() targets must now list every dependency they need for
an import. This permits buck to run more targets in parallel as it
has a better view of the dependency graph, and opens the door for
buck to make even more optimizations in the future.

Change-Id: I132bf47a725e44ba5950ba6ca76bfa72c3876906
2013-05-16 01:14:27 +00:00
Shawn Pearce
784dce39c9 Download H2 sources
Having sources can help with debugging sections of code like launching
a browser during init, or the local cache support that is heavily
based on H2.

Change-Id: Ic06e97066f0daa2fae53374a7dcb755169a88acf
2013-05-13 22:47:35 -07:00
Shawn Pearce
fd6bb9f6a5 Build with Buck
Implement a new build system using Buck[1], Facebook's
open source clone of Google's internal build system.

  Pros:
  - Concise build language
  - Test and build output is concise
  - Test failures and stack traces show on terminal
  - Reliable incrementals; clean is unnecessary
  - Extensible with simple blocks of Python
  - Fast
      buck: clean: 0.452s, full 1m21.083s [*], no-op:  7.145s,
      mvn:  clean: 4.596s, full 2m53.776s,     no-op: 59.108s,

      [*] full build includes downloading all dependencies,
          time can vary due to remote server performance.

  Cons:
  - No Windows support
  - No native Maven Central support (added by macros)
  - No native GWT, Prolog, or WAR support (added by macros)
  - Bootstrap of buck requires Ant

Getting started:

  git clone https://gerrit.googlesource.com/buck
  cd buck
  ant

  Mac OS X:
    PATH="`pwd`/bin:/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands:$PATH"

  Linux:
    PATH="`pwd`/bin:$PATH"

Importing into Eclipse:

  $ time buck build :eclipse
  0m48.949s

  Import existing project from `pwd`
  Import 'gerrit' (do not import other Maven based projects)
  Expand 'gerrit'
  Right click 'buck-out' > Properties
  Under Attributes check 'Derived'

  If the code doesn't currently compile but an updated classpath
  is needed, refresh the configs and obtain missing JARs:

  $ buck build :eclipse_project :download

Running JUnit tests:

  $ time buck test --all -e slow  # skip slow tests
  0m19.320s

  $ time buck test --all          # includes acceptance tests
  5m17.517s

Building WAR:

  $ buck build :gerrit
  $ java -jar buck-out/gen/gerrit.war

Building release:

  $ buck test --all && buck build :api :release
  $ java -jar buck-out/gen/release.war
  $ ls -lh buck-out/gen/{extension,plugin}-api.jar

Downloading dependencies:

  Dependencies are normally downloaded automatically, but Buck can
  inspect its graph and download missing dependencies so future
  compiles can run without the network:

  $ buck build :download

[1] http://facebook.github.io/buck/

Change-Id: I40853b108bd8e153cefa0896a5280a9a5ff81655
2013-05-09 13:40:36 +00:00