diff options
-rw-r--r-- | gerrit-plugin-api/pom.xml | 8 | ||||
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java | 25 | ||||
-rw-r--r-- | gerrit-unsign-jgit/.gitignore | 6 | ||||
-rw-r--r-- | gerrit-unsign-jgit/pom.xml | 80 | ||||
-rw-r--r-- | gerrit-war/pom.xml | 8 | ||||
-rw-r--r-- | pom.xml | 3 |
6 files changed, 111 insertions, 19 deletions
diff --git a/gerrit-plugin-api/pom.xml b/gerrit-plugin-api/pom.xml index 0bfc55d082..84de15804e 100644 --- a/gerrit-plugin-api/pom.xml +++ b/gerrit-plugin-api/pom.xml @@ -106,6 +106,14 @@ limitations under the License. <exclude>gerrit/**</exclude> </excludes> </filter> + <filter> + <artifact>*:*</artifact> + <excludes> + <exclude>META-INF/*.SF</exclude> + <exclude>META-INF/*.DSA</exclude> + <exclude>META-INF/*.RSA</exclude> + </excludes> + </filter> </filters> </configuration> <executions> diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java index 43f6719c70..b6000964b2 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java @@ -411,7 +411,7 @@ public class MergeUtil { return false; } - final ThreeWayMerger m = newThreeWayMerger(repo, createDryRunInserter()); + ThreeWayMerger m = newThreeWayMerger(repo, createDryRunInserter(repo)); try { return m.merge(new AnyObjectId[] {mergeTip, toMerge}); } catch (NoMergeBaseException e) { @@ -457,8 +457,7 @@ public class MergeUtil { // that on the current merge tip. // try { - final ThreeWayMerger m = - newThreeWayMerger(repo, createDryRunInserter()); + ThreeWayMerger m = newThreeWayMerger(repo, createDryRunInserter(repo)); m.setBase(toMerge.getParent(0)); return m.merge(mergeTip, toMerge); } catch (IOException e) { @@ -485,17 +484,12 @@ public class MergeUtil { } } - public ObjectInserter createDryRunInserter() { - return new ObjectInserter() { - private final MutableObjectId buf = new MutableObjectId(); - private final static int LAST_BYTE = Constants.OBJECT_ID_LENGTH - 1; - + public static ObjectInserter createDryRunInserter(Repository db) { + final ObjectInserter delegate = db.newObjectInserter(); + return new ObjectInserter.Filter() { @Override - public ObjectId insert(int objectType, long length, InputStream in) - throws IOException { - // create non-existing dummy ID - buf.setByte(LAST_BYTE, buf.getByte(LAST_BYTE) + 1); - return buf.copy(); + protected ObjectInserter delegate() { + return delegate; } @Override @@ -507,11 +501,6 @@ public class MergeUtil { public void flush() throws IOException { // Do nothing. } - - @Override - public void release() { - // Do nothing. - } }; } diff --git a/gerrit-unsign-jgit/.gitignore b/gerrit-unsign-jgit/.gitignore new file mode 100644 index 0000000000..43ebee2c60 --- /dev/null +++ b/gerrit-unsign-jgit/.gitignore @@ -0,0 +1,6 @@ +/target +/.classpath +/.project +/.settings/org.maven.ide.eclipse.prefs +/.settings/org.eclipse.m2e.core.prefs +/gerrit-unsign-jgit.iml diff --git a/gerrit-unsign-jgit/pom.xml b/gerrit-unsign-jgit/pom.xml new file mode 100644 index 0000000000..9b8299177f --- /dev/null +++ b/gerrit-unsign-jgit/pom.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright (C) 2009 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. +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>com.google.gerrit</groupId> + <artifactId>gerrit-parent</artifactId> + <version>2.7</version> + </parent> + + <artifactId>gerrit-unsign-jgit</artifactId> + <name>Gerrit Code Review - Remove signature from JGit</name> + + <description> + Make hacked JGit acceptable to the class loader + </description> + + <dependencies> + <dependency> + <groupId>org.eclipse.jgit</groupId> + <artifactId>org.eclipse.jgit</artifactId> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <configuration> + <artifactSet> + <excludes> + <exclude>com.googlecode.javaewah:JavaEWAH</exclude> + <exclude>com.jcraft:jsch</exclude> + <exclude>org.apache.httpcomponents:httpclient</exclude> + <exclude>org.apache.httpcomponents:httpcore</exclude> + <exclude>commons-codec:commons-codec</exclude> + <exclude>commons-logging:commons-logging</exclude> + </excludes> + </artifactSet> + <filters> + <filter> + <artifact>*:*</artifact> + <excludes> + <exclude>META-INF/*.SF</exclude> + <exclude>META-INF/*.DSA</exclude> + <exclude>META-INF/*.RSA</exclude> + </excludes> + </filter> + </filters> + </configuration> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/gerrit-war/pom.xml b/gerrit-war/pom.xml index b6c90e1f4a..f65a920f4b 100644 --- a/gerrit-war/pom.xml +++ b/gerrit-war/pom.xml @@ -108,6 +108,13 @@ limitations under the License. </dependency> <dependency> + <groupId>com.google.gerrit</groupId> + <artifactId>gerrit-unsign-jgit</artifactId> + <version>${project.version}</version> + <scope>runtime</scope> + </dependency> + + <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> <scope>provided</scope> @@ -209,6 +216,7 @@ limitations under the License. </includes> </overlay> </overlays> + <packagingExcludes>WEB-INF/lib/org.eclipse.jgit-*.jar</packagingExcludes> </configuration> </plugin> @@ -46,7 +46,7 @@ limitations under the License. </issueManagement> <properties> - <jgitVersion>2.3.1.201302201838-r.209-g18030f9</jgitVersion> + <jgitVersion>3.5.3.201412180710-r</jgitVersion> <gwtormVersion>1.6</gwtormVersion> <gwtjsonrpcVersion>1.3</gwtjsonrpcVersion> <gwtVersion>2.5.0</gwtVersion> @@ -68,6 +68,7 @@ limitations under the License. <modules> <module>gerrit-patch-commonsnet</module> <module>gerrit-patch-jgit</module> + <module>gerrit-unsign-jgit</module> <module>gerrit-util-cli</module> <module>gerrit-util-ssl</module> |