commit
f5fd897c1d
173 changed files with 5317 additions and 3182 deletions
@ -0,0 +1,8 @@ |
||||
test_suite( |
||||
name = "tests", |
||||
tests = [ |
||||
"//java/core:tests", |
||||
"//java/lite:tests", |
||||
"//java/util:tests", |
||||
], |
||||
) |
@ -0,0 +1 @@ |
||||
package(default_visibility = ["//java:__subpackages__"]) |
@ -0,0 +1,19 @@ |
||||
<project name="generate-sources"> |
||||
<echo message="Running protoc ..."/> |
||||
<mkdir dir="${generated.sources.dir}"/> |
||||
<exec executable="${protoc}"> |
||||
<arg value="--kotlin_out=lite:${generated.sources.dir}"/> |
||||
<arg value="--proto_path=${protobuf.source.dir}"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/any.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/api.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/duration.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/empty.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/field_mask.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/source_context.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/struct.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/timestamp.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/type.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/wrappers.proto"/> |
||||
</exec> |
||||
</project> |
||||
|
@ -0,0 +1,34 @@ |
||||
<project name="generate-test-sources"> |
||||
<mkdir dir="${generated.testsources.dir}"/> |
||||
<exec executable="${protoc}"> |
||||
<arg value="--java_out=lite:${generated.testsources.dir}"/> |
||||
<arg value="--proto_path=${protobuf.source.dir}"/> |
||||
<arg value="--proto_path=${protobuf.basedir}/java/kotlin/${test.proto.dir}"/> |
||||
<arg value="--experimental_allow_proto3_optional"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/map_lite_unittest.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_import.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_import_lite.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_import_public.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_import_public_lite.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_lite.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_proto3.proto"/> |
||||
<arg value="${protobuf.basedir}/java/kotlin/${test.proto.dir}/com/google/protobuf/evil_names_proto2.proto"/> |
||||
<arg value="${protobuf.basedir}/java/kotlin/${test.proto.dir}/com/google/protobuf/evil_names_proto3.proto"/> |
||||
<arg value="${protobuf.basedir}/java/kotlin/${test.proto.dir}/com/google/protobuf/example_extensible_message.proto"/> |
||||
<arg value="${protobuf.basedir}/java/kotlin/${test.proto.dir}/com/google/protobuf/multiple_files_proto3.proto"/> |
||||
</exec> |
||||
<exec executable="${protoc}"> |
||||
<arg value="--kotlin_out=lite:${generated.testsources.dir}"/> |
||||
<arg value="--proto_path=${protobuf.source.dir}"/> |
||||
<arg value="--proto_path=${protobuf.basedir}/java/kotlin/${test.proto.dir}"/> |
||||
<arg value="--experimental_allow_proto3_optional"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/map_lite_unittest.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_lite.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_proto3.proto"/> |
||||
<arg value="${protobuf.basedir}/java/kotlin/${test.proto.dir}/com/google/protobuf/evil_names_proto2.proto"/> |
||||
<arg value="${protobuf.basedir}/java/kotlin/${test.proto.dir}/com/google/protobuf/evil_names_proto3.proto"/> |
||||
<arg value="${protobuf.basedir}/java/kotlin/${test.proto.dir}/com/google/protobuf/example_extensible_message.proto"/> |
||||
<arg value="${protobuf.basedir}/java/kotlin/${test.proto.dir}/com/google/protobuf/multiple_files_proto3.proto"/> |
||||
</exec> |
||||
</project> |
@ -0,0 +1,284 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
<parent> |
||||
<groupId>com.google.protobuf</groupId> |
||||
<artifactId>protobuf-parent</artifactId> |
||||
<version>3.15.6</version> |
||||
</parent> |
||||
|
||||
<artifactId>protobuf-kotlin-lite</artifactId> |
||||
<packaging>bundle</packaging> |
||||
|
||||
<name>Protocol Buffers [Lite]</name> |
||||
<description> |
||||
Lite version of Protocol Buffers library. This version is optimized for code size, but does |
||||
not guarantee API/ABI stability. |
||||
</description> |
||||
|
||||
<properties> |
||||
<kotlin.version>1.4.31</kotlin.version> |
||||
</properties> |
||||
|
||||
<dependencies> |
||||
<dependency> |
||||
<groupId>${project.groupId}</groupId> |
||||
<artifactId>protobuf-javalite</artifactId> |
||||
<version>${project.version}</version> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>junit</groupId> |
||||
<artifactId>junit</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.easymock</groupId> |
||||
<artifactId>easymock</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.easymock</groupId> |
||||
<artifactId>easymockclassextension</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>com.google.guava</groupId> |
||||
<artifactId>guava</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>com.google.guava</groupId> |
||||
<artifactId>guava-testlib</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>com.google.truth</groupId> |
||||
<artifactId>truth</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.jetbrains.kotlin</groupId> |
||||
<artifactId>kotlin-stdlib</artifactId> |
||||
<version>${kotlin.version}</version> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.jetbrains.kotlin</groupId> |
||||
<artifactId>kotlin-test</artifactId> |
||||
<version>${kotlin.version}</version> |
||||
</dependency> |
||||
</dependencies> |
||||
|
||||
<build> |
||||
<!-- Include core protos in the bundle as resources --> |
||||
<resources> |
||||
<resource> |
||||
<directory>${protobuf.source.dir}</directory> |
||||
<includes> |
||||
<include>google/protobuf/any.proto</include> |
||||
<include>google/protobuf/api.proto</include> |
||||
<include>google/protobuf/duration.proto</include> |
||||
<include>google/protobuf/empty.proto</include> |
||||
<include>google/protobuf/field_mask.proto</include> |
||||
<include>google/protobuf/source_context.proto</include> |
||||
<include>google/protobuf/struct.proto</include> |
||||
<include>google/protobuf/timestamp.proto</include> |
||||
<include>google/protobuf/type.proto</include> |
||||
<include>google/protobuf/wrappers.proto</include> |
||||
</includes> |
||||
</resource> |
||||
</resources> |
||||
<testResources> |
||||
<testResource> |
||||
<directory>${protobuf.source.dir}</directory> |
||||
<includes> |
||||
<include>google/protobuf/testdata/golden_message_oneof_implemented</include> |
||||
<include>google/protobuf/testdata/golden_packed_fields_message</include> |
||||
</includes> |
||||
</testResource> |
||||
</testResources> |
||||
|
||||
<plugins> |
||||
<plugin> |
||||
<artifactId>maven-resources-plugin</artifactId> |
||||
<version>3.1.0</version> |
||||
<executions> |
||||
<execution> |
||||
<id>copy-kotlin-source-files</id> |
||||
<phase>generate-sources</phase> |
||||
<goals> |
||||
<goal>copy-resources</goal> |
||||
</goals> |
||||
<configuration> |
||||
<outputDirectory>${generated.sources.dir}/com/google/protobuf</outputDirectory> |
||||
<resources> |
||||
<resource> |
||||
<directory>${basedir}/../kotlin/src/main/kotlin/com/google/protobuf</directory> |
||||
<includes> |
||||
<include>DslList.kt</include> |
||||
<include>DslMap.kt</include> |
||||
<include>DslProxy.kt</include> |
||||
<include>ExtendableMessageLiteExtensions.kt</include> |
||||
<include>ExtensionList.kt</include> |
||||
<include>OnlyForUseByGeneratedProtoCode.kt</include> |
||||
<include>ProtoDslMarker.kt</include> |
||||
<include>UnmodifiableCollections.kt</include> |
||||
</includes> |
||||
</resource> |
||||
</resources> |
||||
</configuration> |
||||
</execution> |
||||
<execution> |
||||
<id>copy-test-source-files</id> |
||||
<phase>generate-test-sources</phase> |
||||
<goals> |
||||
<goal>copy-resources</goal> |
||||
</goals> |
||||
<configuration> |
||||
<outputDirectory>${generated.testsources.dir}/com/google/protobuf</outputDirectory> |
||||
<resources> |
||||
<resource> |
||||
<directory>${basedir}/../core/src/test/java/com/google/protobuf</directory> |
||||
<includes> |
||||
<include>TestUtilLite.java</include> |
||||
</includes> |
||||
</resource> |
||||
<resource> |
||||
<directory>${basedir}/../kotlin/src/test/kotlin/com/google/protobuf</directory> |
||||
<excludes> |
||||
<exclude>ExtendableMessageExtensionsTest.kt</exclude> |
||||
<exclude>Proto2Test.kt</exclude> |
||||
<exclude>ProtoUtil.java</exclude> |
||||
</excludes> |
||||
</resource> |
||||
</resources> |
||||
</configuration> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
|
||||
<!-- Use Antrun plugin to generate sources with protoc --> |
||||
<plugin> |
||||
<artifactId>maven-antrun-plugin</artifactId> |
||||
<executions> |
||||
<!-- Generate core protos --> |
||||
<execution> |
||||
<id>generate-sources</id> |
||||
<phase>generate-sources</phase> |
||||
<configuration> |
||||
<target> |
||||
<ant antfile="generate-sources-build.xml"/> |
||||
</target> |
||||
</configuration> |
||||
<goals> |
||||
<goal>run</goal> |
||||
</goals> |
||||
</execution> |
||||
|
||||
<!-- Generate the test protos --> |
||||
<execution> |
||||
<id>generate-test-sources</id> |
||||
<phase>generate-test-sources</phase> |
||||
<configuration> |
||||
<target> |
||||
<ant antfile="generate-test-sources-build.xml"/> |
||||
</target> |
||||
</configuration> |
||||
<goals> |
||||
<goal>run</goal> |
||||
</goals> |
||||
</execution> |
||||
|
||||
<execution> |
||||
<id>process-lite-sources</id> |
||||
<phase>generate-test-sources</phase> |
||||
<configuration> |
||||
<target> |
||||
<ant antfile="process-lite-sources-build.xml"/> |
||||
</target> |
||||
</configuration> |
||||
<goals> |
||||
<goal>run</goal> |
||||
</goals> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
|
||||
<plugin> |
||||
<groupId>org.codehaus.mojo</groupId> |
||||
<artifactId>build-helper-maven-plugin</artifactId> |
||||
<executions> |
||||
<execution> |
||||
<id>add-generated-sources</id> |
||||
<phase>generate-sources</phase> |
||||
<goals> |
||||
<goal>add-source</goal> |
||||
</goals> |
||||
<configuration> |
||||
<sources> |
||||
<source>${generated.sources.dir}</source> |
||||
</sources> |
||||
</configuration> |
||||
</execution> |
||||
|
||||
<execution> |
||||
<id>add-generated-test-sources</id> |
||||
<phase>generate-test-sources</phase> |
||||
<goals> |
||||
<goal>add-test-source</goal> |
||||
</goals> |
||||
<configuration> |
||||
<sources> |
||||
<source>${generated.testsources.dir}</source> |
||||
</sources> |
||||
</configuration> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
|
||||
<plugin> |
||||
<groupId>org.jetbrains.kotlin</groupId> |
||||
<artifactId>kotlin-maven-plugin</artifactId> |
||||
<version>${kotlin.version}</version> |
||||
<extensions>true</extensions> |
||||
<executions> |
||||
<execution> |
||||
<id>compile</id> |
||||
<goals> <goal>compile</goal> </goals> |
||||
<configuration> |
||||
<sourceDirs> |
||||
<sourceDir>${generated.sources.dir}</sourceDir> |
||||
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir> |
||||
</sourceDirs> |
||||
</configuration> |
||||
</execution> |
||||
<execution> |
||||
<id>test-compile</id> |
||||
<goals> <goal>test-compile</goal> </goals> |
||||
<configuration> |
||||
<sourceDirs> |
||||
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir> |
||||
<sourceDir>${generated.testsources.dir}</sourceDir> |
||||
</sourceDirs> |
||||
</configuration> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
|
||||
<!-- OSGI bundle configuration --> |
||||
<plugin> |
||||
<groupId>org.apache.felix</groupId> |
||||
<artifactId>maven-bundle-plugin</artifactId> |
||||
<extensions>true</extensions> |
||||
<configuration> |
||||
<instructions> |
||||
<Automatic-Module-Name>com.google.protobuf</Automatic-Module-Name> <!-- Java9+ Jigsaw module name --> |
||||
<Bundle-DocURL>https://developers.google.com/protocol-buffers/</Bundle-DocURL> |
||||
<Bundle-SymbolicName>com.google.protobuf</Bundle-SymbolicName> |
||||
<Export-Package>com.google.protobuf;version=${project.version}</Export-Package> |
||||
<Import-Package>sun.misc;resolution:=optional,*</Import-Package> |
||||
</instructions> |
||||
</configuration> |
||||
</plugin> |
||||
</plugins> |
||||
</build> |
||||
</project> |
@ -0,0 +1,7 @@ |
||||
<project name="process-lite-sources"> |
||||
<exec executable="awk" output="${generated.testsources.dir}/com/google/protobuf/TestUtil.java"> |
||||
<arg value="-f" /> |
||||
<arg value="${basedir}/lite.awk" /> |
||||
<arg value="${basedir}/../core/src/test/java/com/google/protobuf/TestUtil.java" /> |
||||
</exec> |
||||
</project> |
@ -0,0 +1,20 @@ |
||||
<project name="generate-sources"> |
||||
<echo message="Running protoc ..."/> |
||||
<mkdir dir="${generated.sources.dir}"/> |
||||
<exec executable="${protoc}"> |
||||
<arg value="--kotlin_out=${generated.sources.dir}"/> |
||||
<arg value="--proto_path=${protobuf.source.dir}"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/any.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/api.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/descriptor.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/duration.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/empty.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/field_mask.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/source_context.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/struct.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/timestamp.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/type.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/wrappers.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/compiler/plugin.proto"/> |
||||
</exec> |
||||
</project> |
@ -0,0 +1,34 @@ |
||||
<project name="generate-test-sources"> |
||||
<mkdir dir="${generated.testsources.dir}"/> |
||||
<exec executable="${protoc}"> |
||||
<arg value="--java_out=${generated.testsources.dir}"/> |
||||
<arg value="--proto_path=${protobuf.source.dir}"/> |
||||
<arg value="--proto_path=${test.proto.dir}"/> |
||||
<arg value="--experimental_allow_proto3_optional"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/map_proto2_unittest.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_import.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_import_lite.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_import_public.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_import_public_lite.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_lite.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_proto3.proto"/> |
||||
<arg value="${test.proto.dir}/com/google/protobuf/evil_names_proto2.proto"/> |
||||
<arg value="${test.proto.dir}/com/google/protobuf/evil_names_proto3.proto"/> |
||||
<arg value="${test.proto.dir}/com/google/protobuf/example_extensible_message.proto"/> |
||||
<arg value="${test.proto.dir}/com/google/protobuf/multiple_files_proto3.proto"/> |
||||
</exec> |
||||
<exec executable="${protoc}"> |
||||
<arg value="--kotlin_out=${generated.testsources.dir}"/> |
||||
<arg value="--proto_path=${protobuf.source.dir}"/> |
||||
<arg value="--proto_path=${test.proto.dir}"/> |
||||
<arg value="--experimental_allow_proto3_optional"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/map_proto2_unittest.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest.proto"/> |
||||
<arg value="${protobuf.source.dir}/google/protobuf/unittest_proto3.proto"/> |
||||
<arg value="${test.proto.dir}/com/google/protobuf/evil_names_proto2.proto"/> |
||||
<arg value="${test.proto.dir}/com/google/protobuf/evil_names_proto3.proto"/> |
||||
<arg value="${test.proto.dir}/com/google/protobuf/multiple_files_proto3.proto"/> |
||||
</exec> |
||||
|
||||
</project> |
@ -0,0 +1,240 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
<parent> |
||||
<groupId>com.google.protobuf</groupId> |
||||
<artifactId>protobuf-parent</artifactId> |
||||
<version>3.15.6</version> |
||||
</parent> |
||||
|
||||
<artifactId>protobuf-kotlin</artifactId> |
||||
<packaging>bundle</packaging> |
||||
|
||||
<name>Protocol Buffers [Core]</name> |
||||
<description> |
||||
Core Protocol Buffers library. Protocol Buffers are a way of encoding structured data in an |
||||
efficient yet extensible format. |
||||
</description> |
||||
|
||||
<properties> |
||||
<kotlin.version>1.4.31</kotlin.version> |
||||
</properties> |
||||
|
||||
<dependencies> |
||||
<dependency> |
||||
<groupId>${project.groupId}</groupId> |
||||
<artifactId>protobuf-java</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>junit</groupId> |
||||
<artifactId>junit</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.easymock</groupId> |
||||
<artifactId>easymock</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.easymock</groupId> |
||||
<artifactId>easymockclassextension</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>com.google.guava</groupId> |
||||
<artifactId>guava</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>com.google.guava</groupId> |
||||
<artifactId>guava-testlib</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>com.google.truth</groupId> |
||||
<artifactId>truth</artifactId> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.jetbrains.kotlin</groupId> |
||||
<artifactId>kotlin-stdlib</artifactId> |
||||
<version>${kotlin.version}</version> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.jetbrains.kotlin</groupId> |
||||
<artifactId>kotlin-test</artifactId> |
||||
<version>${kotlin.version}</version> |
||||
<scope>test</scope> |
||||
</dependency> |
||||
</dependencies> |
||||
|
||||
<build> |
||||
<!-- Include core protos in the bundle as resources --> |
||||
<resources> |
||||
<resource> |
||||
<directory>${protobuf.source.dir}</directory> |
||||
<includes> |
||||
<include>google/protobuf/any.proto</include> |
||||
<include>google/protobuf/api.proto</include> |
||||
<include>google/protobuf/descriptor.proto</include> |
||||
<include>google/protobuf/duration.proto</include> |
||||
<include>google/protobuf/empty.proto</include> |
||||
<include>google/protobuf/field_mask.proto</include> |
||||
<include>google/protobuf/source_context.proto</include> |
||||
<include>google/protobuf/struct.proto</include> |
||||
<include>google/protobuf/timestamp.proto</include> |
||||
<include>google/protobuf/type.proto</include> |
||||
<include>google/protobuf/wrappers.proto</include> |
||||
<include>google/protobuf/compiler/plugin.proto</include> |
||||
</includes> |
||||
</resource> |
||||
</resources> |
||||
<testResources> |
||||
<testResource> |
||||
<directory>${protobuf.source.dir}</directory> |
||||
<includes> |
||||
<include>google/protobuf/testdata/golden_message_oneof_implemented</include> |
||||
<include>google/protobuf/testdata/golden_packed_fields_message</include> |
||||
</includes> |
||||
</testResource> |
||||
</testResources> |
||||
|
||||
<plugins> |
||||
<plugin> |
||||
<artifactId>maven-resources-plugin</artifactId> |
||||
<version>3.1.0</version> |
||||
<executions> |
||||
<execution> |
||||
<id>copy-test-source-files</id> |
||||
<phase>generate-test-sources</phase> |
||||
<goals> |
||||
<goal>copy-resources</goal> |
||||
</goals> |
||||
<configuration> |
||||
<outputDirectory>${generated.testsources.dir}/com/google/protobuf</outputDirectory> |
||||
<resources> |
||||
<resource> |
||||
<directory>${basedir}/../core/src/test/java/com/google/protobuf</directory> |
||||
<includes> |
||||
<include>TestUtil.java</include> |
||||
<include>TestUtilLite.java</include> |
||||
</includes> |
||||
</resource> |
||||
</resources> |
||||
</configuration> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
|
||||
<!-- Use Antrun plugin to generate sources with protoc --> |
||||
<plugin> |
||||
<artifactId>maven-antrun-plugin</artifactId> |
||||
<executions> |
||||
<!-- Generate core protos --> |
||||
<execution> |
||||
<id>generate-sources</id> |
||||
<phase>generate-sources</phase> |
||||
<configuration> |
||||
<target> |
||||
<ant antfile="generate-sources-build.xml"/> |
||||
</target> |
||||
</configuration> |
||||
<goals> |
||||
<goal>run</goal> |
||||
</goals> |
||||
</execution> |
||||
|
||||
<!-- Generate the test protos --> |
||||
<execution> |
||||
<id>generate-test-sources</id> |
||||
<phase>generate-test-sources</phase> |
||||
<configuration> |
||||
<target> |
||||
<ant antfile="generate-test-sources-build.xml"/> |
||||
</target> |
||||
</configuration> |
||||
<goals> |
||||
<goal>run</goal> |
||||
</goals> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
|
||||
<!-- Add the generated sources to the build --> |
||||
<plugin> |
||||
<groupId>org.codehaus.mojo</groupId> |
||||
<artifactId>build-helper-maven-plugin</artifactId> |
||||
<executions> |
||||
<execution> |
||||
<id>add-generated-sources</id> |
||||
<phase>generate-sources</phase> |
||||
<goals> |
||||
<goal>add-source</goal> |
||||
</goals> |
||||
<configuration> |
||||
<sources> |
||||
<source>${generated.sources.dir}</source> |
||||
</sources> |
||||
</configuration> |
||||
</execution> |
||||
<execution> |
||||
<id>add-generated-test-sources</id> |
||||
<phase>generate-test-sources</phase> |
||||
<goals> |
||||
<goal>add-test-source</goal> |
||||
</goals> |
||||
<configuration> |
||||
<sources> |
||||
<source>${generated.testsources.dir}</source> |
||||
</sources> |
||||
</configuration> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
<plugin> |
||||
<groupId>org.jetbrains.kotlin</groupId> |
||||
<artifactId>kotlin-maven-plugin</artifactId> |
||||
<version>${kotlin.version}</version> |
||||
<extensions>true</extensions> |
||||
<executions> |
||||
<execution> |
||||
<id>compile</id> |
||||
<goals> <goal>compile</goal> </goals> |
||||
<configuration> |
||||
<sourceDirs> |
||||
<sourceDir>${generated.sources.dir}</sourceDir> |
||||
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir> |
||||
</sourceDirs> |
||||
</configuration> |
||||
</execution> |
||||
<execution> |
||||
<id>test-compile</id> |
||||
<goals> <goal>test-compile</goal> </goals> |
||||
<configuration> |
||||
<sourceDirs> |
||||
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir> |
||||
<sourceDir>${generated.testsources.dir}</sourceDir> |
||||
</sourceDirs> |
||||
</configuration> |
||||
</execution> |
||||
</executions> |
||||
</plugin> |
||||
<!-- OSGI bundle configuration --> |
||||
<plugin> |
||||
<groupId>org.apache.felix</groupId> |
||||
<artifactId>maven-bundle-plugin</artifactId> |
||||
<extensions>true</extensions> |
||||
<configuration> |
||||
<instructions> |
||||
<Automatic-Module-Name>com.google.protobuf</Automatic-Module-Name> <!-- Java9+ Jigsaw module name --> |
||||
<Bundle-DocURL>https://developers.google.com/protocol-buffers/</Bundle-DocURL> |
||||
<Bundle-SymbolicName>com.google.protobuf</Bundle-SymbolicName> |
||||
<Export-Package>com.google.protobuf;version=${project.version}</Export-Package> |
||||
<Import-Package>sun.misc;resolution:=optional,*</Import-Package> |
||||
</instructions> |
||||
</configuration> |
||||
</plugin> |
||||
</plugins> |
||||
</build> |
||||
|
||||
</project> |
@ -0,0 +1,21 @@ |
||||
#!/bin/bash |
||||
# |
||||
# Builds protobuf C++ with aarch64 crosscompiler and runs a basic set of tests under an emulator. |
||||
# NOTE: This script is expected to run under the dockcross/linux-arm64 docker image. |
||||
|
||||
set -ex |
||||
|
||||
mkdir -p cmake/crossbuild_aarch64 |
||||
cd cmake/crossbuild_aarch64 |
||||
|
||||
# the build commands are expected to run under dockcross docker image |
||||
# where the CC, CXX and other toolchain variables already point to the crosscompiler |
||||
cmake .. |
||||
make -j8 |
||||
|
||||
# check that the resulting test binary is indeed an aarch64 ELF |
||||
(file ./tests | grep -q "ELF 64-bit LSB executable, ARM aarch64") || (echo "Test binary in not an aarch64 binary"; exit 1) |
||||
|
||||
# run the basic set of C++ tests under QEMU |
||||
# there are other tests we could run (e.g. ./lite-test), but this is sufficient as a smoketest |
||||
qemu-aarch64 ./tests |
@ -0,0 +1,33 @@ |
||||
#!/bin/bash |
||||
|
||||
set -e |
||||
|
||||
# go to the repo root |
||||
cd $(dirname $0)/../../../.. |
||||
|
||||
if [[ -t 0 ]]; then |
||||
DOCKER_TTY_ARGS="-it" |
||||
else |
||||
# The input device on kokoro is not a TTY, so -it does not work. |
||||
DOCKER_TTY_ARGS= |
||||
fi |
||||
|
||||
# running dockcross image without any arguments generates a wrapper |
||||
# scripts that can be used to run commands under the dockcross image |
||||
# easily. |
||||
# See https://github.com/dockcross/dockcross#usage for details |
||||
docker run $DOCKER_TTY_ARGS --rm dockcross/linux-arm64 >dockcross-linux-arm64.sh |
||||
chmod +x dockcross-linux-arm64.sh |
||||
|
||||
# the wrapper script has CRLF line endings and bash doesn't like that |
||||
# so we change CRLF line endings into LF. |
||||
sed -i 's/\r//g' dockcross-linux-arm64.sh |
||||
|
||||
# The dockcross wrapper script runs arbitrary commands under the selected dockcross |
||||
# image with the following properties which make its use very convenient: |
||||
# * the current working directory is mounted under /work so the container can easily |
||||
# access the current workspace |
||||
# * the processes in the container run under the same UID and GID as the host process so unlike |
||||
# vanilla "docker run" invocations, the workspace doesn't get polluted with files |
||||
# owned by root. |
||||
./dockcross-linux-arm64.sh "$@" |
@ -0,0 +1,19 @@ |
||||
#!/bin/bash |
||||
|
||||
set -ex |
||||
|
||||
# install the same version of node as in /tests.sh |
||||
NODE_VERSION=node-v12.16.3-linux-arm64 |
||||
NODE_TGZ="$NODE_VERSION.tar.gz" |
||||
pushd /tmp |
||||
curl -OL https://nodejs.org/dist/v12.16.3/$NODE_TGZ |
||||
tar zxvf $NODE_TGZ |
||||
export PATH=$PATH:`pwd`/$NODE_VERSION/bin |
||||
popd |
||||
|
||||
# go to the repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
cd js |
||||
npm install |
||||
npm test |
@ -0,0 +1,9 @@ |
||||
#!/bin/bash |
||||
# |
||||
# Builds protobuf C++ with aarch64 crosscompiler. |
||||
|
||||
set -ex |
||||
|
||||
./autogen.sh |
||||
CXXFLAGS="-fPIC -g -O2" ./configure --host=aarch64 |
||||
make -j8 |
@ -0,0 +1,26 @@ |
||||
#!/bin/bash |
||||
# |
||||
# Setup and configure qemu userspace emulator on kokoro worker so that we can seamlessly emulate processes running |
||||
# inside docker containers. |
||||
|
||||
set -ex |
||||
|
||||
# show pre-existing qemu registration |
||||
cat /proc/sys/fs/binfmt_misc/qemu-aarch64 |
||||
|
||||
# Kokoro ubuntu1604 workers have already qemu-user and qemu-user-static packages installed, but it's and old version that: |
||||
# * prints warning about some syscalls (e.g "qemu: Unsupported syscall: 278") |
||||
# * doesn't register with binfmt_misc with the persistent ("F") flag we need (see below) |
||||
# |
||||
# To overcome the above limitations, we use the https://github.com/multiarch/qemu-user-static |
||||
# docker image to provide a new enough version of qemu-user-static and register it with |
||||
# the desired binfmt_misc flags. The most important flag we need is "F" (set by "--persistent yes"), |
||||
# which allows the qemu-aarch64-static binary to be loaded eagerly at the time of registration with binfmt_misc. |
||||
# That way, we can emulate aarch64 binaries running inside docker containers transparently, without needing the emulator |
||||
# binary to be accessible from the docker image we're emulating. |
||||
# Note that on newer distributions (such as glinux), simply "apt install qemu-user-static" is sufficient |
||||
# to install qemu-user-static with the right flags. |
||||
docker run --rm --privileged multiarch/qemu-user-static:5.2.0-2 --reset --credential yes --persistent yes |
||||
|
||||
# Print current qemu reqistration to make sure everything is setup correctly. |
||||
cat /proc/sys/fs/binfmt_misc/qemu-aarch64 |
@ -0,0 +1,17 @@ |
||||
#!/bin/bash |
||||
|
||||
set -ex |
||||
|
||||
# go to the repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
gem install bundler |
||||
|
||||
cd ruby |
||||
|
||||
bundle |
||||
rake |
||||
rake clobber_package gem |
||||
|
||||
# run all the tests |
||||
rake test |
@ -0,0 +1,14 @@ |
||||
#!/bin/bash |
||||
# |
||||
# Crosscompiles protobuf C++ under dockcross docker image and runs the tests under an emulator. |
||||
|
||||
set -e |
||||
|
||||
# go to the repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
# Initialize any submodules. |
||||
git submodule update --init --recursive |
||||
|
||||
# run the C++ build and test script under dockcross/linux-arm64 image |
||||
kokoro/linux/aarch64/dockcross_helpers/run_dockcross_linux_aarch64.sh kokoro/linux/aarch64/cpp_crosscompile_and_run_tests_with_qemu_aarch64.sh |
@ -0,0 +1,29 @@ |
||||
#!/bin/bash |
||||
|
||||
set -ex |
||||
|
||||
# go to the repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
if [[ -t 0 ]]; then |
||||
DOCKER_TTY_ARGS="-it" |
||||
else |
||||
# The input device on kokoro is not a TTY, so -it does not work. |
||||
DOCKER_TTY_ARGS= |
||||
fi |
||||
|
||||
# First, build protobuf C# tests under x86_64 docker image |
||||
# Tests are built "dotnet publish" because we want all the dependencies to the copied to the destination directory |
||||
# (we want to avoid references to ~/.nuget that won't be available in the subsequent docker run) |
||||
CSHARP_BUILD_COMMAND="dotnet publish -c Release -f net50 csharp/src/Google.Protobuf.Test/Google.Protobuf.Test.csproj" |
||||
docker run $DOCKER_TTY_ARGS --rm --user "$(id -u):$(id -g)" -e "HOME=/home/fake-user" -e "DOTNET_CLI_TELEMETRY_OPTOUT=true" -e "DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true" -v "$(mktemp -d):/home/fake-user" -v "$(pwd)":/work -w /work mcr.microsoft.com/dotnet/sdk:5.0.202-buster-slim bash -c "$CSHARP_BUILD_COMMAND" |
||||
|
||||
# Use an actual aarch64 docker image to run protobuf C# tests with an emulator. "dotnet vstest" allows |
||||
# running tests from a pre-built project. |
||||
# * mount the protobuf root as /work to be able to access the crosscompiled files |
||||
# * to avoid running the process inside docker as root (which can pollute the workspace with files owned by root), we force |
||||
# running under current user's UID and GID. To be able to do that, we need to provide a home directory for the user |
||||
# otherwise the UID would be homeless under the docker container and pip install wouldn't work. For simplicity, |
||||
# we just run map the user's home to a throwaway temporary directory |
||||
CSHARP_TEST_COMMAND="dotnet vstest csharp/src/Google.Protobuf.Test/bin/Release/net50/publish/Google.Protobuf.Test.dll" |
||||
docker run $DOCKER_TTY_ARGS --rm --user "$(id -u):$(id -g)" -e "HOME=/home/fake-user" -e "DOTNET_CLI_TELEMETRY_OPTOUT=true" -e "DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true" -v "$(mktemp -d):/home/fake-user" -v "$(pwd)":/work -w /work mcr.microsoft.com/dotnet/sdk:5.0.202-buster-slim-arm64v8 bash -c "$CSHARP_TEST_COMMAND" |
@ -0,0 +1,32 @@ |
||||
#!/bin/bash |
||||
|
||||
set -ex |
||||
|
||||
# go to the repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
if [[ -t 0 ]]; then |
||||
DOCKER_TTY_ARGS="-it" |
||||
else |
||||
# The input device on kokoro is not a TTY, so -it does not work. |
||||
DOCKER_TTY_ARGS= |
||||
fi |
||||
|
||||
# crosscompile protoc as we will later need it for the java build. |
||||
# we build it under the dockcross/manylinux2014-aarch64 image so that the resulting protoc binary is compatible |
||||
# with a wide range of linux distros (including any docker images we will use later to build and test java) |
||||
kokoro/linux/aarch64/dockcross_helpers/run_dockcross_manylinux2014_aarch64.sh kokoro/linux/aarch64/protoc_crosscompile_aarch64.sh |
||||
|
||||
# the command that will be used to build and test java under an emulator |
||||
# * IsValidUtf8Test and DecodeUtf8Test tests are being skipped because that take very long under an emulator. |
||||
TEST_JAVA_COMMAND="mvn --batch-mode -DskipTests install && mvn --batch-mode -Dtest='**/*Test, !**/*IsValidUtf8Test, !**/*DecodeUtf8Test' -DfailIfNoTests=false surefire:test" |
||||
|
||||
# use an actual aarch64 docker image (with a real aarch64 java and maven) to run build & test protobuf java under an emulator |
||||
# * mount the protobuf root as /work to be able to access the crosscompiled files |
||||
# * to avoid running the process inside docker as root (which can pollute the workspace with files owned by root), we force |
||||
# running under current user's UID and GID. To be able to do that, we need to provide a home directory for the user |
||||
# otherwise the UID would be homeless under the docker container and pip install wouldn't work. For simplicity, |
||||
# we just run map the user's home to a throwaway temporary directory |
||||
# * the JAVA_OPTS and MAVEN_CONFIG variables are being set mostly to silence warnings about non-existent home directory |
||||
# and to avoid polluting the workspace. |
||||
docker run $DOCKER_TTY_ARGS --rm --user "$(id -u):$(id -g)" -e "HOME=/home/fake-user" -e "JAVA_OPTS=-Duser.home=/home/fake-user" -e "MAVEN_CONFIG=/home/fake-user/.m2" -v "$(mktemp -d):/home/fake-user" -v "$(pwd)":/work -w /work arm64v8/maven:3.8-openjdk-11 bash -c "cd java && $TEST_JAVA_COMMAND" |
@ -0,0 +1,29 @@ |
||||
#!/bin/bash |
||||
|
||||
set -ex |
||||
|
||||
# go to the repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
if [[ -t 0 ]]; then |
||||
DOCKER_TTY_ARGS="-it" |
||||
else |
||||
# The input device on kokoro is not a TTY, so -it does not work. |
||||
DOCKER_TTY_ARGS= |
||||
fi |
||||
|
||||
# crosscompile protoc as we will later need it for the javascript build. |
||||
# we build it under the dockcross/manylinux2014-aarch64 image so that the resulting protoc binary is compatible |
||||
# with a wide range of linux distros (including any docker images we will use later to build and test javascript) |
||||
kokoro/linux/aarch64/dockcross_helpers/run_dockcross_manylinux2014_aarch64.sh kokoro/linux/aarch64/protoc_crosscompile_aarch64.sh |
||||
|
||||
# use an actual aarch64 docker image (with a real aarch64 nodejs) to run build & test protobuf javascript under an emulator |
||||
# * mount the protobuf root as /work to be able to access the crosscompiled files |
||||
# * to avoid running the process inside docker as root (which can pollute the workspace with files owned by root), we force |
||||
# running under current user's UID and GID. To be able to do that, we need to provide a home directory for the user |
||||
# otherwise the UID would be homeless under the docker container and pip install wouldn't work. For simplicity, |
||||
# we just run map the user's home to a throwaway temporary directory |
||||
# Note that the docker image used for running the tests is arm64v8/openjdk, not arm64v8/node |
||||
# This is because some of the node tests require java to be available and adding node |
||||
# binary distribution into a java image is easier than vice versa. |
||||
docker run $DOCKER_TTY_ARGS --rm --user "$(id -u):$(id -g)" -e "HOME=/home/fake-user" -v "$(mktemp -d):/home/fake-user" -v "$(pwd)":/work -w /work arm64v8/openjdk:11-jdk-buster kokoro/linux/aarch64/javascript_build_and_run_tests_with_qemu_aarch64.sh |
@ -0,0 +1,27 @@ |
||||
#!/bin/bash |
||||
|
||||
set -ex |
||||
|
||||
# go to the repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
if [[ -t 0 ]]; then |
||||
DOCKER_TTY_ARGS="-it" |
||||
else |
||||
# The input device on kokoro is not a TTY, so -it does not work. |
||||
DOCKER_TTY_ARGS= |
||||
fi |
||||
|
||||
# crosscompile protoc as we will later need it for the ruby build. |
||||
# we build it under the dockcross/manylinux2014-aarch64 image so that the resulting protoc binary is compatible |
||||
# with a wide range of linux distros (including any docker images we will use later to build and test ruby) |
||||
kokoro/linux/aarch64/dockcross_helpers/run_dockcross_manylinux2014_aarch64.sh kokoro/linux/aarch64/protoc_crosscompile_aarch64.sh |
||||
|
||||
# use an actual aarch64 docker image (with a real aarch64 ruby) to run build & test protobuf ruby under an emulator |
||||
# * mount the protobuf root as /work to be able to access the crosscompiled files |
||||
# * to avoid running the process inside docker as root (which can pollute the workspace with files owned by root), we force |
||||
# running under current user's UID and GID. To be able to do that, we need to provide a home directory for the user |
||||
# otherwise the UID would be homeless under the docker container and pip install wouldn't work. For simplicity, |
||||
# we just run map the user's home to a throwaway temporary directory |
||||
|
||||
docker run $DOCKER_TTY_ARGS --rm --user "$(id -u):$(id -g)" -e "HOME=/home/fake-user" -v "$(mktemp -d):/home/fake-user" -v "$(pwd)":/work -w /work arm64v8/ruby:2.7.3-buster kokoro/linux/aarch64/ruby_build_and_run_tests_with_qemu_aarch64.sh |
@ -0,0 +1,11 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "continuous" and "presubmit" jobs. |
||||
|
||||
set -ex |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
kokoro/linux/aarch64/test_cpp_aarch64.sh |
@ -1,5 +1,5 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/java_compatibility/build.sh" |
||||
timeout_mins: 1440 |
||||
build_file: "protobuf/kokoro/linux/cpp_aarch64/build.sh" |
||||
timeout_mins: 120 |
@ -1,5 +1,5 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/java_compatibility/build.sh" |
||||
timeout_mins: 1440 |
||||
build_file: "protobuf/kokoro/linux/cpp_aarch64/build.sh" |
||||
timeout_mins: 120 |
@ -0,0 +1,16 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "continuous" and "presubmit" jobs. |
||||
|
||||
set -ex |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
# Initialize any submodules. |
||||
git submodule update --init --recursive |
||||
|
||||
kokoro/linux/aarch64/qemu_helpers/prepare_qemu.sh |
||||
|
||||
kokoro/linux/aarch64/test_csharp_aarch64.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/csharp_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/csharp_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,16 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "continuous" and "presubmit" jobs. |
||||
|
||||
set -ex |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
# Initialize any submodules. |
||||
git submodule update --init --recursive |
||||
|
||||
kokoro/linux/aarch64/qemu_helpers/prepare_qemu.sh |
||||
|
||||
kokoro/linux/aarch64/test_java_aarch64.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/java_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/java_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -1,17 +0,0 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "pull request" project: |
||||
# |
||||
# This script selects a specific Dockerfile (for building a Docker image) and |
||||
# a script to run inside that image. Then we delegate to the general |
||||
# build_and_run_docker.sh script. |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
export DOCKERFILE_DIR=kokoro/linux/64-bit |
||||
export DOCKER_RUN_SCRIPT=kokoro/linux/pull_request_in_docker.sh |
||||
export OUTPUT_DIR=testoutput |
||||
export TEST_SET="java_compatibility" |
||||
./kokoro/linux/build_and_run_docker.sh |
@ -0,0 +1,16 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "continuous" and "presubmit" jobs. |
||||
|
||||
set -ex |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
# Initialize any submodules. |
||||
git submodule update --init --recursive |
||||
|
||||
kokoro/linux/aarch64/qemu_helpers/prepare_qemu.sh |
||||
|
||||
kokoro/linux/aarch64/test_javascript_aarch64.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/javascript_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/javascript_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,13 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "continuous" and "presubmit" jobs. |
||||
|
||||
set -ex |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
kokoro/linux/aarch64/qemu_helpers/prepare_qemu.sh |
||||
|
||||
kokoro/linux/aarch64/test_python_aarch64.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/python_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,16 @@ |
||||
#!/bin/bash |
||||
# |
||||
# This is the top-level script we give to Kokoro as the entry point for |
||||
# running the "continuous" and "presubmit" jobs. |
||||
|
||||
set -ex |
||||
|
||||
# Change to repo root |
||||
cd $(dirname $0)/../../.. |
||||
|
||||
# Initialize any submodules. |
||||
git submodule update --init --recursive |
||||
|
||||
kokoro/linux/aarch64/qemu_helpers/prepare_qemu.sh |
||||
|
||||
kokoro/linux/aarch64/test_ruby_aarch64.sh |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/ruby_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
@ -0,0 +1,11 @@ |
||||
# Config file for running tests in Kokoro |
||||
|
||||
# Location of the build script in repository |
||||
build_file: "protobuf/kokoro/linux/ruby_aarch64/build.sh" |
||||
timeout_mins: 120 |
||||
|
||||
action { |
||||
define_artifacts { |
||||
regex: "**/sponge_log.xml" |
||||
} |
||||
} |
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue