Merge branch 'stable-2.11'
* stable-2.11:
Build with API version 2.11.7
Fix retrieval of path from URL
Change-Id: If2b80affc142828ac3fb6f691f01735341e2ed33
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/BUCK b/BUCK
index 3cca9ac..2bd5f04 100644
--- a/BUCK
+++ b/BUCK
@@ -6,10 +6,12 @@
ASCIIDOCTOR = '//lib/asciidoctor:asciidoc_lib'
DAISYDIFF = '//lib/daisydiff:daisydiff_lib'
DOCX4J = '//lib/docx4j:docx4j_lib'
+ COMMONS_IO = '//lib/commons:io'
else:
ASCIIDOCTOR = '//plugins/x-docs/lib/asciidoctor:asciidoc_lib'
DAISYDIFF = '//plugins/x-docs/lib/daisydiff:daisydiff_lib'
DOCX4J = '//plugins/x-docs/lib/docx4j:docx4j_lib'
+ COMMONS_IO = '//plugins/x-docs/lib/commons:io'
gerrit_plugin(
name = 'x-docs',
@@ -17,9 +19,7 @@
resources = glob(['src/main/**/*']),
gwt_module = MODULE,
manifest_entries = [
- 'Gerrit-PluginName: xdocs',
'Gerrit-ApiType: plugin',
- 'Gerrit-ApiVersion: 2.11',
'Gerrit-HttpModule: com.googlesource.gerrit.plugins.xdocs.HttpModule',
'Gerrit-Module: com.googlesource.gerrit.plugins.xdocs.Module',
'Gerrit-InitStep: com.googlesource.gerrit.plugins.xdocs.XDocInit',
@@ -28,6 +28,7 @@
ASCIIDOCTOR,
DAISYDIFF,
DOCX4J,
+ COMMONS_IO,
],
)
diff --git a/VERSION b/VERSION
index 920fe49..9df7bf7 100644
--- a/VERSION
+++ b/VERSION
@@ -1,5 +1,5 @@
# Used by BUCK to include "Implementation-Version" in plugin Manifest.
# If this file doesn't exist the output of 'git describe' is used
# instead.
-PLUGIN_VERSION = '2.11'
+PLUGIN_VERSION = '2.12-SNAPSHOT'
diff --git a/lib/gerrit/BUCK b/lib/gerrit/BUCK
index e48e352..f1ab768 100644
--- a/lib/gerrit/BUCK
+++ b/lib/gerrit/BUCK
@@ -1,12 +1,12 @@
include_defs('//bucklets/maven_jar.bucklet')
-VER = '2.11.7'
+VER = '2.12'
REPO = MAVEN_CENTRAL
maven_jar(
name = 'plugin-api',
id = 'com.google.gerrit:gerrit-plugin-api:' + VER,
- sha1 = 'e49e930c5c4ce74fc2c4c1cde1ddfb3ff77d0d63',
+ sha1 = '8ce1f6e65078bbcf03a1758f96b3ebca19b7fe3c',
attach_source = False,
repository = REPO,
license = 'Apache2.0',
@@ -15,7 +15,7 @@
maven_jar(
name = 'gwtui-api',
id = 'com.google.gerrit:gerrit-plugin-gwtui:' + VER,
- sha1 = '1dc70f829c0b5310141dd9bd12e1bafcda48724f',
+ sha1 = 'a7e7d82746b847678022242ec9eb44d1f16e8639',
attach_source = False,
repository = REPO,
license = 'Apache2.0',
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index f3eb9e2..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,355 +0,0 @@
-<!--
-Copyright (C) 2014 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>
-
- <groupId>com.googlesource.gerrit.plugins.xdocs</groupId>
- <artifactId>xdocs</artifactId>
- <packaging>jar</packaging>
- <version>2.11.7</version>
- <name>xdocs</name>
-
- <properties>
- <Gerrit-ApiType>plugin</Gerrit-ApiType>
- <Gerrit-ApiVersion>${project.version}</Gerrit-ApiVersion>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.4</version>
- <configuration>
- <archive>
- <manifestEntries>
- <Gerrit-PluginName>xdocs</Gerrit-PluginName>
- <Gerrit-HttpModule>com.googlesource.gerrit.plugins.xdocs.HttpModule</Gerrit-HttpModule>
- <Gerrit-Module>com.googlesource.gerrit.plugins.xdocs.Module</Gerrit-Module>
- <Gerrit-InitStep>com.googlesource.gerrit.plugins.xdocs.XDocInit</Gerrit-InitStep>
-
- <Implementation-Vendor>Gerrit Code Review</Implementation-Vendor>
- <Implementation-URL>http://code.google.com/p/gerrit/</Implementation-URL>
-
- <Implementation-Title>${Gerrit-ApiType} ${project.artifactId}</Implementation-Title>
- <Implementation-Version>${project.version}</Implementation-Version>
-
- <Gerrit-ApiType>${Gerrit-ApiType}</Gerrit-ApiType>
- <Gerrit-ApiVersion>${Gerrit-ApiVersion}</Gerrit-ApiVersion>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.3.2</version>
- <configuration>
- <source>1.7</source>
- <target>1.7</target>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>gwt-maven-plugin</artifactId>
- <version>2.7.0</version>
- <configuration>
- <module>com.googlesource.gerrit.plugins.xdocs.XDocs</module>
- <disableClassMetadata>true</disableClassMetadata>
- <disableCastChecking>true</disableCastChecking>
- <webappDirectory>${project.build.directory}/classes/static</webappDirectory>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
- <createDependencyReducedPom>false</createDependencyReducedPom>
- </configuration>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>com.google.gerrit</groupId>
- <artifactId>gerrit-${Gerrit-ApiType}-api</artifactId>
- <version>${Gerrit-ApiVersion}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.google.gerrit</groupId>
- <artifactId>gerrit-plugin-gwtui</artifactId>
- <version>${Gerrit-ApiVersion}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.google.gwt</groupId>
- <artifactId>gwt-user</artifactId>
- <version>2.7.0</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj</artifactId>
- <version>1.5.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.outerj.daisy</groupId>
- <artifactId>daisydiff</artifactId>
- <version>1.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.docx4j</groupId>
- <artifactId>docx4j</artifactId>
- <version>3.2.1</version>
- </dependency>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>antlr</artifactId>
- <version>3.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>antlr-runtime</artifactId>
- <version>3.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>stringtemplate</artifactId>
- <version>3.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.avalon.framework</groupId>
- <artifactId>avalon-framework-api</artifactId>
- <version>4.3.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.avalon.framework</groupId>
- <artifactId>avalon-framework-impl</artifactId>
- <version>4.3.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-anim</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-awt-util</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-bridge</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-css</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-dom</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-ext</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-extension</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-gvt</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-js</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-parser</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-script</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-svg-dom</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-svggen</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-transcoder</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-util</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>batik-xml</artifactId>
- <version>1.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>fop</artifactId>
- <version>1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>xmlgraphics-commons</artifactId>
- <version>1.5</version>
- </dependency>
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi</artifactId>
- <version>3.10.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi-scratchpad</artifactId>
- <version>3.10.1</version>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.4</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.4</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>18.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.plutext</groupId>
- <artifactId>jaxb-svg11</artifactId>
- <version>1.0.2</version>
- </dependency>
- <dependency>
- <groupId>org.plutext</groupId>
- <artifactId>jaxb-xmldsig-core</artifactId>
- <version>1.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.plutext</groupId>
- <artifactId>jaxb-xslfo</artifactId>
- <version>1.0.1</version>
- </dependency>
- <dependency>
- <groupId>net.engio</groupId>
- <artifactId>mbassador</artifactId>
- <version>1.2.0</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.7.7</version>
- </dependency>
- <dependency>
- <groupId>net.arnx</groupId>
- <artifactId>wmf2svg</artifactId>
- <version>0.9.7</version>
- </dependency>
- <dependency>
- <groupId>xalan</groupId>
- <artifactId>xalan</artifactId>
- <version>2.7.2</version>
- </dependency>
- <dependency>
- <groupId>xalan</groupId>
- <artifactId>serializer</artifactId>
- <version>2.7.2</version>
- </dependency>
- <dependency>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- <version>1.3.04</version>
- </dependency>
- </dependencies>
-
- <repositories>
- <repository>
- <id>snapshot-repository</id>
- <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
- </repository>
- <repository>
- <id>atlassian</id>
- <url>https://maven.atlassian.com/content/repositories/atlassian-3rdparty</url>
- </repository>
- </repositories>
-</project>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/Module.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/Module.java
index 70506c5..b90db61 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/Module.java
@@ -18,6 +18,7 @@
import com.google.gerrit.extensions.annotations.Exports;
import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.extensions.client.GerritTopMenu;
+import com.google.gerrit.extensions.config.FactoryModule;
import com.google.gerrit.extensions.registration.DynamicMap;
import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.extensions.webui.BranchWebLink;
@@ -25,7 +26,6 @@
import com.google.gerrit.extensions.webui.FileWebLink;
import com.google.gerrit.extensions.webui.ProjectWebLink;
import com.google.gerrit.extensions.webui.TopMenu;
-import com.google.gerrit.server.config.FactoryModule;
import com.google.inject.Inject;
import com.googlesource.gerrit.plugins.xdocs.formatter.AsciidoctorFormatter;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocInit.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocInit.java
index 0a3323b..d916d1d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocInit.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocInit.java
@@ -44,7 +44,8 @@
@Override
public void run() throws Exception {
- File pluginConfig = new File(sitePaths.etc_dir, pluginName + ".config");
+ File pluginConfig = new File(
+ sitePaths.etc_dir.toFile(), pluginName + ".config");
if (!pluginConfig.exists()) {
ui.message("\n");
ui.header("%s plugin", pluginName);
@@ -57,11 +58,14 @@
pluginConfig.getAbsolutePath());
}
- extract(new File(sitePaths.static_dir, "xdocs/css/unified.css"),
+ extract(new File(sitePaths.static_dir.toFile(),
+ "xdocs/css/unified.css").toPath(),
XDocInit.class, "diff/unified.css");
- extract(new File(sitePaths.static_dir, "xdocs/css/sidebyside-a.css"),
+ extract(new File(sitePaths.static_dir.toFile(),
+ "xdocs/css/sidebyside-a.css").toPath(),
XDocInit.class, "diff/sidebyside-a.css");
- extract(new File(sitePaths.static_dir, "xdocs/css/sidebyside-b.css"),
+ extract(new File(sitePaths.static_dir.toFile(),
+ "xdocs/css/sidebyside-b.css").toPath(),
XDocInit.class, "diff/sidebyside-b.css");
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java
index d63502d..ebae46c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java
@@ -141,8 +141,7 @@
projectControl);
String revB = getRevision(key.revisionB, projectControl);
- Repository repo = repoManager.openRepository(key.project);
- try {
+ try (Repository repo = repoManager.openRepository(key.project)) {
ObjectId revId =
resolveRevision(repo,
key.diffMode == DiffMode.NO_DIFF
@@ -185,8 +184,6 @@
}
rsc.send(req, res);
return;
- } finally {
- repo.close();
}
} catch (RepositoryNotFoundException | NoSuchProjectException
| ResourceNotFoundException | AuthException | RevisionSyntaxException e) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocWebLink.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocWebLink.java
index 1d7cf4e..5ec6172 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocWebLink.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocWebLink.java
@@ -113,36 +113,31 @@
}
Project.NameKey p = new Project.NameKey(projectName);
- try {
- Repository repo = repoManager.openRepository(p);
- try {
- ObjectId revId = repo.resolve(revision);
- if (revId == null) {
- return null;
- }
- Resource rsc = docCache.get(formatter, p, fileName, revId, null, null);
- if (rsc != Resource.NOT_FOUND) {
- StringBuilder url = new StringBuilder();
- if (framed) {
- url.append("#/x/");
- } else {
- url.append("plugins/");
- }
- url.append(pluginName);
- url.append(XDocServlet.PATH_PREFIX);
- url.append(Url.encode(projectName));
- if (revision != null && !Constants.HEAD.equals(revision)) {
- url.append("/rev/");
- url.append(Url.encode(revision));
- }
- url.append("/");
- url.append(fileName);
- return url.toString();
+ try (Repository repo = repoManager.openRepository(p)) {
+ ObjectId revId = repo.resolve(revision);
+ if (revId == null) {
+ return null;
+ }
+ Resource rsc = docCache.get(formatter, p, fileName, revId, null, null);
+ if (rsc != Resource.NOT_FOUND) {
+ StringBuilder url = new StringBuilder();
+ if (framed) {
+ url.append("#/x/");
} else {
- return null;
+ url.append("plugins/");
}
- } finally {
- repo.close();
+ url.append(pluginName);
+ url.append(XDocServlet.PATH_PREFIX);
+ url.append(Url.encode(projectName));
+ if (revision != null && !Constants.HEAD.equals(revision)) {
+ url.append("/rev/");
+ url.append(Url.encode(revision));
+ }
+ url.append("/");
+ url.append(fileName);
+ return url.toString();
+ } else {
+ return null;
}
} catch (IOException e) {
log.error("Failed to check for project documentation", e);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/ChangeInfo.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/ChangeInfo.java
index d95b5f4..a4507a5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/ChangeInfo.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/ChangeInfo.java
@@ -41,7 +41,6 @@
public final boolean isOpen() {
switch (getStatus()) {
case NEW:
- case SUBMITTED:
case DRAFT:
return true;
default:
diff --git a/src/main/resources/Documentation/build.md b/src/main/resources/Documentation/build.md
index 4c56ed6..8b5de99 100644
--- a/src/main/resources/Documentation/build.md
+++ b/src/main/resources/Documentation/build.md
@@ -1,10 +1,7 @@
Build
=====
-This plugin can be built with Buck or Maven.
-
-Buck
-----
+This plugin is built using Buck.
Two build modes are supported: Standalone and in Gerrit tree.
The standalone build mode is recommended, as this mode doesn't require
@@ -62,16 +59,3 @@
```
./tools/eclipse/project.py
```
-
-Maven
------
-
-Note that the Maven build is provided for compatibility reasons, but
-it is considered to be deprecated and will be removed in a future
-version of this plugin.
-
-To build with Maven, run
-
-```
-mvn clean package
-```