com.mattunderscore.code.generation.specky:generator

Sonatype helps open source projects to set up Maven repositories on https://oss.sonatype.org/

License

License

GroupId

GroupId

com.mattunderscore.code.generation.specky
ArtifactId

ArtifactId

generator
Last Version

Last Version

0.8.0
Release Date

Release Date

Type

Type

jar
Description

Description

Sonatype helps open source projects to set up Maven repositories on https://oss.sonatype.org/

Download generator

How to add to project

<!-- https://jarcasting.com/artifacts/com.mattunderscore.code.generation.specky/generator/ -->
<dependency>
    <groupId>com.mattunderscore.code.generation.specky</groupId>
    <artifactId>generator</artifactId>
    <version>0.8.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.mattunderscore.code.generation.specky/generator/
implementation 'com.mattunderscore.code.generation.specky:generator:0.8.0'
// https://jarcasting.com/artifacts/com.mattunderscore.code.generation.specky/generator/
implementation ("com.mattunderscore.code.generation.specky:generator:0.8.0")
'com.mattunderscore.code.generation.specky:generator:jar:0.8.0'
<dependency org="com.mattunderscore.code.generation.specky" name="generator" rev="0.8.0">
  <artifact name="generator" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.mattunderscore.code.generation.specky', module='generator', version='0.8.0')
)
libraryDependencies += "com.mattunderscore.code.generation.specky" % "generator" % "0.8.0"
[com.mattunderscore.code.generation.specky/generator "0.8.0"]

Dependencies

compile (4)

Group / Artifact Type Version
com.mattunderscore.code.generation.specky : code-generation jar 0.8.0
com.google.googlejavaformat : google-java-format jar 1.0
com.mattunderscore.code.generation.specky : ast-transformer jar 0.8.0
net.jcip : jcip-annotations jar 1.0

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

Specky

Build Status

A generator for value types from a DSL.

####Example Spec

author "Matt Champion"

package com.mattunderscore.readme

type Person "Description of a person."
    properties
        String name "Persons name."
        long birthTimestamp "Timestamp of persons birth."

bean PersonBean : Person "Bean implementation of {@link Person}."

value PersonValue : Person "Value implementation of {@link Person}."
    options
        immutable builder

Provided licence names

Several licences can be included in the generated source code by name.

BSD 3 clause can be included by the names:

  • BSD-3-Clause
  • BSD3Clause
  • BSD3

BSD 2 clause can be included by the names:

  • BSD-2-Clause
  • BSD2Clause
  • BSD2

MIT can be included by the names:

  • MIT

Apache 2 can be included by the names:

  • Apache-2
  • Apache2

GPL 3 can be included by the names:

  • GPL-3
  • GPL3

GPL 2 can be included by the names:

  • GPL-2
  • GPL2

Versions

Version
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0