Add sample project to test the maven plugin
This commit is contained in:
parent
46da5c5019
commit
790be88cd7
7 changed files with 186 additions and 46 deletions
70
sample-maven/pom.xml
Normal file
70
sample-maven/pom.xml
Normal file
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
// Copyright 2025 "Johan Maasing" <johan@zoom.nu>
|
||||
//
|
||||
// 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.
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>nu.zoom.dsl</groupId>
|
||||
<artifactId>sample-maven</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
<maven.compiler.target>21</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>ASF 2.0</name>
|
||||
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Johan Maasing</name>
|
||||
<email>johan@zoom.nu</email>
|
||||
<roles>
|
||||
<role>developer</role>
|
||||
</roles>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>nu.zoom.dsl</groupId>
|
||||
<artifactId>endgen-maven-plugin</artifactId>
|
||||
<version>1.2-SNAPSHOT</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>endgen</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<templates>${project.basedir}/src/main/endpoint-templates</templates>
|
||||
<dsl>${project.basedir}/src/main/endgen/test01.endpoints</dsl>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
28
sample-maven/src/main/endgen/test01.endpoints
Normal file
28
sample-maven/src/main/endgen/test01.endpoints
Normal file
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
Copyright 2025 "Johan Maasing" <johan@zoom.nu>
|
||||
|
||||
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.
|
||||
*/
|
||||
|
||||
{
|
||||
some: configvalue,
|
||||
someother: value,
|
||||
package: se.rutdev.senash
|
||||
}
|
||||
|
||||
/some/endpoint <- SomeType(foo:String)
|
||||
Embedded(foo:Bar)
|
||||
/some/other/endpoint <- (bar:Seq[Embedded])
|
||||
/yet/other/endpoint2 <- (bar2:Seq[AType]) -> NamedResponse(foo:Bar)
|
||||
AType(data: java.util.List<String>)
|
||||
/yet/other/endpoint3 <- (bar2:Seq[AType]) -> (foo:Bar)
|
21
sample-maven/src/main/endgen/test01.states
Normal file
21
sample-maven/src/main/endgen/test01.states
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
Copyright 2025 "Johan Maasing" <johan@zoom.nu>
|
||||
|
||||
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.
|
||||
*/
|
||||
|
||||
{ title: SomeNodes, package: nu.zoom.dsl.states }
|
||||
|
||||
start(s:S) -> message(foo:foo) -> middle(foo:foo) ,
|
||||
middle -> selfmessage(bar:bar) -> middle(bar:bar),
|
||||
middle -> message(bar:baz) -> end
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright 2025 "Johan Maasing" <johan@zoom.nu>
|
||||
//
|
||||
// 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.
|
||||
<#list meta.templateDirectories>package<#items as dir>${dir}<#sep>.</#items>;</#list>
|
||||
|
||||
class Endpoints() {
|
||||
<#list endpoints as endpoint>
|
||||
/* <#list endpoint.paths.paths><#items as segment>/${segment}</#items></#list> */
|
||||
public void handle${endpoint.inputType?cap_first}
|
||||
|
||||
</#list>
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue