Skip to content

Commit 8477308

Browse files
committed
[I/Y-Build] Generalize API report generation and fix website links to it
Enhances the API analysis report with the following aspects: - Compare the entire Eclipse repository not just the SDK product for Windows-x86_64 - Move scripts to a more fitting location - Remove filters from build websites as they can be looked up in the SCM - Fix the previously broken links from the Eclipse build websites to the exclusions file
1 parent 1d082be commit 8477308

5 files changed

Lines changed: 18 additions & 17 deletions

File tree

JenkinsJobs/Builds/build.jenkinsfile

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -347,27 +347,22 @@ pipeline {
347347
for filter in $(find ${AGG_DIR} -type f -path '*/.settings/.api_filters'); do
348348
IFS='/' read -ra PATH_SEGMENTS <<< "${filter}"
349349
pluginName="${PATH_SEGMENTS[-3]}"
350-
target=${DROP_DIR}/${BUILD_ID}/apifilters/${pluginName}
350+
target=${TEMP_DIR}/apifilters/${pluginName}
351351
mkdir -p ${target}
352352
cp ${filter} ${target}
353353
done
354-
pushd ${DROP_DIR}/${BUILD_ID}
355-
zip -r apitools/apifilters-${BUILD_ID}.zip apifilters/*
356-
popd
357354

358-
baseline=${DROP_DIR}/${BUILD_ID}/apitoolingreference/Eclipse-SDK-${PREVIOUS_RELEASE_VER}/eclipse-SDK-${PREVIOUS_RELEASE_VER}-win32-x86_64.zip
355+
baseline=${TEMP_DIR}/apitoolingreference/repository-${PREVIOUS_RELEASE_VER}.zip
359356
mkdir -p $(dirname ${baseline})
360-
curl -o ${baseline} https://download.eclipse.org/eclipse/downloads/drops4/${PREVIOUS_RELEASE_ID}/eclipse-SDK-${PREVIOUS_RELEASE_VER}-win32-x86_64.zip
357+
curl -o ${baseline} https://download.eclipse.org/eclipse/downloads/drops4/${PREVIOUS_RELEASE_ID}/repository-${PREVIOUS_RELEASE_VER}.zip
361358
mvn tycho-eclipse:eclipse-run@generate-api-report -f eclipse-platform-parent \
362359
-Declipse-sdk-repo=file://${PLATFORM_REPO_DIR} \
363360
-Declipserun.workArea=${TEMP_DIR}/apitoolings-logs \
364361
-DgitRepoRoot=${AGG_DIR} \
365362
-Dbaseline=${baseline} \
366-
-Dcurrent_location=${DROP_DIR}/${BUILD_ID}/eclipse-SDK-${BUILD_ID}-win32-win32-x86_64.zip \
363+
-Dcurrent_location=${PLATFORM_REPO_DIR} \
367364
-Dreport=${DROP_DIR}/${BUILD_ID}/apitools \
368-
-Dfilter_store=${DROP_DIR}/${BUILD_ID}/apifilters \
369-
370-
rm -rf ${DROP_DIR}/${BUILD_ID}/apitoolingreference
365+
-Dfilter_store=${TEMP_DIR}/apifilters \
371366

372367
# Wait for notarization to complete before checksums are generated.
373368
wait

eclipse-platform-parent/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@
546546
<arg>-application</arg>
547547
<arg>org.eclipse.ant.core.antRunner</arg>
548548
<arg>-buildfile</arg>
549-
<arg>${gitRepoRoot}/eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts/api-tools-builder.xml</arg>
549+
<arg>${gitRepoRoot}/scripts/releng/apiReport/builder.xml</arg>
550550
</applicationArgs>
551551
<jvmArgs>
552552
<arg>-Dbaseline=${baseline}</arg>

eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts/api-tools-builder.xml renamed to scripts/releng/apiReport/builder.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
<property
3636
name="exclude_list_external_location"
37-
value="${basedir}/../apiexclude/exclude_list_external.txt" />
37+
value="${basedir}/exclusions.txt" />
3838

3939
<!-- create HTML output directory -->
4040
<property

eclipse.platform.releng.tychoeclipsebuilder/eclipse/apiexclude/exclude_list_external.txt renamed to scripts/releng/apiReport/exclusions.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ com.ibm.icu
2323
org.mortbay.jasper.mortbay-apache-jsp
2424

2525
## SPECIAL CASE FOR SWT: THE FRAGMENT IS ANALYZED AS PART OF THE HOST
26+
org.eclipse.swt.cocoa.macosx.aarch64
27+
org.eclipse.swt.cocoa.macosx.x86_64
28+
org.eclipse.swt.gtk.linux.aarch64
29+
org.eclipse.swt.gtk.linux.ppc64le
30+
org.eclipse.swt.gtk.linux.riscv64
31+
org.eclipse.swt.gtk.linux.x86_64
32+
org.eclipse.swt.win32.win32.aarch64
2633
org.eclipse.swt.win32.win32.x86_64
2734

2835
## Can't guarantee other Eclipse Projects bundles API stabiltiy

sites/eclipse/build/reports.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,11 @@ <h3 id="logs">Logs</h3>
2222
<li><a href="buildlogs/reporeports/index.html"><b>Repository Reports </b></a></li>
2323
<li><a href="buildlogs/logs.html"><b>Build and Release Engineering Logs</b></a></li>
2424
<li><a href="testresults/logs.html"><b>Test Console Logs</b></a></li>
25-
<li><a href="apitools/analysis/html/index.html"><b>API Tools Version Verification Report</b></a>
26-
This tool verifies the versions of the plugins against Eclipse ${previousReleaseAPILabel}
27-
(Exclusions listed in <a href="https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob//eclipse.platform.releng.tychoeclipsebuilder/eclipse/apiexclude/exclude_list_external.txt">apiexclude/exclude_list_external.txt</a>).
25+
<li><a href="apitools/analysis/html/index.html"><b>API Verification Report</b></a><br>
26+
API analysis of all Plug-ins against Eclipse ${previousReleaseAPILabel}<br>
27+
(Exclusions listed in <a href="https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/master/scripts/releng/apiReport/exclusions.txt">apiReport/exclusions.txt</a>).
2828
</li>
29-
<li><a href="apitools/deprecation/apideprecation.html"><b>API Tools Deprecation Report</b></a> This tool generates a report for API deprecated since ${previousReleaseAPILabel}.</li>
30-
<li><a href="apitools/apifilters-${label}.zip"><b>Zip of <samp>.api_filters</samp> files used in the build</b></a></li>
29+
<li><a href="apitools/deprecation/apideprecation.html"><b>API Tools Deprecation Report</b></a> Listing of all API deprecations since ${previousReleaseAPILabel}.</li>
3130
</ul>
3231
<h3 id="tests">Unit Test Results</h3>
3332
<p>The unit tests are run on the <a id="ci-tests-folder-url" href="https://ci.eclipse.org/releng">RelEng Jenkins instance</a>.</p>

0 commit comments

Comments
 (0)