diff --git a/pom.xml b/pom.xml index 50eab3e905..e8176da250 100644 --- a/pom.xml +++ b/pom.xml @@ -142,7 +142,7 @@ org.codehaus.mojo animal-sniffer-maven-plugin - 1.9 + 1.15 org.codehaus.mojo.signature diff --git a/scm-webapp/pom.xml b/scm-webapp/pom.xml index bb05eb1847..54ec78d376 100644 --- a/scm-webapp/pom.xml +++ b/scm-webapp/pom.xml @@ -275,10 +275,9 @@ - org.codehaus.enunciate - enunciate-jersey-rt + com.webcohesion.enunciate + enunciate-jaxrs ${enunciate.version} - jackson-jaxrs @@ -546,7 +545,7 @@ target/scm-it default 2.53.1 - 1.31 + 2.9.1 1.13.1 1.0 3.0.5 @@ -825,8 +824,35 @@ - org.codehaus.enunciate - maven-enunciate-plugin + org.apache.maven.plugins + maven-resources-plugin + 2.6 + + + copy-enunciate-configuration + compile + + copy-resources + + + ${project.build.directory} + + + src/main/doc + true + + **/enunciate.xml + + + + + + + + + + com.webcohesion.enunciate + enunciate-maven-plugin ${enunciate.version} @@ -837,14 +863,20 @@ - src/main/doc/enunciate.xml + ${project.build.directory}/enunciate.xml ${project.build.directory}/restdocs - org.codehaus.enunciate - enunciate-jersey - ${enunciate.version} + com.webcohesion.enunciate + enunciate-top + 2.9.1 + + + com.webcohesion.enunciate + enunciate-swagger + + diff --git a/scm-webapp/src/main/doc/enunciate.xml b/scm-webapp/src/main/doc/enunciate.xml index 504566a55d..19635b46a9 100644 --- a/scm-webapp/src/main/doc/enunciate.xml +++ b/scm-webapp/src/main/doc/enunciate.xml @@ -39,30 +39,33 @@ Description: Enunciate configuration --> - + + SCM-Manager API + + + SCM-Manager API +

This page describes the REST Api of SCM-Manager ${project.version}.

+ ]]> +
+ - + - - - - - + + + - - - - - - + diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AuthenticationResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AuthenticationResource.java index 36d296e1c5..c0cc127c1b 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AuthenticationResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AuthenticationResource.java @@ -41,6 +41,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; import com.google.inject.Inject; import com.google.inject.Singleton; +import com.webcohesion.enunciate.metadata.rs.TypeHint; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; @@ -50,8 +51,6 @@ import org.apache.shiro.authz.Permission; import org.apache.shiro.subject.PrincipalCollection; import org.apache.shiro.subject.Subject; -import org.codehaus.enunciate.jaxrs.TypeHint; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -106,7 +105,6 @@ import sonia.scm.security.XsrfCookies; */ @Singleton @Path("authentication") -@ExternallyManagedLifecycle @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public class AuthenticationResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ChangePasswordResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ChangePasswordResource.java index 121729f65b..c2ac16eed6 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ChangePasswordResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ChangePasswordResource.java @@ -36,13 +36,11 @@ package sonia.scm.api.rest.resources; //~--- non-JDK imports -------------------------------------------------------- import com.google.inject.Inject; +import com.webcohesion.enunciate.metadata.rs.TypeHint; import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; -import org.codehaus.enunciate.jaxrs.TypeHint; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -71,7 +69,6 @@ import sonia.scm.security.Role; * * @author Sebastian Sdorra */ -@ExternallyManagedLifecycle @Path("action/change-password") public class ChangePasswordResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ConfigurationResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ConfigurationResource.java index 6c888470ad..2fb6bdda3d 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ConfigurationResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/ConfigurationResource.java @@ -41,8 +41,6 @@ import com.google.inject.Singleton; import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import sonia.scm.config.ScmConfiguration; import sonia.scm.security.Role; import sonia.scm.security.ScmSecurityException; @@ -66,7 +64,6 @@ import javax.ws.rs.core.UriInfo; */ @Singleton @Path("config") -@ExternallyManagedLifecycle public class ConfigurationResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupResource.java index ce5a26a6a1..afee3eb7e8 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupResource.java @@ -37,12 +37,10 @@ package sonia.scm.api.rest.resources; import com.google.inject.Inject; import com.google.inject.Singleton; +import com.webcohesion.enunciate.metadata.rs.TypeHint; import org.apache.shiro.SecurityUtils; -import org.codehaus.enunciate.jaxrs.TypeHint; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import sonia.scm.group.Group; import sonia.scm.group.GroupException; import sonia.scm.group.GroupManager; @@ -75,7 +73,6 @@ import javax.ws.rs.core.UriInfo; */ @Path("groups") @Singleton -@ExternallyManagedLifecycle public class GroupResource extends AbstractManagerResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/KeyResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/KeyResource.java index 3a6e10a51f..7668a04b71 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/KeyResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/KeyResource.java @@ -37,8 +37,6 @@ import com.google.inject.Inject; import org.apache.shiro.SecurityUtils; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import sonia.scm.security.KeyGenerator; import sonia.scm.security.Role; @@ -56,7 +54,6 @@ import javax.ws.rs.core.MediaType; * @since 1.41 */ @Path("security/key") -@ExternallyManagedLifecycle public class KeyResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java index 02631c39fc..f6980e844d 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java @@ -39,8 +39,6 @@ import com.google.common.collect.Lists; import com.google.inject.Inject; import com.google.inject.Singleton; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -80,7 +78,6 @@ import javax.ws.rs.core.Response.Status; */ @Singleton @Path("plugins") -@ExternallyManagedLifecycle public class PluginResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java index 65076528d6..4232ecda9d 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java @@ -43,9 +43,6 @@ import com.google.inject.Inject; import org.apache.shiro.SecurityUtils; -import org.codehaus.enunciate.jaxrs.TypeHint; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -74,6 +71,7 @@ import static com.google.common.base.Preconditions.*; import com.sun.jersey.api.client.ClientResponse.Status; import com.sun.jersey.multipart.FormDataParam; +import com.webcohesion.enunciate.metadata.rs.TypeHint; import java.io.File; import java.io.IOException; @@ -111,7 +109,6 @@ import javax.xml.bind.annotation.XmlRootElement; * @author Sebastian Sdorra */ @Path("import/repositories") -@ExternallyManagedLifecycle public class RepositoryImportResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java index afba957adb..be0a2ec603 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java @@ -39,12 +39,10 @@ import com.google.common.base.Strings; import com.google.common.io.Closeables; import com.google.inject.Inject; import com.google.inject.Singleton; +import com.webcohesion.enunciate.metadata.rs.TypeHint; import org.apache.shiro.SecurityUtils; -import org.codehaus.enunciate.jaxrs.TypeHint; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -111,7 +109,6 @@ import javax.ws.rs.core.UriInfo; */ @Singleton @Path("repositories") -@ExternallyManagedLifecycle public class RepositoryResource extends AbstractManagerResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryRootResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryRootResource.java index 1633feb270..056ad7c7db 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryRootResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryRootResource.java @@ -41,8 +41,6 @@ import com.google.common.collect.Maps; import com.google.common.collect.Ordering; import com.google.inject.Inject; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import sonia.scm.repository.Repository; import sonia.scm.repository.RepositoryManager; import sonia.scm.repository.RepositoryTypePredicate; @@ -74,7 +72,6 @@ import javax.ws.rs.core.MediaType; * * @author Sebastian Sdorra */ -@ExternallyManagedLifecycle @Path("help/repository-root/{type}.html") public class RepositoryRootResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java index 0b01dffeaa..3b4606682a 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java @@ -39,8 +39,6 @@ import com.google.common.base.Function; import com.google.inject.Inject; import com.google.inject.Singleton; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import sonia.scm.HandlerEvent; import sonia.scm.cache.Cache; import sonia.scm.cache.CacheManager; @@ -68,7 +66,6 @@ import javax.ws.rs.core.MediaType; */ @Singleton @Path("search") -@ExternallyManagedLifecycle public class SearchResource implements UserListener, GroupListener { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SecuritySystemResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SecuritySystemResource.java index b4baee98e6..d97b21110b 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SecuritySystemResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SecuritySystemResource.java @@ -45,14 +45,12 @@ import sonia.scm.security.SecuritySystem; import javax.ws.rs.Path; import javax.ws.rs.PathParam; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; /** * * @author Sebastian Sdorra */ @Path("security/permission") -@ExternallyManagedLifecycle public class SecuritySystemResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SupportResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SupportResource.java index ac3cf73f86..9a6a5e4348 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SupportResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SupportResource.java @@ -42,8 +42,6 @@ import com.google.inject.Inject; import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import sonia.scm.SCMContextProvider; import sonia.scm.ServletContainerDetector; import sonia.scm.Type; @@ -79,7 +77,6 @@ import javax.ws.rs.core.MediaType; * @author Sebastian Sdorra */ @Path("support") -@ExternallyManagedLifecycle public class SupportResource { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserResource.java index ad264fd0a8..e76d185ed2 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/UserResource.java @@ -37,12 +37,10 @@ package sonia.scm.api.rest.resources; import com.google.inject.Inject; import com.google.inject.Singleton; +import com.webcohesion.enunciate.metadata.rs.TypeHint; import org.apache.shiro.SecurityUtils; -import org.codehaus.enunciate.jaxrs.TypeHint; -import org.codehaus.enunciate.modules.jersey.ExternallyManagedLifecycle; - import sonia.scm.security.EncryptionHandler; import sonia.scm.security.Role; import sonia.scm.user.User; @@ -78,7 +76,6 @@ import javax.ws.rs.core.UriInfo; */ @Singleton @Path("users") -@ExternallyManagedLifecycle public class UserResource extends AbstractManagerResource {