diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2af7cef --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +nbproject/private/ +build/ +nbbuild/ +dist/ +nbdist/ +.nb-gradle/ \ No newline at end of file diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..9cc84ea Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..c315043 --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1 @@ +distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a9a9237 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM java:8 + +COPY target/initializr.jar /app.jar +EXPOSE 8080 +ENTRYPOINT ["java","-jar" ,"/app.jar"] \ No newline at end of file diff --git a/mvnw b/mvnw new file mode 100755 index 0000000..5bf251c --- /dev/null +++ b/mvnw @@ -0,0 +1,225 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven2 Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Migwn, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" + # TODO classpath? +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +echo $MAVEN_PROJECTBASEDIR +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..019bd74 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,143 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven2 Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" + +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..72f1ede --- /dev/null +++ b/pom.xml @@ -0,0 +1,72 @@ + + + 4.0.0 + + cn.org.jetbrains + initializr + 1.0 + jar + + initializr + Demo project for Spring Boot + + + + org.springframework.boot + spring-boot-starter-parent + 1.5.8.RELEASE + + + + + UTF-8 + UTF-8 + 1.8 + + + + + org.springframework.boot + spring-boot-starter-web + + + + io.spring.initializr + initializr-web + 0.5.0.BUILD-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + ${artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + + + releases + Nexus Release Repository + http://nexus.jetbrains.org.cn/repository/maven-releases/ + + + snapshots + Nexus Snapshot Repository + http://nexus.jetbrains.org.cn/repository/maven-snapshots/ + + + + + diff --git a/src/main/java/cn/org/jetbrains/initializr/InitializrApplication.java b/src/main/java/cn/org/jetbrains/initializr/InitializrApplication.java new file mode 100644 index 0000000..cc911b7 --- /dev/null +++ b/src/main/java/cn/org/jetbrains/initializr/InitializrApplication.java @@ -0,0 +1,12 @@ +package cn.org.jetbrains.initializr; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class InitializrApplication { + + public static void main(String[] args) { + SpringApplication.run(InitializrApplication.class, args); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..82b8805 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,1262 @@ +logging: + level: + org.springframework.core.env: warn + org.springframework.jndi: warn + +server: + compression: + enabled: true + mime-types: application/json,text/css,text/html + min-response-size: 2048 + +spring: + jackson: + serialization: + write-dates-as-timestamps: false + resources: + chain: + strategy: + content: + enabled: true + +initializr: + group-id: + value: cn.org.jetbrains + description: mrchang's own spring initializr project + description: + value: http://blog.jetbrains.org.cn/ + package-name: + value: cn.org.jetbrains + env: + boms: + azure: + groupId: com.microsoft.azure + artifactId: azure-spring-boot-bom + versionProperty: azure.version + mappings: + - versionRange: "[1.5.4.RELEASE,2.0.0.M1)" + version: 0.2.0 + spring-cloud: + groupId: org.springframework.cloud + artifactId: spring-cloud-dependencies + versionProperty: spring-cloud.version + order: 50 + mappings: + - versionRange: "[1.2.3.RELEASE,1.3.0.RELEASE)" + version: Angel.SR6 + - versionRange: "[1.3.0.RELEASE,1.4.0.RELEASE)" + version: Brixton.SR7 + - versionRange: "[1.4.0.RELEASE,1.4.x.RELEASE]" + version: Camden.SR7 + - versionRange: "[1.5.0.RELEASE,1.5.x.RELEASE]" + version: Dalston.SR4 + - versionRange: "[1.5.x.BUILD-SNAPSHOT,2.0.0.M1)" + version: Edgware.M1 + repositories: spring-milestones + - versionRange: "[2.0.0.M2, 2.0.0.BUILD-SNAPSHOT)" + version: Finchley.M2 + repositories: spring-milestones + - versionRange: "2.0.0.BUILD-SNAPSHOT" + version: Finchley.BUILD-SNAPSHOT + repositories: spring-snapshots,spring-milestones + spring-cloud-services: + groupId: io.pivotal.spring.cloud + artifactId: spring-cloud-services-dependencies + versionProperty: spring-cloud-services.version + additionalBoms: [spring-cloud] + mappings: + - versionRange: "[1.3.0.RELEASE,1.4.0.RELEASE)" + version: 1.2.1.RELEASE + - versionRange: "[1.4.0.RELEASE,1.5.x.RELEASE]" + version: 1.5.0.RELEASE + - versionRange: "[1.5.x.BUILD-SNAPSHOT, 2.0.0.M1)" + version: 1.5.1.BUILD-SNAPSHOT + repositories: spring-snapshots,spring-milestones + spring-cloud-task: + groupId: org.springframework.cloud + artifactId: spring-cloud-task-dependencies + versionProperty: spring-cloud-task.version + order: 30 + mappings: + - versionRange: "[1.3.0.RELEASE, 1.4.0.RELEASE]" + version: 1.0.3.RELEASE + - versionRange: "[1.4.0.RELEASE, 1.5.0.RC1)" + version: 1.1.2.RELEASE + - versionRange: "[1.5.0.RC1, 2.0.0.M1)" + version: 1.2.2.RELEASE + - versionRange: "[2.0.0.M2, 2.0.0.BUILD-SNAPSHOT)" + version: 2.0.0.M1 + repositories: spring-milestones + - versionRange: "2.0.0.BUILD-SNAPSHOT" + version: 2.0.0.BUILD-SNAPSHOT + repositories: spring-snapshots,spring-milestones + vaadin: + groupId: com.vaadin + artifactId: vaadin-bom + versionProperty: vaadin.version + mappings: + - versionRange: "[1.3.0.RELEASE, 1.5.0.M1)" + version: 7.7.7 + - versionRange: "1.5.0.M1" + version: 8.1.0 + keycloak: + groupId: org.keycloak.bom + artifactId: keycloak-adapter-bom + versionProperty: keycloak.version + version: 3.2.1.Final + gradle: + dependency-management-plugin-version: 0.6.0.RELEASE + kotlin: + version: 1.1.51 + dependencies: + - name: Core + content: + - name: Security + id: security + description: Secure your application via spring-security + weight: 100 + links: + - rel: guide + href: https://spring.io/guides/gs/securing-web/ + description: Securing a Web Application + - rel: guide + href: https://spring.io/guides/tutorials/spring-boot-oauth2/ + description: Spring Boot and OAuth2 + - rel: guide + href: https://spring.io/guides/gs/authenticating-ldap/ + description: Authenticating a User with LDAP + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-security + - name: Reactive Security + id: security-reactive + description: Secure your reactive application via spring-security-webflux + versionRange: 2.0.0.M5 + weight: 90 + - name: Aspects + id: aop + description: Create your own Aspects using Spring AOP and AspectJ + - name: Atomikos (JTA) + id: jta-atomikos + description: JTA distributed transactions via Atomikos + versionRange: 1.2.0.RELEASE + links: + - rel: guide + href: https://spring.io/guides/gs/managing-transactions/ + description: Managing Transactions + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jta-atomikos + - name: Bitronix (JTA) + id: jta-bitronix + description: JTA distributed transactions via Bitronix + versionRange: 1.2.0.RELEASE + links: + - rel: guide + href: https://spring.io/guides/gs/managing-transactions/ + description: Managing Transactions + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jta-bitronix + - name: Narayana (JTA) + id: jta-narayana + description: JTA distributed transactions via Narayana + versionRange: 1.4.0.RELEASE + links: + - rel: guide + href: https://spring.io/guides/gs/managing-transactions/ + description: Managing Transactions + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jta-narayana + - name: Cache + id: cache + description: Spring's Cache abstraction + versionRange: 1.3.0.RELEASE + links: + - rel: guide + href: https://spring.io/guides/gs/caching/ + description: Caching Data with Spring + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-caching + - name: DevTools + id: devtools + groupId: org.springframework.boot + artifactId: spring-boot-devtools + scope: runtime + description: Spring Boot Development Tools + versionRange: 1.3.0.RELEASE + starter: false + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#using-boot-devtools + - name: Configuration Processor + id: configuration-processor + groupId: org.springframework.boot + artifactId: spring-boot-configuration-processor + scope: compileOnly + description: Generate metadata for your custom configuration keys + versionRange: 1.2.0.RELEASE + starter: false + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#configuration-metadata-annotation-processor + - name: Validation + id: validation + description: JSR-303 validation infrastructure (already included with web) + versionRange: 1.3.0.RELEASE + links: + - rel: guide + href: https://spring.io/guides/gs/validating-form-input/ + title: Validating Form Input + - name: Session + id: session + groupId: org.springframework.session + artifactId: spring-session-core + description: API and implementations for managing a user’s session information + versionRange: "1.3.0.RELEASE" + starter: false + mappings: + - versionRange: "[1.3.0.RELEASE,2.0.0.M2]" + artifactId: spring-session + - name: Retry + id: retry + groupId: org.springframework.retry + artifactId: spring-retry + description: Provide declarative retry support via spring-retry + versionRange: 1.3.0.RELEASE + starter: false + - name: Lombok + id: lombok + groupId: org.projectlombok + artifactId: lombok + scope: compileOnly + description: Java annotation library which helps to reduce boilerplate code and code faster + mappings: + - versionRange: "[1.2.0.RELEASE,1.4.0.M1)" + version: 1.16.6 + starter: false + - name: Web + content: + - name: Web + id: web + description: Full-stack web development with Tomcat and Spring MVC + weight: 100 + facets: + - web + links: + - rel: guide + href: https://spring.io/guides/gs/rest-service/ + description: Building a RESTful Web Service + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-developing-web-applications + - rel: guide + href: https://spring.io/guides/gs/serving-web-content/ + description: Serving Web Content with Spring MVC + - rel: guide + href: https://spring.io/guides/tutorials/bookmarks/ + description: Building REST services with Spring + - name: Reactive Web + id: webflux + versionRange: 2.0.0.M1 + description: Reactive web development with Netty and Spring WebFlux + weight: 90 + - name: Websocket + id: websocket + description: Websocket development with SockJS and STOMP + links: + - rel: guide + href: https://spring.io/guides/gs/messaging-stomp-websocket/ + description: Using WebSocket to build an interactive web application + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-websockets + - name: Web Services + id: web-services + description: Contract-first SOAP service development with Spring Web Services + aliases: + - ws + mappings: + - versionRange: 1.4.0.M3 + artifactId: spring-boot-starter-web-services + - versionRange: "[1.1.0.RELEASE,1.4.0.M3)" + artifactId: spring-boot-starter-ws + links: + - rel: guide + href: https://spring.io/guides/gs/producing-web-service/ + description: Producing a SOAP web service + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-webservices + - name: Jersey (JAX-RS) + id: jersey + description: RESTful Web Services framework with support of JAX-RS + versionRange: 1.2.0.RELEASE + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jersey + - name: Apache CXF (JAX-RS) + id: cxf-jaxrs + groupId: org.apache.cxf + artifactId: cxf-spring-boot-starter-jaxrs + version: 3.1.11 + description: RESTful Web Services framework with support of JAX-RS + versionRange: "[1.4.0.RELEASE,2.0.0.M1)" + links: + - rel: reference + href: https://cxf.apache.org/docs/springboot.html#SpringBoot-SpringBootCXFJAX-RSStarter + - name: Ratpack + id: ratpack + description: Spring Boot integration for the Ratpack framework + groupId: io.ratpack + artifactId: ratpack-spring-boot + version: 1.1.1 + versionRange: "[1.2.0.RELEASE,2.0.0.M1)" + starter: false + - name: Vaadin + id: vaadin + facets: + - web + groupId: com.vaadin + artifactId: vaadin-spring-boot-starter + description: Vaadin java web application framework + bom: vaadin + versionRange: 1.2.0.RELEASE + mappings: + - versionRange: "[1.2.0.RELEASE,1.4.0.RELEASE)" + version: 1.0.2 + - versionRange: "[1.4.0.RELEASE,1.5.0.M1)" + version: 1.2.0 + links: + - rel: guide + href: https://spring.io/guides/gs/crud-with-vaadin/ + description: Creating CRUD UI with Vaadin + - rel: reference + href: https://vaadin.com/spring + - name: Rest Repositories + id: data-rest + weight: 10 + description: Exposing Spring Data repositories over REST via spring-data-rest-webmvc + links: + - rel: guide + href: https://spring.io/guides/gs/accessing-data-rest/ + description: Accessing JPA Data with REST + - rel: guide + href: https://spring.io/guides/gs/accessing-neo4j-data-rest/ + description: Accessing Neo4j Data with REST + - rel: guide + href: https://spring.io/guides/gs/accessing-mongodb-data-rest/ + description: Accessing MongoDB Data with REST + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#howto-use-exposing-spring-data-repositories-rest-endpoint + - name: HATEOAS + id: hateoas + description: HATEOAS-based RESTful services + versionRange: 1.2.2.RELEASE + links: + - rel: guide + href: https://spring.io/guides/gs/rest-hateoas/ + description: Building a Hypermedia-Driven RESTful Web Service + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-hateoas + - name: Rest Repositories HAL Browser + id: data-rest-hal + description: Browsing Spring Data REST repositories in your browser + groupId: org.springframework.data + artifactId: spring-data-rest-hal-browser + versionRange: 1.3.0.RELEASE + starter: false + - name: Mobile + id: mobile + description: Simplify the development of mobile web applications with spring-mobile + - name: REST Docs + id: restdocs + description: Document RESTful services by combining hand-written and auto-generated documentation + groupId: org.springframework.restdocs + artifactId: spring-restdocs-mockmvc + mappings: + - versionRange: "[1.2.0.RELEASE,1.3.0.RC1)" + version: 1.0.1.RELEASE + scope: test + - name: Keycloak + id: keycloak + description: Keycloak integration, an open source Identity and Access Management solution. + groupId: org.keycloak + artifactId: keycloak-spring-boot-starter + versionRange: "[1.5.3.RELEASE,2.0.0.M1)" + bom: keycloak + links: + - rel: reference + href: https://keycloak.gitbooks.io/documentation/securing_apps/topics/oidc/java/spring-boot-adapter.html + - name: Template Engines + content: + - name: Freemarker + id: freemarker + description: FreeMarker templating engine + facets: + - web + keywords: + - template + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-mvc-template-engines + - name: Velocity + id: velocity + description: Velocity templating engine + versionRange: "[1.1.6.RELEASE,1.4.0.M2)" + facets: + - web + keywords: + - template + - name: Groovy Templates + id: groovy-templates + description: Groovy templating engine + facets: + - web + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-mvc-template-engines + - name: Thymeleaf + id: thymeleaf + description: Thymeleaf templating engine, including integration with Spring + weight: 100 + facets: + - web + keywords: + - template + links: + - rel: guide + href: https://spring.io/guides/gs/handling-form-submission/ + description: Handling Form Submission + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-mvc-template-engines + - name: Mustache + id: mustache + description: Mustache templating engine + versionRange: 1.2.2.RELEASE + facets: + - web + keywords: + - template + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-spring-mvc-template-engines + - name: SQL + content: + - name: JPA + id: data-jpa + description: Java Persistence API including spring-data-jpa, spring-orm and Hibernate + weight: 100 + aliases: + - jpa + links: + - rel: guide + href: https://spring.io/guides/gs/accessing-data-jpa/ + description: Accessing Data with JPA + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jpa-and-spring-data + - name: JOOQ + id: jooq + description: Persistence support using Java Object Oriented Querying + versionRange: 1.3.0.RELEASE + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-jooq + - name: MyBatis + id: mybatis + description: Persistence support using MyBatis + groupId: org.mybatis.spring.boot + artifactId: mybatis-spring-boot-starter + mappings: + - versionRange: "[1.3.0.RELEASE,1.4.0.RELEASE)" + version: 1.1.1 + - versionRange: "[1.4.0.RELEASE,1.5.0.RELEASE)" + version: 1.2.2 + - versionRange: 1.5.0.RELEASE + version: 1.3.1 + - name: JDBC + id: jdbc + description: JDBC databases + links: + - rel: guide + href: https://spring.io/guides/gs/relational-data-access/ + description: Accessing Relational Data using JDBC with Spring + - rel: guide + href: https://spring.io/guides/gs/managing-transactions/ + description: Managing Transactions + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-sql + - name: H2 + id: h2 + description: H2 database (with embedded support) + groupId: com.h2database + artifactId: h2 + scope: runtime + starter: false + - name: HSQLDB + id: hsql + description: HSQLDB database (with embedded support) + groupId: org.hsqldb + artifactId: hsqldb + scope: runtime + starter: false + - name: Apache Derby + id: derby + description: Apache Derby database (with embedded support) + groupId: org.apache.derby + artifactId: derby + scope: runtime + versionRange: 1.2.2.RELEASE + starter: false + - name: MySQL + id: mysql + description: MySQL jdbc driver + groupId: mysql + artifactId: mysql-connector-java + scope: runtime + starter: false + links: + - rel: guide + href: https://spring.io/guides/gs/accessing-data-mysql/ + description: Accessing data with MySQL + - name: PostgreSQL + id: postgresql + description: PostgreSQL jdbc driver + groupId: org.postgresql + artifactId: postgresql + mappings: + - versionRange: "[1.2.0.RELEASE,1.3.0.M1)" + version: 9.4-1201-jdbc41 + scope: runtime + starter: false + - name: SQL Server + id: sqlserver + description: Microsoft SQL Server jdbc driver + versionRange: 1.5.0.RC1 + groupId: com.microsoft.sqlserver + artifactId: mssql-jdbc + scope: runtime + starter: false + - name: Flyway + id: flyway + description: Flyway Database Migrations library + groupId: org.flywaydb + artifactId: flyway-core + starter: false + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#howto-execute-flyway-database-migrations-on-startup + - name: Liquibase + id: liquibase + description: Liquibase Database Migrations library + groupId: org.liquibase + artifactId: liquibase-core + starter: false + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#howto-execute-liquibase-database-migrations-on-startup + - name: NoSQL + content: + - name: MongoDB + id: data-mongodb + description: MongoDB NoSQL Database, including spring-data-mongodb + weight: 50 + links: + - rel: guide + href: https://spring.io/guides/gs/accessing-data-mongodb/ + description: Accessing Data with MongoDB + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-mongodb + - name: Reactive MongoDB + id: data-mongodb-reactive + description: MongoDB NoSQL Database, including spring-data-mongodb and the reactive driver + versionRange: 2.0.0.M1 + weight: 50 + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-mongodb + - name: Embedded MongoDB + id: flapdoodle-mongo + description: Embedded MongoDB for testing + versionRange: 1.3.0.RELEASE + groupId: de.flapdoodle.embed + artifactId: de.flapdoodle.embed.mongo + scope: test + starter: false + - name: Cassandra + id: data-cassandra + description: Cassandra NoSQL Database, including spring-data-cassandra + versionRange: 1.3.0.RC1 + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-cassandra + - name: Reactive Cassandra + id: data-cassandra-reactive + description: Cassandra NoSQL Database, including spring-data-cassandra and the reactive driver + versionRange: 2.0.0.M1 + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-cassandra + - name: Couchbase + id: data-couchbase + description: Couchbase NoSQL database, including spring-data-couchbase + versionRange: 1.4.0.RELEASE + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-couchbase + - name: Neo4j + id: data-neo4j + description: Neo4j NoSQL graph database, including spring-data-neo4j + versionRange: 1.4.0.RELEASE + links: + - rel: guide + href: https://spring.io/guides/gs/accessing-data-neo4j/ + description: Accessing Data with Neo4j + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-neo4j + - name: Redis + id: data-redis + description: Redis key-value data store, including spring-data-redis and Jedis + aliases: + - redis + mappings: + - versionRange: 1.4.0.M1 + artifactId: spring-boot-starter-data-redis + - versionRange: "[1.1.5.RELEASE,1.4.0.M1)" + artifactId: spring-boot-starter-redis + links: + - rel: guide + href: https://spring.io/guides/gs/messaging-redis/ + description: Messaging with Redis + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-redis + - name: Reactive Redis + id: data-redis-reactive + description: Redis key-value data store, including spring-data-redis and Lettuce + versionRange: 2.0.0.M1 + links: + - rel: guide + href: https://spring.io/guides/gs/messaging-redis/ + description: Messaging with Redis + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-redis + - name: Gemfire + id: data-gemfire + description: GemFire distributed data store including spring-data-gemfire + versionRange: "[1.1.0.RELEASE,2.0.0.M1)" + links: + - rel: guide + href: https://spring.io/guides/gs/accessing-data-gemfire/ + description: Accessing Data with GemFire + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-gemfire + - name: Solr + id: data-solr + description: Apache Solr search platform, including spring-data-solr + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-solr + - name: Elasticsearch + id: data-elasticsearch + description: Elasticsearch search and analytics engine including spring-data-elasticsearch + weight: 10 + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-elasticsearch + - name: Cloud Core + bom: spring-cloud + versionRange: 1.2.3.RELEASE + content: + - name: Cloud Connectors + id: cloud-connectors + description: Simplifies connecting to services in cloud platforms, including spring-cloud-connector and spring-cloud-cloudfoundry-connector + versionRange: 1.2.0.RELEASE + - name: Cloud Bootstrap + id: cloud-starter + description: spring-cloud-context (e.g. Bootstrap context and @RefreshScope) + groupId: org.springframework.cloud + artifactId: spring-cloud-starter + weight: 100 + - name: Cloud Security + id: cloud-security + description: Secure load balancing and routing with spring-cloud-security + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-security + - name: Cloud OAuth2 + id: cloud-oauth2 + description: OAuth2 and distributed application patterns with spring-cloud-security + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-oauth2 + - name: Cloud Task + id: cloud-task + description: Task result tracking along with integration with batch and streams + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-task + versionRange: "1.3.0.RELEASE" + bom: spring-cloud-task + mappings: + - versionRange: "[1.3.0.RELEASE,1.3.x.RELEASE]" + artifactId: spring-cloud-task-starter + - versionRange: "1.4.0.RELEASE" + - name: Cloud Config + bom: spring-cloud + versionRange: 1.2.3.RELEASE + content: + - name: Config Client + id: cloud-config-client + description: spring-cloud-config Client + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-config + weight: 100 + - name: Config Server + id: cloud-config-server + description: Central management for configuration via a git or svn backend + groupId: org.springframework.cloud + artifactId: spring-cloud-config-server + links: + - rel: guide + href: https://spring.io/guides/gs/centralized-configuration/ + description: Centralized Configuration + - name: Vault Configuration + id: cloud-starter-vault-config + description: Configuration management with HashiCorp Vault + versionRange: 1.5.3.RELEASE + starter: false + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-vault-config + - name: Zookeeper Configuration + id: cloud-starter-zookeeper-config + description: Configuration management with Zookeeper and spring-cloud-zookeeper-config + versionRange: 1.3.0.RELEASE + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-zookeeper-config + - name: Consul Configuration + id: cloud-starter-consul-config + description: Configuration management with Hashicorp Consul + versionRange: 1.3.0.RELEASE + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-consul-config + - name: Cloud Discovery + bom: spring-cloud + versionRange: 1.2.3.RELEASE + content: + - name: Eureka Discovery + id: cloud-eureka + description: Service discovery using spring-cloud-netflix and Eureka + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-netflix-eureka-client + weight: 100 + mappings: + - versionRange: "[1.2.3.RELEASE,1.5.x.RELEASE]" + artifactId: spring-cloud-starter-eureka + - versionRange: "1.5.0.BUILD-SNAPSHOT" + - name: Eureka Server + id: cloud-eureka-server + description: spring-cloud-netflix Eureka Server + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-netflix-eureka-server + links: + - rel: guide + href: https://spring.io/guides/gs/service-registration-and-discovery/ + description: Service Registration and Discovery + mappings: + - versionRange: "[1.2.3.RELEASE,1.5.x.RELEASE]" + artifactId: spring-cloud-starter-eureka-server + - versionRange: "1.5.0.BUILD-SNAPSHOT" + - name: Zookeeper Discovery + id: cloud-starter-zookeeper-discovery + description: Service discovery with Zookeeper and spring-cloud-zookeeper-discovery + versionRange: 1.3.0.RELEASE + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-zookeeper-discovery + - name: Cloud Foundry Discovery + id: cloud-cloudfoundry-discovery + description: Service discovery with Cloud Foundry + versionRange: 1.3.0.RELEASE + groupId: org.springframework.cloud + artifactId: spring-cloud-cloudfoundry-discovery + - name: Consul Discovery + id: cloud-starter-consul-discovery + description: Service discovery with Hashicorp Consul + versionRange: 1.3.0.RELEASE + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-consul-discovery + - name: Cloud Routing + bom: spring-cloud + versionRange: 1.2.3.RELEASE + content: + - name: Zuul + id: cloud-zuul + description: Intelligent and programmable routing with spring-cloud-netflix Zuul + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-netflix-zuul + links: + - rel: guide + href: https://spring.io/guides/gs/routing-and-filtering/ + description: Routing and Filtering + mappings: + - versionRange: "[1.2.3.RELEASE,1.5.x.RELEASE]" + artifactId: spring-cloud-starter-zuul + - versionRange: "1.5.0.BUILD-SNAPSHOT" + - name: Ribbon + id: cloud-ribbon + description: Client side load balancing with spring-cloud-netflix and Ribbon + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-netflix-ribbon + links: + - rel: guide + href: https://spring.io/guides/gs/client-side-load-balancing/ + description: Client Side Load Balancing with Ribbon and Spring Cloud + mappings: + - versionRange: "[1.2.3.RELEASE,1.5.x.RELEASE]" + artifactId: spring-cloud-starter-ribbon + - versionRange: "1.5.0.BUILD-SNAPSHOT" + - name: Feign + id: cloud-feign + description: Declarative REST clients with spring-cloud-netflix Feign + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-openfeign + mappings: + - versionRange: "[1.2.3.RELEASE,1.5.x.RELEASE]" + artifactId: spring-cloud-starter-feign + - versionRange: "1.5.0.BUILD-SNAPSHOT" + - name: Cloud Circuit Breaker + bom: spring-cloud + versionRange: 1.2.3.RELEASE + content: + - name: Hystrix + id: cloud-hystrix + description: Circuit breaker with spring-cloud-netflix Hystrix + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-netflix-hystrix + links: + - rel: guide + href: https://spring.io/guides/gs/circuit-breaker/ + description: Circuit Breaker + mappings: + - versionRange: "[1.2.3.RELEASE,1.5.x.RELEASE]" + artifactId: spring-cloud-starter-hystrix + - versionRange: "1.5.0.BUILD-SNAPSHOT" + - name: Hystrix Dashboard + id: cloud-hystrix-dashboard + description: Circuit breaker dashboard with spring-cloud-netflix Hystrix + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-netflix-hystrix-dashboard + mappings: + - versionRange: "[1.2.3.RELEASE,1.5.x.RELEASE]" + artifactId: spring-cloud-starter-hystrix-dashboard + - versionRange: "1.5.0.BUILD-SNAPSHOT" + - name: Turbine + id: cloud-turbine + description: Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and server-sent events + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-netflix-turbine + mappings: + - versionRange: "[1.2.3.RELEASE,1.5.x.RELEASE]" + artifactId: spring-cloud-starter-turbine + - versionRange: "1.5.0.BUILD-SNAPSHOT" + - name: Turbine Stream + id: cloud-turbine-stream + description: Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and Spring Cloud Stream (choose a specific Stream binder implementation to complement this) + versionRange: 1.3.0.RELEASE + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-netflix-turbine-stream + weight: -1 + mappings: + - versionRange: "[1.2.3.RELEASE,1.5.x.RELEASE]" + artifactId: spring-cloud-starter-turbine-stream + - versionRange: "1.5.0.BUILD-SNAPSHOT" + - name: Cloud Tracing + bom: spring-cloud + versionRange: 1.3.0.RELEASE + content: + - name: Sleuth + id: cloud-starter-sleuth + description: Distributed tracing via logs with spring-cloud-sleuth + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-sleuth + - name: Zipkin Client + id: cloud-starter-zipkin + description: Distributed tracing with an existing Zipkin installation and spring-cloud-sleuth-zipkin. Alternatively, consider Sleuth Stream. + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-zipkin + - name: Sleuth Stream + id: cloud-sleuth-stream + description: Marshals Spring Cloud Sleuth Spans over a Spring Cloud Stream binder + groupId: org.springframework.cloud + artifactId: spring-cloud-sleuth-stream + - name: Zipkin Stream + id: cloud-sleuth-zipkin-stream + description: Consumes span data in messages from Spring Cloud Sleuth Stream and writes them to a Zipkin store + groupId: org.springframework.cloud + artifactId: spring-cloud-sleuth-zipkin-stream + - name: Zipkin UI + id: zipkin-ui + description: add the Zipkin UI module to the Zipkin server to get a Zipkin service that accepts Spans and provides visualization + groupId: io.zipkin.java + artifactId: zipkin-autoconfigure-ui + scope: runtime + versionRange: 1.3.3.RELEASE + starter: false + - name: Cloud Messaging + bom: spring-cloud + versionRange: 1.2.3.RELEASE + content: + - name: Cloud Bus AMQP + id: cloud-bus-amqp + description: A simple control bus with AMQP and spring-cloud-bus-amqp + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-bus-amqp + - name: Cloud Bus Kafka + id: cloud-bus-kafka + description: A simple control bus with Kafka and spring-cloud-bus + versionRange: "1.3.0.RELEASE" + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-bus-kafka + - name: Stream Rabbit + id: cloud-stream-binder-rabbit + description: Messaging microservices with RabbitMQ + versionRange: 1.3.0.RELEASE + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-stream-rabbit + - name: Stream Kafka + id: cloud-stream-binder-kafka + description: Messaging microservices with Kafka + versionRange: 1.3.0.RELEASE + groupId: org.springframework.cloud + artifactId: spring-cloud-stream-binder-kafka + - name: Cloud AWS + bom: spring-cloud + versionRange: 1.2.3.RELEASE + content: + - name: AWS Core + id: cloud-aws + description: AWS native services from spring-cloud-aws + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-aws + - name: AWS JDBC + id: cloud-aws-jdbc + description: Relational databases on AWS with RDS and spring-cloud-aws-jdbc + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-aws-jdbc + - name: AWS Messaging + id: cloud-aws-messaging + description: Messaging on AWS with SQS and spring-cloud-aws-messaging + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-aws-messaging + - name: Cloud Contract + bom: spring-cloud + versionRange: 1.4.0.RC1 + content: + - name: Cloud Contract Verifier + id: cloud-contract-verifier + description: Test dependencies required for autogenerated tests + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-contract-verifier + scope: test + starter: false + - name: Cloud Contract Stub Runner + id: cloud-contract-stub-runner + description: Stub Runner for HTTP/Messaging based communication + groupId: org.springframework.cloud + artifactId: spring-cloud-starter-contract-stub-runner + scope: test + starter: false + - name: Cloud Contract WireMock + id: cloud-contract-wiremock + description: Test dependencies required for the WireMock HTTP server + groupId: org.springframework.cloud + artifactId: spring-cloud-contract-wiremock + scope: test + starter: false + - name: Pivotal Cloud Foundry + bom: spring-cloud-services + versionRange: "[1.3.0.RELEASE,2.0.0.M1)" + content: + - name: Config Client (PCF) + id: scs-config-client + description: Config client on Pivotal Cloud Foundry + groupId: io.pivotal.spring.cloud + artifactId: spring-cloud-services-starter-config-client + - name: Service Registry (PCF) + id: scs-service-registry + description: Eureka service discovery on Pivotal Cloud Foundry + groupId: io.pivotal.spring.cloud + artifactId: spring-cloud-services-starter-service-registry + - name: Circuit Breaker (PCF) + id: scs-circuit-breaker + description: Hystrix circuit breaker on Pivotal Cloud Foundry + groupId: io.pivotal.spring.cloud + artifactId: spring-cloud-services-starter-circuit-breaker + - name: Azure + bom: azure + versionRange: "[1.5.4.RELEASE,2.0.0.M1)" + content: + - name: Azure Support + id: azure-support + groupId: com.microsoft.azure + artifactId: azure-spring-boot + description: Auto-configuration for Azure Services (service bus, storage, active directory, cosmos DB, key vault and more) + links: + - rel: reference + href: https://github.com/Microsoft/azure-spring-boot/tree/master/azure-spring-boot + description: Reference doc + - name: Azure Active Directory + id: azure-active-directory + groupId: com.microsoft.azure + artifactId: azure-active-directory-spring-boot-starter + description: Spring Security integration with Azure Active Directory for authentication + links: + - rel: guide + href: https://github.com/Microsoft/azure-spring-boot/tree/master/azure-spring-boot-samples/azure-active-directory-spring-boot-sample + description: Using Active Directory + - rel: reference + href: https://github.com/Microsoft/azure-spring-boot/tree/master/azure-spring-boot-starters/azure-active-directory-spring-boot-starter + description: Reference doc + - name: Azure Key Vault + id: azure-keyvault-secrets + groupId: com.microsoft.azure + artifactId: azure-keyvault-secrets-spring-boot-starter + description: Spring value annotation integration with Azure Key Vault Secrets + links: + - rel: guide + href: https://github.com/Microsoft/azure-spring-boot/tree/master/azure-spring-boot-samples/azure-keyvault-secrets-spring-boot-sample + description: Using Key Vault + - rel: reference + href: https://github.com/Microsoft/azure-spring-boot/tree/master/azure-spring-boot-starters/azure-keyvault-secrets-spring-boot-starter + description: Reference doc + - name: Azure Storage + id: azure-storage + groupId: com.microsoft.azure + artifactId: azure-storage-spring-boot-starter + description: Azure Storage service integration + links: + - rel: guide + href: https://github.com/Microsoft/azure-spring-boot/tree/master/azure-spring-boot-samples/azure-storage-spring-boot-sample + description: Using Azure Storage + - rel: reference + href: https://github.com/Microsoft/azure-spring-boot/tree/master/azure-spring-boot-starters/azure-storage-spring-boot-starter + description: Reference doc + - name: Social + content: + - name: Facebook + id: social-facebook + description: spring-social-facebook + weight: 25 + links: + - rel: guide + href: https://spring.io/guides/gs/register-facebook-app/ + description: Registering an Application with Facebook + - rel: guide + href: https://spring.io/guides/gs/accessing-facebook/ + description: Accessing Facebook Data + - name: LinkedIn + id: social-linkedin + description: spring-social-linkedin + - name: Twitter + id: social-twitter + description: spring-social-twitter + links: + - rel: guide + href: https://spring.io/guides/gs/register-twitter-app/ + description: Registering an Application with Twitter + - rel: guide + href: https://spring.io/guides/gs/accessing-twitter/ + description: Accessing Twitter Data + - name: I/O + content: + - name: Batch + id: batch + description: Spring Batch including HSQLDB database + links: + - rel: guide + href: https://spring.io/guides/gs/batch-processing/ + description: Creating a Batch Service + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#howto-batch-applications + - name: Integration + id: integration + description: Common spring-integration modules + links: + - rel: guide + href: https://spring.io/guides/gs/integration/ + description: Integrating Data + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-integration + - name: Quartz Scheduler + id: quartz + versionRange: 2.0.0.M2 + description: Schedule jobs using Quartz + - name: Activiti + id: activiti-basic + versionRange: "[1.2.0.RELEASE,2.0.0.M1)" + description: Activiti BPMN workflow engine + groupId: org.activiti + artifactId: activiti-spring-boot-starter-basic + version: 5.21.0 + - name: Apache Camel + id: camel + versionRange: "[1.4.0.RELEASE,2.0.0.M1)" + mappings: + - versionRange: "[1.4.0.RELEASE,1.5.0.RELEASE)" + version: 2.18.4 + - versionRange: "[1.5.0.RELEASE,2.0.0.M1)" + version: 2.20.0 + description: Integration using Apache Camel + groupId: org.apache.camel + artifactId: camel-spring-boot-starter + links: + - rel: guide + href: http://camel.apache.org/spring-boot + description: Using Apache Camel with Spring Boot + - name: JMS (ActiveMQ) + id: activemq + description: Java Message Service API via Apache ActiveMQ + versionRange: 1.4.0.RC1 + links: + - rel: guide + href: https://spring.io/guides/gs/messaging-jms/ + description: Messaging with JMS + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-activemq + - name: JMS (Artemis) + id: artemis + description: Java Message Service API via Apache Artemis + versionRange: 1.3.0.RELEASE + links: + - rel: guide + href: https://spring.io/guides/gs/messaging-jms/ + description: Messaging with JMS + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-artemis + - name: JMS (HornetQ) + id: hornetq + description: Java Message Service API via HornetQ + versionRange: "[1.1.0.RELEASE,1.4.0.RC1)" + links: + - rel: guide + href: https://spring.io/guides/gs/messaging-jms/ + description: Messaging with JMS + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-hornetq + - name: AMQP + id: amqp + description: Advanced Message Queuing Protocol via spring-rabbit + links: + - rel: guide + href: https://spring.io/guides/gs/messaging-rabbitmq/ + description: Messaging with RabbitMQ + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-amqp + - name: Kafka + id: kafka + weight: 100 + description: Kafka messaging support using Spring Kafka + versionRange: 1.5.0.RC1 + groupId: org.springframework.kafka + artifactId: spring-kafka + starter: false + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-kafka + - name: Mail + id: mail + description: javax.mail + versionRange: 1.2.0.RC1 + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-email + - name: LDAP + id: data-ldap + description: LDAP support, including spring-data-ldap + versionRange: 1.5.0.RC1 + links: + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-ldap + - name: Ops + content: + - name: Actuator + id: actuator + description: Production ready features to help you monitor and manage your application + links: + - rel: guide + href: https://spring.io/guides/gs/actuator-service/ + description: Building a RESTful Web Service with Spring Boot Actuator + - rel: reference + href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#production-ready + - name: Actuator Docs + id: actuator-docs + description: API documentation for the Actuator endpoints + versionRange: "[1.3.0.RELEASE,2.0.0.M1)" + groupId: org.springframework.boot + artifactId: spring-boot-actuator-docs + - name: Remote Shell + id: remote-shell + description: CRaSH shell integration + versionRange: "[1.0.0.RELEASE,1.5.0.RC1)" + types: + - name: Maven Project + id: maven-project + description: Generate a Maven based project archive + sts-id: starter.zip + tags: + build: maven + format: project + default: true + action: /starter.zip + - name: Maven POM + id: maven-build + description: Generate a Maven pom.xml + sts-id: pom.xml + tags: + build: maven + format: build + default: false + action: /pom.xml + - name: Gradle Project + id: gradle-project + description: Generate a Gradle based project archive + sts-id: gradle.zip + tags: + build: gradle + format: project + default: false + action: /starter.zip + - name: Gradle Config + id: gradle-build + description: Generate a Gradle build file + sts-id: build.gradle + tags: + build: gradle + format: build + default: false + action: /build.gradle + packagings: + - name: Jar + id: jar + default: true + - name: War + id: war + default: false + javaVersions: + - id: 1.8 + default: true + - id: 1.7 + default: false + - id: 1.6 + default: false + languages: + - name: Java + id: java + default: true + - name: Kotlin + id: kotlin + default: false + - name: Groovy + id: groovy + default: false + bootVersions: + - name : Latest SNAPSHOT + id: 1.2.4.BUILD-SNAPSHOT + default: false + - name: 1.2.3 + id: 1.2.3.RELEASE + default: true + - name: 1.1.12 + id: 1.1.12.RELEASE + default: false + diff --git a/src/test/java/cn/org/jetbrains/initializr/InitializrApplicationTests.java b/src/test/java/cn/org/jetbrains/initializr/InitializrApplicationTests.java new file mode 100644 index 0000000..8c15099 --- /dev/null +++ b/src/test/java/cn/org/jetbrains/initializr/InitializrApplicationTests.java @@ -0,0 +1,16 @@ +package cn.org.jetbrains.initializr; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class InitializrApplicationTests { + + @Test + public void contextLoads() { + } + +}