From 8b6bd032eccc5fb83ae607b6215800a747326b52fc27ec0d358e7f51bb5e2c44 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Wed, 23 Oct 2024 08:14:56 +0000 Subject: [PATCH] Sync changes + split java into smaller packages + build the lite runtime for java too OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/protobuf?expand=0&rev=185 --- protobuf-java.changes | 22 ++++- protobuf-java.spec | 191 ++++++++++++++++++++++++++++++++++++---- protobuf.changes | 22 ++++- python-protobuf.changes | 15 +++- 4 files changed, 228 insertions(+), 22 deletions(-) diff --git a/protobuf-java.changes b/protobuf-java.changes index 2975244..96ec67b 100644 --- a/protobuf-java.changes +++ b/protobuf-java.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Mon Oct 21 20:55:21 UTC 2024 - Fridrich Strba + +- Java: mimic the bazel build and build also the protobuf-javalite + artifact +- Java: put the runtime artifacts to a protobuf-java-runtime package + and the protoc metadata into protobuf-java-protoc package. + * allows to make the runtime noarch + * keep the protoc subpackage archful +- Java: Let protobuf-java-runtime provide and obsolete protobuf-java + to render upgrade easier after we changed to the upstream + versioning for java bindings + +------------------------------------------------------------------- +Mon Oct 21 13:27:27 UTC 2024 - Dirk Müller + +- Python: keep building for 15.4+ + ------------------------------------------------------------------- Mon Oct 21 11:34:51 UTC 2024 - Fridrich Strba @@ -50,8 +68,8 @@ Fri Aug 2 16:42:09 UTC 2024 - Andreas Stieger bytes in StreamDecoder * Java: Add Automatic-Module-Name * PHP: Regen stale files - * Ruby C-Extension: Regen stale files - + * Ruby C-Extension: Regen stale files + ------------------------------------------------------------------- Sat Mar 9 20:36:14 UTC 2024 - Andreas Stieger diff --git a/protobuf-java.spec b/protobuf-java.spec index 547bd32..6ec27cc 100644 --- a/protobuf-java.spec +++ b/protobuf-java.spec @@ -79,9 +79,7 @@ BuildRequires: mvn(com.google.errorprone:error_prone_annotations) BuildRequires: mvn(com.google.guava:guava) BuildRequires: mvn(com.google.j2objc:j2objc-annotations) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) -Requires: %{tarname}-devel >= %{baseversion} Requires: java >= 1.8 -Obsoletes: %{tarname}-devel < %{baseversion} %description Protocol Buffers are a way of encoding structured data in an efficient yet @@ -90,6 +88,30 @@ RPC protocols and file formats. This package contains the Java bindings. +%package runtime +Summary: Java Bindings for Google Protocol Buffers +Provides: %{name} = %{baseversion} +Obsoletes: %{name} < %{baseversion} +BuildArch: noarch + +%description runtime +Protocol Buffers are a way of encoding structured data in an efficient yet +extensible format. Google uses Protocol Buffers for almost all of its internal +RPC protocols and file formats. + +This package contains the runtime for Java bindings. + +%package protoc +Summary: Java Bindings for Google Protocol Buffers (maven metadata for protoc) +Requires: %{tarname}-devel >= %{baseversion} + +%description protoc +Protocol Buffers are a way of encoding structured data in an efficient yet +extensible format. Google uses Protocol Buffers for almost all of its internal +RPC protocols and file formats. + +This package contains the maven artifact metadata to describe the protoc binary. + %package parent Summary: Java Bindings for Google Protocol Buffers (parent pom) BuildArch: noarch @@ -132,7 +154,6 @@ cp %{SOURCE2} lite/pom.xml cp %{SOURCE3} util/pom.xml %pom_disable_module kotlin %pom_disable_module kotlin-lite -%pom_disable_module lite %pom_remove_plugin :animal-sniffer-maven-plugin %pom_xpath_set "pom:plugin[pom:artifactId[text()='maven-compiler-plugin']]/pom:configuration/pom:source" "1.8" %pom_xpath_set "pom:plugin[pom:artifactId[text()='maven-compiler-plugin']]/pom:configuration/pom:target" "1.8" @@ -147,12 +168,12 @@ popd %build pushd java +# Core build protoc \ - --java_out=core/src/main/java \ - --proto_path=../src \ - --proto_path=core/src/main/resources/google/protobuf \ - core/src/main/resources/google/protobuf/java_features.proto -for i in \ + --java_out=core/src/main/java \ + --proto_path=../src \ + --proto_path=core/src/main/resources/google/protobuf \ + core/src/main/resources/google/protobuf/java_features.proto \ ../src/google/protobuf/any.proto \ ../src/google/protobuf/api.proto \ ../src/google/protobuf/descriptor.proto \ @@ -164,14 +185,148 @@ for i in \ ../src/google/protobuf/timestamp.proto \ ../src/google/protobuf/type.proto \ ../src/google/protobuf/wrappers.proto \ - ../src/google/protobuf/compiler/plugin.proto; do - protoc \ - --java_out=core/src/main/java \ - --proto_path=../src \ - --proto_path=core/src/main/resources/google/protobuf \ - ${i} - cp ${i} core/src/main/resources/google/protobuf/ -done + ../src/google/protobuf/compiler/plugin.proto +cp \ + ../src/google/protobuf/any.proto \ + ../src/google/protobuf/api.proto \ + ../src/google/protobuf/descriptor.proto \ + ../src/google/protobuf/duration.proto \ + ../src/google/protobuf/empty.proto \ + ../src/google/protobuf/field_mask.proto \ + ../src/google/protobuf/source_context.proto \ + ../src/google/protobuf/struct.proto \ + ../src/google/protobuf/timestamp.proto \ + ../src/google/protobuf/type.proto \ + ../src/google/protobuf/wrappers.proto \ + ../src/google/protobuf/compiler/plugin.proto \ + core/src/main/resources/google/protobuf/ +# Lite build +mkdir -p lite/src/main/resources/google/protobuf +mkdir -p lite/src/main/java/com/google/protobuf +# lite sources from lite/BUILD.bazel +cp \ + core/src/main/java/com/google/protobuf/AbstractMessageLite.java \ + core/src/main/java/com/google/protobuf/AbstractParser.java \ + core/src/main/java/com/google/protobuf/AbstractProtobufList.java \ + core/src/main/java/com/google/protobuf/AllocatedBuffer.java \ + core/src/main/java/com/google/protobuf/Android.java \ + core/src/main/java/com/google/protobuf/ArrayDecoders.java \ + core/src/main/java/com/google/protobuf/BinaryReader.java \ + core/src/main/java/com/google/protobuf/BinaryWriter.java \ + core/src/main/java/com/google/protobuf/BooleanArrayList.java \ + core/src/main/java/com/google/protobuf/BufferAllocator.java \ + core/src/main/java/com/google/protobuf/ByteBufferWriter.java \ + core/src/main/java/com/google/protobuf/ByteOutput.java \ + core/src/main/java/com/google/protobuf/ByteString.java \ + core/src/main/java/com/google/protobuf/CanIgnoreReturnValue.java \ + core/src/main/java/com/google/protobuf/CheckReturnValue.java \ + core/src/main/java/com/google/protobuf/CodedInputStream.java \ + core/src/main/java/com/google/protobuf/CodedInputStreamReader.java \ + core/src/main/java/com/google/protobuf/CodedOutputStream.java \ + core/src/main/java/com/google/protobuf/CodedOutputStreamWriter.java \ + core/src/main/java/com/google/protobuf/CompileTimeConstant.java \ + core/src/main/java/com/google/protobuf/DoubleArrayList.java \ + core/src/main/java/com/google/protobuf/ExperimentalApi.java \ + core/src/main/java/com/google/protobuf/ExtensionLite.java \ + core/src/main/java/com/google/protobuf/ExtensionRegistryFactory.java \ + core/src/main/java/com/google/protobuf/ExtensionRegistryLite.java \ + core/src/main/java/com/google/protobuf/ExtensionSchema.java \ + core/src/main/java/com/google/protobuf/ExtensionSchemaLite.java \ + core/src/main/java/com/google/protobuf/ExtensionSchemas.java \ + core/src/main/java/com/google/protobuf/FieldInfo.java \ + core/src/main/java/com/google/protobuf/FieldSet.java \ + core/src/main/java/com/google/protobuf/FieldType.java \ + core/src/main/java/com/google/protobuf/FloatArrayList.java \ + core/src/main/java/com/google/protobuf/GeneratedMessageInfoFactory.java \ + core/src/main/java/com/google/protobuf/GeneratedMessageLite.java \ + core/src/main/java/com/google/protobuf/InlineMe.java \ + core/src/main/java/com/google/protobuf/IntArrayList.java \ + core/src/main/java/com/google/protobuf/Internal.java \ + core/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java \ + core/src/main/java/com/google/protobuf/IterableByteBufferInputStream.java \ + core/src/main/java/com/google/protobuf/Java8Compatibility.java \ + core/src/main/java/com/google/protobuf/JavaType.java \ + core/src/main/java/com/google/protobuf/LazyField.java \ + core/src/main/java/com/google/protobuf/LazyFieldLite.java \ + core/src/main/java/com/google/protobuf/LazyStringArrayList.java \ + core/src/main/java/com/google/protobuf/LazyStringList.java \ + core/src/main/java/com/google/protobuf/ListFieldSchema.java \ + core/src/main/java/com/google/protobuf/ListFieldSchemaLite.java \ + core/src/main/java/com/google/protobuf/ListFieldSchemas.java \ + core/src/main/java/com/google/protobuf/LongArrayList.java \ + core/src/main/java/com/google/protobuf/ManifestSchemaFactory.java \ + core/src/main/java/com/google/protobuf/MapEntryLite.java \ + core/src/main/java/com/google/protobuf/MapFieldLite.java \ + core/src/main/java/com/google/protobuf/MapFieldSchema.java \ + core/src/main/java/com/google/protobuf/MapFieldSchemaLite.java \ + core/src/main/java/com/google/protobuf/MapFieldSchemas.java \ + core/src/main/java/com/google/protobuf/MessageInfo.java \ + core/src/main/java/com/google/protobuf/MessageInfoFactory.java \ + core/src/main/java/com/google/protobuf/MessageLite.java \ + core/src/main/java/com/google/protobuf/MessageLiteOrBuilder.java \ + core/src/main/java/com/google/protobuf/MessageLiteToString.java \ + core/src/main/java/com/google/protobuf/MessageSchema.java \ + core/src/main/java/com/google/protobuf/MessageSetSchema.java \ + core/src/main/java/com/google/protobuf/MutabilityOracle.java \ + core/src/main/java/com/google/protobuf/NewInstanceSchema.java \ + core/src/main/java/com/google/protobuf/NewInstanceSchemaLite.java \ + core/src/main/java/com/google/protobuf/NewInstanceSchemas.java \ + core/src/main/java/com/google/protobuf/OneofInfo.java \ + core/src/main/java/com/google/protobuf/Parser.java \ + core/src/main/java/com/google/protobuf/PrimitiveNonBoxingCollection.java \ + core/src/main/java/com/google/protobuf/ProtoSyntax.java \ + core/src/main/java/com/google/protobuf/Protobuf.java \ + core/src/main/java/com/google/protobuf/ProtobufArrayList.java \ + core/src/main/java/com/google/protobuf/ProtocolStringList.java \ + core/src/main/java/com/google/protobuf/RawMessageInfo.java \ + core/src/main/java/com/google/protobuf/Reader.java \ + core/src/main/java/com/google/protobuf/RopeByteString.java \ + core/src/main/java/com/google/protobuf/RuntimeVersion.java \ + core/src/main/java/com/google/protobuf/Schema.java \ + core/src/main/java/com/google/protobuf/SchemaFactory.java \ + core/src/main/java/com/google/protobuf/SchemaUtil.java \ + core/src/main/java/com/google/protobuf/SmallSortedMap.java \ + core/src/main/java/com/google/protobuf/StructuralMessageInfo.java \ + core/src/main/java/com/google/protobuf/TextFormatEscaper.java \ + core/src/main/java/com/google/protobuf/UninitializedMessageException.java \ + core/src/main/java/com/google/protobuf/UnknownFieldSchema.java \ + core/src/main/java/com/google/protobuf/UnknownFieldSetLite.java \ + core/src/main/java/com/google/protobuf/UnknownFieldSetLiteSchema.java \ + core/src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java \ + core/src/main/java/com/google/protobuf/UnsafeByteOperations.java \ + core/src/main/java/com/google/protobuf/UnsafeUtil.java \ + core/src/main/java/com/google/protobuf/Utf8.java \ + core/src/main/java/com/google/protobuf/WireFormat.java \ + core/src/main/java/com/google/protobuf/Writer.java \ + lite/src/main/java/com/google/protobuf/ +protoc \ + --java_out=lite:lite/src/main/java \ + --proto_path=../src \ + --proto_path=core/src/main/resources/google/protobuf \ + ../src/google/protobuf/any.proto \ + ../src/google/protobuf/api.proto \ + ../src/google/protobuf/descriptor.proto \ + ../src/google/protobuf/duration.proto \ + ../src/google/protobuf/empty.proto \ + ../src/google/protobuf/field_mask.proto \ + ../src/google/protobuf/source_context.proto \ + ../src/google/protobuf/struct.proto \ + ../src/google/protobuf/timestamp.proto \ + ../src/google/protobuf/type.proto \ + ../src/google/protobuf/wrappers.proto +cp \ + ../src/google/protobuf/any.proto \ + ../src/google/protobuf/api.proto \ + ../src/google/protobuf/descriptor.proto \ + ../src/google/protobuf/duration.proto \ + ../src/google/protobuf/empty.proto \ + ../src/google/protobuf/field_mask.proto \ + ../src/google/protobuf/source_context.proto \ + ../src/google/protobuf/struct.proto \ + ../src/google/protobuf/timestamp.proto \ + ../src/google/protobuf/type.proto \ + ../src/google/protobuf/wrappers.proto \ + lite/src/main/resources/google/protobuf/ %{mvn_build} -f -- -Dprotoc=$(type -p protoc) popd @@ -198,8 +353,10 @@ cat <<__PROTOBUF__ >>%{buildroot}%{_datadir}/maven-metadata/%{name}-protoc.xml __PROTOBUF__ popd -%files -f java/.mfiles +%files runtime -f java/.mfiles %license LICENSE + +%files protoc %{_datadir}/maven-metadata/%{name}-protoc.xml %files bom -f java/.mfiles-bom diff --git a/protobuf.changes b/protobuf.changes index 2975244..96ec67b 100644 --- a/protobuf.changes +++ b/protobuf.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Mon Oct 21 20:55:21 UTC 2024 - Fridrich Strba + +- Java: mimic the bazel build and build also the protobuf-javalite + artifact +- Java: put the runtime artifacts to a protobuf-java-runtime package + and the protoc metadata into protobuf-java-protoc package. + * allows to make the runtime noarch + * keep the protoc subpackage archful +- Java: Let protobuf-java-runtime provide and obsolete protobuf-java + to render upgrade easier after we changed to the upstream + versioning for java bindings + +------------------------------------------------------------------- +Mon Oct 21 13:27:27 UTC 2024 - Dirk Müller + +- Python: keep building for 15.4+ + ------------------------------------------------------------------- Mon Oct 21 11:34:51 UTC 2024 - Fridrich Strba @@ -50,8 +68,8 @@ Fri Aug 2 16:42:09 UTC 2024 - Andreas Stieger bytes in StreamDecoder * Java: Add Automatic-Module-Name * PHP: Regen stale files - * Ruby C-Extension: Regen stale files - + * Ruby C-Extension: Regen stale files + ------------------------------------------------------------------- Sat Mar 9 20:36:14 UTC 2024 - Andreas Stieger diff --git a/python-protobuf.changes b/python-protobuf.changes index b1f6434..96ec67b 100644 --- a/python-protobuf.changes +++ b/python-protobuf.changes @@ -1,7 +1,20 @@ +------------------------------------------------------------------- +Mon Oct 21 20:55:21 UTC 2024 - Fridrich Strba + +- Java: mimic the bazel build and build also the protobuf-javalite + artifact +- Java: put the runtime artifacts to a protobuf-java-runtime package + and the protoc metadata into protobuf-java-protoc package. + * allows to make the runtime noarch + * keep the protoc subpackage archful +- Java: Let protobuf-java-runtime provide and obsolete protobuf-java + to render upgrade easier after we changed to the upstream + versioning for java bindings + ------------------------------------------------------------------- Mon Oct 21 13:27:27 UTC 2024 - Dirk Müller -- keep building for 15.4+ +- Python: keep building for 15.4+ ------------------------------------------------------------------- Mon Oct 21 11:34:51 UTC 2024 - Fridrich Strba