Add REST API endpoint to create a tag on a project

The new endpoint allows to create a lightweight or annotated tag.

Creating signed tags is not supported since the JGit API also does not
support this.

Non-Fast-Forward update of existing tags is not supported.

Change-Id: I3dad55af1b347957cfeb146b9c30fb2b45cc7da2
This commit is contained in:
David Pursehouse
2016-06-03 10:00:34 +09:00
parent 5c3c4c8bb3
commit 6a44619a45
10 changed files with 533 additions and 78 deletions

View File

@@ -18,6 +18,8 @@ import com.google.gerrit.extensions.restapi.NotImplementedException;
import com.google.gerrit.extensions.restapi.RestApiException;
public interface TagApi {
TagApi create(TagInput input) throws RestApiException;
TagInfo get() throws RestApiException;
/**
@@ -25,6 +27,11 @@ public interface TagApi {
* when adding new methods to the interface.
**/
class NotImplemented implements TagApi {
@Override
public TagApi create(TagInput input) throws RestApiException {
throw new NotImplementedException();
}
@Override
public TagInfo get() throws RestApiException {
throw new NotImplementedException();

View File

@@ -0,0 +1,24 @@
// Copyright (C) 2016 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 com.google.gerrit.extensions.api.projects;
import com.google.gerrit.extensions.restapi.DefaultInput;
public class TagInput {
@DefaultInput
public String ref;
public String revision;
public String message;
}