[
https://issues.apache.org/jira/browse/GEODE-8285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bill Burcham reassigned GEODE-8285:
-----------------------------------
Assignee: Louis R. Jacome (was: Bill Burcham)
> Serializables Sanctioning Prescribes Wrong Destination Path
> -----------------------------------------------------------
>
> Key: GEODE-8285
> URL: https://issues.apache.org/jira/browse/GEODE-8285
> Project: Geode
> Issue Type: Bug
> Components: tools
> Reporter: Bill Burcham
> Assignee: Louis R. Jacome
> Priority: Major
> Labels: starter
>
> Serializable analysis classes derived from
> {{AnalyzeSerializablesJUnitTestBase}}, intend to inform the developer to copy
> a generated {{excludedClasses.txt}} file over a
> {{sanctionedDataSerializables.txt}} in a _resources_ directory. The paths can
> get long and complicated so it's nice that the analyzers provide the paths,
> ostensibly so that a developer can simply copy them into a {{cp}} line at the
> terminal.
> There is a problem with one of the paths, at least as generated by
> {{AnalyzeCoreSerializablesJUnitTest}}, but also, I suspect in all the classes
> derived from {{AnalyzeSerializablesJUnitTestBase}}. Here is an example of the
> output generated by the former…
> I ran:
> {noformat}
> ± |feature/GEODE-8240-version-ordinal-type → Bill {3} ✓| → ./gradlew
> :geode-core:integrationTest --tests=AnalyzeCoreSerializablesJUnitTest
> {noformat}
> and it output:
> {noformat}
> If the class is not persisted or sent over the wire add it to the file
> /Users/bburcham/Projects/geode/geode-core/build/resources/integrationTest/org/apache/geode/codeAnalysis/excludedClasses.txt
> Otherwise if this doesn't break backward compatibility, copy the file
> /Users/bburcham/Projects/geode/geode-core/build/integrationTest/actualDataSerializables.dat
> to
> /Users/bburcham/Projects/geode/geode-core/build/resources/integrationTest/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt.
> {noformat}
> so ostensibly I should:
> {noformat}
> cp
> /Users/bburcham/Projects/geode/geode-core/build/integrationTest/actualDataSerializables.dat
>
> /Users/bburcham/Projects/geode/geode-core/build/resources/integrationTest/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
> {noformat}
> But in fact the destination is wrong! Notice that it is a {{.../build/...}}
> directory?!?
> What I really needed was:
> {noformat}
> cp
> /Users/bburcham/Projects/geode/geode-core/build/integrationTest/actualDataSerializables.dat
>
> /Users/bburcham/Projects/geode/geode-core/src/integrationTest/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
> {noformat}
> The prefix on the second path was:
> {noformat}
> /Users/bburcham/Projects/geode/geode-core/build/resources
> {noformat}
> but needed to be:
> {noformat}
> /Users/bburcham/Projects/geode/geode-core/src/integrationTest/resources
> {noformat}
> h2. Reproduction
> To reproduce this, modify some {{toData}} on some serializable class in the
> {{geode-core}} module e.g. {{RegionVersionVector}}, by adding some innocuous
> code like:
> {code}
> System.out.println("hi!");
> {code}
> And then run:
> {noformat}
> $ ./gradlew :geode-core:integrationTest
> --tests=AnalyzeCoreSerializablesJUnitTest
> {noformat}
> You'll see the an advice block like the one I provided above and you'll see
> the incorrect destination directory.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)