-
Notifications
You must be signed in to change notification settings - Fork 15
/
pom.jam
125 lines (119 loc) · 5.91 KB
/
pom.jam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
{@import https://raw.githubusercontent.com/central7/pom/main/pom.jim}
{@import version.jim}
{@define opens($module,$package,...$to)=--add-opens {MODULE_PREFIX}$module/{PACKAGE_PREFIX}$package={#if/$to/$to/ALL-UNNAMED}}
{@define exports($module,$package,...$to)=--add-exports {MODULE_PREFIX}$module/{PACKAGE_PREFIX}$package={#if/$to/$to/ALL-UNNAMED}}
{@define opexs($module,$package,...$to)={opens/$module/$package/$to} {exports/$module/$package/$to}}
{project javageci-parent}
{packaging pom}
{GAV :{GROUPID}:javageci-parent:{VERSION}}
{description/Java GEnerate Code Inline source code generation framework}
{modules|javageci-engine,javageci-api,javageci-tools,javageci-core,javageci-annotation,javageci-examples,javageci-jamal,javageci-jamal-test,javageci-core-annotations,javageci-testengine}
{license|The Apache License, Version 2.0|http://www.apache.org/licenses/LICENSE-2.0.txt}
{developer|Peter Verhas|peter@verhas.com}
{github|verhas|javageci}
{properties|
{property :project.build.sourceEncoding:UTF-8}
{property :profile:default}
}
{distributionManagement|
{snapshotRepository |ossrh|https://oss.sonatype.org/content/repositories/snapshots}
{repository |ossrh|https://oss.sonatype.org/service/local/staging/deploy/maven2/}
}
{build}
{pluginManagement}
{plugins|
{plugin|
{GAV :org.apache.maven.plugins:maven-surefire-plugin:{SUREFIRE_PLUGIN_VERSION}}
{configuration|
{argLine|
{opens/api/api}
{@for $P in (tools,tools.syntax,tools.reflection,javacomparator,lexeger,javacomparator.lex)=
{opens/tools/$P}}
{@for $P in (util,toolsgen,engine)=
{opens/engine/$P}}
{@for $P in (fluent.syntax,record,repeated,iterate,jdocify,mapper)=
{opens/core/$P}}
--add-opens geci.core/javax0.geci=ALL-UNNAMED
{@for $P in (tutorials.simple,tutorials.hello,tutorials.hello/geci.tools)=
{opens/examples/$P}}
{@for $P in (buildfluent,consistency)=
{opens/examples/$P}}
{@for $P in (tests.templated,tests.repeated,tests.mapper,tests.builder,test.tools.lexeger,tests.builder,tests.cloner,tests.configBuilder,tests.record,tests.accessor,tests.equals,jamal.test.tools.lexeger)=
{opens/examples/$P}}
{@for $P in (tests.fluent/geci.tools,tutorials.simple/geci.core,tests.fluent/geci.core,buildfluent/geci.core,geci.jamal.reflection)=
{exports/examples/$P}}
{@for $P in (util,logging)=
--add-exports org.junit.platform.commons/org.junit.platform.commons.$P=ALL-UNNAMED}
}
}
{dependencies|
{dependency :org.junit.jupiter:junit-jupiter-engine:{JUPITER_VERSION}:}
}
}
{plugin|
{GAV :org.apache.maven.plugins:maven-source-plugin:{MAVEN_SOURCE_PLUGIN_VERSION}}
{executions|
{execution|
{id|attach-sources}
{goals|{goal|jar}}
}
}
}
{plugin|
{GAV :org.apache.maven.plugins:maven-javadoc-plugin:{MAVEN_JAVADOC_PLUGIN_VERSION}}
{configuration|{detectOfflineLinks|false}}
{executions|{execution|{id|attach-javadocs}{goals|{goal|jar}}}}
}
{plugin|
{GAV :org.apache.maven.plugins:maven-compiler-plugin:{MAVEN_COMPILER_PLUGIN_VERSION}}
{configuration|
{release :{JAVA_RELEASE}}
}
}
}
{end pluginManagement}
{resources|
{resource|
{directory :src/main/resources}
{filtering :true}
}
}
{end build}
{dependencyManagement|
{dependencies|
{@for MODULE in (api,core,tools,engine,annotation,core-annotations,jamal,testengine)={dependency :{GROUPID}:javageci-MODULE:{VERSION}:}}
{dependency :com.javax0:refi:{REFI_VERSION}}
{dependency :com.javax0:levenshtein:{LEVENSHTEIN_VERSION}}
{@comment TEST DEPENDENCIES}
{@for MODULE in (api,engine)={dependency :org.junit.jupiter:junit-jupiter-MODULE:{JUPITER_VERSION}:}}
{dependency :com.javax0.jamal:jamal-all:{JAMAL_VERSION}:}
{dependency :org.assertj:assertj-core:{ASSERTJ_VERSION}:}
}
}
{#thinXml
profiles>profile> {@comment Use this profile to upload a new release to Maven Central using mvn deploy -Prelease}
id>release
build>plugins>
plugin>
groupId>org.apache.maven.plugins
artifactId>maven-gpg-plugin
version>{MAVEN_GPG_PLUGIN_VERSION}
executions>execution>
id>sign-artifacts
phase>verify
goals>goal>sign
plugin>
groupId>org.sonatype.plugins
artifactId>nexus-staging-maven-plugin
version>{SONATYPE_PLUGIN_VERSION}
extensions>true
configuration>
serverId>ossrh
nexusUrl>https://oss.sonatype.org/
autoReleaseAfterClose>true
dependencies>dependency>
groupId>com.thoughtworks.xstream
artifactId>xstream
version>1.4.15
}
{end project}