Giter Club home page Giter Club logo

spring-cloud-app-starters-maven-plugins's Introduction

spring-cloud-app-starters-maven-plugins is no longer actively maintained by VMware, Inc.

Spring Cloud Stream, Task & Data Flow Maven Plugins

This repository contains several maven plugins related to the Spring Cloud Data Flow portfolio of projects.

  • App Starter Doc Maven Plugin: A plugin to generate Assciidoc snippets documenting the "whitelisted properties" of a Stream/Task app starter.

  • App Starter Metadata Maven Plugin: A plugin to gather and aggregate into a single artifact the Boot metadata json files (and dataflow whitelist properties).

spring-cloud-app-starters-maven-plugins's People

Contributors

artembilan avatar chrisjs avatar dturanski avatar ericbottard avatar gitlabbin avatar ilayaperumalg avatar sobychacko avatar spring-operator avatar trevormarshall avatar tzolov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spring-cloud-app-starters-maven-plugins's Issues

Refactor and Streamline the spring-cloud-stream-app-maven-plugin for 2.x branch

Currently the spring-cloud-stream-app-maven-plugin implementation relies on heavy and outdated libraries such as Spring Initializer and Plexus to generate the Stream Application projects.
Because of this the source code has overtime has become unmanageable and hardly testable.

The 2.x branch allows us to streamline and refactor the plugin implementation and remove all redundant, outdated dependencies.

Add "info" and "health" endpoints for all 2.0 Apps

As a developer, I'd like to add and enable /actuator/info and /actuator/health endpoints to all 2.0 Apps.

Acceptance:
Include management.endpoints.web.exposure.include=health,info,bindings as a property to all the Apps.

Update metadata plugin to use the new whitelist properties file

Apps will provide a new dataflow specific whitelist properties file: dataflow-configuration-metadata-whitelist.properties. Use this file in the metadata generation if it is available, otherwise fall back to the old file name (spring-configuration-metadata-whitelist.properties).

Add application-type to spring-configuration-metadata-encoded.properties

As we explore the idea of replacing SCDF's app registry with container registry, it'd be useful to introspect and derive "application type" at the build phase, and add that to the "spring-configuration-metadata-encoded.properties" automatically.

SCDF can use this to present the type in its lightweight registry. Likewise, allow the SCDF DSL to do its thing.

Allow the spring-cloud-stream-app-maven-plugin configure Docker/OCI labels.

As part of the generation process, the ``spring-cloud-stream-app-maven-plugin` generates Docker/Oci maven plugin configurations in the target App's POMs, used to build the Stream/Task Container Images.

The Docker/OCI image specification allows to include optional metadata to the build images using the configuration.

As a developer i would like to store the Apps metadata (produced by the metadata plugin) into the container's image configuration.

Allow to pre-filter the metadata content and persist it into a Base64 encoded java property. [Metadata Plugin]

Currently the Metadata Plugin gathers all Boot metadata found on the filesystem or the classpath, merges it together and wraps it into a dedicated metadata jar.

As software developer i would like to be able to serialize a pre-selected subset of the detected metadata into an easy to access Java property file. This would allow me to reuse this selected metadata with other maven plugins or build tools.

  • Make this functionality optional and configurable with Mojo parameters.
  • Th metadata should be filterable by ItemMetadata#SourceType and ItemMetadata#Name filters.

Metadata plugin should create hints for enums

Now that the metadata files come from the metadata artifact (which only has the metadata json files, and no .class files) it is impossible to get hints for enum values using reflection at runtime.

We should use the plugin as an opportunity to gather those (while classes are available) and convert them to hints in the json format

Deprecated properties with level ERROR shouldn't be displayed at all

From @snicoll on May 4, 2018 13:53

The Spring Boot configuration metadata has the notion of deprecation with a level that can have two values:

  • WARNING (default): the property is managed in a deprecated way and will be removed in a future release
  • ERROR: the property is no longer managed and won't be honoured

The latter is a way to keep a reference to a key that used to work so that IDE can show an appropriate error and provide a migration strategy, if any.

If I go to the detail of a task in the UI, I will see those keys that are no longer supported. The UI should not display those at all as setting a value will have no effect. Of course, the side effect of that is that you shouldn't be able to set a value in the job definition either.

Copied from original issue: spring-cloud/spring-cloud-dataflow-ui#768

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.