diff --git a/ci/Dockerfile b/ci/Dockerfile new file mode 100644 index 00000000..ba27b323 --- /dev/null +++ b/ci/Dockerfile @@ -0,0 +1,6 @@ +FROM openjdk:8-jdk + +RUN apt-get update && apt-get install -y graphviz + +RUN apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/ci/build.yml b/ci/build.yml index 124d2d35..fc24dc0d 100644 --- a/ci/build.yml +++ b/ci/build.yml @@ -4,8 +4,7 @@ platform: linux image_resource: type: docker-image source: - repository: openjdk - tag: 8-jdk + repository: springci/spring-hateoas-8-jdk-with-graphviz inputs: - name: spring-hateoas-github diff --git a/ci/pipeline-template.yml b/ci/pipeline-template.yml index 37696d3f..0ff05923 100644 --- a/ci/pipeline-template.yml +++ b/ci/pipeline-template.yml @@ -4,7 +4,7 @@ resource_types: type: docker-image source: repository: springio/artifactory-resource - tag: 0.0.6 + tag: latest - name: github-status type: docker-image @@ -47,6 +47,8 @@ resources: source: uri: https://github.com/spring-projects/spring-hateoas.git branch: ((branch)) + ignore_paths: + - ci/Dockerfile - name: spring-hateoas-artifactory type: artifactory-resource @@ -80,7 +82,23 @@ resources: type: slack-notification source: url: ((slack)) - + +- name: 8-jdk-with-graphviz-docker-image-github + type: git + source: + uri: https://github.com/spring-projects/spring-hateoas.git + branch: master + paths: + - ci/Dockerfile + +- name: 8-jdk-with-graphviz:latest + type: docker-image + source: + repository: springci/spring-hateoas-8-jdk-with-graphviz + email: ((docker-email)) + username: ((docker-username)) + password: ((docker-password)) + groups: - name: spring-hateoas jobs: @@ -102,6 +120,9 @@ groups: - release-to-artifactory # - promote-to-bintray # - sync-to-maven-central +- name: docker + jobs: + - 8-jdk-with-graphviz:latest jobs: - name: Test - JDK 8 @@ -244,6 +265,8 @@ jobs: Test - JDK 13 and Spring 5.1 (snapshots), Test - JDK 13 and Spring 5.2 (snapshots) ] + - get: 8-jdk-with-graphviz:latest + trigger: true - put: spring-hateoas-status params: commit: spring-hateoas-github @@ -369,6 +392,18 @@ jobs: title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME +- name: 8-jdk-with-graphviz:latest + public: true + plan: + - aggregate: + - get: 8-jdk-with-graphviz-docker-image-github + trigger: true + - get: openjdk:8-jdk + trigger: true + - put: 8-jdk-with-graphviz:latest + params: + build: 8-jdk-with-graphviz-docker-image-github/ci + - name: release-to-artifactory serial: true public: true diff --git a/src/main/asciidoc/fundamentals.adoc b/src/main/asciidoc/fundamentals.adoc index 860fe4ac..1b31850d 100644 --- a/src/main/asciidoc/fundamentals.adoc +++ b/src/main/asciidoc/fundamentals.adoc @@ -119,7 +119,6 @@ It's basically a container for a collection of ``Link``s and has convenient meth The models can later be rendered into various media type formats that will define how the hypermedia elements look in the representation. For more information on this, have a look at <> -//// .The `RepresentationModel` class hierarchy ==== [plantuml, diagram-classes, svg] @@ -134,7 +133,6 @@ CollectionModel -|> RepresentationModel PagedModel -|> CollectionModel ---- ==== -//// The default way to work with a `RepresentationModel` is to create a subclass of it to contain all the properties the representation is supposed to contain, create instances of that class, populate the properties and enrich it with links.