wallet.proto, paymentrequest.proto: move generated files to dedicated packages

* Modify the `java_package` setting in our two `.proto` source files
 * Move 2 existing generated-but-checked-in Protos.java files to
   dedicated packages (i.e. packages without hand-coded "artisanal" files)

This is a step towards more compatibility with ProtoBuf tooling which
sometimes likes to delete the generated files and:

 > can't distinguish between "old generated code" and "your artisan source files."

and more importantly it is a step towards fixing Gradle 8 caching issues.
This commit is contained in:
Sean Gilligan 2023-07-28 21:44:13 +02:00 committed by Andreas Schildbach
parent a7446b65ae
commit 36dce3d9d5
29 changed files with 38 additions and 20040 deletions

1
.gitignore vendored
View file

@ -13,3 +13,4 @@ bin/
out/ out/
*.chain *.chain
*.spvchain *.spvchain
core/src/main/java/org/bitcoinj/protobuf/

File diff suppressed because it is too large Load diff

View file

@ -35,7 +35,7 @@ import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.base.VarInt; import org.bitcoinj.base.VarInt;
import org.bitcoinj.crypto.internal.CryptoUtils; import org.bitcoinj.crypto.internal.CryptoUtils;
import org.bitcoinj.crypto.utils.MessageVerifyUtils; import org.bitcoinj.crypto.utils.MessageVerifyUtils;
import org.bitcoinj.wallet.Protos; import org.bitcoinj.protobuf.wallet.Protos;
import org.bitcoinj.wallet.Wallet; import org.bitcoinj.wallet.Wallet;
import org.bouncycastle.asn1.ASN1InputStream; import org.bouncycastle.asn1.ASN1InputStream;
import org.bouncycastle.asn1.ASN1Integer; import org.bouncycastle.asn1.ASN1Integer;

View file

@ -16,7 +16,7 @@
package org.bitcoinj.crypto; package org.bitcoinj.crypto;
import org.bitcoinj.wallet.Protos; import org.bitcoinj.protobuf.wallet.Protos;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.time.Instant; import java.time.Instant;

View file

@ -16,7 +16,7 @@
package org.bitcoinj.crypto; package org.bitcoinj.crypto;
import org.bitcoinj.wallet.Protos.Wallet.EncryptionType; import org.bitcoinj.protobuf.wallet.Protos.Wallet.EncryptionType;
/** /**
* <p>A KeyCrypter can be used to encrypt and decrypt a message. The sequence of events to encrypt and then decrypt * <p>A KeyCrypter can be used to encrypt and decrypt a message. The sequence of events to encrypt and then decrypt

View file

@ -20,9 +20,9 @@ package org.bitcoinj.crypto;
import com.google.protobuf.ByteString; import com.google.protobuf.ByteString;
import org.bitcoinj.base.internal.Stopwatch; import org.bitcoinj.base.internal.Stopwatch;
import org.bitcoinj.base.internal.TimeUtils; import org.bitcoinj.base.internal.TimeUtils;
import org.bitcoinj.wallet.Protos; import org.bitcoinj.protobuf.wallet.Protos;
import org.bitcoinj.wallet.Protos.ScryptParameters; import org.bitcoinj.protobuf.wallet.Protos.ScryptParameters;
import org.bitcoinj.wallet.Protos.Wallet.EncryptionType; import org.bitcoinj.protobuf.wallet.Protos.Wallet.EncryptionType;
import org.bouncycastle.crypto.BufferedBlockCipher; import org.bouncycastle.crypto.BufferedBlockCipher;
import org.bouncycastle.crypto.InvalidCipherTextException; import org.bouncycastle.crypto.InvalidCipherTextException;
import org.bouncycastle.crypto.engines.AESEngine; import org.bouncycastle.crypto.engines.AESEngine;

View file

@ -20,7 +20,7 @@ package org.bitcoinj.protocols.payments;
import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects;
import com.google.protobuf.ByteString; import com.google.protobuf.ByteString;
import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.InvalidProtocolBufferException;
import org.bitcoin.protocols.payments.Protos; import org.bitcoinj.protobuf.payments.Protos;
import org.bitcoinj.base.Address; import org.bitcoinj.base.Address;
import org.bitcoinj.base.Coin; import org.bitcoinj.base.Coin;
import org.bitcoinj.base.internal.TimeUtils; import org.bitcoinj.base.internal.TimeUtils;

View file

@ -18,7 +18,7 @@ package org.bitcoinj.protocols.payments;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.InvalidProtocolBufferException;
import org.bitcoin.protocols.payments.Protos; import org.bitcoinj.protobuf.payments.Protos;
import org.bitcoinj.base.Address; import org.bitcoinj.base.Address;
import org.bitcoinj.base.Coin; import org.bitcoinj.base.Coin;
import org.bitcoinj.base.internal.TimeUtils; import org.bitcoinj.base.internal.TimeUtils;

View file

@ -31,6 +31,7 @@ import org.bitcoinj.crypto.KeyCrypterScrypt;
import org.bitcoinj.utils.ListenerRegistration; import org.bitcoinj.utils.ListenerRegistration;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
import org.bitcoinj.wallet.listeners.KeyChainEventListener; import org.bitcoinj.wallet.listeners.KeyChainEventListener;
import org.bitcoinj.protobuf.wallet.Protos;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.time.Instant; import java.time.Instant;

View file

@ -44,6 +44,7 @@ import org.bitcoinj.script.Script;
import org.bitcoinj.utils.ListenerRegistration; import org.bitcoinj.utils.ListenerRegistration;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
import org.bitcoinj.wallet.listeners.KeyChainEventListener; import org.bitcoinj.wallet.listeners.KeyChainEventListener;
import org.bitcoinj.protobuf.wallet.Protos;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;

View file

@ -37,6 +37,7 @@ import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import org.bitcoinj.base.internal.ByteUtils; import org.bitcoinj.base.internal.ByteUtils;
import org.bitcoinj.protobuf.wallet.Protos;
import static org.bitcoinj.base.internal.Preconditions.checkArgument; import static org.bitcoinj.base.internal.Preconditions.checkArgument;
import static org.bitcoinj.base.internal.Preconditions.checkState; import static org.bitcoinj.base.internal.Preconditions.checkState;

View file

@ -19,6 +19,7 @@ package org.bitcoinj.wallet;
import org.bitcoinj.core.BloomFilter; import org.bitcoinj.core.BloomFilter;
import org.bitcoinj.crypto.ECKey; import org.bitcoinj.crypto.ECKey;
import org.bitcoinj.wallet.listeners.KeyChainEventListener; import org.bitcoinj.wallet.listeners.KeyChainEventListener;
import org.bitcoinj.protobuf.wallet.Protos;
import java.time.Instant; import java.time.Instant;
import java.util.List; import java.util.List;

View file

@ -39,6 +39,7 @@ import org.bitcoinj.utils.ListenerRegistration;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
import org.bitcoinj.wallet.listeners.CurrentKeyChangeEventListener; import org.bitcoinj.wallet.listeners.CurrentKeyChangeEventListener;
import org.bitcoinj.wallet.listeners.KeyChainEventListener; import org.bitcoinj.wallet.listeners.KeyChainEventListener;
import org.bitcoinj.protobuf.wallet.Protos;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;

File diff suppressed because it is too large Load diff

View file

@ -18,7 +18,7 @@
package org.bitcoinj.wallet; package org.bitcoinj.wallet;
import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects;
import org.bitcoin.protocols.payments.Protos.PaymentDetails; import org.bitcoinj.protobuf.payments.Protos.PaymentDetails;
import org.bitcoinj.base.Address; import org.bitcoinj.base.Address;
import org.bitcoinj.base.Coin; import org.bitcoinj.base.Coin;
import org.bitcoinj.crypto.AesKey; import org.bitcoinj.crypto.AesKey;

View file

@ -89,7 +89,8 @@ import org.bitcoinj.base.internal.FutureUtils;
import org.bitcoinj.utils.ListenableCompletableFuture; import org.bitcoinj.utils.ListenableCompletableFuture;
import org.bitcoinj.utils.ListenerRegistration; import org.bitcoinj.utils.ListenerRegistration;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
import org.bitcoinj.wallet.Protos.Wallet.EncryptionType; import org.bitcoinj.protobuf.wallet.Protos;
import org.bitcoinj.protobuf.wallet.Protos.Wallet.EncryptionType;
import org.bitcoinj.wallet.WalletTransaction.Pool; import org.bitcoinj.wallet.WalletTransaction.Pool;
import org.bitcoinj.wallet.listeners.CurrentKeyChangeEventListener; import org.bitcoinj.wallet.listeners.CurrentKeyChangeEventListener;
import org.bitcoinj.wallet.listeners.KeyChainEventListener; import org.bitcoinj.wallet.listeners.KeyChainEventListener;

View file

@ -43,7 +43,8 @@ import org.bitcoinj.script.Script;
import org.bitcoinj.script.ScriptException; import org.bitcoinj.script.ScriptException;
import org.bitcoinj.utils.ExchangeRate; import org.bitcoinj.utils.ExchangeRate;
import org.bitcoinj.base.utils.Fiat; import org.bitcoinj.base.utils.Fiat;
import org.bitcoinj.wallet.Protos.Wallet.EncryptionType; import org.bitcoinj.protobuf.wallet.Protos;
import org.bitcoinj.protobuf.wallet.Protos.Wallet.EncryptionType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -730,7 +731,7 @@ public class WalletProtobufSerializer {
txMap.put(txProto.getHash(), tx); txMap.put(txProto.getHash(), tx);
} }
private WalletTransaction connectTransactionOutputs(final org.bitcoinj.wallet.Protos.Transaction txProto) throws UnreadableWalletException { private WalletTransaction connectTransactionOutputs(final Protos.Transaction txProto) throws UnreadableWalletException {
Transaction tx = txMap.get(txProto.getHash()); Transaction tx = txMap.get(txProto.getHash());
final WalletTransaction.Pool pool; final WalletTransaction.Pool pool;
switch (txProto.getPool()) { switch (txProto.getPool()) {

View file

@ -34,7 +34,7 @@ syntax = "proto2";
package payments; package payments;
option java_package = "org.bitcoin.protocols.payments"; option java_package = "org.bitcoinj.protobuf.payments";
option java_outer_classname = "Protos"; option java_outer_classname = "Protos";
// Generalized form of "send payment to this/these bitcoin addresses" // Generalized form of "send payment to this/these bitcoin addresses"

View file

@ -27,7 +27,7 @@ syntax = "proto2";
package wallet; package wallet;
option java_package = "org.bitcoinj.wallet"; option java_package = "org.bitcoinj.protobuf.wallet";
option java_outer_classname = "Protos"; option java_outer_classname = "Protos";
message PeerAddress { message PeerAddress {

View file

@ -16,10 +16,10 @@
package org.bitcoinj.protocols.payments; package org.bitcoinj.protocols.payments;
import org.bitcoin.protocols.payments.Protos; import org.bitcoinj.protobuf.payments.Protos;
import org.bitcoin.protocols.payments.Protos.Payment; import org.bitcoinj.protobuf.payments.Protos.Payment;
import org.bitcoin.protocols.payments.Protos.PaymentACK; import org.bitcoinj.protobuf.payments.Protos.PaymentACK;
import org.bitcoin.protocols.payments.Protos.PaymentRequest; import org.bitcoinj.protobuf.payments.Protos.PaymentRequest;
import org.bitcoinj.base.BitcoinNetwork; import org.bitcoinj.base.BitcoinNetwork;
import org.bitcoinj.base.ScriptType; import org.bitcoinj.base.ScriptType;
import org.bitcoinj.base.Address; import org.bitcoinj.base.Address;

View file

@ -18,7 +18,7 @@
package org.bitcoinj.protocols.payments; package org.bitcoinj.protocols.payments;
import com.google.protobuf.ByteString; import com.google.protobuf.ByteString;
import org.bitcoin.protocols.payments.Protos; import org.bitcoinj.protobuf.payments.Protos;
import org.bitcoinj.base.BitcoinNetwork; import org.bitcoinj.base.BitcoinNetwork;
import org.bitcoinj.base.ScriptType; import org.bitcoinj.base.ScriptType;
import org.bitcoinj.base.Address; import org.bitcoinj.base.Address;

View file

@ -49,7 +49,7 @@ import org.bitcoinj.utils.Threading;
import org.bitcoinj.wallet.DeterministicKeyChain; import org.bitcoinj.wallet.DeterministicKeyChain;
import org.bitcoinj.wallet.KeyChain; import org.bitcoinj.wallet.KeyChain;
import org.bitcoinj.wallet.KeyChainGroup; import org.bitcoinj.wallet.KeyChainGroup;
import org.bitcoinj.wallet.Protos; import org.bitcoinj.protobuf.wallet.Protos;
import org.bitcoinj.wallet.UnreadableWalletException; import org.bitcoinj.wallet.UnreadableWalletException;
import org.bitcoinj.wallet.Wallet; import org.bitcoinj.wallet.Wallet;
import org.bitcoinj.wallet.WalletExtension; import org.bitcoinj.wallet.WalletExtension;

View file

@ -25,6 +25,7 @@ import org.bitcoinj.crypto.KeyCrypterException;
import org.bitcoinj.crypto.KeyCrypterScrypt; import org.bitcoinj.crypto.KeyCrypterScrypt;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
import org.bitcoinj.wallet.listeners.AbstractKeyChainEventListener; import org.bitcoinj.wallet.listeners.AbstractKeyChainEventListener;
import org.bitcoinj.protobuf.wallet.Protos;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;

View file

@ -35,6 +35,7 @@ import org.bitcoinj.crypto.HDPath;
import org.bitcoinj.utils.BriefLogFormatter; import org.bitcoinj.utils.BriefLogFormatter;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
import org.bitcoinj.wallet.listeners.AbstractKeyChainEventListener; import org.bitcoinj.wallet.listeners.AbstractKeyChainEventListener;
import org.bitcoinj.protobuf.wallet.Protos;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;

View file

@ -34,6 +34,7 @@ import org.bitcoinj.utils.BriefLogFormatter;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
import org.bitcoinj.wallet.KeyChain.KeyPurpose; import org.bitcoinj.wallet.KeyChain.KeyPurpose;
import org.bitcoinj.wallet.listeners.KeyChainEventListener; import org.bitcoinj.wallet.listeners.KeyChainEventListener;
import org.bitcoinj.protobuf.wallet.Protos;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;

View file

@ -70,7 +70,8 @@ import org.bitcoinj.utils.ExchangeRate;
import org.bitcoinj.base.utils.Fiat; import org.bitcoinj.base.utils.Fiat;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
import org.bitcoinj.wallet.KeyChain.KeyPurpose; import org.bitcoinj.wallet.KeyChain.KeyPurpose;
import org.bitcoinj.wallet.Protos.Wallet.EncryptionType; import org.bitcoinj.protobuf.wallet.Protos;
import org.bitcoinj.protobuf.wallet.Protos.Wallet.EncryptionType;
import org.bitcoinj.wallet.Wallet.BalanceType; import org.bitcoinj.wallet.Wallet.BalanceType;
import org.bitcoinj.wallet.WalletTransaction.Pool; import org.bitcoinj.wallet.WalletTransaction.Pool;
import org.easymock.EasyMock; import org.easymock.EasyMock;

View file

@ -23,7 +23,7 @@ import org.bitcoinj.protocols.payments.PaymentProtocolException;
import org.bitcoinj.protocols.payments.PaymentSession; import org.bitcoinj.protocols.payments.PaymentSession;
import org.bitcoinj.uri.BitcoinURI; import org.bitcoinj.uri.BitcoinURI;
import org.bitcoinj.uri.BitcoinURIParseException; import org.bitcoinj.uri.BitcoinURIParseException;
import org.bitcoin.protocols.payments.Protos; import org.bitcoinj.protobuf.payments.Protos;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;

View file

@ -22,7 +22,7 @@ import javafx.scene.control.*;
import javafx.scene.layout.*; import javafx.scene.layout.*;
import org.bitcoinj.crypto.AesKey; import org.bitcoinj.crypto.AesKey;
import org.bitcoinj.crypto.*; import org.bitcoinj.crypto.*;
import org.bitcoinj.wallet.*; import org.bitcoinj.protobuf.wallet.Protos;
import org.bitcoinj.walletfx.application.WalletApplication; import org.bitcoinj.walletfx.application.WalletApplication;
import org.bitcoinj.walletfx.overlay.OverlayController; import org.bitcoinj.walletfx.overlay.OverlayController;
import org.bitcoinj.walletfx.overlay.OverlayableStackPaneController; import org.bitcoinj.walletfx.overlay.OverlayableStackPaneController;

View file

@ -65,7 +65,7 @@ import org.bitcoinj.core.TransactionBroadcast;
import org.bitcoinj.core.VerificationException; import org.bitcoinj.core.VerificationException;
import org.bitcoinj.core.listeners.DownloadProgressTracker; import org.bitcoinj.core.listeners.DownloadProgressTracker;
import org.bitcoinj.wallet.KeyChainGroupStructure; import org.bitcoinj.wallet.KeyChainGroupStructure;
import org.bitcoinj.wallet.Protos; import org.bitcoinj.protobuf.wallet.Protos;
import org.bitcoinj.wallet.SendRequest; import org.bitcoinj.wallet.SendRequest;
import org.bitcoinj.wallet.UnreadableWalletException; import org.bitcoinj.wallet.UnreadableWalletException;
import org.bitcoinj.wallet.Wallet; import org.bitcoinj.wallet.Wallet;
@ -243,7 +243,7 @@ public class WalletTool implements Callable<Integer> {
private static AbstractBlockChain chain; private static AbstractBlockChain chain;
private static PeerGroup peerGroup; private static PeerGroup peerGroup;
private static Wallet wallet; private static Wallet wallet;
private static org.bitcoin.protocols.payments.Protos.PaymentRequest paymentRequest; private static org.bitcoinj.protobuf.payments.Protos.PaymentRequest paymentRequest;
public static class Condition { public static class Condition {
public enum Type { public enum Type {
@ -822,7 +822,7 @@ public class WalletTool implements Callable<Integer> {
System.exit(1); System.exit(1);
} }
try { try {
paymentRequest = org.bitcoin.protocols.payments.Protos.PaymentRequest.newBuilder().mergeFrom(stream).build(); paymentRequest = org.bitcoinj.protobuf.payments.Protos.PaymentRequest.newBuilder().mergeFrom(stream).build();
} catch(IOException e) { } catch(IOException e) {
System.err.println("Failed to parse payment request from file " + e.getMessage()); System.err.println("Failed to parse payment request from file " + e.getMessage());
System.exit(1); System.exit(1);