Skip to content

Commit a7df9e7

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 at the Eclipse build websites to the exclusions file
1 parent 00d5926 commit a7df9e7

5 files changed

Lines changed: 21 additions & 25 deletions

File tree

JenkinsJobs/Builds/build.jenkinsfile

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -346,26 +346,26 @@ pipeline {
346346
for filter in $(find ${AGG_DIR} -type f -path '*/.settings/.api_filters'); do
347347
IFS='/' read -ra PATH_SEGMENTS <<< "${filter}"
348348
pluginName="${PATH_SEGMENTS[-3]}"
349-
target=${DROP_DIR}/${BUILD_ID}/apifilters/${pluginName}
349+
target=${TEMP_DIR}/apifilters/${pluginName}
350350
mkdir -p ${target}
351351
cp ${filter} ${target}
352352
done
353-
pushd ${DROP_DIR}/${BUILD_ID}
354-
zip -r apitools/apifilters-${BUILD_ID}.zip apifilters/*
355-
popd
356353

357-
baseline=${DROP_DIR}/${BUILD_ID}/apitoolingreference/Eclipse-SDK-${PREVIOUS_RELEASE_VER}/eclipse-SDK-${PREVIOUS_RELEASE_VER}-win32-x86_64.zip
358-
mkdir -p $(dirname ${baseline})
359-
curl -o ${baseline} https://download.eclipse.org/eclipse/downloads/drops4/${PREVIOUS_RELEASE_ID}/eclipse-SDK-${PREVIOUS_RELEASE_VER}-win32-x86_64.zip
354+
baseline=${TEMP_DIR}/apitoolingreference
355+
mkdir -p ${baseline}
356+
pushd ${baseline}
357+
baselineFile=repository-${PREVIOUS_RELEASE_VER}.zip
358+
curl -o ${baselineFile} https://download.eclipse.org/eclipse/downloads/drops4/${PREVIOUS_RELEASE_ID}/repository-${PREVIOUS_RELEASE_VER}.zip
359+
unzip -q ${baselineFile}
360+
popd
360361
mvn tycho-eclipse:eclipse-run@generate-api-report -f eclipse-platform-parent \
362+
-Declipse-sdk-repo=file://${PLATFORM_REPO_DIR} \
361363
-Declipserun.workArea=${TEMP_DIR}/apitoolings-logs \
362364
-DgitRepoRoot=${AGG_DIR} \
363365
-Dbaseline=${baseline} \
364-
-Dcurrent_location=${DROP_DIR}/${BUILD_ID}/eclipse-SDK-${BUILD_ID}-win32-win32-x86_64.zip \
366+
-Dcurrent_location=${PLATFORM_REPO_DIR} \
365367
-Dreport=${DROP_DIR}/${BUILD_ID}/apitools \
366-
-Dfilter_store=${DROP_DIR}/${BUILD_ID}/apifilters \
367-
368-
rm -rf ${DROP_DIR}/${BUILD_ID}/apitoolingreference
368+
-Dfilter_store=${TEMP_DIR}/apifilters \
369369

370370
# Wait for notarization to complete before checksums are generated.
371371
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: 5 additions & 5 deletions
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
@@ -48,11 +48,11 @@
4848
report="${analysis_report}"
4949
filters="${filter_store}"
5050
excludelist="${exclude_list_external_location}"
51-
debug="true" />
51+
debug="false" />
5252
<apitooling.analysis_reportconversion
5353
xmlfiles="${analysis_report}"
5454
htmlfiles="${report}/analysis/html"
55-
debug="true" />
55+
debug="false" />
5656

5757
<property
5858
name="deprecation_report"
@@ -64,10 +64,10 @@
6464
profile="${current_location}"
6565
report="${deprecation_report}"
6666
excludelist="${exclude_list_external_location}"
67-
debug="true" />
67+
debug="false" />
6868
<apitooling.apideprecation_reportconversion
6969
xmlfile="${deprecation_report}"
70-
debug="true"
70+
debug="false"
7171
htmlfile="${report}/deprecation/apideprecation.html" />
7272
</target>
7373

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ org.commonmark
2222
com.ibm.icu
2323
org.mortbay.jasper.mortbay-apache-jsp
2424

25-
## SPECIAL CASE FOR SWT: THE FRAGMENT IS ANALYZED AS PART OF THE HOST
26-
org.eclipse.swt.win32.win32.x86_64
27-
2825
## Can't guarantee other Eclipse Projects bundles API stabiltiy
2926
org.eclipse.jetty.continuation
3027
org.eclipse.jetty.http

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)