Merge branch 'stable-2.13' into stable-2.14

* stable-2.13:
  Set version to 2.13.14 and require Java 8
  Set version to 2.13.13
  Release Gerrit version 2.13.12
  Bump to Gerrit v2.13.11 for macOS intaller
  Bump to Gerrit version 2.13.11
  Get Ubuntu 15.04 packages from old-releases
  Bump to Gerrit Ver. 2.13.10
  Bump to Gerrit Ver. 2.13.9

Change-Id: Ie26232f0371a150cf27b1eaba07f64c5d0ccf062
diff --git a/docker/centos7/Makefile b/docker/centos7/Makefile
index c1284e2..2ecbbc1 100644
--- a/docker/centos7/Makefile
+++ b/docker/centos7/Makefile
@@ -1,7 +1,7 @@
 # Customise the following variable as Make parameters
 # to produce a yum.repo for a VENDOR distribution
 # Default values are pointing to GerritForge (www.gerritforge.com)
-VERSION=2.13.14
+VERSION=2.14.20
 RELEASE=1
 REPO_VERSION=1
 REPO_RELEASE=2
@@ -13,7 +13,7 @@
 # End of the variables that can be customized
 
 define DOCKERFILE
-FROM centos:7.2.1511
+FROM centos:7.3.1611
 MAINTAINER $(VENDOR)
 
 # Allow remote connectivity and sudo
@@ -34,6 +34,8 @@
 # Allow incoming traffic
 EXPOSE 29418 8080
 
+VOLUME ["/var/gerrit/git", "/var/gerrit/index", "/var/gerrit/cache", "/var/gerrit/db", "/var/gerrit/etc"]
+
 # Start Gerrit
 CMD /var/gerrit/bin/gerrit.sh start && tail -f /var/gerrit/logs/error_log
 endef
@@ -50,6 +52,6 @@
 	echo "$$DOCKERFILE" > Dockerfile
 
 run: image
-	docker run -d -p 8080:8080 -p 29418:29418 $(IMAGE):$(VERSION)
+	docker run -d --hostname $$HOSTNAME -p 8080:8080 -p 29418:29418 $(IMAGE):$(VERSION)
 
 .PHONY: clean prepare image
diff --git a/docker/ubuntu15.04/Makefile b/docker/ubuntu16.04/Makefile
similarity index 80%
rename from docker/ubuntu15.04/Makefile
rename to docker/ubuntu16.04/Makefile
index 71546c9..c0b3a53 100644
--- a/docker/ubuntu15.04/Makefile
+++ b/docker/ubuntu16.04/Makefile
@@ -1,18 +1,18 @@
 # Customise the following variable as Make parameters
 # to produce a yum.repo for a VENDOR distribution
 # Default values are pointing to GerritForge (www.gerritforge.com)
-VERSION=2.13.14
+VERSION=2.14.20
 RELEASE=1
 VENDOR=GerritForge
 VENDOR_LC=$(shell echo $(VENDOR) | tr A-Z a-z)
-IMAGE=$(VENDOR_LC)/gerrit-ubuntu15.04
+IMAGE=$(VENDOR_LC)/gerrit-ubuntu16.04
 PGP_KEY_ID=1871F775
 NO_CACHE=true
 
 # End of the variables that can be customized
 
 define DOCKERFILE
-FROM ubuntu:15.04
+FROM ubuntu:16.04
 MAINTAINER $(VENDOR)
 
 # Add Gerrit packages repository
@@ -20,7 +20,6 @@
 RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $(PGP_KEY_ID)
 
 # Allow remote connectivity and sudo
-RUN sed -i -e 's/archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
 RUN apt-get update
 RUN apt-key update
 RUN apt-get -y install openssh-client sudo
@@ -28,15 +27,16 @@
 # Install OpenJDK and Gerrit in two subsequent transactions
 # (pre-trans Gerrit script needs to have access to the Java command)
 RUN apt-get -y install openjdk-8-jdk
-RUN apt-get -y install gerrit=$(VERSION)-$(RELEASE)
+RUN apt-get -y install gerrit=$(VERSION)-$(RELEASE) && rm -f /var/gerrit/logs/*
 
 USER gerrit
 RUN java -jar /var/gerrit/bin/gerrit.war init --batch --install-all-plugins -d /var/gerrit
-RUN java -jar /var/gerrit/bin/gerrit.war reindex -d /var/gerrit
 
 # Allow incoming traffic
 EXPOSE 29418 8080
 
+VOLUME ["/var/gerrit/git", "/var/gerrit/index", "/var/gerrit/cache", "/var/gerrit/db", "/var/gerrit/etc"]
+
 # Start Gerrit
 CMD /var/gerrit/bin/gerrit.sh start && tail -f /var/gerrit/logs/error_log
 endef
@@ -55,6 +55,6 @@
 	-mkdir -p docker_files
 
 run: image
-	docker run -d -p 8080:8080 -p 29418:29418 $(IMAGE):$(VERSION)
+	docker run -d --hostname $$HOSTNAME -p 8080:8080 -p 29418:29418 $(IMAGE):$(VERSION)
 
 .PHONY: clean prepare image
diff --git a/fpm/Makefile b/fpm/Makefile
index b657a09..a38c6b1 100644
--- a/fpm/Makefile
+++ b/fpm/Makefile
@@ -1,6 +1,6 @@
-VERSION=2.13.14
+VERSION=2.14.20
 URL=https://gerrit-releases.storage.googleapis.com/gerrit-$(VERSION).war
-CI_URL=https://gerrit-ci.gerritforge.com/
+CI_URL=https://gerrit-ci.gerritforge.com
 RELEASE=1
 
 NAME=gerrit
@@ -15,14 +15,19 @@
 GERRIT_SITE=/var/gerrit
 
 LICENSE=Apache 2.0
-VENDOR=
+VENDOR=GerritForge
 WEB_URL=https://www.gerritcodereview.com/
 
 WAR=$(BUILD_ROOT)/bin/gerrit.war
-PLUGINS=
-PLUGINS_JARS=$(foreach PLUGIN,$(PLUGINS),$(PLUGIN).jar)
-PLUGINS_PATHS=$(foreach PLUGIN_JAR,$(PLUGINS_JARS),$(BUILD_ROOT)/plugins/$(PLUGIN_JAR))
-BRANCH=master
+PLUGINS_CI=https://gerrit-ci.gerritforge.com/job
+LIBS_JOBS= \
+  plugin-out-of-the-box-bazel-master-stable-2.14/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/out-of-the-box/out-of-the-box.jar
+PLUGINS_JOBS= \
+  plugin-plugin-manager-bazel-stable-2.14/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/plugin-manager/plugin-manager.jar \
+  plugin-avatars-gravatar-bazel-master-stable-2.14/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/avatars-gravatar/avatars-gravatar.jar \
+  plugin-gitiles-bazel-stable-2.14/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/gitiles/gitiles.jar \
+  plugin-delete-project-bazel-stable-2.14/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/delete-project/delete-project.jar \
+  plugin-uploadvalidator-bazel-stable-2.14/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/uploadvalidator/uploadvalidator.jar
 
 RPM_OUT=$(OUT)/gerrit-$(VERSION)-$(RELEASE).$(BUILD_ARCH).rpm
 DEB_OUT=$(OUT)/gerrit-$(VERSION)-$(RELEASE).$(BUILD_ARCH).deb
@@ -62,7 +67,8 @@
 	mkdir -p $(BUILD_ROOT)/etc
 	mkdir -p $(BUILD_ROOT)/bin
 	mkdir -p $(BUILD_ROOT)/plugins
-	cp $(CONFIGS) $(BUILD_ROOT)/etc
+	mkdir -p $(BUILD_ROOT)/lib
+	cp -R $(CONFIGS) $(BUILD_ROOT)/etc
 	-groupadd $(GROUP)
 	$(eval GROUP_ID := $(shell /usr/bin/getent group $(GROUP) | cut -d ':' -f 3))
 	-useradd -g $(GROUP_ID) $(USER)
@@ -82,10 +88,17 @@
 	rm -Rf $(SCRIPTS_ROOT)
 
 $(WAR): $(basedir $(WAR))
-	curl -k -o $@  $(URL)
+	curl -o $@  $(URL)
 
-$(BUILD_ROOT)/plugins/%.jar:
-	PLUGIN_NAME=`basename $@` && curl -o $@ $(CI_URL)/job/plugin-$$PLUGIN_NAME-$(BRANCH)/lastSuccessfulBuild/artifact/buck-out/gen/plugins/$$PLUGIN_NAME/$$PLUGIN_NAME.jar
+plugins:
+	for job in $(PLUGINS_JOBS); \
+          do curl -o $(BUILD_ROOT)/plugins/`basename $$job` $(PLUGINS_CI)/$$job; \
+        done
+
+libs:
+	for job in $(LIBS_JOBS); \
+          do curl -o $(BUILD_ROOT)/lib/`basename $$job` $(PLUGINS_CI)/$$job; \
+        done
 
 $(SCRIPTS_ROOT)/%.sh: scripts/%.sh
 	echo "#!/bin/bash" > $@
@@ -94,10 +107,10 @@
 	echo "GERRIT_SITE=$(GERRIT_SITE)" >> $@
 	cat $< >> $@
 
-$(RPM_OUT): $(WAR) $(PLUGINS_PATHS) $(CONFIGS) $(BUILD_SCRIPTS) chown
+$(RPM_OUT): $(WAR) plugins libs $(CONFIGS) $(BUILD_SCRIPTS) chown
 	fpm -t rpm -p $@ $(RPM_OPTS)
 
-$(DEB_OUT): $(WAR) $(PLUGINS_PATHS) $(CONFIGS) $(BUILD_SCRIPTS) chown
+$(DEB_OUT): $(WAR) plugins libs $(PLUGINS_PATHS) $(CONFIGS) $(BUILD_SCRIPTS) chown
 	fpm -t deb -p $@ $(DEB_OPTS)
 
-.PHONY: clean clobber prepare chown rpm deb install install-deb install-rpm
+.PHONY: clean clobber prepare chown rpm deb install install-deb install-rpm plugins libs
diff --git a/fpm/etc/gerrit.config b/fpm/etc/gerrit.config
index d111195..b479d90 100644
--- a/fpm/etc/gerrit.config
+++ b/fpm/etc/gerrit.config
@@ -13,5 +13,9 @@
 	listenAddress = *:29418
 [httpd]
 	listenUrl = http://*:8080/
+	filterClass = com.googlesource.gerrit.plugins.ootb.FirstTimeRedirect
+	firstTimeRedirectUrl = /login/%23%2F?account_id=1000000
 [cache]
 	directory = cache
+[plugins]
+	allowRemoteAdmin = true
diff --git a/fpm/scripts/after-install.sh b/fpm/scripts/after-install.sh
index 708d122..89780c6 100755
--- a/fpm/scripts/after-install.sh
+++ b/fpm/scripts/after-install.sh
@@ -11,11 +11,6 @@
 [ $? != 0 ] && echo "FAILED" && exit 1
 echo "DONE"
 
-echo -n "Reindexing Gerrit .......... "
-$SUDO java -jar $GERRIT_SITE/bin/gerrit.war reindex -d $GERRIT_SITE >> $LOG 2>>$LOG
-[ $? != 0 ] && echo "FAILED" && exit 2
-echo "DONE"
-
 echo -n "Setting user/group owner ... "
 chown -R $USER:$GROUP $GERRIT_SITE
 echo "DONE"
@@ -29,7 +24,8 @@
 echo ""
 echo "Installation completed"
 echo ""
-echo "To start Gerrit server, run: /etc/init.d/gerrit start"
+
+/etc/init.d/gerrit start
 
 URL=$(git config -f /etc/gerrit/gerrit.config gerrit.canonicalWebUrl)
 [ -z "$URL" ] || echo "To start using Gerrit, open: $URL"
diff --git a/macOS/Makefile b/macOS/Makefile
index b26f58b..59210e4 100644
--- a/macOS/Makefile
+++ b/macOS/Makefile
@@ -1,4 +1,4 @@
-VERSION := 2.13.14
+VERSION := 2.14.20
 
 all: server
 
diff --git a/macOS/README.md b/macOS/README.md
index bb9bc00..6c49d6d 100644
--- a/macOS/README.md
+++ b/macOS/README.md
@@ -8,5 +8,5 @@
 ```
   $ chmod a+x scripts/*
   $ chmod a+x uninstaller/scripts/*
-  $ make VERSION=2.13.7
+  $ make
 ```