Repository: cxf Updated Branches: refs/heads/master 33865ba7f -> 6242c682d
[CXF-6869] Adding SpringBoot AutoConfigure plus initial JAX-WS and JAX-RS Starter modules, patch from Vedran Pavic applied with thanks, This closes #133 Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/6242c682 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/6242c682 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/6242c682 Branch: refs/heads/master Commit: 6242c682dfce4a2ba4869978c28b14f1472484c1 Parents: 33865ba Author: Sergey Beryozkin <[email protected]> Authored: Mon May 9 13:01:42 2016 +0100 Committer: Sergey Beryozkin <[email protected]> Committed: Mon May 9 13:01:42 2016 +0100 ---------------------------------------------------------------------- integration/pom.xml | 1 + integration/spring-boot/autoconfigure/pom.xml | 97 ++++++++++++++++ .../autoconfigure/CxfAutoConfiguration.java | 75 ++++++++++++ .../boot/autoconfigure/CxfProperties.java | 88 ++++++++++++++ .../cxf/spring/boot/autoconfigure/package.html | 28 +++++ .../main/resources/META-INF/spring.factories | 3 + .../CxfAutoConfigurationTests.java | 114 +++++++++++++++++++ integration/spring-boot/pom.xml | 38 +++++++ integration/spring-boot/starter-jax-rs/pom.xml | 59 ++++++++++ integration/spring-boot/starter-jax-ws/pom.xml | 59 ++++++++++ parent/pom.xml | 23 ++++ 11 files changed, 585 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/pom.xml ---------------------------------------------------------------------- diff --git a/integration/pom.xml b/integration/pom.xml index ad4826f..8d81959 100644 --- a/integration/pom.xml +++ b/integration/pom.xml @@ -33,5 +33,6 @@ <module>jca</module> <module>cdi</module> <module>tracing/tracing-htrace</module> + <module>spring-boot</module> </modules> </project> http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/spring-boot/autoconfigure/pom.xml ---------------------------------------------------------------------- diff --git a/integration/spring-boot/autoconfigure/pom.xml b/integration/spring-boot/autoconfigure/pom.xml new file mode 100644 index 0000000..f22048c --- /dev/null +++ b/integration/spring-boot/autoconfigure/pom.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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> + <artifactId>cxf-spring-boot-autoconfigure</artifactId> + <packaging>bundle</packaging> + <name>Apache CXF Spring Boot Autoconfigure</name> + <description>Apache CXF Spring Boot Autoconfigure</description> + <url>http://cxf.apache.org</url> + <parent> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-parent</artifactId> + <version>3.2.0-SNAPSHOT</version> + <relativePath>../../../parent/pom.xml</relativePath> + </parent> + <dependencies> + <!-- Compile --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-autoconfigure</artifactId> + </dependency> + <!-- Optional --> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-transports-http</artifactId> + <version>${project.version}</version> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-frontend-jaxws</artifactId> + <version>${project.version}</version> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-frontend-jaxrs</artifactId> + <version>${project.version}</version> + <optional>true</optional> + </dependency> + <dependency> + <groupId>${cxf.servlet-api.group}</groupId> + <artifactId>${cxf.servlet-api.artifact}</artifactId> + <version>${cxf.servlet-api.version}</version> + <optional>true</optional> + </dependency> + <dependency> + <groupId>javax.validation</groupId> + <artifactId>validation-api</artifactId> + <optional>true</optional> + </dependency> + <!-- Annotation processing --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-configuration-processor</artifactId> + <optional>true</optional> + </dependency> + <!-- Test --> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-library</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>${cxf.spring.mock}</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-web</artifactId> + <scope>test</scope> + </dependency> + </dependencies> +</project> http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/CxfAutoConfiguration.java ---------------------------------------------------------------------- diff --git a/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/CxfAutoConfiguration.java b/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/CxfAutoConfiguration.java new file mode 100644 index 0000000..bc1d59c --- /dev/null +++ b/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/CxfAutoConfiguration.java @@ -0,0 +1,75 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.cxf.spring.boot.autoconfigure; + +import java.util.Map; + +import org.apache.cxf.bus.spring.SpringBus; +import org.apache.cxf.transport.servlet.CXFServlet; +import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; +import org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration; +import org.springframework.boot.context.embedded.ServletRegistrationBean; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.ImportResource; + +/** + * {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration Auto-configuration} for Apache CXF. + * + * @author Vedran Pavic + */ +@Configuration +@ConditionalOnWebApplication +@ConditionalOnClass(CXFServlet.class) +@ConditionalOnMissingBean(SpringBus.class) +@EnableConfigurationProperties(CxfProperties.class) +@AutoConfigureAfter(EmbeddedServletContainerAutoConfiguration.class) +public class CxfAutoConfiguration { + + private final CxfProperties properties; + + public CxfAutoConfiguration(CxfProperties properties) { + this.properties = properties; + } + + @Bean + public ServletRegistrationBean messageDispatcherServlet() { + String path = this.properties.getPath(); + String urlMapping = path.endsWith("/") ? path + "*" : path + "/*"; + ServletRegistrationBean registration = new ServletRegistrationBean( + new CXFServlet(), urlMapping); + CxfProperties.Servlet servletProperties = this.properties.getServlet(); + registration.setLoadOnStartup(servletProperties.getLoadOnStartup()); + for (Map.Entry<String, String> entry : servletProperties.getInit().entrySet()) { + registration.addInitParameter(entry.getKey(), entry.getValue()); + } + return registration; + } + + @Configuration + @ImportResource("classpath:META-INF/cxf/cxf.xml") + protected static class CxfConfiguration { + + } + +} http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/CxfProperties.java ---------------------------------------------------------------------- diff --git a/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/CxfProperties.java b/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/CxfProperties.java new file mode 100644 index 0000000..5865562 --- /dev/null +++ b/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/CxfProperties.java @@ -0,0 +1,88 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.cxf.spring.boot.autoconfigure; + +import java.util.HashMap; +import java.util.Map; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * {@link ConfigurationProperties} for Apache CXF. + * + * @author Vedran Pavic + */ +@ConfigurationProperties("cxf") +public class CxfProperties { + + /** + * Path that serves as the base URI for the services. + */ + @NotNull + @Pattern(regexp = "/[^?#]*", message = "Path must start with /") + private String path = "/services"; + + private final Servlet servlet = new Servlet(); + + public String getPath() { + return this.path; + } + + public void setPath(String path) { + this.path = path; + } + + public Servlet getServlet() { + return this.servlet; + } + + public static class Servlet { + + /** + * Servlet init parameters to pass to Apache CXF. + */ + private Map<String, String> init = new HashMap<String, String>(); + + /** + * Load on startup priority of the Apache CXF servlet. + */ + private int loadOnStartup = -1; + + public Map<String, String> getInit() { + return this.init; + } + + public void setInit(Map<String, String> init) { + this.init = init; + } + + public int getLoadOnStartup() { + return this.loadOnStartup; + } + + public void setLoadOnStartup(int loadOnStartup) { + this.loadOnStartup = loadOnStartup; + } + + } + +} http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/package.html ---------------------------------------------------------------------- diff --git a/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/package.html b/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/package.html new file mode 100644 index 0000000..01fa103 --- /dev/null +++ b/integration/spring-boot/autoconfigure/src/main/java/org/apache/cxf/spring/boot/autoconfigure/package.html @@ -0,0 +1,28 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> +<head> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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. +--> +</head> +<body bgcolor="white"> + +Auto-configuration for Apache CXF. + +</body> +</html> http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/spring-boot/autoconfigure/src/main/resources/META-INF/spring.factories ---------------------------------------------------------------------- diff --git a/integration/spring-boot/autoconfigure/src/main/resources/META-INF/spring.factories b/integration/spring-boot/autoconfigure/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..1fc5d7f --- /dev/null +++ b/integration/spring-boot/autoconfigure/src/main/resources/META-INF/spring.factories @@ -0,0 +1,3 @@ +# Auto Configure +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +org.apache.cxf.spring.boot.autoconfigure.CxfAutoConfiguration http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/spring-boot/autoconfigure/src/test/java/org/apache/cxf/spring/boot/autoconfigure/CxfAutoConfigurationTests.java ---------------------------------------------------------------------- diff --git a/integration/spring-boot/autoconfigure/src/test/java/org/apache/cxf/spring/boot/autoconfigure/CxfAutoConfigurationTests.java b/integration/spring-boot/autoconfigure/src/test/java/org/apache/cxf/spring/boot/autoconfigure/CxfAutoConfigurationTests.java new file mode 100644 index 0000000..2e9780f --- /dev/null +++ b/integration/spring-boot/autoconfigure/src/test/java/org/apache/cxf/spring/boot/autoconfigure/CxfAutoConfigurationTests.java @@ -0,0 +1,114 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.cxf.spring.boot.autoconfigure; + +import org.junit.After; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.springframework.beans.factory.BeanCreationException; +import org.springframework.boot.context.embedded.ServletRegistrationBean; +import org.springframework.boot.test.EnvironmentTestUtils; +import org.springframework.mock.web.MockServletContext; +import org.springframework.test.util.ReflectionTestUtils; +import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; + +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.hasEntry; +import static org.junit.Assert.assertThat; + +/** + * Tests for {@link CxfAutoConfiguration}. + * + * @author Vedran Pavic + */ +public class CxfAutoConfigurationTests { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private AnnotationConfigWebApplicationContext context; + + @After + public void close() { + if (this.context != null) { + this.context.close(); + } + } + + @Test + public void defaultConfiguration() { + load(CxfAutoConfiguration.class); + assertThat(this.context.getBeansOfType(ServletRegistrationBean.class).size(), + equalTo(1)); + } + + @Test + public void customPathMustBeginWithASlash() { + this.thrown.expect(BeanCreationException.class); + this.thrown.expectMessage("Path must start with /"); + load(CxfAutoConfiguration.class, "spring.cxf.path=invalid"); + } + + @Test + public void customPathWithTrailingSlash() { + load(CxfAutoConfiguration.class, "spring.cxf.path=/valid/"); + assertThat(this.context.getBean(ServletRegistrationBean.class).getUrlMappings(), + contains("/valid/*")); + } + + @Test + public void customPath() { + load(CxfAutoConfiguration.class, "spring.cxf.path=/valid"); + assertThat(this.context.getBeansOfType(ServletRegistrationBean.class).size(), + equalTo(1)); + assertThat(this.context.getBean(ServletRegistrationBean.class).getUrlMappings(), + contains("/valid/*")); + } + + @Test + public void customLoadOnStartup() { + load(CxfAutoConfiguration.class, "spring.cxf.servlet.load-on-startup=1"); + ServletRegistrationBean registrationBean = this.context + .getBean(ServletRegistrationBean.class); + assertThat(ReflectionTestUtils.getField(registrationBean, "loadOnStartup"), + equalTo(1)); + } + + @Test + public void customInitParameters() { + load(CxfAutoConfiguration.class, "spring.cxf.servlet.init.key1=value1", + "spring.cxf.servlet.init.key2=value2"); + ServletRegistrationBean registrationBean = this.context + .getBean(ServletRegistrationBean.class); + assertThat(registrationBean.getInitParameters(), hasEntry("key1", "value1")); + assertThat(registrationBean.getInitParameters(), hasEntry("key2", "value2")); + } + + private void load(Class<?> config, String... environment) { + AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); + ctx.setServletContext(new MockServletContext()); + EnvironmentTestUtils.addEnvironment(ctx, environment); + ctx.register(config); + ctx.refresh(); + this.context = ctx; + } + +} http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/spring-boot/pom.xml ---------------------------------------------------------------------- diff --git a/integration/spring-boot/pom.xml b/integration/spring-boot/pom.xml new file mode 100644 index 0000000..d802ac7 --- /dev/null +++ b/integration/spring-boot/pom.xml @@ -0,0 +1,38 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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> + <artifactId>cxf-integration-spring-boot</artifactId> + <packaging>pom</packaging> + <name>Apache CXF Spring Boot Integration</name> + <description>Apache CXF Spring Boot Integration</description> + <url>http://cxf.apache.org</url> + <parent> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf</artifactId> + <version>3.2.0-SNAPSHOT</version> + <relativePath>../../parent/pom.xml</relativePath> + </parent> + <modules> + <module>autoconfigure</module> + <module>starter-jax-ws</module> + <module>starter-jax-rs</module> + </modules> +</project> http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/spring-boot/starter-jax-rs/pom.xml ---------------------------------------------------------------------- diff --git a/integration/spring-boot/starter-jax-rs/pom.xml b/integration/spring-boot/starter-jax-rs/pom.xml new file mode 100644 index 0000000..a08889b --- /dev/null +++ b/integration/spring-boot/starter-jax-rs/pom.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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> + <artifactId>cxf-spring-boot-starter-jax-rs</artifactId> + <packaging>bundle</packaging> + <name>Apache CXF Spring Boot Starter JAX-RS</name> + <description>Apache CXF Spring Boot Starter JAX-RS</description> + <url>http://cxf.apache.org</url> + <parent> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-parent</artifactId> + <version>3.2.0-SNAPSHOT</version> + <relativePath>../../../parent/pom.xml</relativePath> + </parent> + <dependencies> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-spring-boot-autoconfigure</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-transports-http</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-frontend-jaxrs</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${cxf.servlet-api.group}</groupId> + <artifactId>${cxf.servlet-api.artifact}</artifactId> + <version>${cxf.servlet-api.version}</version> + </dependency> + <dependency> + <groupId>javax.validation</groupId> + <artifactId>validation-api</artifactId> + </dependency> + </dependencies> +</project> http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/integration/spring-boot/starter-jax-ws/pom.xml ---------------------------------------------------------------------- diff --git a/integration/spring-boot/starter-jax-ws/pom.xml b/integration/spring-boot/starter-jax-ws/pom.xml new file mode 100644 index 0000000..03aabb0 --- /dev/null +++ b/integration/spring-boot/starter-jax-ws/pom.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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> + <artifactId>cxf-spring-boot-starter-jax-ws</artifactId> + <packaging>bundle</packaging> + <name>Apache CXF Spring Boot Starter JAX-WS</name> + <description>Apache CXF Spring Boot Starter JAX-WS</description> + <url>http://cxf.apache.org</url> + <parent> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-parent</artifactId> + <version>3.2.0-SNAPSHOT</version> + <relativePath>../../../parent/pom.xml</relativePath> + </parent> + <dependencies> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-spring-boot-autoconfigure</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-transports-http</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-frontend-jaxws</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${cxf.servlet-api.group}</groupId> + <artifactId>${cxf.servlet-api.artifact}</artifactId> + <version>${cxf.servlet-api.version}</version> + </dependency> + <dependency> + <groupId>javax.validation</groupId> + <artifactId>validation-api</artifactId> + </dependency> + </dependencies> +</project> http://git-wip-us.apache.org/repos/asf/cxf/blob/6242c682/parent/pom.xml ---------------------------------------------------------------------- diff --git a/parent/pom.xml b/parent/pom.xml index 339299d..f9f1f03 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -123,6 +123,7 @@ <cxf.undertow.osgi.version>[1.3.7, 1.4)</cxf.undertow.osgi.version> <cxf.jibx.version>1.2.6</cxf.jibx.version> <cxf.junit.version>4.12</cxf.junit.version> + <cxf.hamcrest.version>1.3</cxf.hamcrest.version> <cxf.maven.core.version>3.0.5</cxf.maven.core.version> <cxf.msv.version>2013.6.1</cxf.msv.version> <cxf.neethi.version>3.0.3</cxf.neethi.version> @@ -144,6 +145,7 @@ <cxf.slf4j.version>1.7.21</cxf.slf4j.version> <cxf.specs.jaxws.api.version>1.2</cxf.specs.jaxws.api.version> <cxf.spring.version>4.1.9.RELEASE</cxf.spring.version> + <cxf.spring.boot.version>1.3.4.RELEASE</cxf.spring.boot.version> <cxf.spring.security.version>3.2.9.RELEASE</cxf.spring.security.version> <cxf.spring.osgi.version>1.2.1</cxf.spring.osgi.version> <cxf.spring.ldap.version>1.3.1.RELEASE</cxf.spring.ldap.version> @@ -726,6 +728,12 @@ <scope>test</scope> </dependency> <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-library</artifactId> + <version>${cxf.hamcrest.version}</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>nekohtml</groupId> <artifactId>nekohtml</artifactId> <version>1.9.6.2</version> @@ -1243,6 +1251,21 @@ </exclusions> </dependency> <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot</artifactId> + <version>${cxf.spring.boot.version}</version> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-autoconfigure</artifactId> + <version>${cxf.spring.boot.version}</version> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-configuration-processor</artifactId> + <version>${cxf.spring.boot.version}</version> + </dependency> + <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>${cxf.spring.security.version}</version>
