diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index b29845b4..00000000 --- a/.editorconfig +++ /dev/null @@ -1,28 +0,0 @@ -root = true - -[*.java] -indent_style = tab -indent_size = 4 -continuation_indent_size = 8 - -[*.groovy] -indent_style = tab -indent_size = 4 -continuation_indent_size = 8 - -[*.xml] -indent_style = tab -indent_size = 4 -continuation_indent_size = 8 - -[*.yml] -indent_style = space -indent_size = 2 - -[*.yaml] -indent_style = space -indent_size = 2 - -[*.sh] -indent_style = space -indent_size = 4 \ No newline at end of file diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md deleted file mode 100644 index eb9a16ae..00000000 --- a/.github/CONTRIBUTING.md +++ /dev/null @@ -1,45 +0,0 @@ - -# Contributing - -Spring Cloud is released under the non-restrictive Apache 2.0 license, -and follows a very standard Github development process, using Github -tracker for issues and merging pull requests into master. If you want -to contribute even something trivial please do not hesitate, but -follow the guidelines below. - -## Sign the Contributor License Agreement -Before we accept a non-trivial patch or pull request we will need you to sign the -[Contributor License Agreement](https://cla.pivotal.io/sign/spring). -Signing the contributor's agreement does not grant anyone commit rights to the main -repository, but it does mean that we can accept your contributions, and you will get an -author credit if we do. Active contributors might be asked to join the core team, and -given the ability to merge pull requests. - -## Code of Conduct -This project adheres to the Contributor Covenant [code of -conduct](https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc). By participating, you are expected to uphold this code. Please report -unacceptable behavior to spring-code-of-conduct@pivotal.io. - -## Code Conventions and Housekeeping -None of these is essential for a pull request, but they will all help. They can also be -added after the original pull request but before a merge. - -* Use the Spring Framework code format conventions. If you use Eclipse - you can import formatter settings using the - `eclipse-code-formatter.xml` file from the - [Spring Cloud Build](https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml) project. If using IntelliJ, you can use the - [Eclipse Code Formatter Plugin](https://plugins.jetbrains.com/plugin/6546) to import the same file. -* Make sure all new `.java` files to have a simple Javadoc class comment with at least an - `@author` tag identifying you, and preferably at least a paragraph on what the class is - for. -* Add the ASF license header comment to all new `.java` files (copy from existing files - in the project) -* Add yourself as an `@author` to the .java files that you modify substantially (more - than cosmetic changes). -* Add some Javadocs and, if you change the namespace, some XSD doc elements. -* A few unit tests would help a lot as well -- someone has to do it. -* If no-one else is using your branch, please rebase it against the current master (or - other target branch in the main project). -* When writing a commit message please follow [these conventions](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), - if you are fixing an existing issue please add `Fixes gh-XXXX` at the end of the commit - message (where XXXX is the issue number). diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 0bc5ef4f..00000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,20 +0,0 @@ - diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index aeafef9d..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -Please provide details of the problem, including the version of Spring Cloud that you -are using. - -**Sample** -If possible, please provide a test case or sample application that reproduces -the problem. This makes it much easier for us to diagnose the problem and to verify that -we have fixed it. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index bbcbbe7d..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 00000000..d030416a --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,53 @@ +name: Deploy Docs +run-name: ${{ format('{0} ({1})', github.workflow, github.event.inputs.build-refname || 'all') }} +on: + workflow_dispatch: + inputs: + build-refname: + description: Enter git refname to build (e.g., 5.7.x). + required: false + push: + branches: docs-build +env: + GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }} +permissions: + contents: write +jobs: + build: + if: github.repository_owner == 'spring-cloud' + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 5 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + - name: Set up refname build + if: github.event.inputs.build-refname + run: | + git fetch --depth 1 https://github.com/$GITHUB_REPOSITORY ${{ github.event.inputs.build-refname }} + export BUILD_REFNAME=${{ github.event.inputs.build-refname }} + echo "BUILD_REFNAME=$BUILD_REFNAME" >> $GITHUB_ENV + export BUILD_VERSION=$(git cat-file --textconv FETCH_HEAD:pom.xml | python3 -c "import xml.etree.ElementTree as xml; from sys import stdin; print(xml.parse(stdin).getroot().find('{http://maven.apache.org/POM/4.0.0}version').text)") + echo BUILD_VERSION=$BUILD_VERSION >> $GITHUB_ENV + - name: Run Antora + run: | + ./mvnw antora + - name: Publish Docs + uses: rwinch/spring-doc-actions/rsync-antora-reference@httpdocs-path + with: + docs-username: ${{ secrets.DOCS_USERNAME }} + docs-host: ${{ secrets.DOCS_HOST }} + docs-ssh-key: ${{ secrets.DOCS_SSH_KEY }} + docs-ssh-host-key: ${{ secrets.DOCS_SSH_HOST_KEY }} + site-path: docs/target/antora/site + - name: Bust Cloudflare Cache + uses: spring-io/spring-doc-actions/bust-cloudflare-antora-cache@v0.0.11 + with: + context-root: spring-cloud-build + cloudflare-zone-id: ${{ secrets.CLOUDFLARE_ZONE_ID }} + cloudflare-cache-token: ${{ secrets.CLOUDFLARE_CACHE_TOKEN }} diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml deleted file mode 100644 index 084aa7ce..00000000 --- a/.github/workflows/maven.yml +++ /dev/null @@ -1,31 +0,0 @@ -# This workflow will build a Java project with Maven -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - -name: Build - -on: - push: - branches: [ main, 3.1.x ] - pull_request: - branches: [ main, 3.1.x ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Set up JDK - uses: actions/setup-java@v1 - with: - java-version: 17 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Build with Maven - run: ./mvnw clean install -B -U -Pspring diff --git a/.gitignore b/.gitignore index 0f4b5b90..abc7d179 100644 --- a/.gitignore +++ b/.gitignore @@ -1,21 +1,21 @@ -*~ -#* -*# -.#* -.classpath -.project -.settings -.springBeans -.gradle -build -bin target/ -asciidoctor.css -_site/ -*.swp -.idea -*.iml +.settings/ +.project +.classpath +*.orig +.springBeans .factorypath -.vscode/ -.flattened-pom.xml -.DS_Store \ No newline at end of file +.sts4-cache +.ant-targets-build.xml +src/ant/.ant-targets-upload-dist.xml +*.sonar4clipse* +.DS_Store +*.iml +*.ipr +*.iws +/.idea/ +*.graphml +node_modules +node/ +package-lock.json +package.json diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 7d352b8c..00000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "docs/src/test/bats/test_helper/bats-assert"] - path = docs/src/test/bats/test_helper/bats-assert - url = https://github.com/ztombol/bats-assert -[submodule "docs/src/test/bats/test_helper/bats-support"] - path = docs/src/test/bats/test_helper/bats-support - url = https://github.com/ztombol/bats-support diff --git a/.mvn/maven.config b/.mvn/maven.config deleted file mode 100644 index a6829905..00000000 --- a/.mvn/maven.config +++ /dev/null @@ -1 +0,0 @@ --P spring diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 598fb341..642d572c 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,2 +1,2 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/.sdkmanrc b/.sdkmanrc deleted file mode 100644 index 415f9083..00000000 --- a/.sdkmanrc +++ /dev/null @@ -1,3 +0,0 @@ -# Enable auto-env through the sdkman_auto_env config -# Add key=value pairs of SDKs to use below -java=17.0.1-tem diff --git a/.settings.xml b/.settings.xml deleted file mode 100644 index c5a482ba..00000000 --- a/.settings.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - repo.spring.io - ${env.CI_DEPLOY_USERNAME} - ${env.CI_DEPLOY_PASSWORD} - - - - - - spring - - true - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - - - - ide - - true - - - - diff --git a/.springformat b/.springformat deleted file mode 100644 index e69de29b..00000000 diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 62589edd..00000000 --- a/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/README.adoc b/README.adoc index c0a28ffa..dd0716b9 100644 --- a/README.adoc +++ b/README.adoc @@ -1,438 +1,24 @@ -//// -DO NOT EDIT THIS FILE. IT WAS GENERATED. -Manual changes to this file will be lost when it is generated again. -Edit the files in the src/main/asciidoc/ directory instead. -//// += Spring Cloud Build Docs Build + +You're currently viewing the Antora playbook branch. +The playbook branch hosts the docs build that is used to build and publish the production docs site. + +The Spring Cloud Build reference docs are built using https://antora.org[Antora]. +This README covers how to build the docs in a software branch as well as how to build the production docs site locally. -image::https://github.com/spring-cloud/spring-cloud-build/workflows/Build/badge.svg?branch=main&style=svg["Build",link="https://github.com/spring-cloud/spring-cloud-build/actions"] +== Building the Site -Spring Cloud Build is a common utility project for Spring Cloud -to use for plugin and dependency management. - -== Building and Deploying - -To install locally: +You can build the entire site by invoking the following on the docs-build branch and then viewing the site at `target/site/index.html` +[source,bash] +---- +./mvnw antora ---- -$ mvn install -s .settings.xml +== Building a Specific Branch + +[source,bash] ---- - -and to deploy snapshots to repo.spring.io: - ----- -$ mvn deploy -DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/snapshot ----- - -for a RELEASE build use - ----- -$ mvn deploy -DaltReleaseDeploymentRepository=repo.spring.io::default::https://repo.spring.io/release ----- - -and for jcenter use - ----- -$ mvn deploy -DaltReleaseDeploymentRepository=bintray::default::https://api.bintray.com/maven/spring/jars/org.springframework.cloud:build ----- - -and for Maven Central use - ----- -$ mvn deploy -P central -DaltReleaseDeploymentRepository=sonatype-nexus-staging::default::https://oss.sonatype.org/service/local/staging/deploy/maven2 ----- - -(the "central" profile is available for all projects in Spring Cloud and it sets up the gpg jar signing, and the repository has to be specified separately for this project because it is a parent of the starter parent which users in turn have as their own parent). - -== Contributing - -:spring-cloud-build-branch: master - -Spring Cloud is released under the non-restrictive Apache 2.0 license, -and follows a very standard Github development process, using Github -tracker for issues and merging pull requests into master. If you want -to contribute even something trivial please do not hesitate, but -follow the guidelines below. - -=== Sign the Contributor License Agreement -Before we accept a non-trivial patch or pull request we will need you to sign the -https://cla.pivotal.io/sign/spring[Contributor License Agreement]. -Signing the contributor's agreement does not grant anyone commit rights to the main -repository, but it does mean that we can accept your contributions, and you will get an -author credit if we do. Active contributors might be asked to join the core team, and -given the ability to merge pull requests. - -=== Code of Conduct -This project adheres to the Contributor Covenant https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc[code of -conduct]. By participating, you are expected to uphold this code. Please report -unacceptable behavior to spring-code-of-conduct@pivotal.io. - -=== Code Conventions and Housekeeping -None of these is essential for a pull request, but they will all help. They can also be -added after the original pull request but before a merge. - -* Use the Spring Framework code format conventions. If you use Eclipse - you can import formatter settings using the - `eclipse-code-formatter.xml` file from the - https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring - Cloud Build] project. If using IntelliJ, you can use the - https://plugins.jetbrains.com/plugin/6546[Eclipse Code Formatter - Plugin] to import the same file. -* Make sure all new `.java` files to have a simple Javadoc class comment with at least an - `@author` tag identifying you, and preferably at least a paragraph on what the class is - for. -* Add the ASF license header comment to all new `.java` files (copy from existing files - in the project) -* Add yourself as an `@author` to the .java files that you modify substantially (more - than cosmetic changes). -* Add some Javadocs and, if you change the namespace, some XSD doc elements. -* A few unit tests would help a lot as well -- someone has to do it. -* If no-one else is using your branch, please rebase it against the current master (or - other target branch in the main project). -* When writing a commit message please follow https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[these conventions], - if you are fixing an existing issue please add `Fixes gh-XXXX` at the end of the commit - message (where XXXX is the issue number). - -=== Checkstyle - -Spring Cloud Build comes with a set of checkstyle rules. You can find them in the `spring-cloud-build-tools` module. The most notable files under the module are: - -.spring-cloud-build-tools/ ----- -└── src -    ├── checkstyle -    │   └── checkstyle-suppressions.xml <3> -    └── main -    └── resources -    ├── checkstyle-header.txt <2> -    └── checkstyle.xml <1> ----- -<1> Default Checkstyle rules -<2> File header setup -<3> Default suppression rules - -==== Checkstyle configuration - -Checkstyle rules are *disabled by default*. To add checkstyle to your project just define the following properties and plugins. - -.pom.xml ----- - -true <1> - true - <2> - true - <3> - - - - - <4> - io.spring.javaformat - spring-javaformat-maven-plugin - - <5> - org.apache.maven.plugins - maven-checkstyle-plugin - - - - - - <5> - org.apache.maven.plugins - maven-checkstyle-plugin - - - - ----- -<1> Fails the build upon Checkstyle errors -<2> Fails the build upon Checkstyle violations -<3> Checkstyle analyzes also the test sources -<4> Add the Spring Java Format plugin that will reformat your code to pass most of the Checkstyle formatting rules -<5> Add checkstyle plugin to your build and reporting phases - -If you need to suppress some rules (e.g. line length needs to be longer), then it's enough for you to define a file under `${project.root}/src/checkstyle/checkstyle-suppressions.xml` with your suppressions. Example: - -.projectRoot/src/checkstyle/checkstyle-suppresions.xml ----- - - - - - - ----- - -It's advisable to copy the `${spring-cloud-build.rootFolder}/.editorconfig` and `${spring-cloud-build.rootFolder}/.springformat` to your project. That way, some default formatting rules will be applied. You can do so by running this script: - -```bash -$ curl https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/.editorconfig -o .editorconfig -$ touch .springformat -``` - -=== IDE setup - -==== Intellij IDEA - -In order to setup Intellij you should import our coding conventions, inspection profiles and set up the checkstyle plugin. -The following files can be found in the https://github.com/spring-cloud/spring-cloud-build/tree/master/spring-cloud-build-tools[Spring Cloud Build] project. - -.spring-cloud-build-tools/ ----- -└── src -    ├── checkstyle -    │   └── checkstyle-suppressions.xml <3> -    └── main -    └── resources -    ├── checkstyle-header.txt <2> -    ├── checkstyle.xml <1> -    └── intellij -       ├── Intellij_Project_Defaults.xml <4> -       └── Intellij_Spring_Boot_Java_Conventions.xml <5> ----- -<1> Default Checkstyle rules -<2> File header setup -<3> Default suppression rules -<4> Project defaults for Intellij that apply most of Checkstyle rules -<5> Project style conventions for Intellij that apply most of Checkstyle rules - -.Code style - -image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-code-style.png[Code style] - -Go to `File` -> `Settings` -> `Editor` -> `Code style`. There click on the icon next to the `Scheme` section. There, click on the `Import Scheme` value and pick the `Intellij IDEA code style XML` option. Import the `spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml` file. - -.Inspection profiles - -image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-inspections.png[Code style] - -Go to `File` -> `Settings` -> `Editor` -> `Inspections`. There click on the icon next to the `Profile` section. There, click on the `Import Profile` and import the `spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml` file. - -.Checkstyle - -To have Intellij work with Checkstyle, you have to install the `Checkstyle` plugin. It's advisable to also install the `Assertions2Assertj` to automatically convert the JUnit assertions - -image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-checkstyle.png[Checkstyle] - -Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on the `+` icon in the `Configuration file` section. There, you'll have to define where the checkstyle rules should be picked from. In the image above, we've picked the rules from the cloned Spring Cloud Build repository. However, you can point to the Spring Cloud Build's GitHub repository (e.g. for the `checkstyle.xml` : `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle.xml`). We need to provide the following variables: - -- `checkstyle.header.file` - please point it to the Spring Cloud Build's, `spring-cloud-build-tools/src/main/resources/checkstyle-header.txt` file either in your cloned repo or via the `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt` URL. -- `checkstyle.suppressions.file` - default suppressions. Please point it to the Spring Cloud Build's, `spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml` file either in your cloned repo or via the `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml` URL. -- `checkstyle.additional.suppressions.file` - this variable corresponds to suppressions in your local project. E.g. you're working on `spring-cloud-contract`. Then point to the `project-root/src/checkstyle/checkstyle-suppressions.xml` folder. Example for `spring-cloud-contract` would be: `/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml`. - -IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources. - -=== Duplicate Finder - -Spring Cloud Build brings along the `basepom:duplicate-finder-maven-plugin`, that enables flagging duplicate and conflicting classes and resources on the java classpath. - -==== Duplicate Finder configuration - -Duplicate finder is *enabled by default* and will run in the `verify` phase of your Maven build, but it will only take effect in your project if you add the `duplicate-finder-maven-plugin` to the `build` section of the projecst's `pom.xml`. - -.pom.xml -[source,xml] ----- - - - - org.basepom.maven - duplicate-finder-maven-plugin - - - ----- - -For other properties, we have set defaults as listed in the https://github.com/basepom/duplicate-finder-maven-plugin/wiki[plugin documentation]. - -You can easily override them but setting the value of the selected property prefixed with `duplicate-finder-maven-plugin`. For example, set `duplicate-finder-maven-plugin.skip` to `true` in order to skip duplicates check in your build. - -If you need to add `ignoredClassPatterns` or `ignoredResourcePatterns` to your setup, make sure to add them in the plugin configuration section of your project: - -[source,xml] ----- - - - - org.basepom.maven - duplicate-finder-maven-plugin - - - org.joda.time.base.BaseDateTime - .*module-info - - - changelog.txt - - - - - - - ----- - - -== Flattening the POMs - -To avoid propagating build setup that is required to build a Spring Cloud project, we're using the maven flatten plugin. It has the advantage of letting you use whatever features you need while publishing "clean" pom to the repository. - -In order to add it, add the `org.codehaus.mojo:flatten-maven-plugin` to your `pom.xml`. - -[source,xml] ----- - - - - org.codehaus.mojo - flatten-maven-plugin - - - ----- - -== Reusing the documentation - -Spring Cloud Build publishes its `spring-cloud-build-docs` module that contains -helpful scripts (e.g. README generation ruby script) and css, xslt and images -for the Spring Cloud documentation. If you want to follow the same convention -approach of generating documentation just add these plugins to your `docs` module - -[source,xml] ----- - - deploy <8> - - - - docs - - - - pl.project13.maven - git-commit-id-plugin <1> - - - org.apache.maven.plugins - maven-dependency-plugin <2> - - - org.apache.maven.plugins - maven-resources-plugin <3> - - - org.codehaus.mojo - exec-maven-plugin <4> - - - org.asciidoctor - asciidoctor-maven-plugin <5> - - - org.apache.maven.plugins - maven-antrun-plugin <6> - - - maven-deploy-plugin <7> - - - - - ----- -<1> This plugin downloads sets up all the git information of the project -<2> This plugin downloads the resources of the `spring-cloud-build-docs` module -<3> This plugin unpacks the resources of the `spring-cloud-build-docs` module -<4> This plugin generates an `adoc` file with all the configuration properties from the classpath -<5> This plugin is required to parse the Asciidoctor documentation -<6> This plugin is required to copy resources into proper final destinations and to generate main README.adoc and to assert that no files use unresolved links -<7> This plugin ensures that the generated zip docs will get published -<8> This property turns on the "deploy" phase for <7> - -IMPORTANT: The order of plugin declaration is important! - -In order for the build to generate the `adoc` file with all your configuration properties, your `docs` module should contain all the dependencies on the classpath, that you would want to scan for configuration properties. The file will be output to `${docsModule}/src/main/asciidoc/_configprops.adoc` file (configurable via the `configprops.path` property). - -If you want to modify which of the configuration properties are put in the table, you can tweak the `configprops.inclusionPattern` pattern to include only a subset of the properties (e.g. `spring.sleuth.*`). - -Spring Cloud Build Docs comes with a set of attributes for asciidoctor that you can reuse. - -[source,xml] ----- - - shared - true - - left - 4 - true - ${project.basedir}/src@ - ${project.basedir}/src/main/asciidoc@ - ${project.basedir}/target/generated-resources@ - - - - ${maven.multiModuleProjectDirectory}@ - - ${docs.main}@ - https://github.com/spring-cloud/${docs.main}@ - - https://raw.githubusercontent.com/spring-cloud/${docs.main}/${github-tag}@ - - https://github.com/spring-cloud/${docs.main}/tree/${github-tag}@ - - https://github.com/spring-cloud/${docs.main}/issues/@ - https://github.com/spring-cloud/${docs.main}/wiki@ - https://github.com/spring-cloud/${docs.main}/tree/master@ - - ${index-link}@ - - - - ${project.version}@ - ${project.version}@ - ${github-tag}@ - ${version-type}@ - https://docs.spring.io/${docs.main}/docs/${project.version}@ - ${github-raw}@ - ${project.version}@ - ${docs.main}@ - highlight.js - ----- - -== Updating the guides - -We assume that your project contains guides under the `guides` folder. - -``` -. -└── guides - ├── gs-guide1 - ├── gs-guide2 - └── gs-guide3 -``` - -This means that the project contains 3 guides that would -correspond to the following guides in Spring Guides org. - -- https://github.com/spring-guides/gs-guide1 -- https://github.com/spring-guides/gs-guide2 -- https://github.com/spring-guides/gs-guide3 - -If you deploy your project with the `-Pguides` profile like this - -``` -$ ./mvnw clean deploy -Pguides -``` - -what will happen is that for GA project versions, we will clone `gs-guide1`, `gs-guide2` and `gs-guide3` and update their contents with the ones being under your `guides` project. - -You can skip this by either not adding the `guides` profile, or passing the `-DskipGuides` system property when the profile is turned on. - -You can configure the project version passed to guides via the `guides-project.version` (defaults to `${project.version}`). The phase at which guides get updated can be configured by `guides-update.phase` (defaults to `deploy`). +./mvnw antora +---- \ No newline at end of file diff --git a/docs/antora-playbook.yml b/antora-playbook.yml similarity index 59% rename from docs/antora-playbook.yml rename to antora-playbook.yml index 8540130e..821965d4 100644 --- a/docs/antora-playbook.yml +++ b/antora-playbook.yml @@ -6,38 +6,39 @@ antora: - '@antora/collector-extension' - '@antora/atlas-extension' - require: '@springio/antora-extensions/root-component-extension' - root_component_name: 'cloud-commons' - # FIXME: Run antora once using this extension to migrate to the Asciidoc Tabs syntax - # and then remove this extension - - require: '@springio/antora-extensions/tabs-migration-extension' - unwrap_example_block: always - save_result: true + root_component_name: 'cloud-build' site: - title: Spring Cloud Commons - url: https://docs.spring.io/spring-cloud-commons/reference/ + title: Spring Cloud Build + url: https://docs.spring.io/spring-cloud-build/reference + robots: allow +git: + ensure_git_suffix: false content: sources: - - url: ./.. - branches: HEAD + - url: https://github.com/spring-cloud/spring-cloud-build + # Refname matching: + # https://docs.antora.org/antora/latest/playbook/content-refname-matching/ + branches: [ main ] + tags: [ '({4..9}).+({1..9}).+({0..9})?(-{RC,M}+({0..9}))', '!4.1.0-M1' ] start_path: docs - worktrees: true asciidoc: attributes: page-stackoverflow-url: https://stackoverflow.com/tags/spring-cloud page-pagination: '' hide-uri-scheme: '@' tabs-sync-option: '@' - chomp: 'all' extensions: - '@asciidoctor/tabs' - '@springio/asciidoctor-extensions' - sourcemap: true urls: + latest_version_segment_strategy: redirect:to latest_version_segment: '' + redirect_facility: httpd +ui: + bundle: + url: https://github.com/spring-io/antora-ui-spring/releases/download/v0.3.5/ui-bundle.zip + snapshot: true runtime: log: failure_level: warn format: pretty -ui: - bundle: - url: https://github.com/spring-io/antora-ui-spring/releases/download/v0.3.4/ui-bundle.zip \ No newline at end of file diff --git a/config/releaser.yml b/config/releaser.yml deleted file mode 100644 index 4c3f293e..00000000 --- a/config/releaser.yml +++ /dev/null @@ -1,4 +0,0 @@ -releaser: - maven: - buildCommand: ./scripts/build.sh {{systemProps}} -# deployCommand: echo "skip deploy" diff --git a/docs/.github/workflows/deploy-docs.yml b/docs/.github/workflows/deploy-docs.yml deleted file mode 100644 index be4b92df..00000000 --- a/docs/.github/workflows/deploy-docs.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Deploy Docs -on: - push: - branches-ignore: [ gh-pages ] - tags: '**' - repository_dispatch: - types: request-build-reference # legacy - #schedule: - #- cron: '0 10 * * *' # Once per day at 10am UTC - workflow_dispatch: -permissions: - actions: write -jobs: - build: - runs-on: ubuntu-latest - # if: github.repository_owner == 'spring-cloud' - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - ref: docs-build - fetch-depth: 1 - - name: Dispatch (partial build) - if: github.ref_type == 'branch' - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: gh workflow run deploy-docs.yml -r $(git rev-parse --abbrev-ref HEAD) -f build-refname=${{ github.ref_name }} - - name: Dispatch (full build) - if: github.ref_type == 'tag' - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: gh workflow run deploy-docs.yml -r $(git rev-parse --abbrev-ref HEAD) diff --git a/docs/antora.yml b/docs/antora.yml deleted file mode 100644 index ba878062..00000000 --- a/docs/antora.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: cloud-commons -version: true -title: Spring Cloud Commons -nav: - - modules/ROOT/nav.adoc -ext: - collector: - run: - command: ./mvnw validate process-resources -Pdocs -pl docs - local: true - scan: - dir: ./target/classes/antora-resources/ diff --git a/docs/modules/ROOT/assets/images/intellij-checkstyle.png b/docs/modules/ROOT/assets/images/intellij-checkstyle.png deleted file mode 100644 index f02fa65f..00000000 Binary files a/docs/modules/ROOT/assets/images/intellij-checkstyle.png and /dev/null differ diff --git a/docs/modules/ROOT/assets/images/intellij-code-style.png b/docs/modules/ROOT/assets/images/intellij-code-style.png deleted file mode 100644 index 533e65df..00000000 Binary files a/docs/modules/ROOT/assets/images/intellij-code-style.png and /dev/null differ diff --git a/docs/modules/ROOT/assets/images/intellij-inspections.png b/docs/modules/ROOT/assets/images/intellij-inspections.png deleted file mode 100644 index 22dfdd36..00000000 Binary files a/docs/modules/ROOT/assets/images/intellij-inspections.png and /dev/null differ diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc deleted file mode 100644 index be61d2df..00000000 --- a/docs/modules/ROOT/nav.adoc +++ /dev/null @@ -1,8 +0,0 @@ -* xref:index.adoc[] -* xref:spring-cloud-build.adoc[] -* xref:README.adoc[] -* xref:building-jdk8.adoc[] -* xref:building.adoc[] -* xref:code-of-conduct.adoc[] -* xref:contributing-docs.adoc[] -* xref:contributing.adoc[] diff --git a/docs/modules/ROOT/pages/README.adoc b/docs/modules/ROOT/pages/README.adoc deleted file mode 100644 index 5720210d..00000000 --- a/docs/modules/ROOT/pages/README.adoc +++ /dev/null @@ -1,168 +0,0 @@ -image::https://github.com/spring-cloud/spring-cloud-build/workflows/Build/badge.svg?branch=main&style=svg["Build",link="https://github.com/spring-cloud/spring-cloud-build/actions"] - -Spring Cloud Build is a common utility project for Spring Cloud -to use for plugin and dependency management. - -[[building-and-deploying]] -= Building and Deploying - -To install locally: - ----- - -$ mvn install -s .settings.xml ----- - -and to deploy snapshots to repo.spring.io: - ----- -$ mvn deploy -DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/snapshot ----- - -for a RELEASE build use - ----- -$ mvn deploy -DaltReleaseDeploymentRepository=repo.spring.io::default::https://repo.spring.io/release ----- - -and for jcenter use - ----- -$ mvn deploy -DaltReleaseDeploymentRepository=bintray::default::https://api.bintray.com/maven/spring/jars/org.springframework.cloud:build ----- - -and for Maven Central use - ----- -$ mvn deploy -P central -DaltReleaseDeploymentRepository=sonatype-nexus-staging::default::https://oss.sonatype.org/service/local/staging/deploy/maven2 ----- - -(the "central" profile is available for all projects in Spring Cloud and it sets up the gpg jar signing, and the repository has to be specified separately for this project because it is a parent of the starter parent which users in turn have as their own parent). - -[[contributing]] -= Contributing - -include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/docs/src/main/asciidoc/contributing.adoc[] - -[[flattening-the-poms]] -= Flattening the POMs - -To avoid propagating build setup that is required to build a Spring Cloud project, we're using the maven flatten plugin. It has the advantage of letting you use whatever features you need while publishing "clean" pom to the repository. - -In order to add it, add the `org.codehaus.mojo:flatten-maven-plugin` to your `pom.xml`. - -[source,xml] ----- - - - - org.codehaus.mojo - flatten-maven-plugin - - - ----- - -[[reusing-the-documentation]] -= Reusing the documentation - -Spring Cloud Build publishes its `spring-cloud-build-docs` module that contains -helpful scripts (e.g. README generation ruby script) and css, xslt and images -for the Spring Cloud documentation. If you want to follow the same convention -approach of generating documentation just add these plugins to your `docs` module - -[source,xml] ----- - - deploy <8> - - - - docs - - - - pl.project13.maven - git-commit-id-plugin <1> - - - org.apache.maven.plugins - maven-dependency-plugin <2> - - - org.apache.maven.plugins - maven-resources-plugin <3> - - - org.codehaus.mojo - exec-maven-plugin <4> - - - org.asciidoctor - asciidoctor-maven-plugin <5> - - - org.apache.maven.plugins - maven-antrun-plugin <6> - - - maven-deploy-plugin <7> - - - - - ----- -<1> This plugin downloads sets up all the git information of the project -<2> This plugin downloads the resources of the `spring-cloud-build-docs` module -<3> This plugin unpacks the resources of the `spring-cloud-build-docs` module -<4> This plugin generates an `adoc` file with all the configuration properties from the classpath -<5> This plugin is required to parse the Asciidoctor documentation -<6> This plugin is required to copy resources into proper final destinations and to generate main README.adoc and to assert that no files use unresolved links -<7> This plugin ensures that the generated zip docs will get published -<8> This property turns on the "deploy" phase for <7> - -IMPORTANT: The order of plugin declaration is important! - -In order for the build to generate the `adoc` file with all your configuration properties, your `docs` module should contain all the dependencies on the classpath, that you would want to scan for configuration properties. The file will be output to `${docsModule}/src/main/asciidoc/_configprops.adoc` file (configurable via the `configprops.path` property). - -If you want to modify which of the configuration properties are put in the table, you can tweak the `configprops.inclusionPattern` pattern to include only a subset of the properties (e.g. `spring.sleuth.*`). - -Spring Cloud Build Docs comes with a set of attributes for asciidoctor that you can reuse. - -[source,xml] ----- -include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/pom.xml[tags=attributes,indent=0] ----- - -[[updating-the-guides]] -= Updating the guides - -We assume that your project contains guides under the `guides` folder. - -``` -. -└── guides - ├── gs-guide1 - ├── gs-guide2 - └── gs-guide3 -``` - -This means that the project contains 3 guides that would -correspond to the following guides in Spring Guides org. - -- https://github.com/spring-guides/gs-guide1 -- https://github.com/spring-guides/gs-guide2 -- https://github.com/spring-guides/gs-guide3 - -If you deploy your project with the `-Pguides` profile like this - -``` -$ ./mvnw clean deploy -Pguides -``` - -what will happen is that for GA project versions, we will clone `gs-guide1`, `gs-guide2` and `gs-guide3` and update their contents with the ones being under your `guides` project. - -You can skip this by either not adding the `guides` profile, or passing the `-DskipGuides` system property when the profile is turned on. - -You can configure the project version passed to guides via the `guides-project.version` (defaults to `${project.version}`). The phase at which guides get updated can be configured by `guides-update.phase` (defaults to `deploy`). diff --git a/docs/modules/ROOT/pages/building-jdk8.adoc b/docs/modules/ROOT/pages/building-jdk8.adoc deleted file mode 100644 index 056b67e5..00000000 --- a/docs/modules/ROOT/pages/building-jdk8.adoc +++ /dev/null @@ -1,3 +0,0 @@ - -include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/docs/src/main/asciidoc/building.adoc[] - diff --git a/docs/modules/ROOT/pages/building.adoc b/docs/modules/ROOT/pages/building.adoc deleted file mode 100644 index e90e7200..00000000 --- a/docs/modules/ROOT/pages/building.adoc +++ /dev/null @@ -1,85 +0,0 @@ -:jdkversion: 17 - -[[basic-compile-and-test]] -= Basic Compile and Test - -To build the source you will need to install JDK {jdkversion}. - -Spring Cloud uses Maven for most build-related activities, and you -should be able to get off the ground quite quickly by cloning the -project you are interested in and typing - ----- -$ ./mvnw install ----- - -NOTE: You can also install Maven (>=3.3.3) yourself and run the `mvn` command -in place of `./mvnw` in the examples below. If you do that you also -might need to add `-P spring` if your local Maven settings do not -contain repository declarations for spring pre-release artifacts. - -NOTE: Be aware that you might need to increase the amount of memory -available to Maven by setting a `MAVEN_OPTS` environment variable with -a value like `-Xmx512m -XX:MaxPermSize=128m`. We try to cover this in -the `.mvn` configuration, so if you find you have to do it to make a -build succeed, please raise a ticket to get the settings added to -source control. - -The projects that require middleware (i.e. Redis) for testing generally -require that a local instance of [Docker](https://www.docker.com/get-started) is installed and running. - - -[[documentation]] -= Documentation - -The spring-cloud-build module has a "docs" profile, and if you switch -that on it will try to build asciidoc sources from -`src/main/asciidoc`. As part of that process it will look for a -`README.adoc` and process it by loading all the includes, but not -parsing or rendering it, just copying it to `${main.basedir}` -(defaults to `${basedir}`, i.e. the root of the project). If there are -any changes in the README it will then show up after a Maven build as -a modified file in the correct place. Just commit it and push the change. - -[[working-with-the-code]] -= Working with the code -If you don't have an IDE preference we would recommend that you use -https://www.springsource.com/developer/sts[Spring Tools Suite] or -https://eclipse.org[Eclipse] when working with the code. We use the -https://eclipse.org/m2e/[m2eclipse] eclipse plugin for maven support. Other IDEs and tools -should also work without issue as long as they use Maven 3.3.3 or better. - -[[activate-the-spring-maven-profile]] -== Activate the Spring Maven profile -Spring Cloud projects require the 'spring' Maven profile to be activated to resolve -the spring milestone and snapshot repositories. Use your preferred IDE to set this -profile to be active, or you may experience build errors. - -[[importing-into-eclipse-with-m2eclipse]] -== Importing into eclipse with m2eclipse -We recommend the https://eclipse.org/m2e/[m2eclipse] eclipse plugin when working with -eclipse. If you don't already have m2eclipse installed it is available from the "eclipse -marketplace". - -NOTE: Older versions of m2e do not support Maven 3.3, so once the -projects are imported into Eclipse you will also need to tell -m2eclipse to use the right profile for the projects. If you -see many different errors related to the POMs in the projects, check -that you have an up to date installation. If you can't upgrade m2e, -add the "spring" profile to your `settings.xml`. Alternatively you can -copy the repository settings from the "spring" profile of the parent -pom into your `settings.xml`. - -[[importing-into-eclipse-without-m2eclipse]] -== Importing into eclipse without m2eclipse -If you prefer not to use m2eclipse you can generate eclipse project metadata using the -following command: - -[indent=0] ----- - $ ./mvnw eclipse:eclipse ----- - -The generated eclipse projects can be imported by selecting `import existing projects` -from the `file` menu. - diff --git a/docs/modules/ROOT/pages/code-of-conduct.adoc b/docs/modules/ROOT/pages/code-of-conduct.adoc deleted file mode 100644 index 054553f7..00000000 --- a/docs/modules/ROOT/pages/code-of-conduct.adoc +++ /dev/null @@ -1,46 +0,0 @@ - -[[contributor-code-of-conduct]] -= Contributor Code of Conduct - -As contributors and maintainers of this project, and in the interest of fostering an open -and welcoming community, we pledge to respect all people who contribute through reporting -issues, posting feature requests, updating documentation, submitting pull requests or -patches, and other activities. - -We are committed to making participation in this project a harassment-free experience for -everyone, regardless of level of experience, gender, gender identity and expression, -sexual orientation, disability, personal appearance, body size, race, ethnicity, age, -religion, or nationality. - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery -* Personal attacks -* Trolling or insulting/derogatory comments -* Public or private harassment -* Publishing other's private information, such as physical or electronic addresses, - without explicit permission -* Other unethical or unprofessional conduct - -Project maintainers have the right and responsibility to remove, edit, or reject comments, -commits, code, wiki edits, issues, and other contributions that are not aligned to this -Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors -that they deem inappropriate, threatening, offensive, or harmful. - -By adopting this Code of Conduct, project maintainers commit themselves to fairly and -consistently applying these principles to every aspect of managing this project. Project -maintainers who do not follow or enforce the Code of Conduct may be permanently removed -from the project team. - -This Code of Conduct applies both within project spaces and in public spaces when an -individual is representing the project or its community. - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by -contacting a project maintainer at spring-code-of-conduct@pivotal.io . All complaints will -be reviewed and investigated and will result in a response that is deemed necessary and -appropriate to the circumstances. Maintainers are obligated to maintain confidentiality -with regard to the reporter of an incident. - -This Code of Conduct is adapted from the -https://contributor-covenant.org[Contributor Covenant], version 1.3.0, available at -https://contributor-covenant.org/version/1/3/0/[contributor-covenant.org/version/1/3/0/] diff --git a/docs/modules/ROOT/pages/contributing-docs.adoc b/docs/modules/ROOT/pages/contributing-docs.adoc deleted file mode 100644 index 395ad89b..00000000 --- a/docs/modules/ROOT/pages/contributing-docs.adoc +++ /dev/null @@ -1 +0,0 @@ -NOTE: Spring Cloud is released under the non-restrictive Apache 2.0 license. If you would like to contribute to this section of the documentation or if you find an error, please find the source code and issue trackers in the project at {github-project}[github]. diff --git a/docs/modules/ROOT/pages/contributing.adoc b/docs/modules/ROOT/pages/contributing.adoc deleted file mode 100644 index 386234b9..00000000 --- a/docs/modules/ROOT/pages/contributing.adoc +++ /dev/null @@ -1,240 +0,0 @@ -:spring-cloud-build-branch: master - -Spring Cloud is released under the non-restrictive Apache 2.0 license, -and follows a very standard Github development process, using Github -tracker for issues and merging pull requests into master. If you want -to contribute even something trivial please do not hesitate, but -follow the guidelines below. - -[[sign-the-contributor-license-agreement]] -= Sign the Contributor License Agreement - -Before we accept a non-trivial patch or pull request we will need you to sign the -https://cla.pivotal.io/sign/spring[Contributor License Agreement]. -Signing the contributor's agreement does not grant anyone commit rights to the main -repository, but it does mean that we can accept your contributions, and you will get an -author credit if we do. Active contributors might be asked to join the core team, and -given the ability to merge pull requests. - -[[code-of-conduct]] -= Code of Conduct -This project adheres to the Contributor Covenant https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc[code of -conduct]. By participating, you are expected to uphold this code. Please report -unacceptable behavior to spring-code-of-conduct@pivotal.io. - -[[code-conventions-and-housekeeping]] -= Code Conventions and Housekeeping -None of these is essential for a pull request, but they will all help. They can also be -added after the original pull request but before a merge. - -* Use the Spring Framework code format conventions. If you use Eclipse - you can import formatter settings using the - `eclipse-code-formatter.xml` file from the - https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring - Cloud Build] project. If using IntelliJ, you can use the - https://plugins.jetbrains.com/plugin/6546[Eclipse Code Formatter - Plugin] to import the same file. -* Make sure all new `.java` files to have a simple Javadoc class comment with at least an - `@author` tag identifying you, and preferably at least a paragraph on what the class is - for. -* Add the ASF license header comment to all new `.java` files (copy from existing files - in the project) -* Add yourself as an `@author` to the .java files that you modify substantially (more - than cosmetic changes). -* Add some Javadocs and, if you change the namespace, some XSD doc elements. -* A few unit tests would help a lot as well -- someone has to do it. -* If no-one else is using your branch, please rebase it against the current master (or - other target branch in the main project). -* When writing a commit message please follow https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[these conventions], - if you are fixing an existing issue please add `Fixes gh-XXXX` at the end of the commit - message (where XXXX is the issue number). - -[[checkstyle]] -= Checkstyle - -Spring Cloud Build comes with a set of checkstyle rules. You can find them in the `spring-cloud-build-tools` module. The most notable files under the module are: - -.spring-cloud-build-tools/ ----- -└── src -    ├── checkstyle -    │   └── checkstyle-suppressions.xml <3> -    └── main -    └── resources -    ├── checkstyle-header.txt <2> -    └── checkstyle.xml <1> ----- -<1> Default Checkstyle rules -<2> File header setup -<3> Default suppression rules - -[[checkstyle-configuration]] -== Checkstyle configuration - -Checkstyle rules are *disabled by default*. To add checkstyle to your project just define the following properties and plugins. - -.pom.xml ----- - -true <1> - true - <2> - true - <3> - - - - - <4> - io.spring.javaformat - spring-javaformat-maven-plugin - - <5> - org.apache.maven.plugins - maven-checkstyle-plugin - - - - - - <5> - org.apache.maven.plugins - maven-checkstyle-plugin - - - - ----- -<1> Fails the build upon Checkstyle errors -<2> Fails the build upon Checkstyle violations -<3> Checkstyle analyzes also the test sources -<4> Add the Spring Java Format plugin that will reformat your code to pass most of the Checkstyle formatting rules -<5> Add checkstyle plugin to your build and reporting phases - -If you need to suppress some rules (e.g. line length needs to be longer), then it's enough for you to define a file under `${project.root}/src/checkstyle/checkstyle-suppressions.xml` with your suppressions. Example: - -.projectRoot/src/checkstyle/checkstyle-suppresions.xml ----- - - - - - - ----- - -It's advisable to copy the `${spring-cloud-build.rootFolder}/.editorconfig` and `${spring-cloud-build.rootFolder}/.springformat` to your project. That way, some default formatting rules will be applied. You can do so by running this script: - -```bash -$ curl https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/.editorconfig -o .editorconfig -$ touch .springformat -``` - -[[ide-setup]] -= IDE setup - -[[intellij-idea]] -== Intellij IDEA - -In order to setup Intellij you should import our coding conventions, inspection profiles and set up the checkstyle plugin. -The following files can be found in the https://github.com/spring-cloud/spring-cloud-build/tree/master/spring-cloud-build-tools[Spring Cloud Build] project. - -.spring-cloud-build-tools/ ----- -└── src -    ├── checkstyle -    │   └── checkstyle-suppressions.xml <3> -    └── main -    └── resources -    ├── checkstyle-header.txt <2> -    ├── checkstyle.xml <1> -    └── intellij -       ├── Intellij_Project_Defaults.xml <4> -       └── Intellij_Spring_Boot_Java_Conventions.xml <5> ----- -<1> Default Checkstyle rules -<2> File header setup -<3> Default suppression rules -<4> Project defaults for Intellij that apply most of Checkstyle rules -<5> Project style conventions for Intellij that apply most of Checkstyle rules - -.Code style - -image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-code-style.png[Code style] - -Go to `File` -> `Settings` -> `Editor` -> `Code style`. There click on the icon next to the `Scheme` section. There, click on the `Import Scheme` value and pick the `Intellij IDEA code style XML` option. Import the `spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml` file. - -.Inspection profiles - -image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-inspections.png[Code style] - -Go to `File` -> `Settings` -> `Editor` -> `Inspections`. There click on the icon next to the `Profile` section. There, click on the `Import Profile` and import the `spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml` file. - -.Checkstyle - -To have Intellij work with Checkstyle, you have to install the `Checkstyle` plugin. It's advisable to also install the `Assertions2Assertj` to automatically convert the JUnit assertions - -image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-checkstyle.png[Checkstyle] - -Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on the `+` icon in the `Configuration file` section. There, you'll have to define where the checkstyle rules should be picked from. In the image above, we've picked the rules from the cloned Spring Cloud Build repository. However, you can point to the Spring Cloud Build's GitHub repository (e.g. for the `checkstyle.xml` : `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle.xml`). We need to provide the following variables: - -- `checkstyle.header.file` - please point it to the Spring Cloud Build's, `spring-cloud-build-tools/src/main/resources/checkstyle-header.txt` file either in your cloned repo or via the `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt` URL. -- `checkstyle.suppressions.file` - default suppressions. Please point it to the Spring Cloud Build's, `spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml` file either in your cloned repo or via the `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml` URL. -- `checkstyle.additional.suppressions.file` - this variable corresponds to suppressions in your local project. E.g. you're working on `spring-cloud-contract`. Then point to the `project-root/src/checkstyle/checkstyle-suppressions.xml` folder. Example for `spring-cloud-contract` would be: `/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml`. - -IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources. - -[[duplicate-finder]] -= Duplicate Finder - -Spring Cloud Build brings along the `basepom:duplicate-finder-maven-plugin`, that enables flagging duplicate and conflicting classes and resources on the java classpath. - -[[duplicate-finder-configuration]] -== Duplicate Finder configuration - -Duplicate finder is *enabled by default* and will run in the `verify` phase of your Maven build, but it will only take effect in your project if you add the `duplicate-finder-maven-plugin` to the `build` section of the projecst's `pom.xml`. - -.pom.xml -[source,xml] ----- - - - - org.basepom.maven - duplicate-finder-maven-plugin - - - ----- - -For other properties, we have set defaults as listed in the https://github.com/basepom/duplicate-finder-maven-plugin/wiki[plugin documentation]. - -You can easily override them but setting the value of the selected property prefixed with `duplicate-finder-maven-plugin`. For example, set `duplicate-finder-maven-plugin.skip` to `true` in order to skip duplicates check in your build. - -If you need to add `ignoredClassPatterns` or `ignoredResourcePatterns` to your setup, make sure to add them in the plugin configuration section of your project: - -[source,xml] ----- - - - - org.basepom.maven - duplicate-finder-maven-plugin - - - org.joda.time.base.BaseDateTime - .*module-info - - - changelog.txt - - - - - - - ----- - diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc deleted file mode 100755 index e69de29b..00000000 diff --git a/docs/modules/ROOT/pages/spring-cloud-build.adoc b/docs/modules/ROOT/pages/spring-cloud-build.adoc deleted file mode 100755 index e97df6c2..00000000 --- a/docs/modules/ROOT/pages/spring-cloud-build.adoc +++ /dev/null @@ -1,4 +0,0 @@ -[[spring-cloud-build]] -= Spring Cloud Build -:page-section-summary-toc: 1 - diff --git a/docs/pom.xml b/docs/pom.xml deleted file mode 100644 index a05e9bc1..00000000 --- a/docs/pom.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - 4.0.0 - spring-cloud-build-docs - spring-cloud-build-docs - jar - Spring Cloud Build Docs - - org.springframework.cloud - spring-cloud-build - 4.1.0-SNAPSHOT - - - spring-cloud-build - ${basedir}/.. - - none - none - ${project.basedir}/src/main/ - deploy - - - deploy - - maven.compile.classpath - - - - - - commons-logging - commons-logging - 1.2 - compile - - - org.springframework - spring-core - compile - - - com.fasterxml.jackson.core - jackson-databind - compile - - - - org.asciidoctor - asciidoctorj - ${asciidoctorj.version} - compile - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - src/main - - java/**/*.* - - - - - - org.apache.maven.plugins - maven-assembly-plugin - 3.3.0 - - - jar-with-dependencies - - - - - make-assembly - package - - single - - - - - - maven-deploy-plugin - ${maven-deploy-plugin.version} - - - - - - docs - - - - pl.project13.maven - git-commit-id-plugin - - - org.apache.maven.plugins - maven-dependency-plugin - - - org.apache.maven.plugins - maven-resources-plugin - - - org.codehaus.mojo - exec-maven-plugin - - - org.asciidoctor - asciidoctor-maven-plugin - - - org.apache.maven.plugins - maven-antrun-plugin - - - maven-deploy-plugin - - deploy - deploy-file - - - - - - - diff --git a/docs/src/main/.gitignore b/docs/src/main/.gitignore deleted file mode 100644 index acf32da4..00000000 --- a/docs/src/main/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -META-INF/ -org/ \ No newline at end of file diff --git a/docs/src/main/asciidoc/ghpages.sh b/docs/src/main/asciidoc/ghpages.sh deleted file mode 100755 index 8a01a031..00000000 --- a/docs/src/main/asciidoc/ghpages.sh +++ /dev/null @@ -1,423 +0,0 @@ -#!/bin/bash - -# Usage: (cd ; ghpages.sh -v -b -c) - -set -e - -export GIT_BIN ROOT_FOLDER COMMIT_CHANGES MAVEN_PATH MAVEN_EXEC REPO_NAME SPRING_CLOUD_STATIC_REPO SPRING_CLOUD_STATIC_REPO_DESTINATION -export CURRENT_BRANCH PREVIOUS_BRANCH -export GITHUB_REPO_USERNAME_ENV="${GITHUB_REPO_USERNAME_ENV:-GITHUB_REPO_USERNAME}" -export GITHUB_REPO_PASSWORD_ENV="${GITHUB_REPO_PASSWORD_ENV:-GITHUB_REPO_PASSWORD}" -REPO_USER="${!GITHUB_REPO_USERNAME_ENV}" -REPO_PASS="${!GITHUB_REPO_PASSWORD_ENV}" -export SPRING_CLOUD_STATIC_REPO_DESTINATION="${SPRING_CLOUD_STATIC_REPO_DESTINATION:-$( dirname "$(mktemp)")/}" - -GIT_BIN="${GIT_BIN:-git}" - -cat </] -- if the destination switch is passed (-d) then the script will check if the provided dir is a git repo and then will - switch to gh-pages of that repo and copy the generated docs to [docs//] -- if the release train switch is passed (-r) then the script will check if the provided dir is a git repo and then will - switch to gh-pages of that repo and copy the generated docs to [docs/] - -USAGE: - -You can use the following options: - --v|--version - the script will apply the whole procedure for a particular library version --r|--releasetrain - instead of nesting the docs under the project_name/version folder the docs will end up in version --d|--destination - the root of destination folder where the docs should be copied. You have to use the full path. - E.g. point to spring-cloud-static folder. Can't be used with (-c) --b|--build - will run the standard build process after checking out the branch --c|--clone - will automatically clone the spring-cloud-static repo instead of providing the destination. - Obviously can't be used with (-d) - -EOF -} - - -# ========================================== -# ____ ____ _____ _____ _____ _______ -# / ____|/ ____| __ \|_ _| __ \__ __| -# | (___ | | | |__) | | | | |__) | | | -# \___ \| | | _ / | | | ___/ | | -# ____) | |____| | \ \ _| |_| | | | -# |_____/ \_____|_| \_\_____|_| |_| -# -# ========================================== - - -if [[ "${SOURCE_FUNCTIONS}" == "true" ]]; then - echo "Will just source functions. Will not run any commands" -else - while [[ $# -gt 0 ]] - do - key="$1" - case "${key}" in - -v|--version) - VERSION="$2" - shift # past argument - ;; - -r|--releasetrain) - RELEASE_TRAIN="yes" - ;; - -d|--destination) - DESTINATION="$2" - shift # past argument - ;; - -b|--build) - BUILD="yes" - ;; - -c|--clone) - CLONE="yes" - ;; - -h|--help) - print_usage - exit 0 - ;; - *) - echo "Invalid option: [$1]" - print_usage - exit 1 - ;; - esac - shift # past argument or value - done - - assert_properties - set_default_props - check_if_anything_to_sync - retrieve_current_branch - if echo "${VERSION}" | grep -q -E 'SNAPSHOT' || [[ -z "${VERSION}" ]]; then - CLONE="" - VERSION="" - echo "You've provided a version variable but it's a snapshot one. Due to this will not clone spring-cloud-static and publish docs over there" - else - switch_to_tag - fi - build_docs_if_applicable - retrieve_doc_properties - stash_changes - add_docs_from_target - checkout_previous_branch -fi diff --git a/docs/src/main/asciidoc/images/intellij-checkstyle.png b/docs/src/main/asciidoc/images/intellij-checkstyle.png deleted file mode 100644 index f02fa65f..00000000 Binary files a/docs/src/main/asciidoc/images/intellij-checkstyle.png and /dev/null differ diff --git a/docs/src/main/asciidoc/images/intellij-code-style.png b/docs/src/main/asciidoc/images/intellij-code-style.png deleted file mode 100644 index 533e65df..00000000 Binary files a/docs/src/main/asciidoc/images/intellij-code-style.png and /dev/null differ diff --git a/docs/src/main/asciidoc/images/intellij-inspections.png b/docs/src/main/asciidoc/images/intellij-inspections.png deleted file mode 100644 index 22dfdd36..00000000 Binary files a/docs/src/main/asciidoc/images/intellij-inspections.png and /dev/null differ diff --git a/docs/src/main/asciidoc/update-guides.sh b/docs/src/main/asciidoc/update-guides.sh deleted file mode 100755 index 6dbefd6a..00000000 --- a/docs/src/main/asciidoc/update-guides.sh +++ /dev/null @@ -1,148 +0,0 @@ -#!/bin/bash - -set -e - -GIT_BIN="${GIT_BIN:-git}" - -echo "Project version is [${PROJECT_VERSION}]" -if [[ "${PROJECT_VERSION}" != *"RELEASE"* ]];then - echo "Will not update guides, since the version is not a RELEASE one" - exit 0 -fi - -# The script should be run from the root folder -[[ -z "${ROOT_FOLDER}" ]] && ROOT_FOLDER="$( pwd )" -echo "Current folder is ${ROOT_FOLDER}" - -if [[ ! -e "${ROOT_FOLDER}/.git" ]]; then - echo "You're not in the root folder of the project!" - exit 1 -fi - -GUIDES_FOLDER="${ROOT_FOLDER}/guides" -SPRING_GUIDES_REPO_ROOT="${SPRING_GUIDES_REPO_ROOT:-git@github.com:spring-guides}" -echo "The Spring Guides repo root is [${SPRING_GUIDES_REPO_ROOT}]" - -if [[ ! -d "${GUIDES_FOLDER}" ]]; then - echo "No [guides] folder is present. Won't do anything" - exit 0 -fi - -function iterate_over_guides() { - for dir in "${GUIDES_FOLDER}"/*/ # list directories in the form "/tmp/dirname/" - do - local dir="${dir%*/}" # remove the trailing "/" - local folderName="${dir##*/}" # print everything after the final "/" - if [[ "${folderName}" == "target" ]]; then - echo "Skipping [${folderName}]" - continue - fi - local guideRepo="${SPRING_GUIDES_REPO_ROOT}/${folderName}" - local clonedGuideFolderParent="${ROOT_FOLDER}/target" - local clonedGuideFolder="${clonedGuideFolderParent}/${folderName}" - echo "Will clone [${guideRepo}] project [${folderName}] to target" - mkdir -p "${clonedGuideFolder}" - rm -rf "${clonedGuideFolder}" - "${GIT_BIN}" clone "${guideRepo}" "${clonedGuideFolder}" - pushd "${clonedGuideFolder}" - echo "Will start the commit process for [${folderName}]" - add_oauth_token_to_remote_url - remove_all_files - copy_new_guide "${GUIDES_FOLDER}/${folderName}" "${clonedGuideFolderParent}" - commit_and_push_new_guide_contents - echo "Successfully copied and pushed new guides for [${guideRepo}]" - popd - done -} - -function commit_and_push_new_guide_contents() { - "${GIT_BIN}" add . - "${GIT_BIN}" commit -m "Updating guides" || echo "Nothing to commit" - "${GIT_BIN}" push origin master || echo "Nothing to push" -} - -function copy_new_guide() { - local guideFolder="${1}" - local clonedGuideFolder="${2}" - echo "Will copy new guide files from [${guideFolder}/] to [${clonedGuideFolder}]" - cp -r "${guideFolder}/" "${clonedGuideFolder}/" - echo "Copied new guide files" -} - -function remove_all_files() { - echo "Removing all non git files in [$( pwd )]" - "${GIT_BIN}" rm -rf "$( pwd )/" - "${GIT_BIN}" clean -fxd - echo "All files removed" -} - -# Adds the oauth token if present to the remote url -function add_oauth_token_to_remote_url() { - local remote - remote="$( "${GIT_BIN}" config remote.origin.url | sed -e 's/^git:/https:/' )" - echo "Current remote [${remote}]" - if [[ "${RELEASER_GIT_OAUTH_TOKEN}" != "" && ${remote} != *"@"* ]]; then - echo "OAuth token found. Will reuse it to push the code" - withToken=${remote/https:\/\//https://${RELEASER_GIT_OAUTH_TOKEN}@} - "${GIT_BIN}" remote set-url --push origin "${withToken}" - else - echo "No OAuth token found" - "${GIT_BIN}" remote set-url --push origin "$( "${GIT_BIN}" config remote.origin.url | sed -e 's/^git:/https:/' )" - fi -} - -# Prints the usage -function print_usage() { -cat < 1 ? args[1] : ".*"; - File parent = new File(outputFile).getParentFile(); - if (!parent.exists()) { - System.out.println("No parent directory [" + parent.toString() - + "] found. Will not generate the configuration properties file"); - return; - } - new Generator().generate(outputFile, inclusionPattern); - } - - static class Generator { - - void generate(String outputFile, String inclusionPattern) { - try { - System.out.println("Parsing all configuration metadata"); - Resource[] resources = getResources(); - System.out.println("Found [" + resources.length + "] configuration metadata jsons"); - TreeSet names = new TreeSet<>(); - Map descriptions = new HashMap<>(); - final AtomicInteger count = new AtomicInteger(); - final AtomicInteger matchingPropertyCount = new AtomicInteger(); - final AtomicInteger propertyCount = new AtomicInteger(); - Pattern pattern = Pattern.compile(inclusionPattern); - for (Resource resource : resources) { - if (resourceNameContainsPattern(resource)) { - count.incrementAndGet(); - byte[] bytes = StreamUtils.copyToByteArray(resource.getInputStream()); - Map response = new ObjectMapper().readValue(bytes, HashMap.class); - List> properties = (List>) response.get("properties"); - properties.forEach(val -> { - propertyCount.incrementAndGet(); - String name = String.valueOf(val.get("name")); - if (!pattern.matcher(name).matches()) { - return; - } - Object description = val.get("description"); - Object defaultValue = val.get("defaultValue"); - matchingPropertyCount.incrementAndGet(); - names.add(name); - descriptions.put(name, new ConfigValue(name, description, defaultValue)); - }); - } - } - System.out.println( - "Found [" + count + "] Cloud projects configuration metadata jsons. [" + matchingPropertyCount - + "/" + propertyCount + "] were matching the pattern [" + inclusionPattern + "]"); - System.out.println("Successfully built the description table"); - if (names.isEmpty()) { - System.out.println("Will not update the table, since no configuration properties were found!"); - return; - } - Files.write(new File(outputFile).toPath(), - ("|===\n" - + "|Name | Default | Description\n\n" + names.stream() - .map(it -> descriptions.get(it).toString()).collect(Collectors.joining("\n")) - + "\n\n" + "|===").getBytes()); - System.out.println("Successfully stored the output file"); - } - catch (IOException e) { - throw new IllegalStateException(e); - } - } - - protected boolean resourceNameContainsPattern(Resource resource) { - try { - return resource.getURL().toString().contains("cloud"); - } - catch (Exception e) { - System.out.println("Exception [" + e + "] for resource [" + resource - + "] occurred while trying to retrieve its URL"); - return false; - } - } - - protected Resource[] getResources() throws IOException { - return new PathMatchingResourcePatternResolver() - .getResources("classpath*:/META-INF/spring-configuration-metadata.json"); - } - - } - - static class ConfigValue { - - public String name; - - public String description; - - public String defaultValue; - - ConfigValue() { - } - - ConfigValue(String name, Object description, Object defaultValue) { - this.name = name; - this.description = escapedValue(description); - this.defaultValue = escapedValue(defaultValue); - } - - private String escapedValue(Object value) { - return value != null ? value.toString().replaceAll("\\|", "\\\\|") : ""; - } - - public String toString() { - return "|" + name + " | " + (StringUtils.hasText(defaultValue) ? ("`+++" + defaultValue + "+++`") : "") + " | " + description; - } - - } - -} diff --git a/docs/src/main/java/org/springframework/cloud/internal/asciidoctor/CoalescerPreprocessor.java b/docs/src/main/java/org/springframework/cloud/internal/asciidoctor/CoalescerPreprocessor.java deleted file mode 100644 index f20395b8..00000000 --- a/docs/src/main/java/org/springframework/cloud/internal/asciidoctor/CoalescerPreprocessor.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 2012-2020 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 org.springframework.cloud.internal.asciidoctor; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; - -import org.asciidoctor.ast.Document; -import org.asciidoctor.extension.Preprocessor; -import org.asciidoctor.extension.PreprocessorReader; - -// taken from https://github.com/hibernate/hibernate-asciidoctor-extensions/blob/1.0.3.Final/src/main/java/org/hibernate/infra/asciidoctor/extensions/savepreprocessed/SavePreprocessedOutputPreprocessor.java -/** - * Preprocessor used to save the preprocessed output of the asciidoctor conversion. It allows to generate a single file - * integrating all the includes. - * - * @author Guillaume Smet - */ -class CoalescerPreprocessor extends Preprocessor { - - private final File outputFile; - - private static final List FILTER_LICENSE_MARKERS = Arrays.asList("[preface]", "<<<"); - - private static final String COMMENT_MARKER = "//"; - - private static final String SOURCE_MARKER = "[source"; - - private static final List SECTION_MARKERS = Arrays.asList("----", "...."); - - private static final String HEADER = "////\n" + "DO NOT EDIT THIS FILE. IT WAS GENERATED.\n" - + "Manual changes to this file will be lost when it is generated again.\n" - + "Edit the files in the src/main/asciidoc/ directory instead.\n" + "////\n\n"; - - CoalescerPreprocessor(File output_file) { - outputFile = output_file; - } - - @Override - public void process(Document document, PreprocessorReader preprocessorReader) { - try { - LinkedList filteredLines = filterLines(preprocessorReader.readLines()); - filteredLines.addFirst(HEADER); - Files.write(outputFile.toPath(), filteredLines); - } - catch (IOException e) { - throw new IllegalStateException("Unable to write the preprocessed file " + outputFile, e); - } - } - - /** - * This is used to filter out the license headers that are just after the markers - * defined. It also reindents the source code with spaces to be consistent with the - * 1.1 spec. - */ - private LinkedList filterLines(List lines) { - LinkedList filteredLines = new LinkedList<>(); - ParsingState state = ParsingState.NORMAL; - int counter = 0; - for (String line : lines) { - counter++; - switch (state) { - case NORMAL: - if (FILTER_LICENSE_MARKERS.contains(line)) { - state = ParsingState.FILTER_LICENSE; - } - else if (line.startsWith(SOURCE_MARKER)) { - state = ParsingState.SOURCE; - } - break; - case SOURCE: - if (SECTION_MARKERS.contains(line)) { - state = ParsingState.SOURCE_CONTENT; - } - else { - System.err.println("[source] requires to be followed by a section marker and line number [" + counter + "] with content [" + line + "] doesn't have it"); - } - break; - case SOURCE_CONTENT: - if (SECTION_MARKERS.contains(line)) { - state = ParsingState.NORMAL; - } - else { - filteredLines.add(line.replaceAll("\t", " ")); - continue; - } - break; - case FILTER_LICENSE: - if (line.startsWith(COMMENT_MARKER)) { - continue; - } - else { - state = ParsingState.NORMAL; - } - break; - } - filteredLines.add(line); - } - return filteredLines; - } - - private enum ParsingState { - - NORMAL, FILTER_LICENSE, SOURCE, SOURCE_CONTENT, - - } - -} diff --git a/docs/src/main/java/org/springframework/cloud/internal/asciidoctor/ReadmeMain.java b/docs/src/main/java/org/springframework/cloud/internal/asciidoctor/ReadmeMain.java deleted file mode 100644 index 9c5d3e18..00000000 --- a/docs/src/main/java/org/springframework/cloud/internal/asciidoctor/ReadmeMain.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2012-2020 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 org.springframework.cloud.internal.asciidoctor; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; - -import org.asciidoctor.Asciidoctor; -import org.asciidoctor.Attributes; -import org.asciidoctor.Options; -import org.asciidoctor.SafeMode; - -public class ReadmeMain { - public static void main(String... args) { - File inputFile = new File(args[0]); - File outputFile = new File(args[1]); - System.out.println("Will do the Readme conversion from [" + inputFile + "] to [" + outputFile + "]"); - if (!inputFile.exists()) { - System.out.println("There's no file [" + inputFile + "], skipping readme generation"); - return; - } - new ReadmeMain().convert(inputFile, outputFile); - } - - void convert(File input, File output) { - Asciidoctor asciidoctor = Asciidoctor.Factory.create(); - asciidoctor.javaExtensionRegistry().preprocessor(new CoalescerPreprocessor(output)); - Options options = options(input, output); - try { - String fileAsString = new String(Files.readAllBytes(input.toPath())); - asciidoctor.convert(fileAsString, options); - System.out.println("Successfully converted the Readme file!\n"); - } catch (IOException ex) { - throw new IllegalStateException("Failed to convert the file", ex); - } - } - - private Options options(File input, File output) { - Attributes attributes = Attributes.builder() - .allowUriRead(true) - .attribute("project-root", output.getParent()) - .build(); - - return Options.builder() - .sourceDir(input.getParentFile()) - .baseDir(input.getParentFile()) - .attributes(attributes) - .safe(SafeMode.UNSAFE) - .parseHeaderOnly(true) - .build(); - } -} diff --git a/docs/src/test/java/org/springframework/cloud/internal/GeneratorTests.java b/docs/src/test/java/org/springframework/cloud/internal/GeneratorTests.java deleted file mode 100644 index f84a79cb..00000000 --- a/docs/src/test/java/org/springframework/cloud/internal/GeneratorTests.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright 2013-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 org.springframework.cloud.internal; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.net.URL; -import java.nio.file.Files; - -import org.junit.jupiter.api.Test; - -import org.springframework.core.io.FileSystemResource; -import org.springframework.core.io.Resource; - -import static org.assertj.core.api.BDDAssertions.then; - -class GeneratorTests { - - URL root = GeneratorTests.class.getResource("."); - - @Test - void should_not_create_a_file_when_no_properties_were_found() - throws URISyntaxException { - Main.Generator generator = new Main.Generator() { - @Override - protected Resource[] getResources() { - return new Resource[0]; - } - }; - File file = new File(root.toURI().toString(), "output.adoc"); - String inclusionPattern = ".*"; - - generator.generate(file.getAbsolutePath(), inclusionPattern); - - then(file).doesNotExist(); - } - - @Test - void should_create_a_file_when_cloud_file_was_found() { - Main.Generator generator = new Main.Generator() { - @Override - protected Resource[] getResources() { - return new Resource[] { resource("/not-matching-name.json"), - resource("/with-cloud-in-name.json") }; - } - - @Override - protected boolean resourceNameContainsPattern(Resource resource) { - try { - return resource.getURI().toString().contains("with-cloud"); - } - catch (IOException ex) { - throw new IllegalStateException(ex); - } - } - }; - File file = new File(root.getFile().toString(), "output.adoc"); - String inclusionPattern = ".*"; - - generator.generate(file.getAbsolutePath(), inclusionPattern); - - then(file).exists(); - then(asString(file)).contains("spring.first-property") - .contains("unmatched.second-property") - .doesNotContain("example1.first-property"); - } - - @Test - void should_create_a_file_when_spring_property_was_found() { - Main.Generator generator = new Main.Generator() { - @Override - protected Resource[] getResources() { - return new Resource[] { resource("/not-matching-name.json"), - resource("/with-cloud-in-name.json") }; - } - }; - File file = new File(root.getFile().toString(), "output.adoc"); - String inclusionPattern = "spring.*"; - - generator.generate(file.getAbsolutePath(), inclusionPattern); - - then(file).exists(); - then(asString(file)).contains("spring.first-property") - .doesNotContain("example1.first-property") - .doesNotContain("unmatched.second-property"); - } - - static String asString(File file) { - try { - return new String(Files.readAllBytes(file.toPath())); - } - catch (IOException ex) { - throw new IllegalStateException(ex); - } - } - - static Resource resource(String path) { - return new FileSystemResource(GeneratorTests.class.getResource(path).getFile()); - } - -} diff --git a/docs/src/test/java/org/springframework/cloud/internal/MainTests.java b/docs/src/test/java/org/springframework/cloud/internal/MainTests.java deleted file mode 100644 index c94e83f6..00000000 --- a/docs/src/test/java/org/springframework/cloud/internal/MainTests.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2013-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 org.springframework.cloud.internal; - -import java.io.File; - -import org.junit.jupiter.api.Test; - -import static org.assertj.core.api.BDDAssertions.then; - -class MainTests { - - @Test - void should_do_nothing_when_parent_dir_is_not_found() { - File nonExistantFile = new File("/this/file/does/not/exist"); - - Main.main(nonExistantFile.getAbsolutePath()); - - then(nonExistantFile).doesNotExist(); - } -} diff --git a/docs/src/test/java/org/springframework/cloud/internal/asciidoctor/ReadmeMainTests.java b/docs/src/test/java/org/springframework/cloud/internal/asciidoctor/ReadmeMainTests.java deleted file mode 100644 index ab15189d..00000000 --- a/docs/src/test/java/org/springframework/cloud/internal/asciidoctor/ReadmeMainTests.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.springframework.cloud.internal.asciidoctor; - -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.nio.file.Files; - -import org.junit.jupiter.api.Test; - -import static org.assertj.core.api.BDDAssertions.then; - -class ReadmeMainTests { - - @Test - void should_convert_input_with_include_of_external_sources_to_a_single_file() throws URISyntaxException, IOException { - File inputFile = new File(ReadmeMainTests.class.getResource("/README.adoc").toURI()); - File outputFile = deleteIfExists(new File("target/output.adoc")); - - ReadmeMain.main(inputFile.getAbsolutePath(), outputFile.getAbsolutePath()); - - then(new String(Files.readAllBytes(outputFile.toPath()))) - .doesNotContain("include:") - .doesNotContain("Unresolved directive") - .contains("DO NOT EDIT THIS FILE. IT WAS GENERATED") - .contains("Hello world!"); - then(new File("target/output.html")) - .as("Conversion to HTML must not happen").doesNotExist(); - } - - private File deleteIfExists(File outputFile) { - if (outputFile.exists()) { - outputFile.delete(); - } - return outputFile; - } -} \ No newline at end of file diff --git a/docs/src/test/resources/README.adoc b/docs/src/test/resources/README.adoc deleted file mode 100644 index 6cc0baa9..00000000 --- a/docs/src/test/resources/README.adoc +++ /dev/null @@ -1,165 +0,0 @@ -image:https://circleci.com/gh/spring-cloud/spring-cloud-build.svg?style=svg[link="https://travis-ci.org/spring-cloud/spring-cloud-build"] - -Spring Cloud Build is a common utility project for Spring Cloud -to use for plugin and dependency management. - -== Building and Deploying - -To install locally: - ----- - -$ mvn install -s .settings.xml ----- - -and to deploy snapshots to repo.spring.io: - ----- -$ mvn deploy -DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-snapshot-local ----- - -for a RELEASE build use - ----- -$ mvn deploy -DaltReleaseDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-release-local ----- - -and for jcenter use - ----- -$ mvn deploy -DaltReleaseDeploymentRepository=bintray::default::https://api.bintray.com/maven/spring/jars/org.springframework.cloud:build ----- - -and for Maven Central use - ----- -$ mvn deploy -P central -DaltReleaseDeploymentRepository=sonatype-nexus-staging::default::https://oss.sonatype.org/service/local/staging/deploy/maven2 ----- - -(the "central" profile is available for all projects in Spring Cloud and it sets up the gpg jar signing, and the repository has to be specified separately for this project because it is a parent of the starter parent which users in turn have as their own parent). - -== Contributing - -include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/docs/src/main/asciidoc/contributing.adoc[] - -== Flattening the POMs - -To avoid propagating build setup that is required to build a Spring Cloud project, we're using the maven flatten plugin. It has the advantage of letting you use whatever features you need while publishing "clean" pom to the repository. - -In order to add it, add the `org.codehaus.mojo:flatten-maven-plugin` to your `pom.xml`. - -[source,xml] ----- - - - - org.codehaus.mojo - flatten-maven-plugin - - - ----- - -== Reusing the documentation - -Spring Cloud Build publishes its `spring-cloud-build-docs` module that contains -helpful scripts (e.g. README generation ruby script) and css, xslt and images -for the Spring Cloud documentation. If you want to follow the same convention -approach of generating documentation just add these plugins to your `docs` module - -[source,xml] ----- - - deploy <8> - - - - docs - - - - pl.project13.maven - git-commit-id-plugin <1> - - - org.apache.maven.plugins - maven-dependency-plugin <2> - - - org.apache.maven.plugins - maven-resources-plugin <3> - - - org.codehaus.mojo - exec-maven-plugin <4> - - - org.asciidoctor - asciidoctor-maven-plugin <5> - - - org.apache.maven.plugins - maven-antrun-plugin <6> - - - maven-deploy-plugin <7> - - - - - ----- -<1> This plugin downloads sets up all the git information of the project -<2> This plugin downloads the resources of the `spring-cloud-build-docs` module -<3> This plugin unpacks the resources of the `spring-cloud-build-docs` module -<4> This plugin generates an `adoc` file with all the configuration properties from the classpath -<5> This plugin is required to parse the Asciidoctor documentation -<6> This plugin is required to copy resources into proper final destinations and to generate main README.adoc and to assert that no files use unresolved links -<7> This plugin ensures that the generated zip docs will get published -<8> This property turns on the "deploy" phase for <7> - -IMPORTANT: The order of plugin declaration is important! - -In order for the build to generate the `adoc` file with all your configuration properties, your `docs` module should contain all the dependencies on the classpath, that you would want to scan for configuration properties. The file will be output to `${docsModule}/src/main/asciidoc/_configprops.adoc` file (configurable via the `configprops.path` property). - -If you want to modify which of the configuration properties are put in the table, you can tweak the `configprops.inclusionPattern` pattern to include only a subset of the properties (e.g. `spring.sleuth.*`). - -Spring Cloud Build Docs comes with a set of attributes for asciidoctor that you can reuse. - -[source,xml] ----- -include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/pom.xml[tags=attributes,indent=0] ----- - -== Updating the guides - -We assume that your project contains guides under the `guides` folder. - -``` -. -└── guides - ├── gs-guide1 - ├── gs-guide2 - └── gs-guide3 -``` - -This means that the project contains 3 guides that would -correspond to the following guides in Spring Guides org. - -- https://github.com/spring-guides/gs-guide1 -- https://github.com/spring-guides/gs-guide2 -- https://github.com/spring-guides/gs-guide3 - -If you deploy your project with the `-Pguides` profile like this - -``` -$ ./mvnw clean deploy -Pguides -``` - -what will happen is that for GA project versions, we will clone `gs-guide1`, `gs-guide2` and `gs-guide3` and update their contents with the ones being under your `guides` project. - -You can skip this by either not adding the `guides` profile, or passing the `-DskipGuides` system property when the profile is turned on. - -You can configure the project version passed to guides via the `guides-project.version` (defaults to `${project.version}`). The phase at which guides get updated can be configured by `guides-update.phase` (defaults to `deploy`). - -include::included.adoc[] \ No newline at end of file diff --git a/docs/src/test/resources/included.adoc b/docs/src/test/resources/included.adoc deleted file mode 100644 index 6769dd60..00000000 --- a/docs/src/test/resources/included.adoc +++ /dev/null @@ -1 +0,0 @@ -Hello world! \ No newline at end of file diff --git a/docs/src/test/resources/not-matching-name.json b/docs/src/test/resources/not-matching-name.json deleted file mode 100644 index 9f002efa..00000000 --- a/docs/src/test/resources/not-matching-name.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "properties": [ - { - "defaultValue": "false", - "name": "example1.first-property", - "description": "First Description", - "type": "java.lang.Boolean" - }, - { - "defaultValue": "true", - "name": "example2.second-property", - "description": "Second Description", - "type": "java.lang.Boolean" - } - ] -} diff --git a/docs/src/test/resources/test.adoc b/docs/src/test/resources/test.adoc deleted file mode 100644 index 4976eda4..00000000 --- a/docs/src/test/resources/test.adoc +++ /dev/null @@ -1 +0,0 @@ -include::included.adoc[] \ No newline at end of file diff --git a/docs/src/test/resources/with-cloud-in-name.json b/docs/src/test/resources/with-cloud-in-name.json deleted file mode 100644 index 1ad731f5..00000000 --- a/docs/src/test/resources/with-cloud-in-name.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "properties": [ - { - "defaultValue": "false", - "name": "spring.first-property", - "description": "First Description", - "type": "java.lang.Boolean" - }, - { - "defaultValue": "true", - "name": "unmatched.second-property", - "description": "Second Description", - "type": "java.lang.Boolean" - } - ] -} diff --git a/pom.xml b/pom.xml index 1f496f8e..3f8cf4b6 100644 --- a/pom.xml +++ b/pom.xml @@ -1,1654 +1,70 @@ - - + + + 4.0.0 + org.springframework.cloud - spring-cloud-build - 4.1.0-SNAPSHOT - pom - Spring Cloud Parent - Spring Cloud parent pom, managing plugins and dependencies for Spring - Cloud projects - - - docs - spring-cloud-build-dependencies - spring-cloud-dependencies-parent - spring-cloud-build-tools - - https://spring.io/spring-cloud - - 17 - - @ - UTF-8 - UTF-8 - ${java.version} - ${java.version} - ${basedir} - ${project.artifactId} - 3.2.0-SNAPSHOT - 4.1.0-SNAPSHOT - ${project.build.directory}/build-docs - ${project.build.directory}/build-docs-classes - ${project.build.directory}/refdocs/ - 0.0.5 - 1.6.2 - 2.1.2 - ${project.version} - deploy - ${project.version} - 2.5.3 - 9.2.19.0 + spring-cloud-build-docs-build + 0.0.1-SNAPSHOT - - jacoco - reuseReports - ${project.basedir}/../target/jacoco.exec - - java - - - 3.9.0 - 2.10 - - ${maven-checkstyle-plugin.version} - 9.2.1 - 0.0.35 - 2.22.2 - 3.3.1 - 3.2.1 - 3.2.2 - 3.0.0 - 2.22.2 - 2.22.2 - 3.3.2 - 3.0.0 - 3.2.0 - 4.9.10 - 3.2.4 - 3.0.0 - 3.0.1 - 3.2.0 - 2.1.0 - 3.2.0 - 3.2.3 - 2.0.0 - 0.0.35 - 3.1.2 - 1.7.3 - 0.15 - false - true - true - - true - - master - - jar-with-dependencies - - https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/${spring-cloud-build-checkstyle.branch}/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml - - - https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/${spring-cloud-build-checkstyle.branch}/spring-cloud-build-tools/src/checkstyle/nohttp-checkstyle.xml - - - ${maven.multiModuleProjectDirectory}/src/checkstyle/checkstyle-suppressions.xml - - 0.0.10 - true - 3.2.10 - 1.8.1 - ${project.basedir}/src/main/asciidoc/_configprops.adoc - .* - generate-resources - generate-resources - generate-resources - ${project.build.directory}/generated-docs/reference/html - ${project.build.directory}/generated-docs/reference/htmlsingle - ${project.build.directory}/generated-docs/reference/pdf - false - false - deploy - 2.8.2 - repo.spring.io - https://repo.spring.io/libs-snapshot-local - none - ${docs.classes.dir} - readme.class.path - 5.14.0.18788 - 1.5.1 - false - false - false - true - true - true - true - false - false - true - true - 2 - ${project.build.directory}/duplicate-finder-result.xml - false - sun.boot.class.path - true - false - verify - prepare-package - package - package - - - - - org.springframework.cloud - spring-cloud-build-dependencies - ${spring-cloud-build.version} - pom - import - - - - - Pivotal Software, Inc. - https://www.spring.io - - - - Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0 - - Copyright 2014-2021 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. - - - + Spring Cloud Build Docs Build + Builds Spring Cloud Build Docs. + https://spring.io/projects/spring-cloud-build - https://github.com/spring-cloud/spring-cloud-build - scm:git:git://github.com/spring-cloud/spring-cloud-build.git + scm:git:https://github.com/spring-cloud/spring-cloud-build.git - scm:git:ssh://git@github.com/spring-cloud/spring-cloud-build.git + scm:git:git@github.com:spring-cloud/spring-cloud-build.git - HEAD + https://github.com/spring-cloud/spring-cloud-build - - - dsyer - Dave Syer - dsyer at pivotal.io - Pivotal Software, Inc. - https://www.spring.io - - lead - - - - sgibb - Spencer Gibb - sgibb at pivotal.io - Pivotal Software, Inc. - https://www.spring.io - - lead - - - - mgrzejszczak - Marcin Grzejszczak - mgrzejszczak at pivotal.io - Pivotal Software, Inc. - https://www.spring.io - - developer - - - - rbaxter - Ryan Baxter - rbaxter at pivotal.io - Pivotal Software, Inc. - https://www.spring.io - - developer - - - - omaciaszeksharma - Olga Maciaszek-Sharma - omaciaszeksharma at pivotal.io - Pivotal Software, Inc. - https://www.spring.io - - developer - - - + + https://github.com/spring-cloud/spring-cloud-build/issues + + + + 0.0.3 + + + - - - - ${basedir}/src/main/resources - true - - **/application*.yml - **/application*.properties - - - - ${basedir}/src/main/resources - - **/application*.yml - **/application*.properties - - - - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - - javadoc - - jar - - package - - + io.spring.maven.antora + antora-maven-plugin + ${io.spring.maven.antora-version} + true - ${javadoc.failOnError} - ${javadoc.failOnWarnings} + + + + + + + 9d489079e5ec46dbb238909fee5c9c29 + WB1FQYI187 + springcloudbuild + - - maven-source-plugin - ${maven-source-plugin.version} - - - attach-sources - - jar - - package - - - - - - - org.codehaus.mojo - flatten-maven-plugin - true - - - - flatten - process-resources - - flatten - - - true - oss - - expand - remove - remove - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - ${maven-eclipse-plugin.version} - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${maven.compiler.source} - ${maven.compiler.target} - -parameters - - - - org.apache.maven.plugins - maven-failsafe-plugin - ${maven-failsafe-plugin.version} - - - - integration-test - verify - - - - - - org.apache.maven.plugins - maven-jar-plugin - ${maven-jar-plugin.version} - - - - ${start-class} - true - - - - - - - org.apache.maven.plugins - maven-antrun-plugin - ${maven-antrun-plugin.version} - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - **/*Tests.java - **/*Test.java - - - **/Abstract*.java - - --add-opens=java.base/java.net=ALL-UNNAMED - - - - org.apache.maven.plugins - maven-war-plugin - ${maven-war-plugin.version} - - false - - - ${start-class} - true - - - - - - - org.codehaus.mojo - exec-maven-plugin - ${exec-maven-plugin.version} - - ${start-class} - - - - org.apache.maven.plugins - maven-resources-plugin - ${maven-resources-plugin.version} - - - ${resource.delimiter} - - false - - - - io.spring.javaformat - spring-javaformat-maven-plugin - ${spring-javaformat.version} - - - validate - - ${disable.checks} - - - apply - validate - - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - ${maven-checkstyle-plugin.version} - - - com.puppycrawl.tools - checkstyle - ${puppycrawl-tools-checkstyle.version} - - - io.spring.javaformat - spring-javaformat-checkstyle - ${spring-javaformat-checkstyle.version} - - - org.springframework.cloud - spring-cloud-build-tools - ${spring-cloud-build.version} - - - io.spring.nohttp - nohttp-checkstyle - ${nohttp-checkstyle.version} - - - - - checkstyle-validation - validate - true - - ${disable.checks} - checkstyle.xml - checkstyle-header.txt - - checkstyle.build.directory=${project.build.directory} - checkstyle.suppressions.file=${checkstyle.suppressions.file} - checkstyle.additional.suppressions.file=${checkstyle.additional.suppressions.file} - - true - - ${maven-checkstyle-plugin.includeTestSourceDirectory} - - ${maven-checkstyle-plugin.failsOnError} - - - ${maven-checkstyle-plugin.failOnViolation} - - - - check - - - - no-http-checkstyle-validation - validate - true - - ${disable.nohttp.checks} - ${checkstyle.nohttp.file} - **/* - **/.idea/**/*,**/.git/**/*,**/target/**/*,**/*.log - ./ - - - check - - - - - - pl.project13.maven - git-commit-id-plugin - ${git-commit-id-plugin.version} - - - - revision - - - - - true - yyyy-MM-dd'T'HH:mm:ssZ - true - - ${project.build.outputDirectory}/git.properties - - false - true - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - repackage - - - - - ${start-class} - - - - - org.apache.maven.plugins - maven-shade-plugin - ${maven-shade-plugin.version} - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - true - - true - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - package - - shade - - - - - META-INF/spring.handlers - - - META-INF/spring.factories - - - META-INF/spring.schemas - - - - ${start-class} - - - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${maven-enforcer-plugin.version} - - - enforce-versions - - enforce - - - - - false - - - - - - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - - org.apache.maven.plugins - - - maven-checkstyle-plugin - - - [2.17,) - - - check - - - - - - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - - aggregate - - aggregate - - site - - - - - org.basepom.maven - duplicate-finder-maven-plugin - ${duplicate-finder-maven-plugin.version} - - - duplicate-validation - verify - - check - - - - - ${duplicate-finder-maven-plugin.printEqualFiles} - ${duplicate-finder-maven-plugin.failBuildInCaseOfDifferentContentConflict} - ${duplicate-finder-maven-plugin.failBuildInCaseOfEqualContentConflict} - ${duplicate-finder-maven-plugin.failBuildInCaseOfConflict} - ${duplicate-finder-maven-plugin.checkCompileClasspath} - ${duplicate-finder-maven-plugin.checkRuntimeClasspath} - ${duplicate-finder-maven-plugin.checkTestClasspath} - ${duplicate-finder-maven-plugin.skip} - ${duplicate-finder-maven-plugin.quiet} - ${duplicate-finder-maven-plugin.preferLocal} - ${duplicate-finder-maven-plugin.useResultFile} - ${duplicate-finder-maven-plugin.resultFileMinClasspathCount} - ${duplicate-finder-maven-plugin.resultFile} - ${duplicate-finder-maven-plugin.includeBootClasspath} - ${duplicate-finder-maven-plugin.bootClasspathProperty} - ${duplicate-finder-maven-plugin.useDefaultResourceIgnoreList} - ${duplicate-finder-maven-plugin.includePomProjects} - - - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - - non-aggregate - - - - javadoc - - - - aggregate - - - - aggregate - - - - - - org.apache.maven.plugins - maven-surefire-report-plugin - ${maven-surefire-report-plugin.version} - - - org.apache.maven.plugins - maven-jxr-plugin - 3.0.0 - - - - - https://github.com/spring-cloud - - spring-docs - - scp://static.springframework.org/var/www/domains/springframework.org/static/htdocs/spring-cloud/docs/${project.artifactId}/${project.version} - - - - sonatype-nexus-staging - Nexus Release Repository - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ - - - repo.spring.io - Spring Snapshot Repository - https://repo.spring.io/libs-snapshot-local - - - - - spring - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - false - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - false - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - milestone - - - repo.spring.io - Spring Milestone Repository - https://repo.spring.io/libs-milestone-local - - - - https://repo.spring.io/libs-milestone-local - - - - central - - - - org.apache.maven.plugins - maven-gpg-plugin - ${maven-gpg-plugin.version} - - - sign-artifacts - ${maven-gpg-plugin.phase} - - sign - - - - - - - - https://repo.spring.io/libs-release-local - - - - guides - - - - org.apache.maven.plugins - maven-dependency-plugin - ${maven-dependency-plugin.version} - - - unpack-docs - ${maven-dependency-plugin-for-guides.phase} - - unpack - - - - - org.springframework.cloud - - spring-cloud-build-docs - - ${spring-cloud-build.version} - - sources - jar - false - ${docs.resources.dir} - - - - - - - - - exec-maven-plugin - org.codehaus.mojo - - - Run guides update - ${guides-update.phase} - - exec - - - ${skipGuides} - ${maven.multiModuleProjectDirectory} - ${docs.resources.dir}/asciidoc/update-guides.sh - - ${guides-project.version} - - - - - - - - - - java8 - - [1.8,) - - - - - maven-javadoc-plugin - - -Xdoclint:none - - - - - - - java11 - - [1.11,) - - - - - maven-javadoc-plugin - - - 8 - - - - - - - - imports - - - !windows - - - .google - - - project.packaging - jar - - - - - - org.codehaus.mojo - exec-maven-plugin - ${exec-maven-plugin.version} - - - imports - process-sources - - egrep - - 1 - - - -rm - 1 - - ^import com.google - - --include=*.java - - ${project.basedir} - - - - exec - - - - - - - - - docs - - - - - org.apache.maven.plugins - maven-dependency-plugin - ${maven-dependency-plugin.version} - - - unpack-docs - ${maven-dependency-plugin-for-docs.phase} - - unpack - - - - - org.springframework.cloud - - spring-cloud-build-docs - - ${spring-cloud-build.version} - - sources - jar - true - ${docs.resources.dir} - - - - - - - unpack-classes - ${maven-dependency-plugin-for-docs-classes.phase} - - unpack - - - - - org.springframework.cloud - - spring-cloud-build-docs - - ${spring-cloud-build.version} - - jar-with-dependencies - jar - true - ${docs.classes.dir} - - - - - - - - - org.apache.maven.plugins - maven-resources-plugin - - - copy-asciidoc-resources - generate-resources - - copy-resources - - - ${project.build.directory}/refdocs/ - - - src/main/asciidoc - - ghpages.sh - - - - - - - - - org.codehaus.mojo - exec-maven-plugin - ${exec-maven-plugin.version} - - - generate-configprops - prepare-package - - java - - - - - - org.springframework.cloud - - spring-cloud-build-docs - - ${spring-cloud-build.version} - - ${spring-cloud-build-docs-classifier} - jar - - - - - true - - org.springframework.cloud.internal.Main - - ${configprops.path} - ${configprops.inclusionPattern} - - - - - org.asciidoctor - asciidoctor-maven-plugin - ${asciidoctor-maven-plugin.version} - - - io.spring.asciidoctor.backends - spring-asciidoctor-backends - ${spring-asciidoctor-backends.version} - - - org.asciidoctor - asciidoctorj-pdf - ${asciidoctorj-pdf.version} - - - org.asciidoctor - asciidoctorj-diagram - ${asciidoctorj-diagram.version} - - - - ${refdocs.build.directory} - - - ${refdocs.build.directory} - - **/*.*adoc - - - - - - shared - true - - left - 4 - true - ${project.basedir}/src@ - ${project.basedir}/src/main/asciidoc@ - ${project.basedir}/target/generated-resources@ - - - - ${maven.multiModuleProjectDirectory}@ - - ${docs.main}@ - https://github.com/spring-cloud/${docs.main}@ - - https://raw.githubusercontent.com/spring-cloud/${docs.main}/${github-tag}@ - - https://github.com/spring-cloud/${docs.main}/tree/${github-tag}@ - - https://github.com/spring-cloud/${docs.main}/issues/@ - https://github.com/spring-cloud/${docs.main}/wiki@ - https://github.com/spring-cloud/${docs.main}/tree/master@ - - ${index-link}@ - - - ${project.version}@ - ${project.version}@ - ${github-tag}@ - ${version-type}@ - https://docs.spring.io/${docs.main}/docs/${project.version}@ - ${github-raw}@ - ${project.version}@ - ${docs.main}@ - highlight.js - - - - asciidoctor-diagram - - - - - generate-html-documentation - ${generate-docs.phase} - - process-asciidoc - - - spring-html - - .adoc - .htmladoc - - ${generated-docs-multipage-output.dir} - - book - - shared - css/ - site.css - true - font - js/highlight - github - ./images - warn - highlight.js - - - true - - - - - - - - generate-htmlsingle-documentation - ${generate-docs.phase} - - process-asciidoc - - - spring-html - - .htmlsingleadoc - - - ${generated-docs-singlepage-output.dir} - - book - - highlight.js - shared - css/ - site.css - true - font - js/highlight - github - ./images - - - - - generate-pdf-documentation - ${generate-docs.phase} - - process-asciidoc - - - pdf - - .pdfadoc - - ${generated-docs-pdf-output.dir} - - - - ${refdocs.build.directory} - - **/* - - - - - - - - - org.apache.maven.plugins - maven-antrun-plugin - ${maven-antrun-plugin.version} - - - ant-contrib - ant-contrib - 1.0b3 - - - ant - ant - - - - - org.apache.ant - ant-nodeps - ${ant-nodeps.version} - - - org.tigris.antelope - antelopetasks - ${antelopetasks.version} - - - org.jruby - jruby-complete - ${jruby-complete.version} - - - org.asciidoctor - asciidoctorj - ${asciidoctorj.version} - - - - - readme - prepare-package - - run - - - - - - - - - - - - - - - - - assert-no-unresolved-links - ${generate-docs.phase} - - run - - - - - - - - - - - - - - - - copy-missing-html-files - ${copy-missing-html-files.phase} - - run - - - false - - - - - - - - - package-and-attach-docs-zip - ${package-and-attach-docs-zip.phase} - - run - - - - - - - - - - - - - setup-maven-properties - initialize - - run - - - true - - - - - - - - - - - - - - - - - - - - org.jfrog.buildinfo - artifactory-maven-plugin - ${artifactory-maven-plugin.version} - - - build-info - - publish - - - - true - docs - - - https://repo.spring.io - - libs-release-local - libs-snapshots-local - - - - - - - - maven-deploy-plugin - ${maven-deploy-plugin.version} - - - default-deploy - ${maven-deploy-plugin-default.phase} - - deploy - - - - upload-docs-zip - ${upload-docs-zip.phase} - - deploy-file - - - false - ${project.groupId} - ${project.artifactId} - ${project.version} - ${maven-deploy-plugin.deployZipRepositoryId} - ${maven-deploy-plugin.deployZipUrl} - ${project.build.directory}/${project.artifactId}-${project.version}.zip - zip;zip.type=docs;zip.deployed=false; - - - - - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - false - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - sonar - - false - - - - - org.jacoco - jacoco-maven-plugin - 0.8.7 - - ${sonar.jacoco.reportPath} - true - - - - agent - - prepare-agent - - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - - listener - org.sonar.java.jacoco.JUnitListener - - - - - - - - - org.sonarsource.java - sonar-jacoco-listeners - ${sonar-jacoco-listeners.version} - test - - - - - license - - true - - - - - org.codehaus.mojo - license-maven-plugin - ${license-maven-plugin.version} - - - aggregate-licenses - - license:aggregate-add-third-party - - - - - - - - - fast - - true - - - - mutation - - - - org.pitest - pitest-maven - ${pitest-maven.version} - - - true - - XML - - false - - false - - - - mutationCoverage - - mutationCoverage - - - - - - org.pitest - pitest-junit5-plugin - ${pitest-junit5-plugin.version} - - - - - - - - CI - - - env.GITHUB_API_URL - - - - - none - none - none - none - - - + + + spring-snapshot + https://repo.spring.io/snapshot + + true + + + false + + + + spring-milestone + https://repo.spring.io/milestone + + + diff --git a/scripts/build.sh b/scripts/build.sh deleted file mode 100755 index 081b9faa..00000000 --- a/scripts/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -./mvnw clean install -B -Pdocs ${@} -#./mvnw clean install -B -DskipTests ${@} diff --git a/scripts/sync_mvnw.sh b/scripts/sync_mvnw.sh deleted file mode 100755 index 88eeb659..00000000 --- a/scripts/sync_mvnw.sh +++ /dev/null @@ -1,211 +0,0 @@ -#!/bin/bash - -set -e - -# Either clones or pulls the repo for given project -# Params: -# $1 organization e.g. spring-cloud -# $2 repo name e.g. spring-cloud-sleuth -function clone_or_pull() { - if [ "$#" -ne 2 ] - then - echo "You haven't provided 2 args... \$1 organization e.g. spring-cloud; \$2 repo name e.g. spring-cloud-sleuth" - exit 1 - fi - if [[ "${JUST_PUSH}" == "yes" ]] ; then - echo "Skipping cloning since the option to just push was provided" - exit 0 - fi - local ORGANIZATION=$1 - local REPO_NAME=$2 - local LOCALREPO_VC_DIR=${REPO_NAME}/.git - if [ ! -d ${LOCALREPO_VC_DIR} ] - then - echo "Repo [${REPO_NAME}] doesn't exist - will clone it!" - git clone git@github.com:${ORGANIZATION}/${REPO_NAME}.git - else - echo "Repo [${REPO_NAME}] exists - will pull the changes" - cd ${REPO_NAME} && git pull || echo "Not pulling since repo is up to date" - cd ${ROOT_FOLDER} - fi -} - -# For the given branch updates the docs/src/main/asciidoc/ghpages.sh -# with the one from spring-cloud-build. Then commits and pushes the change -# Params: -# $1 repo name e.g. spring-cloud-sleuth -# $2 branch name -function update_mvnw_script() { - if [ "$#" -ne 2 ] - then - echo "You haven't provided 2 args... \$1 repo name e.g. spring-cloud-sleuth; \$2 branch name e.g. master" - exit 1 - fi - local REPO_NAME=$1 - local BRANCH_NAME=$2 - echo "Updating ghpages script for [${REPO_NAME}] and branch [${BRANCH_NAME}]" - cd ${REPO_NAME} - echo "Checking out [${BRANCH_NAME}]" - git checkout ${BRANCH_NAME} - echo "Resetting the repo and pulling before commiting" - git reset --hard origin/${BRANCH_NAME} && git pull origin ${BRANCH_NAME} - # If the user wants to just push we will not copy / add / commit files - if [[ "${JUST_PUSH}" != "yes" ]] ; then - echo "Copying [${MVNW_LOCATION}] to [${MVNW_IN_REPO_PATH}]" - cp -rf ${MVNW_LOCATION} ${MVNW_IN_REPO_PATH} - echo "Adding and committing [${MVNW_IN_REPO_PATH}] with message [${COMMIT_MESSAGE}]" - git add ${MVNW_IN_REPO_PATH} - git commit -m "${COMMIT_MESSAGE}" || echo "Proceeding to the next repo" - fi - if [[ "${AUTO_PUSH}" == "yes" ]] ; then - echo "Pushing the branch [${BRANCH_NAME}]" - wait_if_manual_proceed - git push origin ${BRANCH_NAME} - fi - cd ${ROOT_FOLDER} -} - -# Either clones or pulls the repo for given project and then updates gh-pages for the given project -# Params: -# $1 organization e.g. spring-cloud -# $2 repo name e.g. spring-cloud-sleuth -# $3 branch name e.g. master -function clone_and_update_mvnw() { - if [ "$#" -ne 3 ] - then - echo "You haven't provided 3 args... \$1 organization e.g. spring-cloud; \$2 repo name e.g. spring-cloud-sleuth; \$3 branch name e.g. master" - exit 1 - fi - local ORGANIZATION=$1 - local REPO_NAME=$2 - local BRANCH_NAME=$3 - local VAR - echo -e "\n\nWill clone the repo and update scripts for org [${ORGANIZATION}], repo [${REPO_NAME}] and branch [${BRANCH_NAME}]\n\n" - clone_or_pull ${ORGANIZATION} ${REPO_NAME} - update_mvnw_script ${REPO_NAME} ${BRANCH_NAME} - echo "Proceeding to next project" - wait_if_manual_proceed -} - -function wait_if_manual_proceed() { - if [[ "${AUTO_PROCEED}" != "yes" ]] ; then - echo -n "Press [ENTER] to continue..." - read VAR - fi -} - -# Prints the provided parameters -function print_parameters() { -cat < 0 ]] -do -key="$1" -case ${key} in - -p|--nopush) - AUTO_PUSH="no" - ;; - -m|--manualproceed) - AUTO_PROCEED="no" - ;; - -x|--justpush) - JUST_PUSH="yes" - ;; - -f|--file) - MVNW_LOCATION="$2" - shift - ;; - -h|--help) - print_usage - exit 0 - ;; - *) - echo "Invalid option: [$1]" - print_usage - exit 1 - ;; -esac -shift # past argument or value -done - -export COMMIT_MESSAGE=${COMMIT_MESSAGE:-Updating mvnw for all projects} -export MVNW_IN_REPO_PATH=${MVNW_IN_REPO_PATH:-mvnw} -export MVNW_LOCATION=${MVNW_LOCATION:-`pwd`/mvnw} -export AUTO_PROCEED=${AUTO_PROCEED:-yes} -export AUTO_PUSH=${AUTO_PUSH:-yes} -export JUST_PUSH=${JUST_PUSH:-no} -export ROOT_FOLDER=`pwd` - - -print_parameters -if [[ ! -f "${MVNW_LOCATION}" ]]; then - echo -e "\n\nWARNING: In order to run the script you need to have the mvnw file present. You've provided [${MVNW_LOCATION}] and the file is missing." - exit 1 -fi -clone_and_update_mvnw spring-cloud spring-cloud-aws master -clone_and_update_mvnw spring-cloud spring-cloud-aws 1.0.x -clone_and_update_mvnw spring-cloud spring-cloud-aws 1.2.x -clone_and_update_mvnw spring-cloud spring-cloud-bus master -clone_and_update_mvnw spring-cloud spring-cloud-cli 1.0.x -clone_and_update_mvnw spring-cloud spring-cloud-cli 1.1.x -clone_and_update_mvnw spring-cloud spring-cloud-cli master -clone_and_update_mvnw spring-cloud spring-cloud-cloudfoundry master -clone_and_update_mvnw spring-cloud spring-cloud-cluster master -clone_and_update_mvnw spring-cloud spring-cloud-commons master -clone_and_update_mvnw spring-cloud spring-cloud-config master -clone_and_update_mvnw spring-cloud spring-cloud-config 1.1.x -clone_and_update_mvnw spring-cloud spring-cloud-consul 1.0.x -clone_and_update_mvnw spring-cloud spring-cloud-consul master -clone_and_update_mvnw spring-cloud spring-cloud-contract master -clone_and_update_mvnw spring-cloud spring-cloud-netflix 1.0.x -clone_and_update_mvnw spring-cloud spring-cloud-netflix 1.1.x -clone_and_update_mvnw spring-cloud spring-cloud-netflix master -clone_and_update_mvnw spring-cloud spring-cloud-security master -clone_and_update_mvnw spring-cloud spring-cloud-sleuth 1.0.x -clone_and_update_mvnw spring-cloud spring-cloud-sleuth master -clone_and_update_mvnw spring-cloud spring-cloud-starters Brixton -clone_and_update_mvnw spring-cloud spring-cloud-starters master -clone_and_update_mvnw spring-cloud-incubator spring-cloud-vault-config master -clone_and_update_mvnw spring-cloud spring-cloud-zookeeper master diff --git a/spring-cloud-build-dependencies/pom.xml b/spring-cloud-build-dependencies/pom.xml deleted file mode 100644 index db0994ab..00000000 --- a/spring-cloud-build-dependencies/pom.xml +++ /dev/null @@ -1,182 +0,0 @@ - - - 4.0.0 - org.springframework.cloud - spring-cloud-build-dependencies - 4.1.0-SNAPSHOT - spring-cloud-build-dependencies - pom - Spring Cloud Build Dependencies: an internal BOM for use with Spring - Cloud projects. Use as a BOM or by inheriting from the spring-cloud build parent. - - - org.springframework.boot - spring-boot-dependencies - 3.2.0-SNAPSHOT - - - - UTF-8 - 3.2.0-SNAPSHOT - 3.0.1 - - - - - org.codehaus.mojo - flatten-maven-plugin - false - - - - flatten - process-resources - - flatten - - - true - bom - - expand - keep - keep - remove - - - - - flatten-clean - clean - - clean - - - - - - - - https://github.com/spring-cloud - - spring-docs - - https:/docs.spring.io/${project.artifactId}/docs/${project.version}/reference/html/ - - - - repo.spring.io - Spring Release Repository - https://repo.spring.io/libs-release-local - - - repo.spring.io - Spring Snapshot Repository - https://repo.spring.io/libs-snapshot-local - - - - - milestone - - - repo.spring.io - Spring Milestone Repository - https://repo.spring.io/libs-milestone-local - - - - - central - - - sonatype-nexus-snapshots - Sonatype Nexus Snapshots - https://s01.oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - Nexus Release Repository - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ - - - - - - - org.apache.maven.plugins - maven-gpg-plugin - ${maven-gpg-plugin.version} - - - sign-artifacts - verify - - sign - - - - - - - - - spring - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - - diff --git a/spring-cloud-build-tools/pom.xml b/spring-cloud-build-tools/pom.xml deleted file mode 100644 index 30ee84e8..00000000 --- a/spring-cloud-build-tools/pom.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - 4.0.0 - spring-cloud-build-tools - spring-cloud-build-tools - jar - Spring Cloud Build Tools - - org.springframework.cloud - spring-cloud-build - 4.1.0-SNAPSHOT - - - - com.puppycrawl.tools - checkstyle - ${puppycrawl-tools-checkstyle.version} - - - - diff --git a/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml b/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml deleted file mode 100644 index b7204284..00000000 --- a/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/spring-cloud-build-tools/src/checkstyle/nohttp-checkstyle.xml b/spring-cloud-build-tools/src/checkstyle/nohttp-checkstyle.xml deleted file mode 100644 index 4e21a0bd..00000000 --- a/spring-cloud-build-tools/src/checkstyle/nohttp-checkstyle.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/spring-cloud-build-tools/src/main/resources/LICENSE.txt b/spring-cloud-build-tools/src/main/resources/LICENSE.txt deleted file mode 100644 index 62589edd..00000000 --- a/spring-cloud-build-tools/src/main/resources/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt b/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt deleted file mode 100644 index 39429ee6..00000000 --- a/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt +++ /dev/null @@ -1,17 +0,0 @@ -^\Q/*\E$ -^\Q * Copyright \E20\d\d\-20\d\d\Q the original author or authors.\E$ -^\Q *\E$ -^\Q * Licensed under the Apache License, Version 2.0 (the "License");\E$ -^\Q * you may not use this file except in compliance with the License.\E$ -^\Q * You may obtain a copy of the License at\E$ -^\Q *\E$ -^\Q * https://www.apache.org/licenses/LICENSE-2.0\E$ -^\Q *\E$ -^\Q * Unless required by applicable law or agreed to in writing, software\E$ -^\Q * distributed under the License is distributed on an "AS IS" BASIS,\E$ -^\Q * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\E$ -^\Q * See the License for the specific language governing permissions and\E$ -^\Q * limitations under the License.\E$ -^\Q */\E$ -^$ -^.*$ diff --git a/spring-cloud-build-tools/src/main/resources/checkstyle.xml b/spring-cloud-build-tools/src/main/resources/checkstyle.xml deleted file mode 100644 index 36b37e95..00000000 --- a/spring-cloud-build-tools/src/main/resources/checkstyle.xml +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml b/spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml deleted file mode 100644 index fd29f619..00000000 --- a/spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml b/spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml deleted file mode 100644 index f86d1579..00000000 --- a/spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - \ No newline at end of file diff --git a/spring-cloud-dependencies-parent/Guardfile b/spring-cloud-dependencies-parent/Guardfile deleted file mode 100644 index 6e8389bf..00000000 --- a/spring-cloud-dependencies-parent/Guardfile +++ /dev/null @@ -1,12 +0,0 @@ -require 'asciidoctor' -require 'erb' - -options = {:mkdirs => true, :safe => :unsafe, :attributes => 'linkcss'} - -guard 'shell' do - watch(/^[A-Za-z].*\.adoc$/) {|m| - Asciidoctor.load_file('src/main/asciidoc/README.adoc', :to_file => './README.adoc', safe: :safe, parse: false) - Asciidoctor.render_file('src/main/asciidoc/spring-cloud-build.adoc', options.merge(:to_dir => 'target/generated-docs')) - Asciidoctor.render_file('src/main/asciidoc/building.adoc', options.merge(:to_dir => 'target/generated-docs')) - } -end diff --git a/spring-cloud-dependencies-parent/README.adoc b/spring-cloud-dependencies-parent/README.adoc deleted file mode 100644 index 0ffc7973..00000000 --- a/spring-cloud-dependencies-parent/README.adoc +++ /dev/null @@ -1,4 +0,0 @@ -// Do not edit this file (e.g. go instead to src/main/asciidoc) - -Spring Cloud Build is a common utility project for Spring Cloud -to use for plugin and dependency management. diff --git a/spring-cloud-dependencies-parent/eclipse-code-formatter.xml b/spring-cloud-dependencies-parent/eclipse-code-formatter.xml deleted file mode 100644 index a0902cc8..00000000 --- a/spring-cloud-dependencies-parent/eclipse-code-formatter.xml +++ /dev/null @@ -1,755 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spring-cloud-dependencies-parent/pom.xml b/spring-cloud-dependencies-parent/pom.xml deleted file mode 100644 index 0aa91263..00000000 --- a/spring-cloud-dependencies-parent/pom.xml +++ /dev/null @@ -1,252 +0,0 @@ - - - 4.0.0 - org.springframework.cloud - 4.1.0-SNAPSHOT - spring-cloud-dependencies-parent - pom - spring-cloud-dependencies-parent - Spring Cloud Build Dependencies - https://projects.spring.io/spring-cloud/ - - Pivotal Software, Inc. - https://www.spring.io - - - - Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0 - - Copyright 2014-2021 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. - - - - - https://github.com/spring-cloud/spring-cloud-build - scm:git:git://github.com/spring-cloud/spring-cloud-build.git - - - scm:git:ssh://git@github.com/spring-cloud/spring-cloud-build.git - - HEAD - - - - dsyer - Dave Syer - dsyer at pivotal.io - Pivotal Software, Inc. - https://www.spring.io - - Project lead - - - - sgibb - Spencer Gibb - sgibb at pivotal.io - Pivotal Software, Inc. - https://www.spring.io - - Project lead - - - - - UTF-8 - - - https://github.com/spring-cloud - - spring-docs - - https:/docs.spring.io/${project.artifactId}/docs/${project.version}/reference/html/ - - - - repo.spring.io - Spring Release Repository - https://repo.spring.io/libs-release-local - - - repo.spring.io - Spring Snapshot Repository - https://repo.spring.io/libs-snapshot-local - - - - - milestone - - - repo.spring.io - Spring Milestone Repository - https://repo.spring.io/libs-milestone-local - - - - - central - - - sonatype-nexus-snapshots - Sonatype Nexus Snapshots - https://s01.oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - Nexus Release Repository - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ - - - - - - - org.codehaus.mojo - flatten-maven-plugin - true - - - - flatten - process-resources - - flatten - - - true - bom - - expand - keep - keep - remove - keep - - - - - flatten-clean - clean - - clean - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - - - - spring - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - ${maven-enforcer-plugin.version} - - - enforce-versions - - enforce - - - - - false - - - - - - - - - diff --git a/supplemental-ui/partials/nav-search.hbs b/supplemental-ui/partials/nav-search.hbs new file mode 100644 index 00000000..5e379552 --- /dev/null +++ b/supplemental-ui/partials/nav-search.hbs @@ -0,0 +1,11 @@ +{{#if env.ALGOLIA_API_KEY}} + +{{/if}} diff --git a/supplemental-ui/partials/search.hbs b/supplemental-ui/partials/search.hbs new file mode 100644 index 00000000..384e505f --- /dev/null +++ b/supplemental-ui/partials/search.hbs @@ -0,0 +1,27 @@ + +{{#if env.ALGOLIA_API_KEY}} + + + + + + + + +{{/if}}