@@ -83,13 +83,14 @@ public AntoraAsciidocAttributes(Project project, BomExtension dependencyBom,
8383
8484 public Map <String , String > get () {
8585 Map <String , String > attributes = new LinkedHashMap <>();
86+ Map <String , String > internal = new LinkedHashMap <>();
8687 addBuildTypeAttribute (attributes );
8788 addGitHubAttributes (attributes );
88- addVersionAttributes (attributes );
89+ addVersionAttributes (attributes , internal );
8990 addArtifactAttributes (attributes );
9091 addUrlJava (attributes );
9192 addUrlLibraryLinkAttributes (attributes );
92- addPropertyAttributes (attributes );
93+ addPropertyAttributes (attributes , internal );
9394 return attributes ;
9495 }
9596
@@ -115,7 +116,7 @@ private String determineGitHubRef() {
115116 return versionRoot .substring (0 , lastDot ) + ".x" ;
116117 }
117118
118- private void addVersionAttributes (Map <String , String > attributes ) {
119+ private void addVersionAttributes (Map <String , String > attributes , Map < String , String > internal ) {
119120 this .libraries .forEach ((library ) -> {
120121 String name = "version-" + library .getLinkRootName ();
121122 String value = library .getVersion ().toString ();
@@ -126,29 +127,33 @@ private void addVersionAttributes(Map<String, String> attributes) {
126127 addDependencyVersion (attributes , "jackson-annotations" , "com.fasterxml.jackson.core:jackson-annotations" );
127128 addDependencyVersion (attributes , "jackson-core" , "com.fasterxml.jackson.core:jackson-core" );
128129 addDependencyVersion (attributes , "jackson-databind" , "com.fasterxml.jackson.core:jackson-databind" );
129- addSpringDataDependencyVersion (attributes , "spring-data-commons" );
130- addSpringDataDependencyVersion (attributes , "spring-data-couchbase" );
131- addSpringDataDependencyVersion (attributes , "spring-data-cassandra" );
132- addSpringDataDependencyVersion (attributes , "spring-data-elasticsearch" );
133- addSpringDataDependencyVersion (attributes , "spring-data-jdbc" );
134- addSpringDataDependencyVersion (attributes , "spring-data-jpa" );
135- addSpringDataDependencyVersion (attributes , "spring-data-mongodb" );
136- addSpringDataDependencyVersion (attributes , "spring-data-neo4j" );
137- addSpringDataDependencyVersion (attributes , "spring-data-r2dbc" );
138- addSpringDataDependencyVersion (attributes , "spring-data-rest" , "spring-data-rest-core" );
139- addSpringDataDependencyVersion (attributes , "spring-data-ldap" );
140- }
141-
142- private void addSpringDataDependencyVersion (Map <String , String > attributes , String artifactId ) {
143- addSpringDataDependencyVersion (attributes , artifactId , artifactId );
144- }
145-
146- private void addSpringDataDependencyVersion (Map <String , String > attributes , String name , String artifactId ) {
147- String version = getVersion ("org.springframework.data:" + artifactId );
130+ addSpringDataDependencyVersion (attributes , internal , "spring-data-commons" );
131+ addSpringDataDependencyVersion (attributes , internal , "spring-data-couchbase" );
132+ addSpringDataDependencyVersion (attributes , internal , "spring-data-cassandra" );
133+ addSpringDataDependencyVersion (attributes , internal , "spring-data-elasticsearch" );
134+ addSpringDataDependencyVersion (attributes , internal , "spring-data-jdbc" );
135+ addSpringDataDependencyVersion (attributes , internal , "spring-data-jpa" );
136+ addSpringDataDependencyVersion (attributes , internal , "spring-data-mongodb" );
137+ addSpringDataDependencyVersion (attributes , internal , "spring-data-neo4j" );
138+ addSpringDataDependencyVersion (attributes , internal , "spring-data-r2dbc" );
139+ addSpringDataDependencyVersion (attributes , internal , "spring-data-rest" , "spring-data-rest-core" );
140+ addSpringDataDependencyVersion (attributes , internal , "spring-data-ldap" );
141+ }
142+
143+ private void addSpringDataDependencyVersion (Map <String , String > attributes , Map <String , String > internal ,
144+ String artifactId ) {
145+ addSpringDataDependencyVersion (attributes , internal , artifactId , artifactId );
146+ }
147+
148+ private void addSpringDataDependencyVersion (Map <String , String > attributes , Map <String , String > internal ,
149+ String name , String artifactId ) {
150+ String groupAndArtifactId = "org.springframework.data:" + artifactId ;
151+ addDependencyVersion (attributes , name , groupAndArtifactId );
152+ String version = getVersion (groupAndArtifactId );
148153 String majorMinor = Arrays .stream (version .split ("\\ ." )).limit (2 ).collect (Collectors .joining ("." ));
149154 String antoraVersion = version .endsWith (DASH_SNAPSHOT ) ? majorMinor + DASH_SNAPSHOT : majorMinor ;
150- attributes .put ("version -" + name + "-docs" , antoraVersion );
151- attributes .put ("version -" + name + "-javadoc" , majorMinor + ".x" );
155+ internal .put ("antoraversion -" + name , antoraVersion );
156+ internal .put ("dotxversion -" + name , majorMinor + ".x" );
152157 }
153158
154159 private void addDependencyVersion (Map <String , String > attributes , String name , String groupAndArtifactId ) {
@@ -173,6 +178,7 @@ private void addUrlJava(Map<String, String> attributes) {
173178 }
174179
175180 private void addUrlLibraryLinkAttributes (Map <String , String > attributes ) {
181+ Map <String , String > packageAttributes = new LinkedHashMap <>();
176182 this .libraries .forEach ((library ) -> {
177183 String prefix = "url-" + library .getLinkRootName () + "-" ;
178184 library .getLinks ().forEach ((name , link ) -> {
@@ -181,22 +187,24 @@ private void addUrlLibraryLinkAttributes(Map<String, String> attributes) {
181187 link .packages ()
182188 .stream ()
183189 .map (this ::packageAttributeName )
184- .forEach ((packageAttributeName ) -> attributes .put (packageAttributeName , "{" + linkName + "}" ));
190+ .forEach ((packageAttributeName ) -> packageAttributes .put (packageAttributeName ,
191+ "{" + linkName + "}" ));
185192 });
186193 });
194+ attributes .putAll (packageAttributes );
187195 }
188196
189197 private String packageAttributeName (String packageName ) {
190198 return "javadoc-location-" + packageName .replace ('.' , '-' );
191199 }
192200
193- private void addPropertyAttributes (Map <String , String > attributes ) {
201+ private void addPropertyAttributes (Map <String , String > attributes , Map < String , String > internal ) {
194202 Properties properties = new Properties () {
195203
196204 @ Override
197205 public synchronized Object put (Object key , Object value ) {
198206 // Put directly because order is important for us
199- return attributes .put (key .toString (), value .toString ());
207+ return attributes .put (key .toString (), resolve ( value .toString (), internal ));
200208 }
201209
202210 };
@@ -208,4 +216,11 @@ public synchronized Object put(Object key, Object value) {
208216 }
209217 }
210218
219+ private String resolve (String value , Map <String , String > internal ) {
220+ for (Map .Entry <String , String > entry : internal .entrySet ()) {
221+ value = value .replace ("{" + entry .getKey () + "}" , entry .getValue ());
222+ }
223+ return value ;
224+ }
225+
211226}
0 commit comments