Skip to content

Commit

Permalink
Merge branch 'master' into errata
Browse files Browse the repository at this point in the history
  • Loading branch information
prbprbprb authored Oct 14, 2024
2 parents cb7d84e + e57bf15 commit d7fbb86
Show file tree
Hide file tree
Showing 19 changed files with 283 additions and 344 deletions.
53 changes: 34 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,9 @@ jobs:

steps:
- name: Set up JDK 11 for toolchains
uses: actions/setup-java@v1.4.3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 11

- name: Set runner-specific environment variables
Expand All @@ -59,7 +60,7 @@ jobs:
echo "SDKMANAGER=${{ runner.temp }}/android-sdk/cmdline-tools/bin/sdkmanager" >> $GITHUB_ENV
echo "M2_REPO=${{ runner.temp }}/m2" >> $GITHUB_ENV
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Setup Linux environment
if: runner.os == 'Linux'
Expand All @@ -83,9 +84,9 @@ jobs:
brew install ninja || echo update failed
- name: install Go
uses: actions/setup-go@v1
uses: actions/setup-go@v5
with:
go-version: '1.19.3'
go-version: '1.20'

- name: Setup Windows environment
if: runner.os == 'Windows'
Expand Down Expand Up @@ -132,12 +133,16 @@ jobs:
ninja
popd
- name: Set up MSVC paths on Windows
if: runner.os == 'Windows'
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64

- name: Build BoringSSL 64-bit Windows
if: runner.os == 'Windows'
run: |
cd $Env:BORINGSSL_HOME
& $Env:GITHUB_WORKSPACE\.github\workflows\vsenv.ps1 -arch x64 -hostArch x64
mkdir build64
pushd build64
cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -GNinja ..
Expand Down Expand Up @@ -202,7 +207,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Set runner-specific environment variables
shell: bash
Expand Down Expand Up @@ -266,22 +271,31 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
java: [8, 9, 11]
platform: [ubuntu-latest, macos-13, macos-latest, windows-latest]
java: [8, 11, 17, 21]
dist: ['temurin', 'zulu']
include:
- java: 8
suite_class: "org.conscrypt.Conscrypt(OpenJdk)?Suite"
- java: 9
suite_class: "org.conscrypt.Conscrypt(OpenJdk)?Suite"
- java: 11
suite_class: "org.conscrypt.Conscrypt(OpenJdk)?Suite"
- platform: ubuntu-latest
separator: ':'
- platform: macos-latest
separator: ':'
- platform: macos-13
separator: ':'
- platform: windows-latest
separator: ';'
exclude: # Not available on Github runners
- platform: macos-latest
java: 8
dist: 'temurin'


runs-on: ${{ matrix.platform }}

steps:
- name: Set up Java
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
distribution: ${{ matrix.dist }}
java-version: ${{ matrix.java }}

- name: Download UberJAR
Expand All @@ -298,19 +312,20 @@ jobs:

- name: Download JUnit runner
shell: bash
run: mvn org.apache.maven.plugins:maven-dependency-plugin:3.1.2:copy -Dartifact=org.junit.platform:junit-platform-console-standalone:1.6.2 -DoutputDirectory=. -Dmdep.stripVersion=true
run: mvn org.apache.maven.plugins:maven-dependency-plugin:3.8.0:copy -Dartifact=org.junit.platform:junit-platform-console-standalone:1.11.2 -DoutputDirectory=. -Dmdep.stripVersion=true

- name: Run JUnit tests
timeout-minutes: 15
shell: bash
run: |
DIR="$(find m2/org/conscrypt/conscrypt-openjdk-uber -maxdepth 1 -mindepth 1 -type d -print)"
VERSION="${DIR##*/}"
TESTJAR="$(find testjar -name '*-tests.jar')"
java -jar junit-platform-console-standalone.jar -cp "$DIR/conscrypt-openjdk-uber-$VERSION.jar:$TESTJAR" -n='${{ matrix.suite_class }}' --scan-classpath --reports-dir=results --fail-if-no-tests
java -jar junit-platform-console-standalone.jar execute -cp "$DIR/conscrypt-openjdk-uber-$VERSION.jar${{ matrix.separator }}$TESTJAR" -n='org.conscrypt.ConscryptOpenJdkSuite' --scan-classpath --reports-dir=results --fail-if-no-tests
- name: Archive test results
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: test-results-${{ matrix.platform }}-${{ matrix.java }}
name: test-results-${{ matrix.platform }}-${{ matrix.java }}-${{ matrix.dist }}
path: results
38 changes: 0 additions & 38 deletions .github/workflows/vsenv.ps1

This file was deleted.

21 changes: 0 additions & 21 deletions .lgtm.yml

This file was deleted.

117 changes: 0 additions & 117 deletions .travis.yml

This file was deleted.

3 changes: 2 additions & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ if (androidSdkInstalled) {
arguments '-DANDROID=True',
'-DANDROID_STL=c++_static',
"-DBORINGSSL_HOME=$boringsslHome",
"-DCMAKE_CXX_STANDARD=17"
"-DCMAKE_CXX_STANDARD=17",
'-DCMAKE_SHARED_LINKER_FLAGS=-z max-page-size=16384'
cFlags '-fvisibility=hidden',
'-DBORINGSSL_SHARED_LIBRARY',
'-DBORINGSSL_IMPLEMENTATION',
Expand Down
42 changes: 28 additions & 14 deletions api-doclet/src/main/kotlin/org/conscrypt/doclet/ClassIndex.kt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ package org.conscrypt.doclet

import javax.lang.model.element.Element
import javax.lang.model.element.TypeElement
import kotlin.streams.toList

class ClassIndex {
private val index = mutableMapOf<String, ClassInfo>()
Expand All @@ -31,27 +30,27 @@ class ClassIndex {
put(ClassInfo(element as TypeElement))
}

fun get(qualifiedName: String) = index[qualifiedName]
fun get(qualifiedName: String) = index[qualifiedName]!!
fun get(typeElement: TypeElement) = get(typeElement.qualifiedName.toString())
fun getParent(typeElement: TypeElement) = get(typeElement.enclosingElement as TypeElement)
fun contains(qualifiedName: String) = index.containsKey(qualifiedName)
fun find(name: String) = if (contains(name)) get(name) else findSimple(name)
private fun findSimple(name: String) = classes().firstOrNull { it.simpleName == name } // XXX dups

fun classes(): Collection<ClassInfo> = index.values

fun addVisible(elements: Set<Element>) {
elements
.filterIsInstance<TypeElement>()
.filter(Element::isVisibleType)
.forEach(::put)
}
fun addVisible(elements: Set<Element>) = elements
.filterIsInstance<TypeElement>()
.filter(Element::isVisibleType)
.forEach(::put)

private fun packages(): List<String> = index.values.stream()
private fun packages(): List<String> = index.values
.map { it.packageName }
.distinct()
.sorted()
.toList()

private fun classesForPackage(packageName: String) = index.values.stream()
private fun classesForPackage(packageName: String) = index.values
.filter { it.packageName == packageName }
.sorted()
.toList()
Expand All @@ -62,15 +61,30 @@ class ClassIndex {
h2("Package $packageName", "package-name")
ul("class-list") {
classesForPackage(packageName)
.forEach { c ->
li {
a(c.fileName, c.simpleName)
.filter { !it.isInnerClass }
.forEach {
compose {
classAndInners(it)
}
}
}
}
}
}

private fun classAndInners(classInfo: ClassInfo): String = html {
li {
a(classInfo.fileName, classInfo.simpleName)
}
val inners = classInfo.innerClasses()
inners.takeIf { it.isNotEmpty() }.let {
ul("class-list") {
inners.forEach {
compose {
classAndInners(it)
}
}
}
}
}
}

Loading

0 comments on commit d7fbb86

Please sign in to comment.