mirror of
https://gitee.com/dcren/initializr.git
synced 2025-09-18 17:48:14 +08:00
Add service sample
Closes gh-844
This commit is contained in:
@@ -103,6 +103,9 @@ jobs:
|
|||||||
build_uri: "https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}"
|
build_uri: "https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}"
|
||||||
build_number: "${BUILD_PIPELINE_NAME}-${BUILD_JOB_NAME}-${BUILD_NAME}"
|
build_number: "${BUILD_PIPELINE_NAME}-${BUILD_JOB_NAME}-${BUILD_NAME}"
|
||||||
disable_checksum_uploads: true
|
disable_checksum_uploads: true
|
||||||
|
exclude:
|
||||||
|
- "**/*.effective-pom"
|
||||||
|
- "**/initializr-service-sample/**"
|
||||||
on_failure:
|
on_failure:
|
||||||
do:
|
do:
|
||||||
- put: repo-status-build
|
- put: repo-status-build
|
||||||
|
50
initializr-service-sample/README.adoc
Normal file
50
initializr-service-sample/README.adoc
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
= Service sample
|
||||||
|
|
||||||
|
:docs: http://docs.spring.io/initializr/docs/current-SNAPSHOT/reference/html
|
||||||
|
|
||||||
|
This sample demonstrates how you can create your own service easily as described in the
|
||||||
|
{docs}/#create-instance[reference documentation].
|
||||||
|
|
||||||
|
== Running the service
|
||||||
|
You can start the service from the command line:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
|
$ ./mvnw spring-boot:run
|
||||||
|
----
|
||||||
|
|
||||||
|
Or, better yet, run the `ServiceApplication` main method from your favourite IDE.
|
||||||
|
|
||||||
|
== Generating a project
|
||||||
|
If you go to `localhost:8080` with your browser, you'll get a json document that describes
|
||||||
|
the capabilities of the service. There are several ways you can generate a project.
|
||||||
|
|
||||||
|
If you have `HTTPie` installed, try the following:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
|
$ http :8080
|
||||||
|
----
|
||||||
|
|
||||||
|
If you prefer to use `cURL`, try this instead:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
|
$ curl localhost:8080
|
||||||
|
----
|
||||||
|
|
||||||
|
If you have the `spring` CLI installed, you can also use it as follows:
|
||||||
|
|
||||||
|
[indent=0]
|
||||||
|
----
|
||||||
|
$ spring init --target http://localhost:8080 --list
|
||||||
|
----
|
||||||
|
|
||||||
|
Finally, you can configure your IDE to point to another service instance.
|
||||||
|
|
||||||
|
== Configuration
|
||||||
|
The configuration in `application.yml` is very simple with a single `web` dependency that
|
||||||
|
brings `spring-boot-starter-web`. You can experiment by adding more dependencies or other
|
||||||
|
elements that drive how projects are generated.
|
||||||
|
|
||||||
|
|
41
initializr-service-sample/pom.xml
Normal file
41
initializr-service-sample/pom.xml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<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/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>io.spring.initializr</groupId>
|
||||||
|
<artifactId>initializr</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>initializr-service-sample</artifactId>
|
||||||
|
<name>Spring Initializr :: Service (Sample)</name>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<main.basedir>${basedir}/..</main.basedir>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.spring.initializr</groupId>
|
||||||
|
<artifactId>initializr-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.spring.initializr</groupId>
|
||||||
|
<artifactId>initializr-generator-spring</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-devtools</artifactId>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2012-2019 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* https://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 sample.service;
|
||||||
|
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.cache.annotation.EnableCaching;
|
||||||
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sample service application.
|
||||||
|
*
|
||||||
|
* @author Stephane Nicoll
|
||||||
|
*/
|
||||||
|
@SpringBootApplication
|
||||||
|
@EnableCaching
|
||||||
|
@EnableAsync
|
||||||
|
public class ServiceApplication {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringApplication.run(ServiceApplication.class, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
49
initializr-service-sample/src/main/resources/application.yml
Normal file
49
initializr-service-sample/src/main/resources/application.yml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
initializr:
|
||||||
|
dependencies:
|
||||||
|
- name: Web
|
||||||
|
content:
|
||||||
|
- name: Web
|
||||||
|
id: web
|
||||||
|
description: Servlet web application with Spring MVC and Tomcat
|
||||||
|
types:
|
||||||
|
- name: Maven Project
|
||||||
|
id: maven-project
|
||||||
|
description: Generate a Maven based project archive
|
||||||
|
tags:
|
||||||
|
build: maven
|
||||||
|
format: project
|
||||||
|
default: true
|
||||||
|
action: /starter.zip
|
||||||
|
- name: Gradle Project
|
||||||
|
id: gradle-project
|
||||||
|
description: Generate a Gradle based project archive
|
||||||
|
tags:
|
||||||
|
build: gradle
|
||||||
|
format: project
|
||||||
|
default: false
|
||||||
|
action: /starter.zip
|
||||||
|
packagings:
|
||||||
|
- name: Jar
|
||||||
|
id: jar
|
||||||
|
default: true
|
||||||
|
- name: War
|
||||||
|
id: war
|
||||||
|
default: false
|
||||||
|
javaVersions:
|
||||||
|
- id: 11
|
||||||
|
default: false
|
||||||
|
- id: 1.8
|
||||||
|
name: 8
|
||||||
|
default: true
|
||||||
|
languages:
|
||||||
|
- name: Java
|
||||||
|
id: java
|
||||||
|
default: true
|
||||||
|
- name: Kotlin
|
||||||
|
id: kotlin
|
||||||
|
default: false
|
||||||
|
- name: Groovy
|
||||||
|
id: groovy
|
||||||
|
default: false
|
||||||
|
group-id:
|
||||||
|
value: org.acme
|
2
pom.xml
2
pom.xml
@@ -53,6 +53,7 @@
|
|||||||
<module>initializr-generator</module>
|
<module>initializr-generator</module>
|
||||||
<module>initializr-generator-spring</module>
|
<module>initializr-generator-spring</module>
|
||||||
<module>initializr-metadata</module>
|
<module>initializr-metadata</module>
|
||||||
|
<module>initializr-service-sample</module>
|
||||||
<module>initializr-web</module>
|
<module>initializr-web</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
@@ -194,6 +195,7 @@
|
|||||||
<configuration>
|
<configuration>
|
||||||
<skip>${disable.checks}</skip>
|
<skip>${disable.checks}</skip>
|
||||||
<configLocation>src/checkstyle/checkstyle.xml</configLocation>
|
<configLocation>src/checkstyle/checkstyle.xml</configLocation>
|
||||||
|
<suppressionsLocation>src/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
|
||||||
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
||||||
<propertyExpansion>main.basedir=${main.basedir}</propertyExpansion>
|
<propertyExpansion>main.basedir=${main.basedir}</propertyExpansion>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
9
src/checkstyle/checkstyle-suppressions.xml
Normal file
9
src/checkstyle/checkstyle-suppressions.xml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE suppressions PUBLIC
|
||||||
|
"-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
|
||||||
|
"https://checkstyle.org/dtds/suppressions_1_2.dtd">
|
||||||
|
<suppressions>
|
||||||
|
<suppress files=".+Application\.java" checks="HideUtilityClassConstructor"/>
|
||||||
|
<suppress files="[\\/]initializr-service-sample[\\/]" checks="JavadocType"/>
|
||||||
|
<suppress files="[\\/]initializr-service-sample[\\/]" checks="ImportControl"/>
|
||||||
|
</suppressions>
|
Reference in New Issue
Block a user