From 7113b72e112b8caff05b60d273d0c46921d5b6a0 Mon Sep 17 00:00:00 2001 From: Colin Alworth Date: Wed, 6 Mar 2024 18:42:14 -0600 Subject: [PATCH] Automate file headers (#5207) Automates license headers and updates generated headers to more clearly indicate what should be changed. Removes spotless exclusions where possible, using file comments instead when necessary. Disables spotless for files not under the dh license. This will fail to build, the next commit, #5208 will apply these changes across the codebase. Fixes #1997 --- Base/build.gradle | 8 - ClientSupport/ClientSupport.gradle | 8 - Container/build.gradle | 8 +- .../main/java/io/deephaven/gen/GenUtils.java | 23 +- .../plot/util/GenerateAxesPlotMethods.java | 5 +- .../plot/util/GenerateMultiSeries.java | 4 +- .../io/deephaven/pythonPreambles/plotV2.py | 2 +- Plot/Plot.gradle | 13 - .../codegen/GenerateContextualAuthWiring.java | 2 +- .../codegen/GenerateServiceAuthWiring.java | 2 +- ...o.deephaven.java-coding-conventions.gradle | 6 + ...o.deephaven.java-common-conventions.gradle | 1 - ...o.deephaven.java-header-conventions.gradle | 1 - .../groovy/io.deephaven.python-wheel.gradle | 10 + .../primitivetemplate/CodeGenerator.java | 21 +- cpp-client/build.gradle | 11 + engine/api/build.gradle | 16 - engine/benchmark/build.gradle | 16 - engine/chunk/build.gradle | 16 - .../io/deephaven/chunk/WritableCharChunk.java | 4 - engine/function/build.gradle | 13 +- engine/function/src/templates/Basic.ftl | 6 +- engine/function/src/templates/BinSearch.ftl | 3 + engine/function/src/templates/Cast.ftl | 6 +- engine/function/src/templates/Numeric.ftl | 3 + engine/function/src/templates/Sort.ftl | 3 + engine/function/src/templates/TestBasic.ftl | 6 +- .../function/src/templates/TestBinSearch.ftl | 6 +- engine/function/src/templates/TestCast.ftl | 6 +- engine/function/src/templates/TestNumeric.ftl | 6 +- engine/function/src/templates/TestSort.ftl | 6 +- engine/primitive/build.gradle | 15 - engine/table/build.gradle | 31 +- ...crementalChunkedCrossJoinStateManager.java | 7 +- .../impl/by/typed/TypedHasherFactory.java | 17 +- .../lang/QueryLanguageFunctionGenerator.java | 39 +- .../impl/sources/CharacterArraySource.java | 7 +- .../table/impl/sources/sparse/CharOneOrN.java | 7 +- .../updateby/fill/CharFillByOperator.java | 4 + .../timsort/BaseTestCharTimSortKernel.java | 7 +- .../ssms/TestCharSegmentedSortedMultiset.java | 7 +- engine/time/build.gradle | 8 - engine/tuplesource/build.gradle | 8 - engine/vector/build.gradle | 15 - .../java/io/deephaven/vector/CharVector.java | 10 +- extensions/arrow/build.gradle | 9 - extensions/barrage/build.gradle | 9 - extensions/kafka/build.gradle | 8 - extensions/parquet/base/build.gradle | 8 - extensions/parquet/benchmark/build.gradle | 16 - extensions/parquet/table/build.gradle | 17 - extensions/source-support/build.gradle | 16 - grpc-java/grpc-mtls/build.gradle | 6 + ...tractMtlsClientCertificateInterceptor.java | 12 + .../io/deephaven/grpc/MTlsCertificate.java | 12 + grpc-java/grpc-servlet-jakarta/build.gradle | 8 +- .../jakarta/web/DelegatingAsyncContext.java | 13 + .../servlet/jakarta/web/GrpcWebFilter.java | 13 + .../jakarta/web/GrpcWebOutputStream.java | 13 + .../jakarta/web/GrpcWebServletRequest.java | 13 + .../jakarta/web/GrpcWebServletResponse.java | 13 + .../build.gradle | 7 +- .../AbstractWebSocketServerStream.java | 13 + .../AbstractWebsocketStreamImpl.java | 13 + .../websocket/ByteArrayWritableBuffer.java | 13 + .../servlet/web/websocket/GrpcWebsocket.java | 13 + .../MultiplexedWebSocketServerStream.java | 14 +- .../MultiplexedWebsocketStreamImpl.java | 14 +- .../web/websocket/WebSocketServerStream.java | 13 + .../web/websocket/WebsocketStreamImpl.java | 13 + license-header | 1 - py/client/tests/__init__.py | 2 + py/server/deephaven/server/__init__.py | 2 + py/server/deephaven_internal/__init__.py | 5 + .../GenerateArrowColumnSourceTests.java | 26 +- .../GenerateArrowColumnSources.java | 26 +- .../replicators/ReplicateHashTable.java | 33 +- .../replicators/ReplicateTypedHashers.java | 18 +- replication/static/build.gradle | 4 + .../replicators/ReplicateBarrageUtils.java | 15 +- .../replicators/ReplicateCachingSupplier.java | 11 +- .../replicators/ReplicateChunkFilters.java | 26 +- .../replicators/ReplicateColumnIterators.java | 21 +- .../ReplicateColumnSourceFillBenchmark.java | 8 +- .../replicators/ReplicateColumnStats.java | 9 +- .../replicators/ReplicateCopyKernel.java | 8 +- .../replicators/ReplicateCopyKernelTests.java | 11 +- .../ReplicateDownsamplingValueTrackers.java | 8 +- .../ReplicateDupCompactKernel.java | 31 +- .../replicators/ReplicateDupExpandKernel.java | 10 +- .../replicators/ReplicateFreezeBy.java | 12 +- .../replicators/ReplicateHashing.java | 32 +- .../deephaven/replicators/ReplicateKafka.java | 10 +- .../replicators/ReplicateOperators.java | 46 +- .../ReplicateParquetChunkedWriters.java | 7 +- .../ReplicateParquetTransferObjects.java | 39 +- .../ReplicatePrimitiveInterfaces.java | 46 +- .../ReplicateRangeSearchKernels.java | 14 +- ...ReplicateRegionAndRegionedSourceTests.java | 12 +- .../ReplicateRegionsAndRegionedSources.java | 27 +- .../replicators/ReplicateReverseKernel.java | 8 +- .../replicators/ReplicateRingBuffers.java | 21 +- .../ReplicateRingChunkSources.java | 8 +- .../ReplicateSegmentedSortedArray.java | 55 ++- .../ReplicateSegmentedSortedArrayTests.java | 10 +- .../ReplicateSegmentedSortedMultiset.java | 62 +-- ...ReplicateSegmentedSortedMultisetTests.java | 14 +- .../ReplicateSetInclusionKernel.java | 8 +- .../replicators/ReplicateSortCheck.java | 22 +- .../replicators/ReplicateSortKernel.java | 66 +-- .../replicators/ReplicateSortKernelTests.java | 28 +- .../ReplicateSourceAndChunkTests.java | 65 +-- .../ReplicateSourcesAndChunks.java | 126 +++--- .../replicators/ReplicateStampKernel.java | 28 +- .../ReplicateTableLocationKey.java | 9 +- .../replicators/ReplicateToPage.java | 10 +- .../replicators/ReplicateUnboxerKernel.java | 8 +- .../replicators/ReplicateUpdateBy.java | 54 +-- .../ReplicateVectorColumnWrappers.java | 13 +- .../replicators/ReplicateVectorTests.java | 14 +- .../replicators/ReplicateVectors.java | 19 +- .../replicators/TupleCodeGenerator.java | 6 +- .../replicators/TupleSourceCodeGenerator.java | 15 +- .../replication/ReplicatePrimitiveCode.java | 411 +++++++++--------- .../replication/ReplicationUtils.java | 39 +- 125 files changed, 1282 insertions(+), 1079 deletions(-) delete mode 100644 buildSrc/src/main/groovy/io.deephaven.java-header-conventions.gradle delete mode 100644 license-header diff --git a/Base/build.gradle b/Base/build.gradle index 7bdb1ca32c5..872cf943208 100644 --- a/Base/build.gradle +++ b/Base/build.gradle @@ -44,11 +44,3 @@ configurations { artifacts { tests jarTests } - -spotless { - java { - targetExclude( - '**/ringbuffer/Aggregating*RingBuffer*.java' - ) - } -} diff --git a/ClientSupport/ClientSupport.gradle b/ClientSupport/ClientSupport.gradle index 32e15e2d617..ec3c002ee0e 100644 --- a/ClientSupport/ClientSupport.gradle +++ b/ClientSupport/ClientSupport.gradle @@ -13,11 +13,3 @@ dependencies { implementation project(':Configuration') implementation depCommonsLang3 } - -spotless { - java { - targetExclude( - '**/**ValueTracker.java', - ) - } -} diff --git a/Container/build.gradle b/Container/build.gradle index 1c3a342402e..896d88dc8ae 100644 --- a/Container/build.gradle +++ b/Container/build.gradle @@ -5,4 +5,10 @@ plugins { dependencies { Classpaths.inheritJUnitClassic(project, 'testImplementation') -} \ No newline at end of file +} + +spotless { + java { + targetExclude '**/*' + } +} diff --git a/Generators/src/main/java/io/deephaven/gen/GenUtils.java b/Generators/src/main/java/io/deephaven/gen/GenUtils.java index b4ec61df602..158ce6d781d 100644 --- a/Generators/src/main/java/io/deephaven/gen/GenUtils.java +++ b/Generators/src/main/java/io/deephaven/gen/GenUtils.java @@ -1,3 +1,6 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.gen; import gnu.trove.map.TIntObjectMap; @@ -38,16 +41,16 @@ public static String indent(final int n) { * @return The header for a generated java file */ public static String javaHeader(final Class generatorClass, final String gradleTask) { - return "/**\n" + - " * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending\n" + - " */\n" + - "/****************************************************************************************************************************\n" - + - " ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - Run " + generatorClass.getSimpleName() - + " or \"./gradlew " + gradleTask + "\" to regenerate\n" - + - " ****************************************************************************************************************************/\n\n"; - + return String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + generatorClass.getSimpleName() + " or \"./gradlew " + gradleTask + + "\" to regenerate", + "//", + "// @formatter:off", + ""); } /** diff --git a/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java b/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java index c2bbba7739f..b3b8a0d655a 100644 --- a/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java +++ b/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java @@ -604,7 +604,10 @@ private static void generate(final boolean assertNoChange, final String file, fi final String header3 = headerSpace + headerComment + " AND THEN RUN GeneratePlottingConvenience " + headerComment; - StringBuilder code = new StringBuilder(header + "\n" + header2 + "\n" + header3 + "\n\n\n"); + StringBuilder code = new StringBuilder().append(header).append("\n") + .append(header2).append("\n") + .append(header3).append("\n// @formatter:off\n\n\n"); + code.append( codeFunction(isInterface, new String[] {"x", "y"}, new String[][] {numberTimeTypes, numberTimeTypes}, diff --git a/Generators/src/main/java/io/deephaven/plot/util/GenerateMultiSeries.java b/Generators/src/main/java/io/deephaven/plot/util/GenerateMultiSeries.java index fb2d5fea436..8b9379ea3b1 100644 --- a/Generators/src/main/java/io/deephaven/plot/util/GenerateMultiSeries.java +++ b/Generators/src/main/java/io/deephaven/plot/util/GenerateMultiSeries.java @@ -198,7 +198,9 @@ private void generateCode(final String devroot, final boolean assertNoChange, fi final String header3 = headerSpace + headerComment + " AND THEN RUN GenerateFigureImmutable " + headerComment; - code.append(String.join("\n", header, header2, header3)).append("\n\n"); + code.append(String.join("\n", header, header2, header3)) + .append("\n// @formatter:off\n\n"); + code.append(generateClasses(skip)); diff --git a/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py b/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py index d0acd29c87a..42ee927b9cb 100644 --- a/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py +++ b/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +# Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending # ###################################################################################################################### diff --git a/Plot/Plot.gradle b/Plot/Plot.gradle index 1d6a6068bfa..038280a4e5b 100644 --- a/Plot/Plot.gradle +++ b/Plot/Plot.gradle @@ -36,16 +36,3 @@ dependencies { testRuntimeOnly project(':log-to-slf4j') Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } - -spotless { - java { - targetExclude( - 'src/main/java/io/deephaven/plot/Axes.java', - 'src/main/java/io/deephaven/plot/AxesImpl.java', - 'src/main/java/io/deephaven/plot/Figure.java', - 'src/main/java/io/deephaven/plot/FigureImpl.java', - 'src/main/java/io/deephaven/plot/PlottingConvenience.java', - 'src/main/java/io/deephaven/plot/datasets/multiseries/**' - ) - } -} \ No newline at end of file diff --git a/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateContextualAuthWiring.java b/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateContextualAuthWiring.java index 5ccf816b639..8e55cd53631 100644 --- a/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateContextualAuthWiring.java +++ b/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateContextualAuthWiring.java @@ -132,7 +132,7 @@ private static void generateForService( grpcServiceName); JavaFile javaFile = JavaFile.builder(packageName, typeSpec.build()) .addFileComment("\n") - .addFileComment("Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending\n") + .addFileComment("Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n") .addFileComment("\n") .addFileComment("---------------------------------------------------------------------\n") .addFileComment("This class is generated by GenerateContextualAuthWiring. DO NOT EDIT!\n") diff --git a/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateServiceAuthWiring.java b/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateServiceAuthWiring.java index cf3759f62bd..1688408e2ca 100644 --- a/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateServiceAuthWiring.java +++ b/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateServiceAuthWiring.java @@ -166,7 +166,7 @@ private static void generateForService( service.getName() + "Grpc"); JavaFile javaFile = JavaFile.builder(packageName, typeSpec.build()) .addFileComment("\n") - .addFileComment("Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending\n") + .addFileComment("Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n") .addFileComment("\n") .addFileComment("------------------------------------------------------------------\n") .addFileComment("This class is generated by GenerateServiceAuthWiring. DO NOT EDIT!\n") diff --git a/buildSrc/src/main/groovy/io.deephaven.java-coding-conventions.gradle b/buildSrc/src/main/groovy/io.deephaven.java-coding-conventions.gradle index b3e6c9ff280..6d783742d5f 100644 --- a/buildSrc/src/main/groovy/io.deephaven.java-coding-conventions.gradle +++ b/buildSrc/src/main/groovy/io.deephaven.java-coding-conventions.gradle @@ -1,3 +1,5 @@ +import com.diffplug.spotless.generic.LicenseHeaderStep + plugins { id 'com.diffplug.spotless' } @@ -5,6 +7,10 @@ plugins { spotless { java { eclipse().configFile("${rootDir}/style/eclipse-java-google-style.xml") + + licenseHeader '''// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +//''', '(' + LicenseHeaderStep.DEFAULT_JAVA_HEADER_DELIMITER + '|// (\\*\\*\\*\\*\\*|@formatter:off))' } } diff --git a/buildSrc/src/main/groovy/io.deephaven.java-common-conventions.gradle b/buildSrc/src/main/groovy/io.deephaven.java-common-conventions.gradle index 31e52561a80..291dcf03d23 100644 --- a/buildSrc/src/main/groovy/io.deephaven.java-common-conventions.gradle +++ b/buildSrc/src/main/groovy/io.deephaven.java-common-conventions.gradle @@ -3,7 +3,6 @@ plugins { id 'java' id 'io.deephaven.java-classpath-conventions' id 'io.deephaven.java-license-conventions' - id 'io.deephaven.java-header-conventions' id 'io.deephaven.java-toolchain-conventions' id 'io.deephaven.java-jar-conventions' } diff --git a/buildSrc/src/main/groovy/io.deephaven.java-header-conventions.gradle b/buildSrc/src/main/groovy/io.deephaven.java-header-conventions.gradle deleted file mode 100644 index a3671378ef6..00000000000 --- a/buildSrc/src/main/groovy/io.deephaven.java-header-conventions.gradle +++ /dev/null @@ -1 +0,0 @@ -// TODO (deephaven-core#1997) Update or remove this once license headers are part of spotless diff --git a/buildSrc/src/main/groovy/io.deephaven.python-wheel.gradle b/buildSrc/src/main/groovy/io.deephaven.python-wheel.gradle index 0546a7be749..efc245638dd 100644 --- a/buildSrc/src/main/groovy/io.deephaven.python-wheel.gradle +++ b/buildSrc/src/main/groovy/io.deephaven.python-wheel.gradle @@ -1,12 +1,22 @@ plugins { id 'com.bmuschko.docker-remote-api' id 'io.deephaven.project.register' + id 'com.diffplug.spotless' } import io.deephaven.python.PythonWheelExtension project.extensions.create('wheel', PythonWheelExtension, project.objects) +spotless { + python { + target '**/*.py' + targetExclude '**/proto/*_pb2*', '**/setup.py', 'docs/**' + licenseHeader '#\n' + + '# Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n' + + '#', '[^#]' + } +} configurations { pythonWheel getByName(Dependency.DEFAULT_CONFIGURATION).extendsFrom(pythonWheel) diff --git a/codegen/src/main/java/io/deephaven/generator/primitivetemplate/CodeGenerator.java b/codegen/src/main/java/io/deephaven/generator/primitivetemplate/CodeGenerator.java index 671a7489ce6..d5c6a39a0b3 100644 --- a/codegen/src/main/java/io/deephaven/generator/primitivetemplate/CodeGenerator.java +++ b/codegen/src/main/java/io/deephaven/generator/primitivetemplate/CodeGenerator.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.generator.primitivetemplate; import freemarker.template.Configuration; @@ -36,11 +36,16 @@ public static void main(final String[] args) throws Exception { final Writer fileWriter = new FileWriter(new File(outputFile)); fileWriter.write( - "/**********************************************************************************\n" + - "* DO NOT EDIT THIS FILE.\n" + - "* This code was auto-generated from " + templateFile + " by CodeGenerator.\n" + - "* Manual changes to this file will be lost.\n" + - "***********************************************************************************/\n\n"); + String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Edit " + templateFile + + " and run \"./gradlew :engine-function:compileJava\" to regenerate", + "//", + "// @formatter:off", + "")); try { template.process(input, fileWriter); diff --git a/cpp-client/build.gradle b/cpp-client/build.gradle index bcc4f7a369a..0b686c24faf 100644 --- a/cpp-client/build.gradle +++ b/cpp-client/build.gradle @@ -4,6 +4,17 @@ plugins { id 'com.bmuschko.docker-remote-api' id 'io.deephaven.project.register' id 'io.deephaven.deephaven-in-docker' + id 'com.diffplug.spotless' +} + +spotless { + cpp { + target '**/*.cc', '**/*.h' + targetExclude '**/Barrage_generated.h', '**/third_party/**', '**/*.pb.*' + licenseHeader '''/* + * Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending + */''' + } } // We use the cpp-clients-multi-base image instead of the cpp-client-base, diff --git a/engine/api/build.gradle b/engine/api/build.gradle index da1b96efc50..c64d7c1f866 100644 --- a/engine/api/build.gradle +++ b/engine/api/build.gradle @@ -28,19 +28,3 @@ dependencies { Classpaths.inheritJUnitClassic(project, 'testImplementation') } - -spotless { - java { - targetExclude( - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - ) - } -} diff --git a/engine/benchmark/build.gradle b/engine/benchmark/build.gradle index 1792a1d0b34..a05786cd526 100644 --- a/engine/benchmark/build.gradle +++ b/engine/benchmark/build.gradle @@ -27,22 +27,6 @@ dependencies { testRuntimeOnly project(path: ':test-configs') } -spotless { - java { - targetExclude( - '**/Boolean*Benchmark.java', - '**/Byte*Benchmark.java', - '**/Char*Benchmark.java', - '**/Short*Benchmark.java', - '**/Int*Benchmark.java', - '**/Long*Benchmark.java', - '**/Float*Benchmark.java', - '**/Double*Benchmark.java', - '**/Object*Benchmark.java', - ) - } -} - task jmhRun(type: JavaExec) { new File("$rootDir/tmp/workspace").mkdirs() new File("$rootDir/tmp/logs").mkdirs() diff --git a/engine/chunk/build.gradle b/engine/chunk/build.gradle index e99450acc9f..16aca71378c 100644 --- a/engine/chunk/build.gradle +++ b/engine/chunk/build.gradle @@ -16,19 +16,3 @@ dependencies { project(path: ':test-configs') Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } - -spotless { - java { - targetExclude( - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - ) - } -} diff --git a/engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java b/engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java index 4b702b55e99..b3b9c2adcba 100644 --- a/engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java +++ b/engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java @@ -3,8 +3,6 @@ */ package io.deephaven.chunk; -// @formatter:off - import io.deephaven.chunk.attributes.Any; import io.deephaven.chunk.util.pools.MultiChunkPool; @@ -23,8 +21,6 @@ import static io.deephaven.chunk.util.pools.ChunkPoolConstants.POOL_WRITABLE_CHUNKS; -// @formatter:on - /** * {@link WritableChunk} implementation for char data. */ diff --git a/engine/function/build.gradle b/engine/function/build.gradle index e07fb0a7ffc..e6a901ab469 100644 --- a/engine/function/build.gradle +++ b/engine/function/build.gradle @@ -27,13 +27,6 @@ dependencies { def generatedFiles = [] -spotless { - java { - targetExclude generatedFiles - } -} - - //////////////// Code Generation //////////////// // task to clean up generated files @@ -52,6 +45,12 @@ def gencode = { name, template, output -> inputs.file template outputs.file output } + tasks.named('spotlessJava').configure { + mustRunAfter gen + } + tasks.named('spotlessJavaCheck').configure { + mustRunAfter gen + } [sourceSets.main.compileJavaTaskName, sourceSets.main.sourcesJarTaskName, sourceSets.main.javadocTaskName].each { tasks.named(it).configure { diff --git a/engine/function/src/templates/Basic.ftl b/engine/function/src/templates/Basic.ftl index fd55d76eb1d..1331f750802 100644 --- a/engine/function/src/templates/Basic.ftl +++ b/engine/function/src/templates/Basic.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/BinSearch.ftl b/engine/function/src/templates/BinSearch.ftl index b40729d8c2d..83acd7f8dce 100644 --- a/engine/function/src/templates/BinSearch.ftl +++ b/engine/function/src/templates/BinSearch.ftl @@ -1,3 +1,6 @@ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/Cast.ftl b/engine/function/src/templates/Cast.ftl index d7ab634b9da..81c5e0d6bb2 100644 --- a/engine/function/src/templates/Cast.ftl +++ b/engine/function/src/templates/Cast.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/Numeric.ftl b/engine/function/src/templates/Numeric.ftl index d9d5404d3ca..7703309466f 100644 --- a/engine/function/src/templates/Numeric.ftl +++ b/engine/function/src/templates/Numeric.ftl @@ -1,3 +1,6 @@ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/Sort.ftl b/engine/function/src/templates/Sort.ftl index 87b66c49db1..9e8edc32749 100644 --- a/engine/function/src/templates/Sort.ftl +++ b/engine/function/src/templates/Sort.ftl @@ -1,3 +1,6 @@ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestBasic.ftl b/engine/function/src/templates/TestBasic.ftl index 9b538186bcb..8b9821dce80 100644 --- a/engine/function/src/templates/TestBasic.ftl +++ b/engine/function/src/templates/TestBasic.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestBinSearch.ftl b/engine/function/src/templates/TestBinSearch.ftl index 6562732f87b..705f7ecf26d 100644 --- a/engine/function/src/templates/TestBinSearch.ftl +++ b/engine/function/src/templates/TestBinSearch.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestCast.ftl b/engine/function/src/templates/TestCast.ftl index 92a07b582a5..fdf2ea0f11c 100644 --- a/engine/function/src/templates/TestCast.ftl +++ b/engine/function/src/templates/TestCast.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestNumeric.ftl b/engine/function/src/templates/TestNumeric.ftl index e8dd31f5fe8..8e9e573d1c4 100644 --- a/engine/function/src/templates/TestNumeric.ftl +++ b/engine/function/src/templates/TestNumeric.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestSort.ftl b/engine/function/src/templates/TestSort.ftl index 5493b78590c..980b41c6035 100644 --- a/engine/function/src/templates/TestSort.ftl +++ b/engine/function/src/templates/TestSort.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/primitive/build.gradle b/engine/primitive/build.gradle index cb09307b0d4..f51d401e900 100644 --- a/engine/primitive/build.gradle +++ b/engine/primitive/build.gradle @@ -10,18 +10,3 @@ dependencies { compileOnly depAnnotations } - -spotless { - java { - targetExclude( - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java' - ) - } -} diff --git a/engine/table/build.gradle b/engine/table/build.gradle index 83f2b935e7f..c00709d35c0 100644 --- a/engine/table/build.gradle +++ b/engine/table/build.gradle @@ -83,34 +83,9 @@ dependencies { spotless { java { - targetExclude( - '**/generated/**', - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - '**/*StateManager.java', - '**/incagg/gen/*.java', - '**/incopenagg/gen/*.java', - '**/staticagg/gen/*.java', - '**/staticopenagg/gen/*.java', - '**/naturaljoin/typed/staticopen/gen/*.java', - '**/naturaljoin/typed/incopen/gen/*.java', - '**/naturaljoin/typed/rightincopen/gen/*.java', - '**/asofjoin/typed/rightincopen/gen/*.java', - '**/asofjoin/typed/staticopen/gen/*.java', - '**/updateby/hashing/typed/open/gen/*.java', - '**/multijoin/typed/staticopen/gen/*.java', - '**/multijoin/typed/incopen/gen/*.java', - 'src/main/java/io/deephaven/engine/table/impl/SymbolTableCombiner.java', - 'src/main/java/io/deephaven/libs/GroovyStaticImports.java', - 'src/test/java/**/*Sample.java' - ) + // Exclude these codegen sample files from here so we don't even need a comment to disable formatting + targetExclude 'src/test/java/io/deephaven/engine/table/impl/select/FilterKernel*Sample.java', + 'src/test/java/io/deephaven/engine/table/impl/select/Formula*Sample.java' } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java index 342897096d7..8d3a72fa75e 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl; import io.deephaven.base.verify.Require; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/typed/TypedHasherFactory.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/typed/TypedHasherFactory.java index 601ae2fb3bc..6ff7f0460fe 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/typed/TypedHasherFactory.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/typed/TypedHasherFactory.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.engine.table.impl.by.typed; import com.squareup.javapoet.*; @@ -651,9 +651,14 @@ public static JavaFile generateHasher(final HasherConfig hasherConfig, final TypeSpec hasher = hasherBuilder.build(); final JavaFile.Builder fileBuilder = JavaFile.builder(packageName, hasher).indent(" "); - fileBuilder.addFileComment("DO NOT EDIT THIS CLASS, AUTOMATICALLY GENERATED BY " - + TypedHasherFactory.class.getCanonicalName() + "\n" + - "Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY\n"); + fileBuilder + .addFileComment("****** Run ReplicateTypedHashers or ./gradlew replicateTypedHashers to regenerate\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("@formatter:off"); for (ChunkType chunkType : chunkTypes) { fileBuilder.addStaticImport( diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/lang/QueryLanguageFunctionGenerator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/lang/QueryLanguageFunctionGenerator.java index c1fd838d3da..e3259a45837 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/lang/QueryLanguageFunctionGenerator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/lang/QueryLanguageFunctionGenerator.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.engine.table.impl.lang; import io.deephaven.util.type.TypeUtils; @@ -308,13 +308,15 @@ public static void main(String args[]) { StringBuilder buf = new StringBuilder(sbCapacity); StringBuilder testBuf = new StringBuilder(sbCapacity); - buf.append("/*\n" + - " * Copyright (c) 2016-").append(LocalDate.now().getYear()) - .append(" Deephaven Data Labs and Patent Pending\n" + - " * GENERATED CODE - DO NOT MODIFY DIRECTLY\n" + - " * This class generated by " + QueryLanguageFunctionGenerator.class.getCanonicalName() + "\n" + - " */\n" + - "\n"); + buf.append(String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + QueryLanguageFunctionGenerator.class.getSimpleName() + " to regenerate", + "//", + "// @formatter:off", + "")); buf.append("package io.deephaven.engine.table.impl.lang;\n\n"); @@ -356,14 +358,15 @@ public static void main(String args[]) { // ------------------------------------------------------------------------------------------------------------------------------------------------------------------ /* Now start the test class: */ - testBuf.append("/*\n") - .append(" * Copyright (c) 2016-").append(LocalDate.now().getYear()) - .append(" * Deephaven Data Labs and Patent Pending\n") - .append(" * GENERATED CODE - DO NOT MODIFY DIRECTLY\n") - .append(" * This class generated by ").append(QueryLanguageFunctionGenerator.class.getCanonicalName()) - .append("\n") - .append(" */\n") - .append("\n"); + testBuf.append(String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + QueryLanguageFunctionGenerator.class.getSimpleName() + " to regenerate", + "//", + "// @formatter:off", + "")); testBuf.append("package io.deephaven.engine.table.impl.lang;\n\n"); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java index f88f02b9ae7..4509d64fcb9 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.sources; import gnu.trove.list.array.TIntArrayList; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java index 01ba920d946..d3caf8062c1 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.sources.sparse; import io.deephaven.util.SoftRecycler; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java index e6c3ba5fa2c..8dce00340f8 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java @@ -1,3 +1,7 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.updateby.fill; import io.deephaven.base.verify.Assert; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java index a6082d0f0b9..685ff4a1021 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.sort.timsort; import io.deephaven.chunk.attributes.Any; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java index 43d137a1e79..a016c881397 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.ssms; import io.deephaven.base.verify.AssertionFailure; diff --git a/engine/time/build.gradle b/engine/time/build.gradle index a549964e617..8f55b159ec1 100644 --- a/engine/time/build.gradle +++ b/engine/time/build.gradle @@ -27,11 +27,3 @@ dependencies { project(path: ':test-configs') Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } - -spotless { - java { - targetExclude( - 'src/main/java/io/deephaven/time/calendar/StaticCalendarMethods.java', - ) - } -} \ No newline at end of file diff --git a/engine/tuplesource/build.gradle b/engine/tuplesource/build.gradle index 11e3420b4d1..afdd0ecaed2 100644 --- a/engine/tuplesource/build.gradle +++ b/engine/tuplesource/build.gradle @@ -13,11 +13,3 @@ dependencies { Classpaths.inheritAutoService(project) } - -spotless { - java { - targetExclude( - '**/generated/**', - ) - } -} diff --git a/engine/vector/build.gradle b/engine/vector/build.gradle index b1d86f2fbec..9271ed56c1c 100644 --- a/engine/vector/build.gradle +++ b/engine/vector/build.gradle @@ -16,18 +16,3 @@ dependencies { Classpaths.inheritJUnitClassic(project, 'testImplementation') } - -spotless { - java { - targetExclude( - '**/Byte*Vector*.java', - '**/Char*Vector*.java', - '**/Short*Vector*.java', - '**/Int*Vector*.java', - '**/Long*Vector*.java', - '**/Float*Vector*.java', - '**/Double*Vector*.java', - '**/Object*Vector*.java' - ) - } -} diff --git a/engine/vector/src/main/java/io/deephaven/vector/CharVector.java b/engine/vector/src/main/java/io/deephaven/vector/CharVector.java index 99c92c8c442..405ff4ade07 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/CharVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/CharVector.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.vector; import io.deephaven.base.verify.Require; @@ -149,10 +149,8 @@ static boolean equals(@NotNull final CharVector aVector, @Nullable final Object if (size == 0) { return true; } - // @formatter:off try (final CloseablePrimitiveIteratorOfChar aIterator = aVector.iterator(); - final CloseablePrimitiveIteratorOfChar bIterator = bVector.iterator()) { - // @formatter:on + final CloseablePrimitiveIteratorOfChar bIterator = bVector.iterator()) { while (aIterator.hasNext()) { // region ElementEquals if (aIterator.nextChar() != bIterator.nextChar()) { diff --git a/extensions/arrow/build.gradle b/extensions/arrow/build.gradle index 93996ff889a..9eb35a3cf93 100644 --- a/extensions/arrow/build.gradle +++ b/extensions/arrow/build.gradle @@ -26,13 +26,4 @@ dependencies { Classpaths.inheritAssertJ(project) } -spotless { - java { - targetExclude( - '**/Arrow*ColumnSource.java', - '**/Arrow*VectorTest.java', - ) - } -} - apply plugin: 'io.deephaven.java-open-nio' diff --git a/extensions/barrage/build.gradle b/extensions/barrage/build.gradle index 9e1b4d540f4..58c7c285b39 100644 --- a/extensions/barrage/build.gradle +++ b/extensions/barrage/build.gradle @@ -40,12 +40,3 @@ dependencies { Classpaths.inheritAssertJ(project) testImplementation 'org.junit.jupiter:junit-jupiter' } - -spotless { - java { - targetExclude( - '**/*ChunkInputStreamGenerator.java', - '**/*ArrayExpansionKernel.java' - ) - } -} diff --git a/extensions/kafka/build.gradle b/extensions/kafka/build.gradle index ee0c8557c66..8ba1c123ad6 100644 --- a/extensions/kafka/build.gradle +++ b/extensions/kafka/build.gradle @@ -46,11 +46,3 @@ dependencies { Classpaths.inheritAssertJ(project) } - -spotless { - java { - targetExclude( - '**/**FieldCopier.java', - ) - } -} diff --git a/extensions/parquet/base/build.gradle b/extensions/parquet/base/build.gradle index 028731cd85a..f50b4bb61b3 100644 --- a/extensions/parquet/base/build.gradle +++ b/extensions/parquet/base/build.gradle @@ -18,11 +18,3 @@ dependencies { compileOnly depAnnotations Classpaths.inheritJUnitClassic(project, 'testImplementation') } - -spotless { - java { - targetExclude( - '**/*ChunkedWriter.java', - ) - } -} diff --git a/extensions/parquet/benchmark/build.gradle b/extensions/parquet/benchmark/build.gradle index 851d68189b6..21ff1d0de61 100644 --- a/extensions/parquet/benchmark/build.gradle +++ b/extensions/parquet/benchmark/build.gradle @@ -27,22 +27,6 @@ dependencies { testRuntimeOnly project(path: ':test-configs') } -spotless { - java { - targetExclude( - '**/Boolean*Benchmark.java', - '**/Byte*Benchmark.java', - '**/Char*Benchmark.java', - '**/Short*Benchmark.java', - '**/Int*Benchmark.java', - '**/Long*Benchmark.java', - '**/Float*Benchmark.java', - '**/Double*Benchmark.java', - '**/Object*Benchmark.java', - ) - } -} - task jmhRun(type: JavaExec) { new File("$rootDir/tmp/workspace").mkdirs() new File("$rootDir/tmp/logs").mkdirs() diff --git a/extensions/parquet/table/build.gradle b/extensions/parquet/table/build.gradle index 0d94cc69401..f7699b750d5 100644 --- a/extensions/parquet/table/build.gradle +++ b/extensions/parquet/table/build.gradle @@ -69,21 +69,4 @@ if (Architecture.fromHost() == Architecture.AMD64) { }) } -spotless { - java { - targetExclude( - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - '**/*Transfer*.java', - ) - } -} - TestTools.addEngineOutOfBandTest(project) diff --git a/extensions/source-support/build.gradle b/extensions/source-support/build.gradle index a2901763bd4..f061b6036fe 100644 --- a/extensions/source-support/build.gradle +++ b/extensions/source-support/build.gradle @@ -27,20 +27,4 @@ dependencies { Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } -spotless { - java { - targetExclude( - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - ) - } -} - TestTools.addEngineOutOfBandTest(project) diff --git a/grpc-java/grpc-mtls/build.gradle b/grpc-java/grpc-mtls/build.gradle index 2863d36bce9..9272f0a9f6f 100644 --- a/grpc-java/grpc-mtls/build.gradle +++ b/grpc-java/grpc-mtls/build.gradle @@ -8,3 +8,9 @@ dependencies { Classpaths.inheritGrpcPlatform(project) implementation 'io.grpc:grpc-core' } + +spotless { + java { + targetExclude '**/*' + } +} diff --git a/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/AbstractMtlsClientCertificateInterceptor.java b/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/AbstractMtlsClientCertificateInterceptor.java index 0a5d5bd2752..ac304877891 100644 --- a/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/AbstractMtlsClientCertificateInterceptor.java +++ b/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/AbstractMtlsClientCertificateInterceptor.java @@ -1,3 +1,15 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ package io.deephaven.grpc; import io.grpc.Context; diff --git a/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/MTlsCertificate.java b/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/MTlsCertificate.java index 84898a46a0d..5e7216cb908 100644 --- a/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/MTlsCertificate.java +++ b/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/MTlsCertificate.java @@ -1,3 +1,15 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ package io.deephaven.grpc; import io.grpc.Context; diff --git a/grpc-java/grpc-servlet-jakarta/build.gradle b/grpc-java/grpc-servlet-jakarta/build.gradle index a8b32749eb6..e65ab770bad 100644 --- a/grpc-java/grpc-servlet-jakarta/build.gradle +++ b/grpc-java/grpc-servlet-jakarta/build.gradle @@ -10,4 +10,10 @@ dependencies { 'org.apache.tomcat:annotations-api:6.0.53' Classpaths.inheritGuava(project) -} \ No newline at end of file +} + +spotless { + java { + targetExclude '**/*' + } +} diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/DelegatingAsyncContext.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/DelegatingAsyncContext.java index a51577f99a8..78e5d7f9833 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/DelegatingAsyncContext.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/DelegatingAsyncContext.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import jakarta.servlet.AsyncContext; diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebFilter.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebFilter.java index bfd14bf9b5a..b4ec367f88b 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebFilter.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebFilter.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import io.grpc.internal.GrpcUtil; diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebOutputStream.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebOutputStream.java index 1500a69282e..8ea70c19022 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebOutputStream.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebOutputStream.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import jakarta.servlet.ServletOutputStream; diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletRequest.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletRequest.java index ddcb2cb4e86..82dfde664ab 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletRequest.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletRequest.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import io.grpc.internal.GrpcUtil; diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletResponse.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletResponse.java index f061c3deefd..2306e3e20f5 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletResponse.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletResponse.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import io.grpc.internal.GrpcUtil; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/build.gradle b/grpc-java/grpc-servlet-websocket-jakarta/build.gradle index 2c61b1e0b31..bbe698ce8bd 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/build.gradle +++ b/grpc-java/grpc-servlet-websocket-jakarta/build.gradle @@ -13,5 +13,10 @@ dependencies { implementation 'jakarta.websocket:jakarta.websocket-api:2.0.0' Classpaths.inheritGuava(project) +} -} \ No newline at end of file +spotless { + java { + targetExclude '**/*' + } +} diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebSocketServerStream.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebSocketServerStream.java index f2b0597233f..5c632583e88 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebSocketServerStream.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebSocketServerStream.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import com.google.common.io.BaseEncoding; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebsocketStreamImpl.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebsocketStreamImpl.java index 790bd5e3018..7d8fda13588 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebsocketStreamImpl.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebsocketStreamImpl.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import com.google.common.util.concurrent.MoreExecutors; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/ByteArrayWritableBuffer.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/ByteArrayWritableBuffer.java index 0cbd851f8a9..ea8110062d1 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/ByteArrayWritableBuffer.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/ByteArrayWritableBuffer.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import io.grpc.internal.WritableBuffer; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/GrpcWebsocket.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/GrpcWebsocket.java index 4840646d86d..f1b9132ebd7 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/GrpcWebsocket.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/GrpcWebsocket.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import jakarta.websocket.CloseReason; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebSocketServerStream.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebSocketServerStream.java index c160c5c049e..b3d9f163b38 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebSocketServerStream.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebSocketServerStream.java @@ -1,6 +1,16 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. */ + package io.grpc.servlet.web.websocket; import io.grpc.Attributes; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebsocketStreamImpl.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebsocketStreamImpl.java index e8d97f20b5e..e2aa3b59901 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebsocketStreamImpl.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebsocketStreamImpl.java @@ -1,6 +1,16 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. */ + package io.grpc.servlet.web.websocket; import io.grpc.Attributes; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebSocketServerStream.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebSocketServerStream.java index e1333be8c63..04f9fd7007f 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebSocketServerStream.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebSocketServerStream.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import io.grpc.Attributes; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebsocketStreamImpl.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebsocketStreamImpl.java index 31dfd4497e1..259e230c171 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebsocketStreamImpl.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebsocketStreamImpl.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import io.grpc.Attributes; diff --git a/license-header b/license-header deleted file mode 100644 index ca4e9b7036f..00000000000 --- a/license-header +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending diff --git a/py/client/tests/__init__.py b/py/client/tests/__init__.py index 2519e05c6e2..d58bb460f30 100644 --- a/py/client/tests/__init__.py +++ b/py/client/tests/__init__.py @@ -1,3 +1,5 @@ # # Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending # + +# \ No newline at end of file diff --git a/py/server/deephaven/server/__init__.py b/py/server/deephaven/server/__init__.py index cb8603f5850..44416871bef 100644 --- a/py/server/deephaven/server/__init__.py +++ b/py/server/deephaven/server/__init__.py @@ -1,3 +1,5 @@ # # Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending # + +# \ No newline at end of file diff --git a/py/server/deephaven_internal/__init__.py b/py/server/deephaven_internal/__init__.py index e69de29bb2d..daee65bf8f1 100644 --- a/py/server/deephaven_internal/__init__.py +++ b/py/server/deephaven_internal/__init__.py @@ -0,0 +1,5 @@ +# +# Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +# + +# \ No newline at end of file diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java index e90ec4f80b5..acdd4d63a12 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java @@ -1,3 +1,6 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import com.squareup.javapoet.AnnotationSpec; @@ -234,17 +237,18 @@ public static void generateTests( String path = "extensions/arrow/src/test/java/io/deephaven/extensions/arrow/" + className + ".java"; try { - final String header = Stream.of( - "/*", - " * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending", - " */", - "/*", - " * ---------------------------------------------------------------------------------------------------------------------", - " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " - + MethodHandles.lookup().lookupClass().getSimpleName() + " and regenerate", - " * ---------------------------------------------------------------------------------------------------------------------", - " */", - "").collect(Collectors.joining(System.lineSeparator())); + String gradleTask = "generateArrowColumnTestSources"; + Class generatorClass = GenerateArrowColumnSourceTests.class; + final String header = String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + generatorClass.getSimpleName() + " or \"./gradlew " + gradleTask + + "\" to regenerate", + "//", + "// @formatter:off", + ""); Files.write(Paths.get(path), (header + javaFile).getBytes(StandardCharsets.UTF_8)); } catch (IOException e) { diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java index 4804670da53..ffd31c6a7d6 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java @@ -1,3 +1,6 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import com.squareup.javapoet.AnnotationSpec; @@ -308,17 +311,18 @@ private static void generateArrowColumnSource( String path = "extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/" + className + ".java"; try { - final String header = Stream.of( - "/*", - " * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending", - " */", - "/*", - " * ---------------------------------------------------------------------------------------------------------------------", - " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " - + MethodHandles.lookup().lookupClass().getSimpleName() + " and regenerate", - " * ---------------------------------------------------------------------------------------------------------------------", - " */", - "").collect(Collectors.joining(System.lineSeparator())); + String gradleTask = "generateArrowColumnSources"; + Class generatorClass = GenerateArrowColumnSources.class; + final String header = String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + generatorClass.getSimpleName() + " or \"./gradlew " + gradleTask + + "\" to regenerate", + "//", + "// @formatter:off", + ""); Files.write(Paths.get(path), (header + javaFile).getBytes(StandardCharsets.UTF_8)); } catch (IOException e) { diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateHashTable.java b/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateHashTable.java index f4a9a163903..a7054cb93bd 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateHashTable.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateHashTable.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import gnu.trove.stack.TIntStack; @@ -11,6 +11,7 @@ import io.deephaven.engine.table.impl.HashTableAnnotations.EmptyStateValue; import io.deephaven.engine.table.impl.HashTableAnnotations.OverflowStateColumnSource; import io.deephaven.engine.table.impl.HashTableAnnotations.StateColumnSource; +import io.deephaven.replication.ReplicationUtils; import org.apache.commons.io.FileUtils; import org.jetbrains.annotations.NotNull; @@ -27,6 +28,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.fullClassName; @@ -71,23 +73,26 @@ */ public class ReplicateHashTable { + public static final String SOURCE = + "engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java"; + public static void main(String[] args) throws IOException, ClassNotFoundException { final boolean allowMissingDestinations = false; // Left-Only-Incremental Cross Join-> Symbol Table Combiner doReplicate( - "engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java", + SOURCE, "engine/table/src/main/java/io/deephaven/engine/table/impl/SymbolTableCombiner.java", allowMissingDestinations, Arrays.asList("overflowLocationToHashLocation", "getStateValue", "prev")); // Left-Only-Incremental Cross Join -> Right-Incremental Cross Join doReplicate( - "engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java", + SOURCE, "engine/table/src/main/java/io/deephaven/engine/table/impl/RightIncrementalChunkedCrossJoinStateManager.java", allowMissingDestinations, Arrays.asList("allowUpdateWriteThroughState")); // Left-Only-Incremental Cross Join -> Static Cross Join doReplicate( - "engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java", + SOURCE, "engine/table/src/main/java/io/deephaven/engine/table/impl/StaticChunkedCrossJoinStateManager.java", allowMissingDestinations, Arrays.asList("prev")); } @@ -255,6 +260,22 @@ private static void doReplicate(final String sourceClassJavaFile, throw new RuntimeException("Could not find package line to rewrite for " + destinationClass); } + // Remove any file header from rewrittenLines and replace with the generated header + // Skip, re-add file header + Iterator iterator = rewrittenLines.iterator(); + while (iterator.hasNext() && iterator.next().startsWith("//")) { + iterator.remove(); + } + rewrittenLines.addAll(0, Arrays.asList("//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Edit " + ReplicationUtils.className(sourceClassJavaFile) + + " and run \"./gradlew replicateHashTable\" to regenerate", + "//", + "// @formatter:off", + "")); + FileUtils.writeLines(destinationFile, rewrittenLines); System.out.println("Wrote: " + destinationClassJavaFile); } diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateTypedHashers.java b/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateTypedHashers.java index 0498383e936..dbffd8f3a81 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateTypedHashers.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateTypedHashers.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import com.squareup.javapoet.ClassName; @@ -90,9 +90,15 @@ private static void generatePackage(Class baseClass, boolean doDouble) throws } final JavaFile.Builder fileBuilder = JavaFile.builder(packageName, dispatchBuilder.build()).indent(" "); - fileBuilder.addFileComment("DO NOT EDIT THIS CLASS, AUTOMATICALLY GENERATED BY " - + ReplicateTypedHashers.class.getCanonicalName() + "\n" + - "Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY\n"); + fileBuilder.addFileComment("****** Run " + ReplicateTypedHashers.class.getSimpleName() + + " or ./gradlew replicateTypedHashers to regenerate\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("@formatter:off"); + final JavaFile dispatcherFile = fileBuilder.build(); dispatcherFile.writeTo(sourceRoot); } diff --git a/replication/static/build.gradle b/replication/static/build.gradle index 60f22f528de..161f7017104 100644 --- a/replication/static/build.gradle +++ b/replication/static/build.gradle @@ -87,9 +87,13 @@ task replicateAllSafe { dependsOn Tasks.registerMainExecTask(project, 'replicateParquetTransferObjects', 'io.deephaven.replicators.ReplicateParquetTransferObjects') dependsOn Tasks.registerMainExecTask(project, 'replicateColumnStats', 'io.deephaven.replicators.ReplicateColumnStats') + + dependsOn Tasks.registerMainExecTask(project, 'replicateCachingSupplier', 'io.deephaven.replicators.ReplicateCachingSupplier') } // These replicators need manual fix-up post replication and should not be run without supervision task replicateAllUnsafe { dependsOn Tasks.registerMainExecTask(project, 'replicateParquetChunkedWriters', 'io.deephaven.replicators.ReplicateParquetChunkedWriters') + + dependsOn Tasks.registerMainExecTask(project, 'replicateTableLocationKey', 'io.deephaven.replicators.ReplicateTableLocationKey') } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateBarrageUtils.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateBarrageUtils.java index 5d9fbf78160..cf0baf87e1b 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateBarrageUtils.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateBarrageUtils.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -19,10 +19,13 @@ public class ReplicateBarrageUtils { "extensions/barrage/src/main/java/io/deephaven/extensions/barrage/chunk"; public static void main(final String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean(CHUNK_PACKAGE + "/CharChunkInputStreamGenerator.java"); - ReplicatePrimitiveCode.charToAllButBoolean(CHUNK_PACKAGE + "/array/CharArrayExpansionKernel.java"); + ReplicatePrimitiveCode.charToAllButBoolean("replicateBarrageUtils", + CHUNK_PACKAGE + "/CharChunkInputStreamGenerator.java"); + ReplicatePrimitiveCode.charToAllButBoolean("replicateBarrageUtils", + CHUNK_PACKAGE + "/array/CharArrayExpansionKernel.java"); - ReplicatePrimitiveCode.charToAllButBoolean(CHUNK_PACKAGE + "/vector/CharVectorExpansionKernel.java"); + ReplicatePrimitiveCode.charToAllButBoolean("replicateBarrageUtils", + CHUNK_PACKAGE + "/vector/CharVectorExpansionKernel.java"); fixupVectorExpansionKernel(CHUNK_PACKAGE + "/vector/IntVectorExpansionKernel.java", "Int"); fixupVectorExpansionKernel(CHUNK_PACKAGE + "/vector/LongVectorExpansionKernel.java", "Long"); fixupVectorExpansionKernel(CHUNK_PACKAGE + "/vector/DoubleVectorExpansionKernel.java", "Double"); diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCachingSupplier.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCachingSupplier.java index aeeae50e6d4..ae28bf10bc5 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCachingSupplier.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCachingSupplier.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -8,7 +8,7 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.replaceAll; public class ReplicateCachingSupplier { - private static final String LAZY_CACHING_SUPPLIER_DIR = "util/src/main/java/io/deephaven/util/datastructures/"; + private static final String LAZY_CACHING_SUPPLIER_DIR = "Util/src/main/java/io/deephaven/util/datastructures/"; private static final String LAZY_CACHING_SUPPLIER_PATH = LAZY_CACHING_SUPPLIER_DIR + "LazyCachingSupplier.java"; private static final String LAZY_CACHING_FUNCTION_PATH = LAZY_CACHING_SUPPLIER_DIR + "LazyCachingFunction.java"; @@ -22,6 +22,7 @@ public static void main(final String[] args) throws IOException { {"Supplier", "Function"}, {"supplier", "function"}, }; - replaceAll(LAZY_CACHING_SUPPLIER_PATH, LAZY_CACHING_FUNCTION_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll("replicateCachingSupplier", LAZY_CACHING_SUPPLIER_PATH, LAZY_CACHING_FUNCTION_PATH, null, + NO_EXCEPTIONS, pairs); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateChunkFilters.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateChunkFilters.java index e99f956e7c5..4c1c72974cd 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateChunkFilters.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateChunkFilters.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -9,23 +9,27 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.*; public class ReplicateChunkFilters { + private static final String TASK = "replicateChunkFilters"; + public static void main(String[] args) throws IOException { - charToShortAndByte( + charToShortAndByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/CharRangeComparator.java"); - charToInteger("engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/CharRangeComparator.java", + charToInteger(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/CharRangeComparator.java", Collections.emptyMap()); - charToShortAndByte("engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java"); - charToInteger("engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java", + charToShortAndByte(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java"); + charToInteger(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java", Collections.emptyMap()); - charToLong("engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java"); + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/FloatRangeComparator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/select/FloatRangeFilter.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/CharChunkMatchFilterFactory.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnIterators.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnIterators.java index e13853d9620..622b347a188 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnIterators.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnIterators.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -28,22 +28,23 @@ public class ReplicateColumnIterators { "engine/api/src/main/java/io/deephaven/engine/table/iterators/ChunkedCharacterColumnIterator.java"; private static final String CHAR_SERIAL_PATH = "engine/api/src/main/java/io/deephaven/engine/table/iterators/SerialCharacterColumnIterator.java"; + public static final String TASK = "replicateColumnIterators"; public static void main(String... args) throws IOException { { - charToByte(CHAR_IFACE_PATH, Collections.emptyMap()); - charToShort(CHAR_IFACE_PATH, Collections.emptyMap()); - fixupIntToDouble(charToFloat(CHAR_IFACE_PATH, Collections.emptyMap())); + charToByte(TASK, CHAR_IFACE_PATH, Collections.emptyMap()); + charToShort(TASK, CHAR_IFACE_PATH, Collections.emptyMap()); + fixupIntToDouble(charToFloat(TASK, CHAR_IFACE_PATH, Collections.emptyMap())); } { - fixupChunkSize(intToLong(INT_IFACE_PATH, Collections.emptyMap(), "interface"), "long"); - fixupChunkSize(intToDouble(INT_IFACE_PATH, Collections.emptyMap(), "interface"), "double"); + fixupChunkSize(intToLong(TASK, INT_IFACE_PATH, Collections.emptyMap(), "interface"), "long"); + fixupChunkSize(intToDouble(TASK, INT_IFACE_PATH, Collections.emptyMap(), "interface"), "double"); } { - fixupPrimitiveConsumer(charToAllButBoolean(CHAR_CHUNKED_PATH)); + fixupPrimitiveConsumer(charToAllButBoolean(TASK, CHAR_CHUNKED_PATH)); } { - charToAllButBoolean(CHAR_SERIAL_PATH); + charToAllButBoolean(TASK, CHAR_SERIAL_PATH); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnSourceFillBenchmark.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnSourceFillBenchmark.java index fed502a1140..09a8a41c37c 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnSourceFillBenchmark.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnSourceFillBenchmark.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,7 +9,7 @@ public class ReplicateColumnSourceFillBenchmark { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateColumnSourceFillBenchmark", "engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/sources/CharHelper.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnStats.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnStats.java index 4b5613bdb42..ea9fbf69139 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnStats.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnStats.java @@ -1,3 +1,6 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -17,16 +20,16 @@ public class ReplicateColumnStats { public static void main(String[] args) throws IOException { - final List paths = shortToAllIntegralTypes( + final List paths = shortToAllIntegralTypes("replicateColumnStats", "server/src/main/java/io/deephaven/server/table/stats/ShortChunkedNumericalStats.java"); final String intPath = paths.stream().filter(p -> p.contains("Integer")).findFirst().orElseThrow(FileNotFoundException::new); fixupIntegerChunkName(intPath); - ReplicatePrimitiveCode.floatToAllFloatingPoints( + ReplicatePrimitiveCode.floatToAllFloatingPoints("replicateColumnStats", "server/src/main/java/io/deephaven/server/table/stats/FloatChunkedNumericalStats.java"); - final String objectPath = ReplicatePrimitiveCode.charToObject( + final String objectPath = ReplicatePrimitiveCode.charToObject("replicateColumnStats", "server/src/main/java/io/deephaven/server/table/stats/CharacterChunkedStats.java"); fixupObjectChunk(objectPath); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernel.java index ad2630255f8..314ffab7ad5 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,7 +9,7 @@ public class ReplicateCopyKernel { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAll( + ReplicatePrimitiveCode.charToAll("replicateCopyKernel", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/copy/CharCopyKernel.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernelTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernelTests.java index a380e7f785b..1be868246c4 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernelTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernelTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import org.apache.commons.io.FileUtils; @@ -17,8 +17,9 @@ public class ReplicateCopyKernelTests { public static void main(String[] args) throws IOException { ReplicateCopyKernel.main(args); - charToAll("engine/table/src/test/java/io/deephaven/engine/table/impl/util/copy/TestCharCopyKernel.java"); - fixupObjectCopyKernelTest(charToObject( + charToAll("replicateCopyKernelTests", + "engine/table/src/test/java/io/deephaven/engine/table/impl/util/copy/TestCharCopyKernel.java"); + fixupObjectCopyKernelTest(charToObject("replicateCopyKernelTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/util/copy/TestCharCopyKernel.java")); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDownsamplingValueTrackers.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDownsamplingValueTrackers.java index cc4775c918f..f215a231ce3 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDownsamplingValueTrackers.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDownsamplingValueTrackers.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -14,7 +14,7 @@ */ public class ReplicateDownsamplingValueTrackers extends ReplicatePrimitiveCode { public static void main(String[] args) throws IOException { - charToAllButBoolean( + charToAllButBoolean("replicateDownsamplingValueTrackers", "ClientSupport/src/main/java/io/deephaven/clientsupport/plotdownsampling/CharValueTracker.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupCompactKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupCompactKernel.java index 16b3f037447..2d11844b6cc 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupCompactKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupCompactKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -13,19 +13,20 @@ import java.io.File; import java.io.IOException; import java.nio.charset.Charset; -import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; -import static io.deephaven.replication.ReplicatePrimitiveCode.className; +import static io.deephaven.replication.ReplicationUtils.className; import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateDupCompactKernel { public static void main(String[] args) throws IOException { final String charJavaPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/join/dupcompact/CharDupCompactKernel.java"; - final List kernelsToInvert = ReplicatePrimitiveCode.charToAllButBoolean(charJavaPath); - final String objectDupCompact = ReplicatePrimitiveCode.charToObject(charJavaPath); + final List kernelsToInvert = + ReplicatePrimitiveCode.charToAllButBoolean("replicateDupCompactKernel", charJavaPath); + final String objectDupCompact = ReplicatePrimitiveCode.charToObject("replicateDupCompactKernel", charJavaPath); fixupObjectDupCompact(objectDupCompact); kernelsToInvert.add(charJavaPath); @@ -87,11 +88,7 @@ private static String fixupCharNullComparisons(String path, String newPath, Stri } } - lines.addAll(insertionPoint, Arrays.asList( - "/* ---------------------------------------------------------------------------------------------------------------------", - " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " + oldName - + " and regenerate", - " * ------------------------------------------------------------------------------------------------------------------ */")); + lines.add(insertionPoint, ReplicationUtils.fileHeaderString("replicateDupCompactKernel", oldName)); FileUtils.writeLines(new File(newPath), lines); @@ -131,8 +128,14 @@ public static void nanFixup(String path, String type, boolean ascending) throws private static List ascendingNameToDescendingName(String path, List lines) { final String className = new File(path).getName().replaceAll(".java$", ""); final String newName = className.replace("DupCompactKernel", "ReverseDupCompactKernel"); - // we should skip the replicate header - return globalReplacements(3, lines, className, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream("replicateDupCompactKernel", ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, className, newName); } private static void fixupObjectDupCompact(String objectPath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupExpandKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupExpandKernel.java index 2354d42395b..e591c61d351 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupExpandKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupExpandKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -16,8 +16,8 @@ public class ReplicateDupExpandKernel { public static void main(String[] args) throws IOException { final String charClassPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/join/dupexpand/CharDupExpandKernel.java"; - ReplicatePrimitiveCode.charToAll(charClassPath); - fixupObjectDupCompact(ReplicatePrimitiveCode.charToObject(charClassPath)); + ReplicatePrimitiveCode.charToAll("replicateDupExpandKernel", charClassPath); + fixupObjectDupCompact(ReplicatePrimitiveCode.charToObject("replicateDupExpandKernel", charClassPath)); } private static void fixupObjectDupCompact(String objectPath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateFreezeBy.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateFreezeBy.java index 1efd135cf58..aa4bdd62be6 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateFreezeBy.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateFreezeBy.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -16,14 +16,14 @@ public class ReplicateFreezeBy { public static void main(String[] args) throws IOException { - charToAllButBoolean( + charToAllButBoolean("replicateFreezeBy", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/CharFreezeByHelper.java"); - final String objectResult = charToObject( + final String objectResult = charToObject("replicateFreezeBy", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/CharFreezeByHelper.java"); fixupObject(objectResult); - final String booleanResult = charToBoolean( + final String booleanResult = charToBoolean("replicateFreezeBy", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/CharFreezeByHelper.java"); fixupBoolean(booleanResult); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateHashing.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateHashing.java index 0d075a5d851..0d5e0a50835 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateHashing.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateHashing.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.base.verify.Assert; @@ -19,20 +19,22 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateHashing { + private static final String TASK = "replicateHashing"; + public static void main(String[] args) throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkHasher.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkHasher.java"); final String objectHasher = - charToObject("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkHasher.java"); + charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkHasher.java"); fixupObjectChunkHasher(objectHasher); - charToIntegers("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToIntegerCast.java"); - charToIntegers("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToLongCast.java"); - charToIntegers( + charToIntegers(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToIntegerCast.java"); + charToIntegers(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToLongCast.java"); + charToIntegers(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToIntegerCastWithOffset.java"); - charToIntegers( + charToIntegers(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToLongCastWithOffset.java"); - final List paths = charToAll( + final List paths = charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); final String floatPath = paths.stream().filter(p -> p.contains("Float")).findFirst().orElseThrow(FileNotFoundException::new); @@ -43,16 +45,16 @@ public static void main(String[] args) throws IOException { fixupDoubleChunkEquals(doublePath); final String objectIdentityEquals = - charToObject("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); + charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); fixupObjectChunkIdentityEquals(objectIdentityEquals); final String objectEquals = - charToObject("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); + charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); fixupObjectChunkEquals(objectEquals); - final List compactKernels = charToAll( + final List compactKernels = charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/util/compact/CharCompactKernel.java"); - final String objectCompact = charToObject( + final String objectCompact = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/util/compact/CharCompactKernel.java"); fixupObjectCompact(objectCompact); // noinspection OptionalGetWithoutIsPresent @@ -66,7 +68,7 @@ private static void fixupObjectChunkHasher(String objectPath) throws IOException List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); lines = addImport(lines, Objects.class); FileUtils.writeLines(objectFile, globalReplacements(fixupChunkAttributes(lines), "Object.hashCode", - "Objects.hashCode", "TypeUtils.unbox\\(\\(Object\\)value\\)", "value")); + "Objects.hashCode", "TypeUtils.unbox\\(\\(Object\\) value\\)", "value")); } private static void fixupObjectChunkEquals(String objectPath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateKafka.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateKafka.java index 8d2e42df5d4..0fc68e87465 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateKafka.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateKafka.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,9 +9,9 @@ public class ReplicateKafka { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateKafka", "extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordCharFieldCopier.java"); - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateKafka", "extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeCharFieldCopier.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java index 9bdaa20dbdc..ba7b7fe7b87 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -16,43 +16,47 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.*; public class ReplicateOperators { + private static final String TASK = "replicateOperators"; + public static void main(String[] args) throws IOException { - charToAllButBooleanAndFloats("engine/table/src/main/java/io/deephaven/engine/table/impl/by/SumCharChunk.java"); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/by/SumCharChunk.java"); + charToAllButBooleanAndFloats(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedSumOperator.java"); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedAvgOperator.java"); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedVarOperator.java"); - floatToAllFloatingPoints("engine/table/src/main/java/io/deephaven/engine/table/impl/by/SumFloatChunk.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/by/SumFloatChunk.java"); + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/FloatChunkedSumOperator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/FloatChunkedAvgOperator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/FloatChunkedReAvgOperator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/FloatChunkedVarOperator.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedAddOnlyMinMaxOperator.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/util/cast/CharToDoubleCast.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/util/cast/CharToBigDecimalCast.java"); replicateObjectAddOnlyMinMax(); fixupLongAddOnlyMinMax(); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharAddOnlySortedFirstOrLastChunkedOperator.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharBlinkSortedFirstOrLastChunkedOperator.java"); replicateObjectAddOnlyAndBlinkSortedFirstLast(); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/alternatingcolumnsource/CharAlternatingColumnSourceUnorderedMergeKernel.java"); replicateObjectUnorderedMergeKernel(); } private static void replicateObjectAddOnlyMinMax() throws IOException { - final String objectAddOnlyMinMax = charToObject( + final String objectAddOnlyMinMax = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedAddOnlyMinMaxOperator.java"); final File objectAddOnlyMinMaxFile = new File(objectAddOnlyMinMax); List lines = ReplicationUtils @@ -100,7 +104,7 @@ private static void replicateObjectAddOnlyAndBlinkSortedFirstLast() throws IOExc "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharAddOnlySortedFirstOrLastChunkedOperator.java", "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharBlinkSortedFirstOrLastChunkedOperator.java"}) { final String objectClassName = - charToObject(charClassJavaPath); + charToObject(TASK, charClassJavaPath); final File objectClassFile = new File(objectClassName); List lines = ReplicationUtils .fixupChunkAttributes(FileUtils.readLines(objectClassFile, Charset.defaultCharset())); @@ -111,7 +115,7 @@ private static void replicateObjectAddOnlyAndBlinkSortedFirstLast() throws IOExc } private static void replicateObjectUnorderedMergeKernel() throws IOException { - final String objectUnorderedMerge = charToObject( + final String objectUnorderedMerge = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/alternatingcolumnsource/CharAlternatingColumnSourceUnorderedMergeKernel.java"); final File objectUnorderedMergeFile = new File(objectUnorderedMerge); List lines = ReplicationUtils diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetChunkedWriters.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetChunkedWriters.java index b355f3a0a1e..88fa0e1a8ee 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetChunkedWriters.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetChunkedWriters.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -19,6 +19,7 @@ public class ReplicateParquetChunkedWriters { public static void main(String[] args) throws IOException { ReplicatePrimitiveCode.intToLongAndFloatingPoints( + "replicateParquetChunkedWriters", "extensions/parquet/base/src/main/java/io/deephaven/parquet/base/PlainIntChunkedWriter.java", "int pageSize", "IntBuffer.allocate\\(4\\)", diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetTransferObjects.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetTransferObjects.java index 407a42778ee..efc182ad546 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetTransferObjects.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetTransferObjects.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -8,6 +8,8 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.*; public class ReplicateParquetTransferObjects { + private static final String TASK = "replicateParquetTransferObjects"; + private static final String PARQUET_TRANSFER_DIR = "extensions/parquet/table/src/main/java/io/deephaven/parquet/table/transfer/"; private static final String PARQUET_CHAR_TRANSFER_PATH = PARQUET_TRANSFER_DIR + "CharTransfer.java"; @@ -40,15 +42,16 @@ public class ReplicateParquetTransferObjects { private static final String[] NO_EXCEPTIONS = new String[0]; public static void main(String[] args) throws IOException { - charToShortAndByte(PARQUET_CHAR_TRANSFER_PATH); - charToShortAndByte(PARQUET_CHAR_ARRAY_TRANSFER_PATH); - charToShortAndByte(PARQUET_CHAR_VECTOR_TRANSFER_PATH); + charToShortAndByte(TASK, PARQUET_CHAR_TRANSFER_PATH); + charToShortAndByte(TASK, PARQUET_CHAR_ARRAY_TRANSFER_PATH); + charToShortAndByte(TASK, PARQUET_CHAR_VECTOR_TRANSFER_PATH); - intToLongAndFloatingPoints(PARQUET_INT_TRANSFER_PATH, "int targetPageSizeInBytes", "int targetElementsPerPage", + intToLongAndFloatingPoints(TASK, PARQUET_INT_TRANSFER_PATH, "int targetPageSizeInBytes", + "int targetElementsPerPage", "Math.toIntExact"); - intToLongAndFloatingPoints(PARQUET_INT_ARRAY_TRANSFER_PATH, "int targetPageSizeInBytes", "int length", + intToLongAndFloatingPoints(TASK, PARQUET_INT_ARRAY_TRANSFER_PATH, "int targetPageSizeInBytes", "int length", "int getSize"); - intToLongAndFloatingPoints(PARQUET_INT_VECTOR_TRANSFER_PATH, "int targetPageSizeInBytes", "int length"); + intToLongAndFloatingPoints(TASK, PARQUET_INT_VECTOR_TRANSFER_PATH, "int targetPageSizeInBytes", "int length"); String[][] pairs = new String[][] { {"InstantArrayTransfer", "DateArrayTransfer"}, @@ -59,8 +62,10 @@ public static void main(String[] args) throws IOException { {"Long", "Integer"}, {"long", "int"}, }; - replaceAll(PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_DATE_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); - replaceAll(PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_DATE_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll(TASK, PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_DATE_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, + pairs); + replaceAll(TASK, PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_DATE_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, + pairs); pairs = new String[][] { {"InstantArrayTransfer", "TimeArrayTransfer"}, @@ -68,8 +73,10 @@ public static void main(String[] args) throws IOException { {"DateTimeUtils.epochNanos", "DateTimeUtils.nanosOfDay"}, {"Instant", "LocalTime"} }; - replaceAll(PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_TIME_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); - replaceAll(PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_TIME_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll(TASK, PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_TIME_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, + pairs); + replaceAll(TASK, PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_TIME_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, + pairs); pairs = new String[][] { {"io.deephaven.time.DateTimeUtils", "io.deephaven.parquet.table.util.TransferUtils"}, @@ -78,9 +85,9 @@ public static void main(String[] args) throws IOException { {"DateTimeUtils.epochNanos", "TransferUtils.epochNanosUTC"}, {"Instant", "LocalDateTime"} }; - replaceAll(PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_ARRAY_TRANSFER_PATH, null, + replaceAll(TASK, PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); - replaceAll(PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_VECTOR_TRANSFER_PATH, null, + replaceAll(TASK, PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); pairs = new String[][] { @@ -89,7 +96,7 @@ public static void main(String[] args) throws IOException { {"LocalTime", "LocalDateTime"}, {"DateTimeUtils.nanosOfDay", "TransferUtils.epochNanosUTC"} }; - replaceAll(PARQUET_TIME_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll(TASK, PARQUET_TIME_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); // Additional differences can be generated by Spotless } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicatePrimitiveInterfaces.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicatePrimitiveInterfaces.java index 40adc88169b..a4735f6ff34 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicatePrimitiveInterfaces.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicatePrimitiveInterfaces.java @@ -1,20 +1,15 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; -import org.apache.commons.io.FileUtils; -import org.jetbrains.annotations.NotNull; - import java.io.File; import java.io.IOException; -import java.nio.charset.Charset; -import java.util.List; -import java.util.stream.IntStream; import static io.deephaven.replication.ReplicatePrimitiveCode.*; public class ReplicatePrimitiveInterfaces { + private static final String TASK = "replicatePrimitiveInterfaces"; private static final String CHAR_CONSUMER_PATH = "engine/primitive/src/main/java/io/deephaven/engine/primitive/function/CharConsumer.java"; @@ -30,54 +25,45 @@ public class ReplicatePrimitiveInterfaces { public static void main(String[] args) throws IOException { { - charToShortAndByte(CHAR_CONSUMER_PATH); - charToFloat(CHAR_CONSUMER_PATH, null); + charToShortAndByte(TASK, CHAR_CONSUMER_PATH); + charToFloat(TASK, CHAR_CONSUMER_PATH, null); } { - charToShortAndByte(CHAR_TO_INT_PATH); - final String floatToIntPath = charToFloat(CHAR_TO_INT_PATH, null); - removeExtraCopyrightHeader(intToDouble(floatToIntPath, null, + charToShortAndByte(TASK, CHAR_TO_INT_PATH); + final String floatToIntPath = charToFloat(TASK, CHAR_TO_INT_PATH, null); + intToDouble(TASK, floatToIntPath, null, "interface", "FunctionalInterface", CHAR_TO_INT_PATH.substring( CHAR_TO_INT_PATH.lastIndexOf('/') + 1, - CHAR_TO_INT_PATH.lastIndexOf(".java")))); + CHAR_TO_INT_PATH.lastIndexOf(".java"))); if (!new File(floatToIntPath).delete()) { throw new IOException("Failed to delete extraneous " + floatToIntPath); } } { - charToShortAndByte(CHAR_ITERATOR_PATH); - final String floatPath = charToFloat(CHAR_ITERATOR_PATH, null); - removeExtraCopyrightHeader(intToDouble(floatPath, null, + charToShortAndByte(TASK, CHAR_ITERATOR_PATH); + final String floatPath = charToFloat(TASK, CHAR_ITERATOR_PATH, null); + intToDouble(TASK, floatPath, null, "interface", "FunctionalInterface", "int valueIndex", "int subIteratorIndex", CHAR_ITERATOR_PATH.substring( CHAR_ITERATOR_PATH.lastIndexOf('/') + 1, - CHAR_ITERATOR_PATH.lastIndexOf(".java")))); + CHAR_ITERATOR_PATH.lastIndexOf(".java"))); } { - intToLong(INT_ITERATOR_PATH, null, + intToLong(TASK, INT_ITERATOR_PATH, null, "interface", "FunctionalInterface", "int valueIndex", "int subIteratorIndex"); - intToDouble(INT_ITERATOR_PATH, null, + intToDouble(TASK, INT_ITERATOR_PATH, null, "interface", "FunctionalInterface", "int valueIndex", "int subIteratorIndex"); } } - - @SuppressWarnings("UnusedReturnValue") - private static String removeExtraCopyrightHeader(@NotNull final String path) throws IOException { - final File file = new File(path); - final List lines = FileUtils.readLines(file, Charset.defaultCharset()); - IntStream.of(5, 5, 5, 5, 5).forEach(lines::remove); - FileUtils.writeLines(file, lines); - return path; - } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRangeSearchKernels.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRangeSearchKernels.java index 2980233749b..b85386e8a1c 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRangeSearchKernels.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRangeSearchKernels.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import org.apache.commons.io.FileUtils; @@ -21,11 +21,11 @@ public class ReplicateRangeSearchKernels { "engine/table/src/main/java/io/deephaven/engine/table/impl/rangejoin/RangeSearchKernelChar.java"; public static void main(@NotNull final String... args) throws IOException { - charToAllButBooleanAndFloats(CHAR_PATH); + charToAllButBooleanAndFloats("replicateRangeSearchKernels", CHAR_PATH); - fixupDouble(charToDouble(CHAR_PATH, Collections.emptyMap())); - fixupFloat(charToFloat(CHAR_PATH, Collections.emptyMap())); - fixupObject(charToObject(CHAR_PATH)); + fixupDouble(charToDouble("replicateRangeSearchKernels", CHAR_PATH, Collections.emptyMap())); + fixupFloat(charToFloat("replicateRangeSearchKernels", CHAR_PATH, Collections.emptyMap())); + fixupObject(charToObject("replicateRangeSearchKernels", CHAR_PATH)); } private static void fixupDouble(@NotNull final String doublePath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionAndRegionedSourceTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionAndRegionedSourceTests.java index c8404aa967a..56391c767cd 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionAndRegionedSourceTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionAndRegionedSourceTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -15,11 +15,11 @@ public class ReplicateRegionAndRegionedSourceTests { public static void main(String... args) throws IOException { - charToAllButBoolean( + charToAllButBoolean("replicateRegionAndRegionedSourceTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestRegionedColumnSourceChar.java"); - charToAllButBooleanAndByte( + charToAllButBooleanAndByte("replicateRegionAndRegionedSourceTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TstColumnRegionChar.java"); - charToAllButBoolean( + charToAllButBoolean("replicateRegionAndRegionedSourceTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/kernel/CharRegionBinarySearchKernelTest.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java index a4895c9d434..a149934f24d 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import org.apache.commons.io.FileUtils; @@ -25,6 +25,7 @@ * some primitive types. */ public class ReplicateRegionsAndRegionedSources { + private static final String TASK = "replicateRegionsAndRegionedSources"; private static final String PARQUET_REGION_CHAR_PATH = "extensions/parquet/table/src/main/java/io/deephaven/parquet/table/region/ParquetColumnRegionChar.java"; @@ -36,24 +37,24 @@ public class ReplicateRegionsAndRegionedSources { public static void main(String... args) throws IOException { // Note that Byte and Object regions are not replicated! - charToAllButBooleanAndByte( + charToAllButBooleanAndByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/ColumnRegionChar.java"); - charToAllButBooleanAndByte( + charToAllButBooleanAndByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/DeferredColumnRegionChar.java"); // Note that Object regions are not replicated! - fixupParquetColumnRegions(charToAllButBooleanAndByte(PARQUET_REGION_CHAR_PATH)); - fixupChunkColumnRegionByte(charToByte(PARQUET_REGION_CHAR_PATH)); + fixupParquetColumnRegions(charToAllButBooleanAndByte(TASK, PARQUET_REGION_CHAR_PATH)); + fixupChunkColumnRegionByte(charToByte(TASK, PARQUET_REGION_CHAR_PATH)); - charToAllButBoolean(GENERIC_REGION_BINARY_SEARCH_KERNEL_PATH); - fixupBinSearchObject(charToObject(GENERIC_REGION_BINARY_SEARCH_KERNEL_PATH)); + charToAllButBoolean(TASK, GENERIC_REGION_BINARY_SEARCH_KERNEL_PATH); + fixupBinSearchObject(charToObject(TASK, GENERIC_REGION_BINARY_SEARCH_KERNEL_PATH)); - charToAllButBooleanAndByte(GENERIC_REGION_CHAR_PATH); - fixupChunkColumnRegionByte(charToByte(GENERIC_REGION_CHAR_PATH)); - fixupChunkColumnRegionObject(charToObject(GENERIC_REGION_CHAR_PATH)); + charToAllButBooleanAndByte(TASK, GENERIC_REGION_CHAR_PATH); + fixupChunkColumnRegionByte(charToByte(TASK, GENERIC_REGION_CHAR_PATH)); + fixupChunkColumnRegionObject(charToObject(TASK, GENERIC_REGION_CHAR_PATH)); - final List paths = charToAllButBoolean( + final List paths = charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceChar.java"); fixupRegionedColumnSourceLong(paths.stream().filter(p -> p.contains("Long")).findFirst().get()); fixupRegionedColumnSourceByte(paths.stream().filter(p -> p.contains("Byte")).findFirst().get()); diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateReverseKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateReverseKernel.java index 8d82b0a49b8..1a90681644a 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateReverseKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateReverseKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -10,7 +10,7 @@ public class ReplicateReverseKernel { public static void main(String[] args) throws IOException { ReplicatePrimitiveCode - .charToAll( + .charToAll("replicateReverseKernel", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/reverse/CharReverseKernel.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingBuffers.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingBuffers.java index 3c392b5bb84..71b96c5b254 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingBuffers.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingBuffers.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -17,11 +17,12 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateRingBuffers { + private static final String TASK = "replicateRingBuffers"; public static void main(String... args) throws IOException { // replicate ring buffers to all but Object (since RingBuffer<> already exisits) - charToAllButBoolean("Base/src/main/java/io/deephaven/base/ringbuffer/CharRingBuffer.java"); - String objectResult = ReplicatePrimitiveCode.charToObject( + charToAllButBoolean(TASK, "Base/src/main/java/io/deephaven/base/ringbuffer/CharRingBuffer.java"); + String objectResult = ReplicatePrimitiveCode.charToObject(TASK, "Base/src/main/java/io/deephaven/base/ringbuffer/CharRingBuffer.java"); File objectFile = new File(objectResult); List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); @@ -66,9 +67,9 @@ public static void main(String... args) throws IOException { "\n")); FileUtils.writeLines(objectFile, lines); - charToAllButBoolean( + charToAllButBoolean(TASK, "Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingCharRingBuffer.java"); - objectResult = ReplicatePrimitiveCode.charToObject( + objectResult = ReplicatePrimitiveCode.charToObject(TASK, "Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingCharRingBuffer.java"); objectFile = new File(objectResult); lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); @@ -102,8 +103,8 @@ public static void main(String... args) throws IOException { // replicate the tests - charToAllButBoolean("Base/src/test/java/io/deephaven/base/ringbuffer/CharRingBufferTest.java"); - objectResult = ReplicatePrimitiveCode.charToObject( + charToAllButBoolean(TASK, "Base/src/test/java/io/deephaven/base/ringbuffer/CharRingBufferTest.java"); + objectResult = ReplicatePrimitiveCode.charToObject(TASK, "Base/src/test/java/io/deephaven/base/ringbuffer/CharRingBufferTest.java"); objectFile = new File(objectResult); lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); @@ -111,7 +112,7 @@ public static void main(String... args) throws IOException { "Object.MIN_VALUE", "new Object()"); FileUtils.writeLines(objectFile, lines); - List files = charToAllButBoolean( + List files = charToAllButBoolean(TASK, "Base/src/test/java/io/deephaven/base/ringbuffer/AggregatingCharRingBufferTest.java"); for (final String f : files) { if (f.contains("Byte")) { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingChunkSources.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingChunkSources.java index f755346d266..26702965309 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingChunkSources.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingChunkSources.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,7 +9,7 @@ public class ReplicateRingChunkSources { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateRingChunkSources", "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ring/CharacterRingChunkSource.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArray.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArray.java index ecec58c4c31..aa1e742496a 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArray.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArray.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -11,6 +11,8 @@ import java.io.IOException; import java.nio.charset.Charset; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.charToAllButBoolean; import static io.deephaven.replication.ReplicatePrimitiveCode.charToObject; @@ -18,10 +20,12 @@ import static io.deephaven.replication.ReplicationUtils.simpleFixup; public class ReplicateSegmentedSortedArray { + private static final String TASK = "replicateSegmentedSortedArray"; + public static void main(String[] args) throws IOException { final String charSsaPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/ssa/CharSegmentedSortedArray.java"; - final List ssas = charToAllButBoolean(charSsaPath); + final List ssas = charToAllButBoolean(TASK, charSsaPath); ssas.add(charSsaPath); invertSense(charSsaPath, descendingPath(charSsaPath)); @@ -29,7 +33,7 @@ public static void main(String[] args) throws IOException { final String charNullSsaPath = ReplicateDupCompactKernel.fixupCharNullComparisons(charSsaPath); invertSense(charNullSsaPath, descendingPath(charNullSsaPath)); - final String objectSsa = charToObject(charSsaPath); + final String objectSsa = charToObject(TASK, charSsaPath); fixupObjectSsa(objectSsa, true); ssas.add(objectSsa); @@ -48,7 +52,7 @@ public static void main(String[] args) throws IOException { final String charChunkSsaStampPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/ssa/CharChunkSsaStamp.java"; - final List chunkSsaStamps = charToAllButBoolean(charChunkSsaStampPath); + final List chunkSsaStamps = charToAllButBoolean(TASK, charChunkSsaStampPath); chunkSsaStamps.add(charChunkSsaStampPath); invertSense(charChunkSsaStampPath, descendingPath(charChunkSsaStampPath)); @@ -61,7 +65,7 @@ public static void main(String[] args) throws IOException { fixupSsaName(descendingCharNullChunkSsaStampPath, "CharReverseSegmentedSortedArray", "NullAwareCharReverseSegmentedSortedArray"); - final String objectSsaStamp = charToObject(charChunkSsaStampPath); + final String objectSsaStamp = charToObject(TASK, charChunkSsaStampPath); fixupObjectSsa(objectSsaStamp, true); chunkSsaStamps.add(objectSsaStamp); @@ -80,7 +84,7 @@ public static void main(String[] args) throws IOException { final String charSsaSsaStampPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/ssa/CharSsaSsaStamp.java"; - final List ssaSsaStamps = charToAllButBoolean(charSsaSsaStampPath); + final List ssaSsaStamps = charToAllButBoolean(TASK, charSsaSsaStampPath); ssaSsaStamps.add(charSsaSsaStampPath); invertSense(charSsaSsaStampPath, descendingPath(charSsaSsaStampPath)); @@ -92,7 +96,7 @@ public static void main(String[] args) throws IOException { fixupSsaName(descendingCharNullSsaSsaStampPath, "CharReverseSegmentedSortedArray", "NullAwareCharReverseSegmentedSortedArray"); - final String objectSsaSsaStamp = charToObject(charSsaSsaStampPath); + final String objectSsaSsaStamp = charToObject(TASK, charSsaSsaStampPath); fixupObjectSsa(objectSsaSsaStamp, true); ssaSsaStamps.add(objectSsaSsaStamp); @@ -111,12 +115,12 @@ public static void main(String[] args) throws IOException { final String charSsaCheckerPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/ssa/CharSsaChecker.java"; - final List ssaCheckers = charToAllButBoolean(charSsaCheckerPath); + final List ssaCheckers = charToAllButBoolean(TASK, charSsaCheckerPath); ssaCheckers.add(charSsaCheckerPath); invertSense(charSsaCheckerPath, descendingPath(charSsaCheckerPath)); - final String objectSsaChecker = charToObject(charSsaCheckerPath); + final String objectSsaChecker = charToObject(TASK, charSsaCheckerPath); fixupObjectSsa(objectSsaChecker, true); ssaCheckers.add(objectSsaChecker); @@ -139,12 +143,18 @@ private static void invertSense(String path, String descendingPath) throws IOExc List lines = ascendingNameToDescendingName(path, FileUtils.readLines(file, Charset.defaultCharset())); + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + if (path.contains("ChunkSsaStamp") || path.contains("SsaSsaStamp") || path.contains("SsaChecker")) { - lines = globalReplacements(3, lines, "\\BSegmentedSortedArray", "ReverseSegmentedSortedArray"); + lines = globalReplacements(lines, "\\BSegmentedSortedArray", "ReverseSegmentedSortedArray"); } if (path.contains("SegmentedSortedArray")) { - lines = globalReplacements(3, lines, "\\BSsaChecker", "ReverseSsaChecker"); + lines = globalReplacements(lines, "\\BSsaChecker", "ReverseSsaChecker"); } @@ -163,7 +173,14 @@ private static void invertSense(String path, String descendingPath) throws IOExc private static void fixupSsaName(String path, String oldName, String newName) throws IOException { final File file = new File(path); List lines = FileUtils.readLines(file, Charset.defaultCharset()); - lines = globalReplacements(3, lines, oldName, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + lines = globalReplacements(lines, oldName, newName); FileUtils.writeLines(new File(path), lines); } @@ -171,8 +188,14 @@ private static void fixupSsaName(String path, String oldName, String newName) th private static List ascendingNameToDescendingName(String path, List lines) { final String className = new File(path).getName().replaceAll(".java$", ""); final String newName = descendingPath(className); - // we should skip the replicate header - return globalReplacements(3, lines, className, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, className, newName); } @NotNull diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArrayTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArrayTests.java index f9e70cb2eb4..4c8b4d4aa90 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArrayTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArrayTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -18,10 +18,10 @@ public class ReplicateSegmentedSortedArrayTests { public static void main(String[] args) throws IOException { ReplicateSegmentedSortedArray.main(args); - charToAllButBoolean( + charToAllButBoolean("replicateSegmentedSortedArrayTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssa/TestCharSegmentedSortedArray.java"); final String objectSsaTest = - charToObject( + charToObject("replicateSegmentedSortedArrayTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssa/TestCharSegmentedSortedArray.java"); fixupObjectSsaTest(objectSsaTest); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java index 71268629a93..d0bf3daddaa 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import gnu.trove.set.hash.THashSet; @@ -19,101 +19,103 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateSegmentedSortedMultiset { + private static final String TASK = "replicateSegmentedSortedMultiset"; + public static void main(String[] args) throws IOException { - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java"); - insertInstantExtensions(charToLong( + insertInstantExtensions(charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java")); - String objectSsm = charToObject( + String objectSsm = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java"); fixupObjectSsm(objectSsm, ReplicateSegmentedSortedMultiset::fixupNulls, ReplicateSegmentedSortedMultiset::fixupTHashes, ReplicateSegmentedSortedMultiset::fixupSsmConstructor, ReplicateSegmentedSortedMultiset::fixupObjectCompare); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/CharSetResult.java"); fixupObjectSsm( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/CharSetResult.java"), ReplicateSegmentedSortedMultiset::fixupNulls); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/CharPercentileTypeHelper.java"); fixupObjectSsm( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/CharPercentileTypeHelper.java"), ReplicateSegmentedSortedMultiset::fixupNulls); - charToIntegers( + charToIntegers(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/CharPercentileTypeMedianHelper.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/FloatPercentileTypeMedianHelper.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/CharSsmBackedSource.java"); - objectSsm = charToObject( + objectSsm = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/CharSsmBackedSource.java"); fixupObjectSsm(objectSsm, ReplicateSegmentedSortedMultiset::fixupSourceConstructor, (l) -> replaceRegion(l, "CreateNew", Collections.singletonList( " underlying.set(key, ssm = new ObjectSegmentedSortedMultiset(SsmDistinctContext.NODE_SIZE, Object.class));"))); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/count/CharChunkedCountDistinctOperator.java"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/count/CharChunkedCountDistinctOperator.java"), "ssms"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharChunkedDistinctOperator.java"); fixupLongKernelOperator( - charToLong( + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharChunkedDistinctOperator.java"), " externalResult = new InstantSsmSourceWrapper(internalResult);"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharChunkedDistinctOperator.java"), "internalResult"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharChunkedUniqueOperator.java"); fixupLongKernelOperator( - charToLong( + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharChunkedUniqueOperator.java"), " externalResult = new LongAsInstantColumnSource(internalResult);"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharChunkedUniqueOperator.java"), "ssms"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/count/CharRollupCountDistinctOperator.java"); - fixupObjectKernelOperator(charToObject( + fixupObjectKernelOperator(charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/count/CharRollupCountDistinctOperator.java"), "ssms"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharRollupDistinctOperator.java"); fixupLongKernelOperator( - charToLong( + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharRollupDistinctOperator.java"), " externalResult = new InstantSsmSourceWrapper(internalResult);"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharRollupDistinctOperator.java"), "internalResult"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharRollupUniqueOperator.java"); fixupLongKernelOperator( - charToLong( + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharRollupUniqueOperator.java"), " externalResult = new LongAsInstantColumnSource(internalResult);"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharRollupUniqueOperator.java"), "ssms"); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultisetTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultisetTests.java index 3d119fe2ec4..f7220feb53d 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultisetTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultisetTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -18,17 +18,17 @@ public class ReplicateSegmentedSortedMultisetTests { public static void main(String[] args) throws IOException { ReplicateSegmentedSortedMultiset.main(args); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats("replicateSegmentedSortedMultisetTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java"); fixupFloatTests( - charToFloat( + charToFloat("replicateSegmentedSortedMultisetTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java", null)); - fixupFloatTests(charToDouble( + fixupFloatTests(charToDouble("replicateSegmentedSortedMultisetTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java", null)); final String objectSsaTest = - charToObject( + charToObject("replicateSegmentedSortedMultisetTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java"); fixupObjectSsaTest(objectSsaTest); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSetInclusionKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSetInclusionKernel.java index 68bbbf56e95..59f138ad90d 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSetInclusionKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSetInclusionKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -9,7 +9,7 @@ public class ReplicateSetInclusionKernel { public static void main(String[] args) throws IOException { - charToAllButBoolean( + charToAllButBoolean("replicateSetInclusionKernel", "engine/table/src/main/java/io/deephaven/engine/table/impl/select/setinclusion/CharSetInclusionKernel.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortCheck.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortCheck.java index f0e00b41e82..a2d4c995395 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortCheck.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortCheck.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -12,6 +12,8 @@ import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.charToAllButBoolean; import static io.deephaven.replication.ReplicatePrimitiveCode.charToObject; @@ -25,8 +27,8 @@ public static void main(String[] args) throws IOException { final String charSortCheckPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/sortcheck/CharSortCheck.java"; invertList.add(charSortCheckPath); - invertList.addAll(charToAllButBoolean(charSortCheckPath)); - final String objectPath = charToObject(charSortCheckPath); + invertList.addAll(charToAllButBoolean("replicateSortCheck", charSortCheckPath)); + final String objectPath = charToObject("replicateSortCheck", charSortCheckPath); invertList.add(objectPath); ReplicationUtils.fixupChunkAttributes(objectPath); @@ -55,8 +57,14 @@ private static void invertSense(String path, String descendingPath) throws IOExc private static List ascendingNameToDescendingName(String path, List lines) { final String className = new File(path).getName().replaceAll(".java$", ""); final String newName = ascendingNameToDescendingName(className); - // we should skip the replicate header - return globalReplacements(3, lines, className, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream("replicateSortCheck", ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, className, newName); } @NotNull diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernel.java index e0a4dfbfc66..8e256ef7f70 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -16,11 +16,14 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.*; import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateSortKernel { + private static final String TASK = "replicateSortKernel"; + public static void main(String[] args) throws IOException { replicateLongToInt(); replicateLongToByte(); @@ -36,29 +39,29 @@ public static void main(String[] args) throws IOException { doCharMegaMergeReplication( "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/megamerge/CharLongMegaMergeKernel.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/findruns/CharFindRunsKernel.java"); - final String objectRunPath = charToObject( + final String objectRunPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/findruns/CharFindRunsKernel.java"); fixupObjectRuns(objectRunPath); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/partition/CharPartitionKernel.java"); - final String objectPartitionPath = charToObject( + final String objectPartitionPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/partition/CharPartitionKernel.java"); fixupObjectPartition(objectPartitionPath); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/permute/CharPermuteKernel.java"); - fixupObjectPermute(charToObject( + fixupObjectPermute(charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/permute/CharPermuteKernel.java")); } private static void doCharReplication(@NotNull final String sourceClassJavaPath) throws IOException { // replicate char to each of the other types final List timsortPaths = - charToAllButBoolean(sourceClassJavaPath); - final String objectSortPath = charToObject(sourceClassJavaPath); + charToAllButBoolean(TASK, sourceClassJavaPath); + final String objectSortPath = charToObject(TASK, sourceClassJavaPath); timsortPaths.add(sourceClassJavaPath); timsortPaths.add(objectSortPath); @@ -105,8 +108,8 @@ private static void doCharReplication(@NotNull final String sourceClassJavaPath) private static void doCharMegaMergeReplication(String sourceClassJavaPath) throws IOException { // replicate char to each of the other types - final List megaMergePaths = charToAllButBoolean(sourceClassJavaPath); - final String objectSortPath = charToObject(sourceClassJavaPath); + final List megaMergePaths = charToAllButBoolean(TASK, sourceClassJavaPath); + final String objectSortPath = charToObject(TASK, sourceClassJavaPath); megaMergePaths.add(sourceClassJavaPath); megaMergePaths.add(objectSortPath); @@ -124,21 +127,22 @@ private static void doCharMegaMergeReplication(String sourceClassJavaPath) throw } private static void replicateLongToInt() throws IOException { - final String intSortKernelPath = longToInt( + final String intSortKernelPath = longToInt(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/LongSortKernel.java"); fixupIntSortKernel(intSortKernelPath); - longToInt( + longToInt(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/timsort/CharLongTimsortKernel.java"); - longToInt( + longToInt(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/radix/BooleanLongRadixSortKernel.java"); } private static void replicateLongToByte() throws IOException { - final String byteSortKernelPath = longToByte( + final String byteSortKernelPath = longToByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/LongSortKernel.java"); fixupByteSortKernel(byteSortKernelPath); - longToByte("engine/table/src/main/java/io/deephaven/engine/table/impl/sort/timsort/CharLongTimsortKernel.java"); - longToByte( + longToByte(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/timsort/CharLongTimsortKernel.java"); + longToByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/radix/BooleanLongRadixSortKernel.java"); } @@ -171,15 +175,21 @@ private static void fixupByteSortKernel(String byteSortKernelPath) throws IOExce private static void invertSense(String path, String descendingPath) throws IOException { final File file = new File(path); - final List lines = ascendingNameToDescendingName(FileUtils.readLines(file, Charset.defaultCharset())); + final List lines = ascendingNameToDescendingName(path, FileUtils.readLines(file, Charset.defaultCharset())); FileUtils.writeLines(new File(descendingPath), invertComparisons(lines)); } @NotNull - private static List ascendingNameToDescendingName(List lines) { - // we should skip the replicate header - return globalReplacements(3, lines, "TimsortKernel", "TimsortDescendingKernel", "\\BLongMegaMergeKernel", + private static List ascendingNameToDescendingName(String sourceFile, List lines) { + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(sourceFile)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, "TimsortKernel", "TimsortDescendingKernel", "\\BLongMegaMergeKernel", "LongMegaMergeDescendingKernel"); } @@ -188,7 +198,7 @@ private static void fixupObjectTimSort(String objectPath, boolean ascending) thr List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); if (!ascending) { - lines = ascendingNameToDescendingName(lines); + lines = ascendingNameToDescendingName(objectPath, lines); } lines = fixupChunkAttributes(lines); @@ -201,7 +211,7 @@ private static void fixupObjectMegaMerge(String objectPath, boolean ascending) t List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); if (!ascending) { - lines = ascendingNameToDescendingName(lines); + lines = ascendingNameToDescendingName(objectPath, lines); lines = invertComparisons(lines); } @@ -338,11 +348,7 @@ private static void fixupCharNullComparisons(String sourceClassJavaPath, String } } - lines.addAll(insertionPoint, Arrays.asList( - "/* ---------------------------------------------------------------------------------------------------------------------", - " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " + oldName - + " and regenerate", - " * ------------------------------------------------------------------------------------------------------------------ */")); + lines.add(insertionPoint, ReplicationUtils.fileHeaderString(TASK, oldName)); FileUtils.writeLines(new File(newPath), lines); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernelTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernelTests.java index ff216c794f5..564e1929478 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernelTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernelTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -18,33 +18,35 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.charToObject; public class ReplicateSortKernelTests { + private static final String TASK = "replicateSortKernelTests"; + public static void main(String[] args) throws IOException { ReplicateSortKernel.main(args); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/TestCharTimSortKernel.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/sort/timsort/CharSortKernelBenchmark.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/partition/CharPartitionKernelBenchmark.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/permute/TestCharPermuteKernel.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/megamerge/TestCharLongMegaMerge.java"); final String baseTestPath = - charToObject( + charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java"); fixupObject(baseTestPath); - charToObject( + charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/TestCharTimSortKernel.java"); - charToObject( + charToObject(TASK, "engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/sort/timsort/CharSortKernelBenchmark.java"); - final String objectMegaMergePath = charToObject( + final String objectMegaMergePath = charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/megamerge/TestCharLongMegaMerge.java"); fixupObjectMegaMerge(objectMegaMergePath); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourceAndChunkTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourceAndChunkTests.java index 8ef644491f3..a76c87c05e2 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourceAndChunkTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourceAndChunkTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -17,67 +17,72 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateSourceAndChunkTests { + private static final String TASK = "replicateSourceAndChunkTests"; + public static void main(String[] args) throws IOException { ReplicateSourcesAndChunks.main(args); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterArraySource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterArraySource.java"); - fixupBooleanColumnSourceTest(charToBooleanAsByte( + fixupBooleanColumnSourceTest(charToBooleanAsByte(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterArraySource.java", Collections.emptyMap())); - fixupObjectColumnSourceTest(charToObject( + fixupObjectColumnSourceTest(charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterArraySource.java")); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/AbstractCharacterColumnSourceTest.java"); - fixupBooleanColumnSourceTest(charToBooleanAsByte( + fixupBooleanColumnSourceTest(charToBooleanAsByte(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/AbstractCharacterColumnSourceTest.java", Collections.emptyMap())); - fixupObjectColumnSourceTest(charToObject( + fixupObjectColumnSourceTest(charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/AbstractCharacterColumnSourceTest.java")); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterSparseArraySource.java"); - fixupBooleanColumnSourceTest(charToBooleanAsByte( + fixupBooleanColumnSourceTest(charToBooleanAsByte(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterSparseArraySource.java", Collections.emptyMap())); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterImmutableArraySource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterImmutable2DArraySource.java"); - charToAllButBoolean("engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java"); - fixupChunkTest(charToObject("engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java")); - fixupBooleanChunkTest(charToBoolean("engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java")); + charToAllButBoolean(TASK, "engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java"); + fixupChunkTest(charToObject(TASK, "engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java")); + fixupBooleanChunkTest(charToBoolean(TASK, "engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java")); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/deltaaware/TestCharacterDeltaAwareColumnSource.java"); - fixupBooleanDeltaAwareColumnSourceTest(charToBooleanAsByte( + fixupBooleanDeltaAwareColumnSourceTest(charToBooleanAsByte(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/deltaaware/TestCharacterDeltaAwareColumnSource.java", Collections.emptyMap())); - fixupObjectDeltaAwareColumnSourceTest(charToObject( + fixupObjectDeltaAwareColumnSourceTest(charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/deltaaware/TestCharacterDeltaAwareColumnSource.java")); - charToAllButBoolean("engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/CharTestSource.java"); - fixupObjectTestSource(charToObject( + charToAllButBoolean(TASK, + "engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/CharTestSource.java"); + fixupObjectTestSource(charToObject(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/CharTestSource.java")); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableCharTestSource.java"); - fixupObjectTestSource(charToObject( + fixupObjectTestSource(charToObject(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableCharTestSource.java")); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/CharGenerator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/FloatGenerator.java"); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UniqueCharGenerator.java"); - charToLong("engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java"); - charToInteger("engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java", + charToLong(TASK, + "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java"); + charToInteger(TASK, + "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java", Collections.emptyMap()); - fixupSortedDoubleGenerator(charToDouble( + fixupSortedDoubleGenerator(charToDouble(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java", Collections.emptyMap())); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java index 8e8378f2937..d8aae5620e2 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.base.verify.Require; @@ -28,58 +28,59 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateSourcesAndChunks { + public static final String TASK = "replicateSourcesAndChunks"; public static void main(String... args) throws IOException { replicateArraySources(); replicateSparseArraySources(); replicateSingleValues(); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/aggregate/CharAggregateColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/aggregate/SlicedCharAggregateColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/aggregate/RangeAggregateColumnSourceChar.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UngroupedCharArrayColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UngroupedCharVectorColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UngroupedBoxedCharObjectVectorColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UngroupedBoxedCharArrayColumnSource.java"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableCharArraySource.java"); - fixupImmutableLongArraySource(charToLong( + fixupImmutableLongArraySource(charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableCharArraySource.java")); fixupByteReinterpret( "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableByteArraySource.java"); replicateObjectImmutableArraySource(); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DCharArraySource.java"); - fixupImmutable2DLongArraySource(charToLong( + fixupImmutable2DLongArraySource(charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DCharArraySource.java")); fixupByteReinterpret( "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DByteArraySource.java"); replicateObjectImmutable2DArraySource(); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantCharSource.java"); - fixupImmutableConstantLongSource(charToLong( + fixupImmutableConstantLongSource(charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantCharSource.java")); fixupByteReinterpret( "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantByteSource.java"); replicateImmutableConstantObjectSource(); - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/sized/SizedCharChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/sized/SizedCharChunk.java"); replicateObjectSizedChunk(); - charToAll("engine/table/src/main/java/io/deephaven/engine/page/CharChunkPage.java"); + charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/page/CharChunkPage.java"); replicateObjectChunkPage("engine/table/src/main/java/io/deephaven/engine/page/CharChunkPage.java"); - charToAll("extensions/source-support/src/main/java/io/deephaven/generic/page/ChunkHolderPageChar.java"); + charToAll(TASK, "extensions/source-support/src/main/java/io/deephaven/generic/page/ChunkHolderPageChar.java"); replicateObjectChunkPage( "extensions/source-support/src/main/java/io/deephaven/generic/page/ChunkHolderPageChar.java"); @@ -96,19 +97,19 @@ public static void main(String... args) throws IOException { replicateResettableWritableChunkChunks(); replicateFactories(); - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/util/pools/CharChunkPool.java"); - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/util/pools/CharChunkSoftPool.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/pools/CharChunkPool.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/pools/CharChunkSoftPool.java"); replicateChunkFillers(); - charToAll("engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); + charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); replicateChunkColumnSource(); } private static void replicateObjectSizedChunk() throws IOException { String path = ReplicatePrimitiveCode - .charToObject("engine/chunk/src/main/java/io/deephaven/chunk/sized/SizedCharChunk.java"); + .charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/sized/SizedCharChunk.java"); final File classFile = new File(path); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); lines = globalReplacements(lines, @@ -119,7 +120,7 @@ private static void replicateObjectSizedChunk() throws IOException { } private static void replicateObjectChunkPage(final String charPath) throws IOException { - String path = ReplicatePrimitiveCode.charToObject(charPath); + String path = ReplicatePrimitiveCode.charToObject(TASK, charPath); final File classFile = new File(path); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); lines = globalReplacements(lines, @@ -359,14 +360,14 @@ private static void fixupByteReinterpret(String byteImmutableSource) throws IOEx } private static void replicateSingleValues() throws IOException { - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSingleValueSource.java"); replicateObjectSingleValue(); replicateBooleanSingleValue(); } private static void replicateObjectSingleValue() throws IOException { - final String resultClassJavaPath = charToObject( + final String resultClassJavaPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSingleValueSource.java"); final File resultClassJavaFile = new File(resultClassJavaPath); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); @@ -405,7 +406,7 @@ private static void replicateObjectSingleValue() throws IOException { } private static void replicateBooleanSingleValue() throws IOException { - final String resultClassJavaPath = charToBoolean( + final String resultClassJavaPath = charToBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSingleValueSource.java"); final File resultClassJavaFile = new File(resultClassJavaPath); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); @@ -435,13 +436,13 @@ private static void replicateBooleanSingleValue() throws IOException { } private static void replicateChunkColumnSource() throws IOException { - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/chunkcolumnsource/CharChunkColumnSource.java"); replicateObjectChunkColumnSource(); } private static void replicateObjectChunkColumnSource() throws IOException { - final String resultClassJavaPath = charToObject( + final String resultClassJavaPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/chunkcolumnsource/CharChunkColumnSource.java"); final File resultClassJavaFile = new File(resultClassJavaPath); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); @@ -480,8 +481,7 @@ private static void replicateImmutableConstantObjectSource() throws IOException } private static void replicateObjectImmutableSource(String immutableSourcePath) throws IOException { - final String resultClassJavaPath = charToObject( - immutableSourcePath); + final String resultClassJavaPath = charToObject(TASK, immutableSourcePath); final File resultClassJavaFile = new File(resultClassJavaPath); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); lines = removeRegion(lines, "boxing imports"); @@ -547,7 +547,7 @@ private static List genericObjectColumnSourceReplacements(List l } private static void replicateArraySources() throws IOException { - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java"); replicateLongArraySource(); } @@ -555,7 +555,7 @@ private static void replicateArraySources() throws IOException { private static void replicateSparseArraySources() throws IOException { replicateOneOrN(); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSparseArraySource.java"); replicateLongSparseArraySource(); replicateBooleanSparseArraySource(); @@ -563,14 +563,14 @@ private static void replicateSparseArraySources() throws IOException { } private static void replicateChunks() throws IOException { - charToAllButBooleanAndByte("engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); + charToAllButBooleanAndByte(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); replicateByteChunks(); replicateBooleanChunks(); replicateObjectChunks(); } private static void replicateByteChunks() throws IOException { - final String className = charToByte("engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); + final String className = charToByte(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); final File classFile = new File(className); List classLines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -590,7 +590,7 @@ private static void replicateByteChunks() throws IOException { } private static void replicateBooleanChunks() throws IOException { - final String className = charToBoolean("engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); + final String className = charToBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); final File classFile = new File(className); List classLines = FileUtils.readLines(classFile, Charset.defaultCharset()); classLines = ReplicationUtils.removeRegion(classLines, "BufferImports"); @@ -601,7 +601,7 @@ private static void replicateBooleanChunks() throws IOException { } private static void replicateObjectChunks() throws IOException { - final String className = charToObject("engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); lines = globalReplacements(lines, @@ -630,12 +630,12 @@ private static void replicateObjectChunks() throws IOException { } private static void replicateChunkChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/CharChunkChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunkChunk.java"); replicateObjectChunkChunks(); } private static void replicateObjectChunkChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunkChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -656,7 +656,7 @@ private static void replicateObjectChunkChunks() throws IOException { private static void replicateWritableChunks() throws IOException { final List files = - charToAllButBoolean("engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java"); + charToAllButBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java"); for (String fileName : files) { final File classFile = new File(fileName); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -668,7 +668,7 @@ private static void replicateWritableChunks() throws IOException { } private static void replicateWritableBooleanChunks() throws IOException { - final String writableBooleanChunkClassName = charToBoolean( + final String writableBooleanChunkClassName = charToBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java"); final File writableBooleanChunkClassFile = new File(writableBooleanChunkClassName); List writableBooleanChunkClassLines = @@ -686,7 +686,7 @@ private static void replicateWritableBooleanChunks() throws IOException { } private static void replicateWritableObjectChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -724,13 +724,13 @@ private static void replicateWritableObjectChunks() throws IOException { } private static void replicateWritableChunkChunks() throws IOException { - charToAllButBoolean("engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunkChunk.java"); + charToAllButBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunkChunk.java"); replicateWritableBooleanChunkChunks(); replicateWritableObjectChunkChunks(); } private static void replicateWritableBooleanChunkChunks() throws IOException { - final String writableBooleanChunkClassName = charToBoolean( + final String writableBooleanChunkClassName = charToBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunkChunk.java"); final File writableBooleanChunkClassFile = new File(writableBooleanChunkClassName); List writableBooleanChunkClassLines = @@ -748,7 +748,7 @@ private static void replicateWritableBooleanChunkChunks() throws IOException { } private static void replicateWritableObjectChunkChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunkChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -769,12 +769,12 @@ private static void replicateWritableObjectChunkChunks() throws IOException { } private static void replicateResettableChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunk.java"); replicateResettableObjectChunks(); } private static void replicateResettableObjectChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -792,12 +792,12 @@ private static void replicateResettableObjectChunks() throws IOException { } private static void replicateResettableWritableChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunk.java"); replicateResettableWritableObjectChunks(); } private static void replicateResettableWritableObjectChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -815,12 +815,12 @@ private static void replicateResettableWritableObjectChunks() throws IOException } private static void replicateResettableWritableChunkChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunkChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunkChunk.java"); replicateResettableWritableObjectChunkChunks(); } private static void replicateResettableWritableObjectChunkChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunkChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -840,12 +840,12 @@ private static void replicateResettableWritableObjectChunkChunks() throws IOExce } private static void replicateResettableChunkChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunkChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunkChunk.java"); replicateResettableObjectChunkChunks(); } private static void replicateResettableObjectChunkChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunkChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -860,9 +860,9 @@ private static void replicateResettableObjectChunkChunks() throws IOException { } private static void replicateFactories() throws IOException { - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/factories/CharChunkFactory.java"); - final String className = charToBoolean( + final String className = charToBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/factories/CharChunkFactory.java"); final File classFile = new File(className); List classLines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -870,12 +870,12 @@ private static void replicateFactories() throws IOException { } private static void replicateChunkFillers() throws IOException { - charToAll("engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); + charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); replicateObjectChunkFiller(); } private static void replicateObjectChunkFiller() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -887,7 +887,7 @@ private static void replicateObjectChunkFiller() throws IOException { } private static void replicateLongArraySource() throws IOException { - final String className = charToLong( + final String className = charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -985,7 +985,7 @@ private static void replicateLongArraySource() throws IOException { } private static void replicateLongSparseArraySource() throws IOException { - final String className = charToLong( + final String className = charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSparseArraySource.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -1134,7 +1134,7 @@ private static List addLongToBoxedAdapter( } private static void replicateBooleanSparseArraySource() throws IOException { - final String booleanPath = charToBooleanAsByte( + final String booleanPath = charToBooleanAsByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSparseArraySource.java", Collections.emptyMap()); final File booleanFile = new File(booleanPath); @@ -1480,7 +1480,7 @@ private static void replicateBooleanSparseArraySource() throws IOException { } private static void replicateObjectSparseArraySource() throws IOException { - final String objectPath = charToObject( + final String objectPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSparseArraySource.java"); final File objectFile = new File(objectPath); List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); @@ -1553,8 +1553,8 @@ private static void replicateObjectSparseArraySource() throws IOException { } private static void replicateOneOrN() throws IOException { - charToAll("engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java"); - final String objectOneOrNPath = charToObject( + charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java"); + final String objectOneOrNPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java"); final File oneOrNFile = new File(objectOneOrNPath); List lines = FileUtils.readLines(oneOrNFile, Charset.defaultCharset()); diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateStampKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateStampKernel.java index 353f8b42996..5aac8171ea5 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateStampKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateStampKernel.java @@ -1,8 +1,9 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; +import io.deephaven.replication.ReplicationUtils; import org.apache.commons.io.FileUtils; import org.jetbrains.annotations.NotNull; @@ -11,26 +12,29 @@ import java.nio.charset.Charset; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.*; import static io.deephaven.replication.ReplicationUtils.globalReplacements; public class ReplicateStampKernel { + private static final String TASK = "replicateStampKernel"; + public static void main(String[] args) throws IOException { final String charStampPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/join/stamp/CharStampKernel.java"; final String charNoExactStampPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/join/stamp/CharNoExactStampKernel.java"; - final List stampKernels = charToAllButBoolean(charStampPath); - final List noExactStampKernels = charToAllButBoolean(charNoExactStampPath); + final List stampKernels = charToAllButBoolean(TASK, charStampPath); + final List noExactStampKernels = charToAllButBoolean(TASK, charNoExactStampPath); stampKernels.addAll(noExactStampKernels); stampKernels.add(charStampPath); stampKernels.add(charNoExactStampPath); - final String objectStamp = charToObject(charStampPath); + final String objectStamp = charToObject(TASK, charStampPath); fixupObjectStamp(objectStamp); - final String objectNoExactStamp = charToObject(charNoExactStampPath); + final String objectNoExactStamp = charToObject(TASK, charNoExactStampPath); fixupObjectStamp(objectNoExactStamp); stampKernels.add(objectStamp); @@ -72,8 +76,14 @@ private static void invertSense(String path, String descendingPath) throws IOExc private static List ascendingNameToDescendingName(String path, List lines) { final String className = new File(path).getName().replaceAll(".java$", ""); final String newName = className.replace("StampKernel", "ReverseStampKernel"); - // we should skip the replicate header - return globalReplacements(3, lines, className, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, className, newName); } private static void fixupObjectStamp(String objectPath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateTableLocationKey.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateTableLocationKey.java index b4fd25d9b9e..06d4425b7be 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateTableLocationKey.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateTableLocationKey.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -22,6 +22,7 @@ public static void main(final String[] args) throws IOException { {"file", "uri"}, {"File", "URI"}, }; - replaceAll(FILE_TABLE_LOCATION_KEY_PATH, URI_TABLE_LOCATION_KEY_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll("replicateTableLocationKey", FILE_TABLE_LOCATION_KEY_PATH, URI_TABLE_LOCATION_KEY_PATH, null, + NO_EXCEPTIONS, pairs); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateToPage.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateToPage.java index 745e324ee11..778618907cd 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateToPage.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateToPage.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -14,10 +14,10 @@ public class ReplicateToPage { public static void main(String... args) throws IOException { - intToLongAndFloatingPoints( + intToLongAndFloatingPoints("replicateToPage", "extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToIntPage.java", "interface"); - charToShortAndByte( + charToShortAndByte("replicateToPage", "extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToCharPageFromInt.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUnboxerKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUnboxerKernel.java index 1073c56793e..6647319e4dc 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUnboxerKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUnboxerKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,7 +9,7 @@ public class ReplicateUnboxerKernel { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateUnboxerKernel", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/unboxer/CharUnboxer.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java index f5b317fea00..15d8f242c16 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java @@ -16,6 +16,8 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateUpdateBy { + private static final String TASK = "replicateUpdateBy"; + public static void main(String[] args) throws IOException { final String[] exemptions = new String[] { "long singletonGroup = QueryConstants.NULL_LONG", @@ -28,7 +30,7 @@ public static void main(String[] args) throws IOException { "long getFirstReprocessKey" }; - List files = ReplicatePrimitiveCode.charToAllButBoolean( + List files = ReplicatePrimitiveCode.charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/internal/BaseCharUpdateByOperator.java", exemptions); for (final String f : files) { @@ -39,13 +41,13 @@ public static void main(String[] args) throws IOException { fixupByteBase(f); } } - String objectResult = ReplicatePrimitiveCode.charToObject( + String objectResult = ReplicatePrimitiveCode.charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/internal/BaseCharUpdateByOperator.java"); fixupStandardObject(objectResult, "BaseObjectUpdateByOperator", true, "this\\(pair, affectingColumns, null, 0, 0, false\\);", "this(pair, affectingColumns, null, 0, 0, false, colType);"); - files = ReplicatePrimitiveCode.charToAll( + files = ReplicatePrimitiveCode.charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java"); for (final String f : files) { if (f.contains("Int")) { @@ -59,7 +61,7 @@ public static void main(String[] args) throws IOException { } } - objectResult = ReplicatePrimitiveCode.charToObject( + objectResult = ReplicatePrimitiveCode.charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java"); fixupStandardObject(objectResult, "ObjectFillByOperator", false, "super\\(pair, new String\\[\\] \\{ pair.rightColumn \\}\\);", @@ -68,7 +70,7 @@ public static void main(String[] args) throws IOException { "public ObjectChunk floatLines = FileUtils.readLines(floatFile, Charset.defaultCharset()); floatLines = ReplicationUtils.simpleFixup(floatLines, "ElementEquals", @@ -32,7 +33,7 @@ public static void main(String[] args) throws IOException { "Float.floatToIntBits(aIterator.nextFloat()) != Float.floatToIntBits(bIterator.nextFloat())"); FileUtils.writeLines(floatFile, floatLines); - final String doublePath = ReplicatePrimitiveCode.charToDouble(charVectorJavaPath, serialVersionUIDs); + final String doublePath = ReplicatePrimitiveCode.charToDouble(TASK, charVectorJavaPath, serialVersionUIDs); final File doubleFile = new File(doublePath); List doubleLines = FileUtils.readLines(doubleFile, Charset.defaultCharset()); doubleLines = ReplicationUtils.simpleFixup(doubleLines, "ElementEquals", @@ -40,13 +41,13 @@ public static void main(String[] args) throws IOException { "Double.doubleToLongBits(aIterator.nextDouble()) != Double.doubleToLongBits(bIterator.nextDouble())"); FileUtils.writeLines(doubleFile, doubleLines); - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean(TASK, "engine/vector/src/main/java/io/deephaven/vector/CharVectorDirect.java", serialVersionUIDs); - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean(TASK, "engine/vector/src/main/java/io/deephaven/vector/CharVectorSlice.java", serialVersionUIDs); - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean(TASK, "engine/vector/src/main/java/io/deephaven/vector/CharSubVector.java", serialVersionUIDs); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/TupleCodeGenerator.java b/replication/static/src/main/java/io/deephaven/replicators/TupleCodeGenerator.java index dcd42713205..17436d3c9d9 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/TupleCodeGenerator.java +++ b/replication/static/src/main/java/io/deephaven/replicators/TupleCodeGenerator.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.util.text.Indenter; diff --git a/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java b/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java index c271a6f6a0a..1ee0f242dbc 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java +++ b/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java @@ -1,9 +1,10 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.base.ClassUtil; +import io.deephaven.replication.ReplicationUtils; import io.deephaven.util.text.Indenter; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; @@ -245,6 +246,8 @@ private String generateTwoColumnTupleSource(@NotNull final String className, @No final String[] extraImports = new String[] {TupleCodeGenerator.getTupleImport(tupleClassName), TWO_COLUMN_FACTORY_NAME}; + code.append(ReplicationUtils.fileHeaderString("replicateTupleSources", TupleSourceCodeGenerator.class.getSimpleName())); + code.append("package ").append(OUTPUT_PACKAGE).append(';').append(NEW_LINE); code.append(NEW_LINE); @@ -264,8 +267,6 @@ private String generateTwoColumnTupleSource(@NotNull final String className, @No code.append("/**").append(NEW_LINE); code.append(" *

{@link TupleSource} that produces key column values from {@link ColumnSource} types ") .append(sourceClass1Name).append(" and ").append(sourceClass2Name).append('.').append(NEW_LINE); - code.append(" *

Generated by ").append(TupleSourceCodeGenerator.class.getName()).append(".") - .append(NEW_LINE); code.append(" */").append(NEW_LINE); code.append("@SuppressWarnings({\"unused\", \"WeakerAccess\"})").append(NEW_LINE); code.append("public class ").append(className).append(" extends AbstractTupleSource<").append(tupleClassName) @@ -511,6 +512,8 @@ private String generateThreeColumnTupleSource(@NotNull final String className, final String[] extraImports = new String[] {TupleCodeGenerator.getTupleImport(tupleClassName), "io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory"}; + code.append(ReplicationUtils.fileHeaderString("replicateTupleSources", TupleSourceCodeGenerator.class.getSimpleName())); + code.append("package ").append(OUTPUT_PACKAGE).append(';').append(NEW_LINE); code.append(NEW_LINE); @@ -531,8 +534,6 @@ private String generateThreeColumnTupleSource(@NotNull final String className, code.append(" *

{@link TupleSource} that produces key column values from {@link ColumnSource} types ") .append(sourceClass1Name).append(", ").append(sourceClass2Name).append(", and ") .append(sourceClass3Name).append('.').append(NEW_LINE); - code.append(" *

Generated by ").append(TupleSourceCodeGenerator.class.getName()).append(".") - .append(NEW_LINE); code.append(" */").append(NEW_LINE); code.append("@SuppressWarnings({\"unused\", \"WeakerAccess\"})").append(NEW_LINE); code.append("public class ").append(className).append(" extends AbstractTupleSource<").append(tupleClassName) diff --git a/replication/util/src/main/java/io/deephaven/replication/ReplicatePrimitiveCode.java b/replication/util/src/main/java/io/deephaven/replication/ReplicatePrimitiveCode.java index 314ea9ff394..921601649ad 100644 --- a/replication/util/src/main/java/io/deephaven/replication/ReplicatePrimitiveCode.java +++ b/replication/util/src/main/java/io/deephaven/replication/ReplicatePrimitiveCode.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replication; import io.deephaven.base.verify.Require; @@ -12,12 +12,14 @@ import java.util.List; import java.util.Map; +import static io.deephaven.replication.ReplicationUtils.className; import static io.deephaven.replication.ReplicationUtils.findNoLocateRegions; import static io.deephaven.replication.ReplicationUtils.replaceRegion; public class ReplicatePrimitiveCode { - private static String replicateCodeBasedOnChar(String sourceClassJavaPath, Map serialVersionUIDs, + private static String replicateCodeBasedOnChar(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String[] exemptions, String upperCharacterReplace, String upperCharReplace, String characterReplace, String charReplace, String allCapsCharReplace) throws IOException { String[][] pairs = new String[][] { @@ -27,10 +29,11 @@ private static String replicateCodeBasedOnChar(String sourceClassJavaPath, Map serialVersionUIDs, + private static String replicateCodeBasedOnInt(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String[] exemptions, String upperCharacterReplace, String upperCharReplace, String characterReplace, String charReplace, String allCapsCharReplace) throws IOException { String[][] pairs = new String[][] { @@ -40,10 +43,11 @@ private static String replicateCodeBasedOnInt(String sourceClassJavaPath, Map serialVersionUIDs, + private static String replicateCodeBasedOnShort(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String[] exemptions, String upperCharacterReplace, String charReplace, String allCapsCharReplace, String[]... extraPairs) throws IOException { final String[][] pairs; @@ -59,10 +63,11 @@ private static String replicateCodeBasedOnShort(String sourceClassJavaPath, Map< pairs[extraPairsLength] = new String[] {"Short", upperCharacterReplace}; pairs[extraPairsLength + 1] = new String[] {"short", charReplace}; pairs[extraPairsLength + 2] = new String[] {"SHORT", allCapsCharReplace}; - return replaceAll(sourceClassJavaPath, serialVersionUIDs, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, pairs); } - private static void replicateCodeBasedOnFloat(String sourceClassJavaPath, Map serialVersionUIDs, + private static void replicateCodeBasedOnFloat(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String[] exemptions, String upperCharacterReplace, String charReplace, String allCapsCharReplace) throws IOException { String[][] pairs = new String[][] { @@ -70,70 +75,76 @@ private static void replicateCodeBasedOnFloat(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToBoolean(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Boolean", "Boolean", "boolean", "boolean", "BOOLEAN"); } - public static String charToBooleanAsByte(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToBooleanAsByte(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Boolean", "Boolean", "boolean", "byte", "BOOLEAN"); } - private static String charToObject(String sourceClassJavaPath, Map serialVersionUIDs, + private static String charToObject(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Object", "Object", "Object", "Object", "OBJECT"); } - public static String charToByte(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToByte(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Byte", "Byte", "byte", "byte", "BYTE"); } - public static String charToDouble(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToDouble(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "Double", "double", "double", "DOUBLE"); } - public static String charToFloat(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToFloat(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Float", "Float", "float", "float", "FLOAT"); } - public static String charToInteger(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToInteger(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Integer", "Int", "integer", "int", "INT"); } - public static String charToLong(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToLong(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Long", "Long", "long", "long", "LONG"); } - public static String charToInstant(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToInstant(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Instant", "Instant", "Instant", "Instant", "INSTANT"); } - public static String charToShort(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToShort(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Short", "Short", "short", "short", "SHORT"); } - public static String charLongToLongInt(String sourceClassJavaPath, String... exemptions) + public static String charLongToLongInt(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { final String[][] pairs = new String[][] { // these happen in order, so we want to turn our longs to ints first, then do char to long, we can't @@ -149,10 +160,11 @@ public static String charLongToLongInt(String sourceClassJavaPath, String... exe {"character", "long"}, {"CHAR", "LONG"} }; - return replaceAll(sourceClassJavaPath, null, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, null, exemptions, pairs); } - public static String longToInt(String sourceClassJavaPath, String... exemptions) throws IOException { + public static String longToInt(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { final String[][] pairs = new String[][] { // these happen in order, so we want to turn our longs to ints first, then do char to long, we can't // actually discriminate between "Long" as text and "Long" as a type, @@ -162,10 +174,11 @@ public static String longToInt(String sourceClassJavaPath, String... exemptions) {"long", "int"}, {"LONG", "INT"}, }; - return replaceAll(sourceClassJavaPath, null, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, null, exemptions, pairs); } - public static String longToByte(String sourceClassJavaPath, String... exemptions) throws IOException { + public static String longToByte(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { final String[][] pairs = new String[][] { // these happen in order, so we want to turn our longs to ints first, then do char to long, we can't // actually discriminate between "Long" as text and "Long" as a type, @@ -175,10 +188,10 @@ public static String longToByte(String sourceClassJavaPath, String... exemptions {"long", "byte"}, {"LONG", "BYTE"}, }; - return replaceAll(sourceClassJavaPath, null, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, null, exemptions, pairs); } - public static String charLongToIntInt(String sourceClassJavaPath, String... exemptions) + public static String charLongToIntInt(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { final String[][] pairs = new String[][] { // these happen in order, so we want to turn our longs to ints first, then do char to long, we can't @@ -194,298 +207,324 @@ public static String charLongToIntInt(String sourceClassJavaPath, String... exem {"character", "int"}, {"CHAR", "INT"} }; - return replaceAll(sourceClassJavaPath, null, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, null, exemptions, pairs); } - public static String intToObject(String sourceClassJavaPath, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, null, exemptions, + public static String intToObject(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, null, exemptions, "Object", "Object", "Object", "Object", "OBJECT"); } - private static String intToObject(String sourceClassJavaPath, Map serialVersionUIDs, + private static String intToObject(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Object", "Object", "Object", "Object", "OBJECT"); } - public static String intToChar(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToChar(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Character", "Char", "char", "char", "CHAR"); } - public static String intToByte(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToByte(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Byte", "Byte", "byte", "byte", "BYTE"); } - public static String intToDouble(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToDouble(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "Double", "double", "double", "DOUBLE"); } - public static String intToFloat(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToFloat(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Float", "Float", "float", "float", "FLOAT"); } - public static String intToLong(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToLong(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Long", "Long", "long", "long", "LONG"); } - public static String intToShort(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToShort(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Short", "Short", "short", "short", "SHORT"); } - private static String shortToByte(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToByte(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Byte", "byte", "BYTE"); + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Byte", "byte", + "BYTE"); } - private static String shortToDouble(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToDouble(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "double", + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", + "double", "DOUBLE"); } - private static String shortToFloat(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToFloat(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Float", "float", "FLOAT"); + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Float", + "float", "FLOAT"); } - private static String shortToInteger(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToInteger(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Integer", "int", "INT", + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Integer", + "int", "INT", new String[][] {{"ShortVector", "IntVector"}}); } - private static String shortToLong(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToLong(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Long", "long", "LONG", + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Long", "long", + "LONG", new String[][] {{"Integer.signum", "Long.signum"}}); } - private static void floatToDouble(String sourceClassJavaPath, Map serialVersionUIDs, + private static void floatToDouble(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - replicateCodeBasedOnFloat(sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "double", "DOUBLE"); + replicateCodeBasedOnFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "double", + "DOUBLE"); } - public static List charToAll(String sourceClassJavaPath, String... exemptions) + public static List charToAll(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - return charToAll(sourceClassJavaPath, null, exemptions); + return charToAll(gradleTask, sourceClassJavaPath, null, exemptions); } - private static List charToAll(String sourceClassJavaPath, Map serialVersionUIDs, + private static List charToAll(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { final List results = new ArrayList<>(); - results.add(charToBoolean(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToBoolean(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return results; } - public static List charToIntegers(String sourceClassJavaPath, String... exemptions) + public static List charToIntegers(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - return charToIntegers(sourceClassJavaPath, null, exemptions); + return charToIntegers(gradleTask, sourceClassJavaPath, null, exemptions); } - public static List charToAllButBoolean(String sourceClassJavaPath, String... exemptions) + public static List charToAllButBoolean(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - return charToAllButBoolean(sourceClassJavaPath, null, exemptions); + return charToAllButBoolean(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToByte(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToByte(sourceClassJavaPath, null, exemptions); + public static String charToByte(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToByte(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToObject(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToObject(sourceClassJavaPath, null, exemptions); + public static String charToObject(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToObject(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToBoolean(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToBoolean(sourceClassJavaPath, null, exemptions); + public static String charToBoolean(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToBoolean(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToLong(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToLong(sourceClassJavaPath, null, exemptions); + public static String charToLong(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToLong(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToInstant(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToInstant(sourceClassJavaPath, null, exemptions); + public static String charToInstant(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToInstant(gradleTask, sourceClassJavaPath, null, exemptions); } - public static void charToAllButBooleanAndLong(String sourceClassJavaPath, String... exemptions) + public static void charToAllButBooleanAndLong(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - charToAllButBooleanAndLong(sourceClassJavaPath, null, exemptions); + charToAllButBooleanAndLong(gradleTask, sourceClassJavaPath, null, exemptions); } - public static List charToAllButBoolean(String sourceClassJavaPath, + public static List charToAllButBoolean(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List resultFiles = new ArrayList<>(); - resultFiles.add(charToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return resultFiles; } - public static List charToIntegers(String sourceClassJavaPath, + public static List charToIntegers(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List resultFiles = new ArrayList<>(); - resultFiles.add(charToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return resultFiles; } - private static void charToAllButBooleanAndLong(String sourceClassJavaPath, + private static void charToAllButBooleanAndLong(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - charToByte(sourceClassJavaPath, serialVersionUIDs, exemptions); - charToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions); - charToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions); - charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions); - charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions); + charToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + charToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + charToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); } - public static List charToAllButBooleanAndByte(String sourceClassJavaPath, String... exemptions) + public static List charToAllButBooleanAndByte(String gradleTask, String sourceClassJavaPath, + String... exemptions) throws IOException { - return charToAllButBooleanAndByte(sourceClassJavaPath, null, exemptions); + return charToAllButBooleanAndByte(gradleTask, sourceClassJavaPath, null, exemptions); } - private static List charToAllButBooleanAndByte(String sourceClassJavaPath, + private static List charToAllButBooleanAndByte(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List files = new ArrayList<>(); - files.add(charToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(charToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(charToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return files; } - public static List charToAllButBooleanAndFloats(String sourceClass, String... exemptions) + public static List charToAllButBooleanAndFloats(String gradleTask, String sourceClass, String... exemptions) throws IOException { - return charToAllButBooleanAndFloats(sourceClass, null, exemptions); + return charToAllButBooleanAndFloats(gradleTask, sourceClass, null, exemptions); } - public static void charToShortAndByte(String sourceClassJavaPath, String... exemptions) + public static void charToShortAndByte(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - charToByte(sourceClassJavaPath, null, exemptions); - charToShort(sourceClassJavaPath, null, exemptions); + charToByte(gradleTask, sourceClassJavaPath, null, exemptions); + charToShort(gradleTask, sourceClassJavaPath, null, exemptions); } - public static List charToAllButBooleanAndFloats(String sourceClass, Map serialVersionUIDs, + public static List charToAllButBooleanAndFloats(String gradleTask, String sourceClass, + Map serialVersionUIDs, String... exemptions) throws IOException { final List files = new ArrayList<>(); - files.add(charToInteger(sourceClass, serialVersionUIDs, exemptions)); - files.add(charToByte(sourceClass, serialVersionUIDs, exemptions)); - files.add(charToLong(sourceClass, serialVersionUIDs, exemptions)); - files.add(charToShort(sourceClass, serialVersionUIDs, exemptions)); + files.add(charToInteger(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + files.add(charToByte(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + files.add(charToLong(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + files.add(charToShort(gradleTask, sourceClass, serialVersionUIDs, exemptions)); return files; } - public static List shortToAllNumericals(String sourceClassJavaPath, Map serialVersionUIDs, + public static List shortToAllNumericals(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { final List results = new ArrayList<>(); - results.add(shortToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(shortToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(shortToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(shortToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(shortToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return results; } - public static void intToAllNumericals(String sourceClassJavaPath, Map serialVersionUIDs, + public static void intToAllNumericals(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - intToByte(sourceClassJavaPath, serialVersionUIDs, exemptions); - intToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions); - intToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions); - intToLong(sourceClassJavaPath, serialVersionUIDs, exemptions); - intToShort(sourceClassJavaPath, serialVersionUIDs, exemptions); + intToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + intToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + intToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + intToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + intToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); } - public static List intToAllButBoolean(String sourceClassJavaPath, String... exemptions) + public static List intToAllButBoolean(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - return intToAllButBoolean(sourceClassJavaPath, null, exemptions); + return intToAllButBoolean(gradleTask, sourceClassJavaPath, null, exemptions); } - public static List intToAllButBoolean(String sourceClassJavaPath, + public static List intToAllButBoolean(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List results = new ArrayList<>(); - results.add(intToChar(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return results; } - public static List shortToAllIntegralTypes(String sourceClass, String... exemptions) throws IOException { - return shortToAllIntegralTypes(sourceClass, null, exemptions); + public static List shortToAllIntegralTypes(String gradleTask, String sourceClass, String... exemptions) + throws IOException { + return shortToAllIntegralTypes(gradleTask, sourceClass, null, exemptions); } - private static List shortToAllIntegralTypes(String sourceClass, Map serialVersionUIDs, + private static List shortToAllIntegralTypes(String gradleTask, String sourceClass, + Map serialVersionUIDs, String... exemptions) throws IOException { final List results = new ArrayList<>(); - results.add(shortToByte(sourceClass, serialVersionUIDs, exemptions)); - results.add(shortToInteger(sourceClass, serialVersionUIDs, exemptions)); - results.add(shortToLong(sourceClass, serialVersionUIDs, exemptions)); + results.add(shortToByte(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + results.add(shortToInteger(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + results.add(shortToLong(gradleTask, sourceClass, serialVersionUIDs, exemptions)); return results; } - public static void floatToAllFloatingPoints(String sourceClassJavaPath, String... exemptions) + public static void floatToAllFloatingPoints(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - floatToAllFloatingPoints(sourceClassJavaPath, null, exemptions); + floatToAllFloatingPoints(gradleTask, sourceClassJavaPath, null, exemptions); } - private static void floatToAllFloatingPoints(String sourceClassJavaPath, + private static void floatToAllFloatingPoints(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - floatToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions); + floatToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); } private static String getResultClassPathFromSourceClassPath(String sourceClassJavaPath, String[] exemptions, String[]... pairs) { - final String sourceClassName = className(sourceClassJavaPath); + final String sourceClassName = ReplicationUtils.className(sourceClassJavaPath); final String resultClassName = replaceAllInternal(sourceClassName, null, exemptions, pairs); final String resultClassJavaPath = basePath(sourceClassJavaPath) + '/' + resultClassName + ".java"; return resultClassJavaPath; } - public static String replaceAll(String sourceClassJavaPath, Map serialVersionUIDs, + public static String replaceAll(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String[] exemptions, String[]... pairs) throws IOException { final String resultClassJavaPath = getResultClassPathFromSourceClassPath(sourceClassJavaPath, exemptions, pairs); - return replaceAll(sourceClassJavaPath, resultClassJavaPath, serialVersionUIDs, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, resultClassJavaPath, serialVersionUIDs, exemptions, pairs); } - public static String replaceAll(String sourceClassJavaPath, String resultClassJavaPath, + public static String replaceAll(String gradleTask, String sourceClassJavaPath, String resultClassJavaPath, Map serialVersionUIDs, String[] exemptions, String[]... pairs) throws IOException { if (resultClassJavaPath == null || resultClassJavaPath.isEmpty()) { resultClassJavaPath = getResultClassPathFromSourceClassPath(sourceClassJavaPath, exemptions, pairs); } - final String resultClassName = className(resultClassJavaPath); + final String resultClassName = ReplicationUtils.className(resultClassJavaPath); final String resultClassPackageName = packageName(resultClassJavaPath); final String fullResultClassName = resultClassPackageName + '.' + resultClassName; final Long serialVersionUID = serialVersionUIDs == null ? null : serialVersionUIDs.get(fullResultClassName); @@ -512,24 +551,13 @@ public static String replaceAll(String sourceClassJavaPath, String resultClassJa PrintWriter out = new PrintWriter(resultClassJavaPath); - // preserve the first comment of the file; typically the copyright - if (body.startsWith("/*")) { - final int idx = body.indexOf("*/"); - if (idx != -1 && body.length() >= idx + 3) { - out.print(body.substring(0, idx + 3)); - body = body.substring(idx + 3); - } + // Remove the first comment block of the file, pruning prev copyright header (and sometimes generated header) so + // we write our own + while (body.startsWith("//")) { + body = body.substring(body.indexOf("\n", 2) + 1); } - out.println("/*"); - out.println( - " * ---------------------------------------------------------------------------------------------------------------------"); - out.println(" * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " - + className(sourceClassJavaPath) + " and regenerate"); - out.println( - " * ---------------------------------------------------------------------------------------------------------------------"); - out.println( - " */"); + out.print(ReplicationUtils.fileHeaderString(gradleTask, className(sourceClassJavaPath))); out.print(body); out.flush(); @@ -561,15 +589,9 @@ public static String packageName(@NotNull final String sourceClassJavaPath) { return packagePath.replace('/', '.'); } - @NotNull - public static String className(@NotNull final String sourceClassJavaPath) { - final String javaFileName = javaFileName(sourceClassJavaPath); - return javaFileName.substring(0, javaFileName.length() - ".java".length()); - } - @NotNull public static String fullClassName(@NotNull final String sourceClassJavaPath) { - return packageName(sourceClassJavaPath) + '.' + className(sourceClassJavaPath); + return packageName(sourceClassJavaPath) + '.' + ReplicationUtils.className(sourceClassJavaPath); } public static String replaceAllInternal(String inputText, Long serialVersionUID, String[] exemptions, @@ -601,19 +623,20 @@ public static String replaceAllInternal(String inputText, Long serialVersionUID, return result; } - public static List intToLongAndFloatingPoints(String sourceClassJavaPath, + public static List intToLongAndFloatingPoints(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List files = new ArrayList<>(); - files.add(intToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(intToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(intToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(intToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(intToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(intToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return files; } - public static List intToLongAndFloatingPoints(String sourceClassJavaPath, String... exemptions) + public static List intToLongAndFloatingPoints(String gradleTask, String sourceClassJavaPath, + String... exemptions) throws IOException { - return intToLongAndFloatingPoints(sourceClassJavaPath, null, exemptions); + return intToLongAndFloatingPoints(gradleTask, sourceClassJavaPath, null, exemptions); } } diff --git a/replication/util/src/main/java/io/deephaven/replication/ReplicationUtils.java b/replication/util/src/main/java/io/deephaven/replication/ReplicationUtils.java index e1300b73661..9816281c31f 100644 --- a/replication/util/src/main/java/io/deephaven/replication/ReplicationUtils.java +++ b/replication/util/src/main/java/io/deephaven/replication/ReplicationUtils.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replication; import org.apache.commons.io.FileUtils; @@ -261,20 +261,14 @@ private static Pattern constructRegionEndPattern(String region) { return Pattern.compile("//\\s*endregion " + region + "(?=\\s|$)"); } - public static List globalReplacements(int skip, List lines, String... replacements) { + public static List globalReplacements(List lines, String... replacements) { if (replacements.length == 0 || replacements.length % 2 != 0) { throw new IllegalArgumentException("Bad replacement length: " + replacements.length); } - final Stream startStream = lines.subList(0, skip).stream(); - final Stream replacementStream = lines.subList(skip, lines.size()).stream(); - return Stream.concat(startStream, replacementStream.map(x -> doLineReplacements(x, replacements))) + return lines.stream().map(x -> doLineReplacements(x, replacements)) .collect(Collectors.toList()); } - public static List globalReplacements(List lines, String... replacements) { - return globalReplacements(0, lines, replacements); - } - public static List addImport(List lines, Class... importClasses) { return addImport(lines, Arrays.stream(importClasses).map(c -> "import " + c.getCanonicalName() + ";").toArray(String[]::new)); @@ -424,4 +418,27 @@ public static Map> findNoLocateRegions(final String replica return noReplaceRegions; } + + public static String fileHeaderString(String gradleTask, String sourceClassJavaPath) { + Stream fileHeaderStream = fileHeaderStream(gradleTask, sourceClassJavaPath); + return fileHeaderStream.collect(Collectors.joining("\n")); + } + + public static Stream fileHeaderStream(String gradleTask, String sourceClassJavaPath) { + return Stream.of("//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Edit " + sourceClassJavaPath + " and run \"./gradlew " + gradleTask + + "\" to regenerate", + "//", + "// @formatter:off", + ""); + } + + @NotNull + public static String className(@NotNull final String sourceClassJavaPath) { + final String javaFileName = ReplicatePrimitiveCode.javaFileName(sourceClassJavaPath); + return javaFileName.substring(0, javaFileName.length() - ".java".length()); + } }