|
39 | 39 | import org.gradle.api.Action; |
40 | 40 | import org.gradle.api.GradleException; |
41 | 41 | import org.gradle.api.Project; |
| 42 | +import org.gradle.api.Task; |
42 | 43 | import org.gradle.api.logging.LogLevel; |
43 | 44 | import org.gradle.api.provider.Provider; |
44 | 45 | import org.gradle.api.tasks.TaskProvider; |
@@ -80,77 +81,83 @@ TaskProvider<LoggedExec> bwcTask(String name, Action<LoggedExec> configuration) |
80 | 81 | } |
81 | 82 |
|
82 | 83 | private TaskProvider<LoggedExec> createRunBwcGradleTask(Project project, String name, Action<LoggedExec> configAction) { |
83 | | - return project.getTasks().register(name, LoggedExec.class, loggedExec -> { |
84 | | - // TODO revisit |
85 | | - loggedExec.dependsOn("checkoutBwcBranch"); |
86 | | - loggedExec.setSpoolOutput(true); |
87 | | - loggedExec.setWorkingDir(checkoutDir.get()); |
88 | | - loggedExec.doFirst(t -> { |
89 | | - // Execution time so that the checkouts are available |
90 | | - String javaVersionsString = readFromFile(new File(checkoutDir.get(), ".ci/java-versions.properties")); |
91 | | - loggedExec.environment( |
92 | | - "JAVA_HOME", |
93 | | - getJavaHome( |
94 | | - Integer.parseInt( |
95 | | - Arrays.asList(javaVersionsString.split("\n")) |
96 | | - .stream() |
97 | | - .filter(l -> l.trim().startsWith("OPENSEARCH_BUILD_JAVA=")) |
98 | | - .map(l -> l.replace("OPENSEARCH_BUILD_JAVA=java", "").trim()) |
99 | | - .map(l -> l.replace("OPENSEARCH_BUILD_JAVA=openjdk", "").trim()) |
100 | | - .collect(Collectors.joining("!!")) |
101 | | - ) |
102 | | - ) |
103 | | - ); |
104 | | - loggedExec.environment( |
105 | | - "RUNTIME_JAVA_HOME", |
106 | | - getJavaHome( |
107 | | - Integer.parseInt( |
108 | | - Arrays.asList(javaVersionsString.split("\n")) |
109 | | - .stream() |
110 | | - .filter(l -> l.trim().startsWith("OPENSEARCH_RUNTIME_JAVA=")) |
111 | | - .map(l -> l.replace("OPENSEARCH_RUNTIME_JAVA=java", "").trim()) |
112 | | - .map(l -> l.replace("OPENSEARCH_RUNTIME_JAVA=openjdk", "").trim()) |
113 | | - .collect(Collectors.joining("!!")) |
114 | | - ) |
115 | | - ) |
116 | | - ); |
117 | | - }); |
118 | | - |
119 | | - if (Os.isFamily(Os.FAMILY_WINDOWS)) { |
120 | | - loggedExec.executable("cmd"); |
121 | | - loggedExec.args("/C", "call", new File(checkoutDir.get(), "gradlew").toString()); |
122 | | - } else { |
123 | | - loggedExec.executable(new File(checkoutDir.get(), "gradlew").toString()); |
124 | | - } |
125 | | - if (project.getGradle().getStartParameter().isOffline()) { |
126 | | - loggedExec.args("--offline"); |
127 | | - } |
128 | | - // TODO resolve |
129 | | - String buildCacheUrl = System.getProperty("org.opensearch.build.cache.url"); |
130 | | - if (buildCacheUrl != null) { |
131 | | - loggedExec.args("-Dorg.opensearch.build.cache.url=" + buildCacheUrl); |
132 | | - } |
| 84 | + return project.getTasks().register(name, LoggedExec.class, new Action<LoggedExec>() { |
| 85 | + @Override |
| 86 | + public void execute(LoggedExec loggedExec) { |
| 87 | + // TODO revisit |
| 88 | + loggedExec.dependsOn("checkoutBwcBranch"); |
| 89 | + loggedExec.setSpoolOutput(true); |
| 90 | + loggedExec.setWorkingDir(checkoutDir.get()); |
| 91 | + loggedExec.doFirst(new Action<Task>() { |
| 92 | + @Override |
| 93 | + public void execute(Task t) { |
| 94 | + // Execution time so that the checkouts are available |
| 95 | + String javaVersionsString = readFromFile(new File(checkoutDir.get(), ".ci/java-versions.properties")); |
| 96 | + loggedExec.environment( |
| 97 | + "JAVA_HOME", |
| 98 | + getJavaHome( |
| 99 | + Integer.parseInt( |
| 100 | + Arrays.asList(javaVersionsString.split("\n")) |
| 101 | + .stream() |
| 102 | + .filter(l -> l.trim().startsWith("OPENSEARCH_BUILD_JAVA=")) |
| 103 | + .map(l -> l.replace("OPENSEARCH_BUILD_JAVA=java", "").trim()) |
| 104 | + .map(l -> l.replace("OPENSEARCH_BUILD_JAVA=openjdk", "").trim()) |
| 105 | + .collect(Collectors.joining("!!")) |
| 106 | + ) |
| 107 | + ) |
| 108 | + ); |
| 109 | + loggedExec.environment( |
| 110 | + "RUNTIME_JAVA_HOME", |
| 111 | + getJavaHome( |
| 112 | + Integer.parseInt( |
| 113 | + Arrays.asList(javaVersionsString.split("\n")) |
| 114 | + .stream() |
| 115 | + .filter(l -> l.trim().startsWith("OPENSEARCH_RUNTIME_JAVA=")) |
| 116 | + .map(l -> l.replace("OPENSEARCH_RUNTIME_JAVA=java", "").trim()) |
| 117 | + .map(l -> l.replace("OPENSEARCH_RUNTIME_JAVA=openjdk", "").trim()) |
| 118 | + .collect(Collectors.joining("!!")) |
| 119 | + ) |
| 120 | + ) |
| 121 | + ); |
| 122 | + } |
| 123 | + }); |
| 124 | + |
| 125 | + if (Os.isFamily(Os.FAMILY_WINDOWS)) { |
| 126 | + loggedExec.executable("cmd"); |
| 127 | + loggedExec.args("/C", "call", new File(checkoutDir.get(), "gradlew").toString()); |
| 128 | + } else { |
| 129 | + loggedExec.executable(new File(checkoutDir.get(), "gradlew").toString()); |
| 130 | + } |
| 131 | + if (project.getGradle().getStartParameter().isOffline()) { |
| 132 | + loggedExec.args("--offline"); |
| 133 | + } |
| 134 | + // TODO resolve |
| 135 | + String buildCacheUrl = System.getProperty("org.opensearch.build.cache.url"); |
| 136 | + if (buildCacheUrl != null) { |
| 137 | + loggedExec.args("-Dorg.opensearch.build.cache.url=" + buildCacheUrl); |
| 138 | + } |
133 | 139 |
|
134 | | - loggedExec.args("-Dbuild.snapshot=true"); |
135 | | - loggedExec.args("-Dscan.tag.NESTED"); |
136 | | - final LogLevel logLevel = project.getGradle().getStartParameter().getLogLevel(); |
137 | | - List<LogLevel> nonDefaultLogLevels = Arrays.asList(LogLevel.QUIET, LogLevel.WARN, LogLevel.INFO, LogLevel.DEBUG); |
138 | | - if (nonDefaultLogLevels.contains(logLevel)) { |
139 | | - loggedExec.args("--" + logLevel.name().toLowerCase(Locale.ENGLISH)); |
140 | | - } |
141 | | - final String showStacktraceName = project.getGradle().getStartParameter().getShowStacktrace().name(); |
142 | | - assert Arrays.asList("INTERNAL_EXCEPTIONS", "ALWAYS", "ALWAYS_FULL").contains(showStacktraceName); |
143 | | - if (showStacktraceName.equals("ALWAYS")) { |
144 | | - loggedExec.args("--stacktrace"); |
145 | | - } else if (showStacktraceName.equals("ALWAYS_FULL")) { |
146 | | - loggedExec.args("--full-stacktrace"); |
147 | | - } |
148 | | - if (project.getGradle().getStartParameter().isParallelProjectExecutionEnabled()) { |
149 | | - loggedExec.args("--parallel"); |
| 140 | + loggedExec.args("-Dbuild.snapshot=true"); |
| 141 | + loggedExec.args("-Dscan.tag.NESTED"); |
| 142 | + final LogLevel logLevel = project.getGradle().getStartParameter().getLogLevel(); |
| 143 | + List<LogLevel> nonDefaultLogLevels = Arrays.asList(LogLevel.QUIET, LogLevel.WARN, LogLevel.INFO, LogLevel.DEBUG); |
| 144 | + if (nonDefaultLogLevels.contains(logLevel)) { |
| 145 | + loggedExec.args("--" + logLevel.name().toLowerCase(Locale.ENGLISH)); |
| 146 | + } |
| 147 | + final String showStacktraceName = project.getGradle().getStartParameter().getShowStacktrace().name(); |
| 148 | + assert Arrays.asList("INTERNAL_EXCEPTIONS", "ALWAYS", "ALWAYS_FULL").contains(showStacktraceName); |
| 149 | + if (showStacktraceName.equals("ALWAYS")) { |
| 150 | + loggedExec.args("--stacktrace"); |
| 151 | + } else if (showStacktraceName.equals("ALWAYS_FULL")) { |
| 152 | + loggedExec.args("--full-stacktrace"); |
| 153 | + } |
| 154 | + if (project.getGradle().getStartParameter().isParallelProjectExecutionEnabled()) { |
| 155 | + loggedExec.args("--parallel"); |
| 156 | + } |
| 157 | + loggedExec.setStandardOutput(new IndentingOutputStream(System.out, unreleasedVersionInfo.get().version)); |
| 158 | + loggedExec.setErrorOutput(new IndentingOutputStream(System.err, unreleasedVersionInfo.get().version)); |
| 159 | + configAction.execute(loggedExec); |
150 | 160 | } |
151 | | - loggedExec.setStandardOutput(new IndentingOutputStream(System.out, unreleasedVersionInfo.get().version)); |
152 | | - loggedExec.setErrorOutput(new IndentingOutputStream(System.err, unreleasedVersionInfo.get().version)); |
153 | | - configAction.execute(loggedExec); |
154 | 161 | }); |
155 | 162 | } |
156 | 163 |
|
|
0 commit comments