Skip to content

About

Sunday πŸ™ The code generator of REST

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

750 Commits

Folders and files

Repository files navigation

Sunday πŸ™ The code generator of REST

GitHub Workflow Status Coverage Maven Central Sonatype Nexus (Snapshots)

Code generator for Sunday client libraries and standard server libraries.

Gradle Plugin Cache Notes

  • The Gradle plugin now defaults to deterministic output for build/cache correctness by omitting generated timestamps unless explicitly set.
  • Includes are discovered by parsing RAML sources; changes in nested include chains are tracked automatically.
  • The includes DSL property is deprecated and has no effect.
  • To opt in to a timestamp, set generationTimestamp on a generation (for example, a fixed string or a time you compute in the build script).
  • Each generation exclusively owns its output directory. Do not share it with other generations or handwritten sources. A successful generation replaces that directory from staged output, so removed types, renamed packages, and disabled categories do not leave stale classes. A failed generation preserves the previous output. A cached ownership manifest records generated file hashes; unowned or modified files are rejected before replacement or cache restoration. When upgrading from an older generator without a manifest, use an empty output directory or inspect and remove only the old generated files before rebuilding.
  • For shared models, generate models once (generateModel=true, generateService=false) and make facade modules depend on that artifact with model output disabled. Use distinct service packages when client/server interfaces share names. All languages preserve schema-permitted dynamic model fields by default. Use -no-preserve-unknown-fields (CLI) or preserveUnknownFields.set(false) (Kotlin Gradle plugin) to validate and discard them. See dynamic model fields.
  • Generated Kotlin broker consumers require sunday-broker 2.0.0-beta.6 or newer for decode-failure recovery. A sibling sunday-kt checkout is substituted by default during local development. Run ./gradlew -PuseLocalSundayKt=false check to validate against published runtime artifacts instead.

License

Copyright 2021 Outfox, Inc.

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

   http://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.

About

Sunday πŸ™ The code generator of REST

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages