You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dj...@apache.org on 2022/02/02 02:22:29 UTC
[camel-quarkus] 01/05: fix update script
This is an automated email from the ASF dual-hosted git repository.
djencks pushed a commit to branch 2.7.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit f1460a9800205c87769f0c85868b3db9910b7d5a
Author: David Jencks <dj...@apache.org>
AuthorDate: Mon Jan 31 15:36:52 2022 -0800
fix update script
---
docs/pom.xml | 1 +
tooling/scripts/update-antora-config.groovy | 8 ----
tooling/scripts/update-antora-yaml.groovy | 58 ++++++++++++++++++++++-------
3 files changed, 45 insertions(+), 22 deletions(-)
diff --git a/docs/pom.xml b/docs/pom.xml
index da6177d..bbb3ea3 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -45,6 +45,7 @@
<phase>validate</phase>
<configuration>
<source>file://${maven.multiModuleProjectDirectory}/tooling/scripts/update-antora-config.groovy</source>
+ <source>file://${maven.multiModuleProjectDirectory}/tooling/scripts/update-antora-yaml.groovy</source>
<properties>
<maven.multiModuleProjectDirectory>${maven.multiModuleProjectDirectory}</maven.multiModuleProjectDirectory>
</properties>
diff --git a/tooling/scripts/update-antora-config.groovy b/tooling/scripts/update-antora-config.groovy
index a9340cd..109c9cc 100644
--- a/tooling/scripts/update-antora-config.groovy
+++ b/tooling/scripts/update-antora-config.groovy
@@ -57,14 +57,6 @@ replaceInFiles.each { path ->
m.appendTail(newContent)
String newContentString = newContent.toString()
- // This can only work on main branch or during a release. Otherwise it will break antora.yml.
- if (path.getFileName().toString().equals('antora.yml')) {
- final String versionReplacement = 'version: ' + (project.version.endsWith('-SNAPSHOT') ? 'next' : project.version)
- println ' - setting '+ versionReplacement
- final Pattern versionPattern = ~'version: [^\\s]+'
- newContentString = versionPattern.matcher(newContentString).replaceFirst(versionReplacement)
- }
-
if (!newContentString.equals(content)) {
println 'Updated ' + path
Files.write(path, newContentString.getBytes('UTF-8'))
diff --git a/tooling/scripts/update-antora-yaml.groovy b/tooling/scripts/update-antora-yaml.groovy
index e7dba01..858b7d8 100644
--- a/tooling/scripts/update-antora-yaml.groovy
+++ b/tooling/scripts/update-antora-yaml.groovy
@@ -16,31 +16,61 @@
*/
/**
- * Replace property values (defined in pom.xml files) in Antora yaml config
+ * Update the version in antora.yml
*/
import java.nio.file.Path
import java.nio.file.Paths
import java.nio.file.Files
-import java.util.stream.Stream
-import java.util.stream.Collectors
import java.util.regex.Pattern
import java.util.regex.Matcher
+final String PROJECT_BRANCH_ROOT = ''
final Path treeRootDir = Paths.get(properties['maven.multiModuleProjectDirectory'])
-final Path path = treeRootDir.resolve('docs/antora.yml')
+final Path antoraYmlPath = treeRootDir.resolve('docs/antora.yml')
+final Path sourceMapPath = treeRootDir.resolve('docs/source-map.yml')
-println 'Updating ' + path
-final String content = path.getText('UTF-8')
-final String versionReplacement = 'version: ' + (project.version.endsWith('-SNAPSHOT') ? 'latest' : project.version)
-println ' - seting '+ versionReplacement
-final Pattern versionPattern = ~'version: [^\\s]+'
-final String newContentString = versionPattern.matcher(content).replaceFirst(versionReplacement)
+println 'Examining ' + antoraYmlPath
+final String antoraYmlContent = antoraYmlPath.getText('UTF-8')
+final Pattern versionPattern = ~'version: ([^\\s]+)'
+final Matcher versionMatcher = versionPattern.matcher(antoraYmlContent)
+if (versionMatcher.find()) {
+ final String originalVersion = versionMatcher.group(1)
+ if (originalVersion.equals('next') && !project.version.endsWith('-SNAPSHOT')) {
+ final String docVersion = project.version.substring(0, project.version.lastIndexOf('.') + 1) + 'x'
+ final String versionReplacement = 'version: ' + docVersion
-if (!newContentString.equals(content)) {
- println 'Updated ' + path
- Files.write(path, newContentString.getBytes('UTF-8'))
+ String newContentString = versionMatcher.replaceFirst(versionReplacement)
+
+ final Pattern removePattern = ~'(display-version: [^\\n]+\\n)|([ \\t]*prerelease: [^\\s]+\\n)'
+ final Matcher removeMatcher = removePattern.matcher(newContentString)
+ newContentString = removeMatcher.replaceAll('')
+
+ println ' - setting ' + versionReplacement + ' in ' + antoraYmlPath
+
+ Files.write(antoraYmlPath, newContentString.getBytes('UTF-8'))
+
+ final String sourceMapContent = sourceMapPath.getText('UTF-8')
+ final Pattern branchPattern = ~'([ \\t]*- branch: )([^\\s]+)'
+ final Matcher branchMatcher = branchPattern.matcher(sourceMapContent)
+ if (branchMatcher.find()) {
+ final String originalBranch = branchMatcher.group(2)
+ if ('main'.equals(originalBranch)) {
+ final String newBranch = PROJECT_BRANCH_ROOT + docVersion
+ final String branchReplacement = branchMatcher.group(1) + newBranch
+ final String newSourceMapContent = branchMatcher.replaceFirst(branchReplacement)
+
+ println ' - setting ' + branchReplacement + ' in ' + sourceMapPath
+
+ Files.write(sourceMapPath, newSourceMapContent.getBytes('UTF-8'))
+ }
+ } else {
+ println 'expected branch not found in ' + sourceMapPath + ': please examine!'
+ }
+ } else {
+ println 'Version is already correct in ' + antoraYmlPath
+ }
} else {
- println 'No change in ' + path
+ println 'No version found in ' + antoraYmlPath
}