spring-guides / gs-scheduling-tasks

Scheduling Tasks :: Learn how to schedule tasks with Spring.
https://spring.io/guides/gs/scheduling-tasks/
Apache License 2.0
132 stars 164 forks source link

Guide Rewrite #34

Closed robertmcnees closed 6 months ago

robertmcnees commented 6 months ago

This is a rewrite of the guide with many changes. In addition to content changes, structural changes were made to the guide as a potential template for future guide updates to follow.

Addresses issues #33, #32, #31, #29, #28.

Several changes were made to promote correctness, make for a better user experience, and allow the option to dual publish to Spring Academy in the future.

robertmcnees commented 6 months ago

I think that instead of 3 separate files, using ifndef from AsciiDoc Conditionals would be a better approach.

If we choose to publish this guide to Spring Academy, we could set the variable env-exclude-spring-initializr to exclude certain sections. This can easily be achieved using a downdoc command:

npx downdoc -a env-exclude-spring-initializr README.adoc

@Buzzardo what do you think about this use of a conditional? @joemoore do you think an approach could work for Spring Academy?

EDIT: The command above will not work correctly when using include statements. An prerequisite step is to use asciidoc reducer.

robertmcnees commented 6 months ago

Converted to draft until I come up with a better solution to importing some common components from the getting started macros GitHub repository. Thanks for the feedback @mbhave!

robertmcnees commented 6 months ago

I added a new file to the getting-started-macros repository that is intended to be a common section at the end of every guide.

robertmcnees commented 6 months ago

The 3 files in this PR can be checked into the common macro project at a later date.

Before those files are checked into the macro project and used as a template for all guides to follow, I'd like to verify that the process to convert content to Spring Academy (reducer, downdoc) is successful. This requires a GitHub action to execute, which should be performed on a non-forked repo.