Skip to content

Commit a762390

Browse files
committed
Initial implementation
0 parents  commit a762390

File tree

14 files changed

+501
-0
lines changed

14 files changed

+501
-0
lines changed

.gitignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
target/
2+
pom.xml.tag
3+
pom.xml.releaseBackup
4+
pom.xml.versionsBackup
5+
pom.xml.next
6+
release.properties
7+
dependency-reduced-pom.xml
8+
buildNumber.properties
9+
.mvn/timing.properties
10+
11+
# IntelliJ project files
12+
/.idea
13+
/.idea/*
14+
*.iml
15+
16+
# eclipse
17+
*.project
18+
*.classpath
19+
/.git-versioned-pom.xml

.mvn/extensions.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
3+
4+
<extension>
5+
<groupId>me.qoomon</groupId>
6+
<artifactId>maven-git-versioning-extension</artifactId>
7+
<version>9.8.0</version>
8+
</extension>
9+
10+
</extensions>
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
<configuration xmlns="https://github.com/qoomon/maven-git-versioning-extension"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="https://github.com/qoomon/maven-git-versioning-extension https://qoomon.github.io/maven-git-versioning-extension/configuration-9.4.0.xsd">
4+
5+
<refs considerTagsOnBranches="true">
6+
<ref type="tag">
7+
<pattern><![CDATA[(?<tag>[0-9]+\.[0-9]+\.[0-9]+)]]></pattern>
8+
<version>${ref.tag}</version>
9+
<properties>
10+
<version.original>${version}</version.original>
11+
<version.numeric>${ref.tag}</version.numeric>
12+
<version.symbolic>latest</version.symbolic>
13+
<version.semantic>${ref.tag}</version.semantic>
14+
<scm.branch>${ref.slug}</scm.branch>
15+
<version.unique>${ref.tag}</version.unique>
16+
</properties>
17+
</ref>
18+
<ref type="branch">
19+
<pattern><![CDATA[lts-(?<lts>(.*))-development]]></pattern>
20+
<version>lts-${ref.lts}-development-SNAPSHOT</version>
21+
<properties>
22+
<version.original>${version}</version.original>
23+
<version.numeric>${version.release}</version.numeric>
24+
<version.symbolic>${ref.lts}-development-SNAPSHOT</version.symbolic>
25+
<version.semantic>${version.release}-${ref.lts}-development-SNAPSHOT</version.semantic>
26+
<scm.branch>${ref.slug}</scm.branch>
27+
<version.unique>${version.release}-${ref.lts}-development-build.${build.number}</version.unique>
28+
</properties>
29+
</ref>
30+
<ref type="branch">
31+
<pattern>main</pattern>
32+
<version>${version}</version>
33+
<properties>
34+
<version.original>${version}</version.original>
35+
<version.numeric>${version.release}</version.numeric>
36+
<version.symbolic>main-SNAPSHOT</version.symbolic>
37+
<version.semantic>${version}</version.semantic>
38+
<scm.branch>${ref.slug}</scm.branch>
39+
<version.unique>${version}-build.${build.number}</version.unique>
40+
</properties>
41+
</ref>
42+
<ref type="branch">
43+
<pattern><![CDATA[lts-(?<ltsName>(.*))]]></pattern>
44+
<version>${version}</version>
45+
<properties>
46+
<version.original>${version}</version.original>
47+
<version.numeric>${version.release}</version.numeric>
48+
<version.symbolic>${ref.ltsName}-SNAPSHOT</version.symbolic>
49+
<version.semantic>${version}</version.semantic>
50+
<scm.branch>${ref.slug}</scm.branch>
51+
<version.unique>${version.release}-build.${build.number}</version.unique>
52+
</properties>
53+
</ref>
54+
<ref type="branch">
55+
<pattern><![CDATA[((feature|bugfix)/)?(?<feature>[a-zA-Z][a-zA-Z][a-zA-Z]*-[0-9]+).*]]></pattern>
56+
<version>${ref.feature}-SNAPSHOT</version>
57+
<properties>
58+
<version.original>${version}</version.original>
59+
<version.numeric>${version.release}</version.numeric>
60+
<version.symbolic>${ref.feature}-SNAPSHOT</version.symbolic>
61+
<version.semantic>${version.release}-${ref.feature}-SNAPSHOT</version.semantic>
62+
<scm.branch>${ref.slug}</scm.branch>
63+
<version.unique>${version.release}-${ref.feature}-build.${build.number}</version.unique>
64+
</properties>
65+
</ref>
66+
<ref type="branch">
67+
<pattern><![CDATA[(feature|bugfix)/(?<feature>.+)]]></pattern>
68+
<version>${ref.feature}-SNAPSHOT</version>
69+
<properties>
70+
<version.original>${version}</version.original>
71+
<version.numeric>${version.release}</version.numeric>
72+
<version.symbolic>${ref.feature}-SNAPSHOT</version.symbolic>
73+
<version.semantic>${version.release}-${ref.feature}-SNAPSHOT</version.semantic>
74+
<scm.branch>${ref.slug}</scm.branch>
75+
<version.unique>${version.release}-${ref.feature}-build.${build.number}</version.unique>
76+
</properties>
77+
</ref>
78+
<ref type="branch">
79+
<pattern><![CDATA[(?<branch>.+)]]></pattern>
80+
<version>${ref.branch}-SNAPSHOT</version>
81+
<properties>
82+
<version.original>${version}</version.original>
83+
<version.numeric>${version.release}</version.numeric>
84+
<version.symbolic>${ref.branch}-SNAPSHOT</version.symbolic>
85+
<version.semantic>${version.release}-${ref.branch}-SNAPSHOT</version.semantic>
86+
<scm.branch>${ref.slug}</scm.branch>
87+
<version.unique>${version.release}-${ref.branch}-build.${build.number}</version.unique>
88+
</properties>
89+
</ref>
90+
<ref type="tag">
91+
<pattern><![CDATA[(?<tag>.+)]]></pattern>
92+
<version>${ref.tag}</version>
93+
<properties>
94+
<version.original>${version}</version.original>
95+
<version.numeric>${version.release}</version.numeric>
96+
<version.symbolic>${ref.tag}-SNAPSHOT</version.symbolic>
97+
<version.semantic>${version.release}-${ref.tag}-SNAPSHOT</version.semantic>
98+
<scm.branch>${ref.slug}</scm.branch>
99+
<version.unique>${version.release}-${ref.tag}-build.${build.number}</version.unique>
100+
</properties>
101+
</ref>
102+
</refs>
103+
<rev>
104+
<version>${version.release}-${commit}-SNAPSHOT</version>
105+
<properties>
106+
<version.original>${version}</version.original>
107+
<version.numeric>${version.release}</version.numeric>
108+
<version.symbolic>${commit}-SNAPSHOT</version.symbolic>
109+
<version.semantic>${version.release}-${commit}-SNAPSHOT</version.semantic>
110+
<scm.branch>${commit}</scm.branch>
111+
<version.unique>${version.release}-${commit}-build.${build.number}</version.unique>
112+
</properties>
113+
</rev>
114+
115+
</configuration>

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 European IT Consultancy EITCO GmbH
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
[![License](https://img.shields.io/github/license/eitco/spring-config-generator.svg?style=for-the-badge)](https://opensource.org/license/mit)
3+
4+
[//]: # ([![Build status]&#40;https://img.shields.io/github/actions/workflow/status/eitco/spring-config-generator/deploy.yaml?branch=main&style=for-the-badge&logo=github&#41;]&#40;https://github.com/eitco/spring-config-generator/actions/workflows/deploy.yaml&#41;)
5+
[//]: # ([![Maven Central Version]&#40;https://img.shields.io/maven-central/v/de.eitco.cicd/spring-config-generator?style=for-the-badge&logo=apachemaven&#41;]&#40;https://central.sonatype.com/artifact/de.eitco.cicd/spring-config-generator&#41;)
6+
7+
# additional-spring-configuration-metadata-processor
8+
9+
This [java annotation processor](https://docs.oracle.com/javase/8/docs/api/javax/annotation/processing/Processor.html) generates additional [spring configuration metadata](https://docs.spring.io/spring-boot/specification/configuration-metadata/annotation-processor.html#appendix.configuration-metadata.annotation-processor.adding-additional-metadata)
10+
for collections in classes annotated with `@ConfigurationProperties`. This metadata is not required for IDE support.
11+
It's main usage is providing data for the [configuration documentation generation plugin](https://github.com/eitco/spring-config-collector-maven-plugin).

deployment/global-settings.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
4+
5+
<servers>
6+
<server>
7+
<id>ossrh</id>
8+
<username>${env.OSSRH_JIRA_USERNAME}</username>
9+
<password>${env.OSSRH_JIRA_PASSWORD}</password>
10+
</server>
11+
</servers>
12+
13+
</settings>

pom.xml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<parent>
8+
<groupId>de.eitco.cicd</groupId>
9+
<artifactId>eitco-oss-parent</artifactId>
10+
<version>0.0.19</version>
11+
</parent>
12+
13+
<artifactId>additional-spring-configuration-metadata-processor</artifactId>
14+
<version>1.0.0-SNAPSHOT</version>
15+
16+
<properties>
17+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18+
<spring.version>5.3.9</spring.version>
19+
</properties>
20+
21+
<developers>
22+
<developer>
23+
<name>Christopher Merkel</name>
24+
<email>cmerkel@eitco.de</email>
25+
</developer>
26+
</developers>
27+
28+
<dependencies>
29+
<dependency>
30+
<groupId>org.springframework.boot</groupId>
31+
<artifactId>spring-boot-configuration-processor</artifactId>
32+
<version>3.4.3</version>
33+
</dependency>
34+
</dependencies>
35+
36+
<build>
37+
<plugins>
38+
<plugin>
39+
<artifactId>maven-release-plugin</artifactId>
40+
</plugin>
41+
<plugin>
42+
<artifactId>maven-resources-plugin</artifactId>
43+
</plugin>
44+
<plugin>
45+
<groupId>org.codehaus.mojo</groupId>
46+
<artifactId>license-maven-plugin</artifactId>
47+
</plugin>
48+
<plugin>
49+
<groupId>org.apache.maven.plugins</groupId>
50+
<artifactId>maven-compiler-plugin</artifactId>
51+
<configuration>
52+
<compilerArgs>
53+
<arg>-proc:none</arg>
54+
</compilerArgs>
55+
<source>21</source>
56+
<target>21</target>
57+
</configuration>
58+
</plugin>
59+
<plugin>
60+
<artifactId>maven-invoker-plugin</artifactId>
61+
</plugin>
62+
</plugins>
63+
</build>
64+
</project>

src/it/settings.xml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?xml version="1.0"?>
2+
<settings>
3+
<profiles>
4+
<profile>
5+
<id>it-repo</id>
6+
<activation>
7+
<activeByDefault>true</activeByDefault>
8+
</activation>
9+
<repositories>
10+
<repository>
11+
<id>local.central</id>
12+
<url>@localRepositoryUrl@</url>
13+
<releases>
14+
<enabled>true</enabled>
15+
<updatePolicy>never</updatePolicy>
16+
</releases>
17+
<snapshots>
18+
<enabled>true</enabled>
19+
<updatePolicy>never</updatePolicy>
20+
</snapshots>
21+
</repository>
22+
</repositories>
23+
<pluginRepositories>
24+
<pluginRepository>
25+
<id>local.central</id>
26+
<url>@localRepositoryUrl@</url>
27+
<releases>
28+
<enabled>true</enabled>
29+
<updatePolicy>never</updatePolicy>
30+
</releases>
31+
<snapshots>
32+
<enabled>true</enabled>
33+
<updatePolicy>never</updatePolicy>
34+
</snapshots>
35+
</pluginRepository>
36+
</pluginRepositories>
37+
</profile>
38+
</profiles>
39+
</settings>

src/it/simple/pom.xml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<groupId>de.eitco.cicd</groupId>
7+
<artifactId>additional-spring-configuration-metadata-processor-test</artifactId>
8+
<version>1.0.0-SNAPSHOT</version>
9+
10+
11+
<dependencies>
12+
<dependency>
13+
<groupId>@project.groupId@</groupId>
14+
<artifactId>additional-spring-configuration-metadata-processor</artifactId>
15+
<version>@project.version@</version>
16+
<optional>true</optional>
17+
</dependency>
18+
</dependencies>
19+
20+
21+
<build>
22+
<pluginManagement>
23+
<plugins>
24+
<plugin>
25+
<artifactId>maven-compiler-plugin</artifactId>
26+
<configuration>
27+
<source>17</source>
28+
<target>17</target>
29+
</configuration>
30+
</plugin>
31+
</plugins>
32+
</pluginManagement>
33+
</build>
34+
35+
</project>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package de.eitco.cicd.ascmp.test;
2+
3+
import de.eitco.cicd.ascmp.AdditionalConfigurationMetadata;
4+
5+
@AdditionalConfigurationMetadata(group = "TestGroup")
6+
public class TestSettings {
7+
8+
/**
9+
* This is my first setting.
10+
*/
11+
private String myFirstSetting = "myFirstSetting";
12+
13+
public String getMyFirstSetting() {
14+
return myFirstSetting;
15+
}
16+
17+
public void setMyFirstSetting(String myFirstSetting) {
18+
this.myFirstSetting = myFirstSetting;
19+
}
20+
}

0 commit comments

Comments
 (0)