Commit Graph

19 Commits

Author SHA1 Message Date
Ben Hale
dd3f97ea00 Spring Boot 2.0 Compatibility
Previously, the library utilized an API from Spring Boot that arrived in
2.1.0.  Support for Spring Boot 2.0 compatibility was requested and we can
trivially add that support even though Boot 2.0 is EOL.  This change updates
the use of the API to be Boot 2.0 compatible.

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-08-27 12:05:08 -07:00
Paketo Robot
7daf958e1c v1.6.0-SNAPSHOT Development
Signed-off-by: Paketo Robot <robot@paketo.io>
2020-08-17 23:37:38 +00:00
Paketo Robot
5582a8e9f1 v1.5.0-SNAPSHOT Development
Signed-off-by: Paketo Robot <robot@paketo.io>
2020-07-17 22:30:40 +00:00
Paketo Robot
782d5d075e v1.4.0-SNAPSHOT Development
Signed-off-by: Paketo Robot <robot@paketo.io>
2020-07-16 00:29:09 +00:00
Paketo Robot
819ce87bfe v1.3.0-SNAPSHOT Development
Signed-off-by: Paketo Robot <robot@paketo.io>
2020-07-14 18:06:55 +00:00
Paketo Robot
131f2c90b3 v1.2.0-SNAPSHOT Development
Signed-off-by: Paketo Robot <robot@paketo.io>
2020-07-01 22:10:27 +00:00
Ben Hale
50b1c034ee Artifact Name
This change updates the name of the artifact so that it's more descriptive and
aligns with other Spring Cloud projects.

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-07-01 15:04:34 -07:00
Paketo Robot
53edc5d96c v1.1.0-SNAPSHOT Development
Signed-off-by: Paketo Robot <robot@paketo.io>
2020-07-01 22:03:35 +00:00
Paketo Robot
ce2d1cb988 v1.0.1-SNAPSHOT Development
Signed-off-by: Paketo Robot <robot@paketo.io>
2020-07-01 21:57:15 +00:00
Paketo Robot
d1f76e6283 v1.0.0-SNAPSHOT Development
Signed-off-by: Paketo Robot <robot@paketo.io>
2020-07-01 21:43:52 +00:00
Ben Hale
6163be2aa7 ApplicationEventListeners
Previously, the implementations of the EnvironmentPostProcessors added
ApplicationEventListener to their interface as well.  These implementations
tested fine, but of course since there was no full integration test to ensure
that they were registered I forgot to add them to spring.factories.

This change adds their declarations as ApplicationEventListeners to the
spring.factories file and ensures that the logs are replayed when the
application is finished preparing.

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-15 17:27:58 -07:00
Ben Hale
a33dcf034b Guards Should Use Environment
Previously all of the guard behavior was triggered by the contents of
environment variables.  In a Spring Boot application, looking at the
environment isn't the only way to get configuration.  This change updates the
guards to use the Environment for configuration retrieval.

[resolves #30]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 14:24:41 -07:00
Ben Hale
c4721e9510 Flattened Bindings
Another common way to use bindings, even without auto-configuration is to
refer to them in a flattened form within other properties. An example would be
`spring.datasource.password=cnb.bindings.my-db.secret.password`.  This change
adds an EnvironmentPostProcessor that contributes these flattened bindings in
a PropertySource.

[resolves #24]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 11:26:16 -07:00
Ben Hale
de2422fdf5 Per-kind Disabling
Previously, auto-configuration of all kinds of bindings were either enabled or
disabled en-mass.  This level of granularity wasn't really appropriate in
practice as it many use-cases could be served with some bindings but not
others.  This change updates each auto-configuration to watch for a particular
key to be disabled.

[resolves #29]

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-11 09:36:54 -07:00
Ben Hale
7491ff56e1 Polishing
Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-09 09:23:05 -07:00
Ben Hale
ff878c8c95 Single Project
And now we arrive at the end, a single concise project.

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-09 09:03:58 -07:00
Ben Hale
71bfec3084 Bindings
* Simplify name from CnbBindings (a convention that makes my eyes bleed) so
that you aren't stuttering.  I'm still a bit undecided on the naming of the
modules themselves as well.

* Documentation, documentation, documentation!

* Lots of the final keyword.  Prevents unanticipated modification via extension.

* Constructor/Method overloading allows you to isolate the behaviors that are
really hard to test.  Note that I've isolated everything that needs to read
from the environment and feel confident that the methods that include it are
so trivial they're not worth testing.  Some overloads are non-public to enable
testing but not later usage.

* Since this is a public API, I'm being really verbose with the nullability
annotations.  Most of the time you wouldn't use them, by they do make IDE
users' lives better.

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-08 17:20:58 -07:00
Ben Hale
80941c6fe8 POM File Cleanup
Previously there was a lot of cruft in the POM file that related to previous
examples of this library.  When in doubt, trust Boot's opinions and minimize
your POM's as much as possible.  We can always add it back in the future.

Signed-off-by: Ben Hale <bhale@vmware.com>
2020-05-08 15:50:46 -07:00
Emily Casey
de13fcd0f0 Initial commit
* sets up framework
* provides mysql binding

Signed-off-by: Emily Casey <ecasey@pivotal.io>
2020-04-28 16:14:37 -04:00