Skip to content
This repository has been archived by the owner on Aug 26, 2021. It is now read-only.

Release 2.5.0 #151

Merged
merged 104 commits into from
Dec 18, 2017
Merged

Release 2.5.0 #151

merged 104 commits into from
Dec 18, 2017

Conversation

anthonycr
Copy link
Contributor

Release 2.5.0

  • Improved performance of loading the Stag.Factory.
  • Improved error logging when getters/setters can't be found.
  • Splitting up examples into integration test modules.
  • Wrote functional tests for most use cases.
  • Fixed bug where wrapper type adapters would not be called when Stag.Factory was registered.

yasirmhd and others added 30 commits October 24, 2017 23:03
- Functional tests based on sample-java-model
- Compiler helper now spits out error message for better debugging
- Compiler helper now supports compiler options
… are not for generic classes. This will ensure that they get created once only. These classes will be referenced in some other classes anyways, so this will amortize the cost of creation
…lass.class directly instead of creating a TypeToken and then doing a getType on it.
Android Gradle Plugin 3.0.0 Upgrade
anthonycr and others added 28 commits November 28, 2017 14:02
…ovement

# Conflicts:
#	integration-test-android/src/main/java/com/vimeo/integration_test_android/ComplexGenericClass.java
#	integration-test-android/src/main/java/com/vimeo/integration_test_android/ComplexGenericClassExtended.java
#	integration-test-android/src/test/java/com/vimeo/integration_test_android/ComplexGenericClassExtendedTest.java
#	integration-test-android/src/test/java/com/vimeo/integration_test_android/ComplexGenericClassTest.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/AccessModifiers.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ClassWithNestedInterface.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ConcreteClass.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/EnumExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelDerivedExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelExample1.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelExample2.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelExample3.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionAllExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionNoneExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName2.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName3.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/GenericClass.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/IdenticalFieldTypes.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/KnownTypeAdaptersExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/NestedClass.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/NestedEnum.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/NestedModel.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/OuterClassWithInnerModel.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/PrimitiveTypesExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/RecursiveClass.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/SampleInterface.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/SubClassWithSameVariableName.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/TestExternalExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/json_adapter/JsonAdapterExample.java
#	integration-test-java-cross-module/src/test/java/com/vimeo/sample/model/ExternalModelDerivedExampleTest.java
#	sample/src/main/java/com/vimeo/sample/model/AccessModifiers.java
#	sample/src/main/java/com/vimeo/sample/model/ClassWithNestedInterface.java
#	sample/src/main/java/com/vimeo/sample/model/ComplexGenericClass.java
#	sample/src/main/java/com/vimeo/sample/model/ComplexGenericClassExtended.java
#	sample/src/main/java/com/vimeo/sample/model/ConcreteClass.java
#	sample/src/main/java/com/vimeo/sample/model/EnumExample.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelDerivedExample.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelExample.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelExample1.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelExample2.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelExample3.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionAllExample.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionNoneExample.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName2.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName3.java
#	sample/src/main/java/com/vimeo/sample/model/GenericClass.java
#	sample/src/main/java/com/vimeo/sample/model/IdenticalFieldTypes.java
#	sample/src/main/java/com/vimeo/sample/model/JsonAdapterExample.java
#	sample/src/main/java/com/vimeo/sample/model/KnownTypeAdaptersExample.java
#	sample/src/main/java/com/vimeo/sample/model/NestedClass.java
#	sample/src/main/java/com/vimeo/sample/model/NestedEnum.java
#	sample/src/main/java/com/vimeo/sample/model/NestedModel.java
#	sample/src/main/java/com/vimeo/sample/model/OuterClassWithInnerModel.java
#	sample/src/main/java/com/vimeo/sample/model/PrimitiveTypesExample.java
#	sample/src/main/java/com/vimeo/sample/model/RecursiveClass.java
#	sample/src/main/java/com/vimeo/sample/model/SampleInterface.java
#	sample/src/main/java/com/vimeo/sample/model/SubClassWithSameVariableName.java
#	sample/src/main/java/com/vimeo/sample/model/enumeration/EnumExample.java
#	sample/src/main/java/com/vimeo/sample/model/enumeration/NestedEnum.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelDerivedExample.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelExample.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelExample1.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelExample2.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelExample3.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionAllExample.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionNoneExample.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionsSerializedName.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionsSerializedName2.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionsSerializedName3.java
#	sample/src/main/java/com/vimeo/sample/model/generic/ComplexGenericClass.java
#	sample/src/main/java/com/vimeo/sample/model/generic/ComplexGenericClassExtended.java
#	sample/src/main/java/com/vimeo/sample/model/generic/GenericClass.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/JsonAdapterExample.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/KnownTypeAdaptersExample.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/TestDeserializer.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/TestSerializer.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/TestSerializerDeserializer.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/AccessModifiers.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/ClassWithNestedInterface.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/ConcreteClass.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/IdenticalFieldTypes.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/NestedClass.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/NestedModel.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/OuterClassWithInnerModel.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/PrimitiveTypesExample.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/RecursiveClass.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/SampleInterface.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/SubClassWithSameVariableName.java
…ovement

# Conflicts:
#	integration-test-android/src/main/java/com/vimeo/integration_test_android/ComplexGenericClass.java
#	integration-test-android/src/main/java/com/vimeo/integration_test_android/ComplexGenericClassExtended.java
#	integration-test-android/src/test/java/com/vimeo/integration_test_android/ComplexGenericClassExtendedTest.java
#	integration-test-android/src/test/java/com/vimeo/integration_test_android/ComplexGenericClassTest.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/AccessModifiers.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ClassWithNestedInterface.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ConcreteClass.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/EnumExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelDerivedExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelExample1.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelExample2.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/ExternalModelExample3.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionAllExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionNoneExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName2.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName3.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/GenericClass.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/IdenticalFieldTypes.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/KnownTypeAdaptersExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/NestedClass.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/NestedEnum.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/NestedModel.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/OuterClassWithInnerModel.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/PrimitiveTypesExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/RecursiveClass.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/SampleInterface.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/SubClassWithSameVariableName.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/TestExternalExample.java
#	integration-test-java-cross-module/src/main/java/com/vimeo/sample/model/json_adapter/JsonAdapterExample.java
#	integration-test-java-cross-module/src/test/java/com/vimeo/sample/model/ExternalModelDerivedExampleTest.java
#	sample/src/main/java/com/vimeo/sample/model/AccessModifiers.java
#	sample/src/main/java/com/vimeo/sample/model/ClassWithNestedInterface.java
#	sample/src/main/java/com/vimeo/sample/model/ComplexGenericClass.java
#	sample/src/main/java/com/vimeo/sample/model/ComplexGenericClassExtended.java
#	sample/src/main/java/com/vimeo/sample/model/ConcreteClass.java
#	sample/src/main/java/com/vimeo/sample/model/EnumExample.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelDerivedExample.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelExample.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelExample1.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelExample2.java
#	sample/src/main/java/com/vimeo/sample/model/ExternalModelExample3.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionAllExample.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionNoneExample.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName2.java
#	sample/src/main/java/com/vimeo/sample/model/FieldOptionsSerializedName3.java
#	sample/src/main/java/com/vimeo/sample/model/GenericClass.java
#	sample/src/main/java/com/vimeo/sample/model/IdenticalFieldTypes.java
#	sample/src/main/java/com/vimeo/sample/model/JsonAdapterExample.java
#	sample/src/main/java/com/vimeo/sample/model/KnownTypeAdaptersExample.java
#	sample/src/main/java/com/vimeo/sample/model/NestedClass.java
#	sample/src/main/java/com/vimeo/sample/model/NestedEnum.java
#	sample/src/main/java/com/vimeo/sample/model/NestedModel.java
#	sample/src/main/java/com/vimeo/sample/model/OuterClassWithInnerModel.java
#	sample/src/main/java/com/vimeo/sample/model/PrimitiveTypesExample.java
#	sample/src/main/java/com/vimeo/sample/model/RecursiveClass.java
#	sample/src/main/java/com/vimeo/sample/model/SampleInterface.java
#	sample/src/main/java/com/vimeo/sample/model/SubClassWithSameVariableName.java
#	sample/src/main/java/com/vimeo/sample/model/enumeration/EnumExample.java
#	sample/src/main/java/com/vimeo/sample/model/enumeration/NestedEnum.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelDerivedExample.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelExample.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelExample1.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelExample2.java
#	sample/src/main/java/com/vimeo/sample/model/external/ExternalModelExample3.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionAllExample.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionNoneExample.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionsSerializedName.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionsSerializedName2.java
#	sample/src/main/java/com/vimeo/sample/model/fieldoption/FieldOptionsSerializedName3.java
#	sample/src/main/java/com/vimeo/sample/model/generic/ComplexGenericClass.java
#	sample/src/main/java/com/vimeo/sample/model/generic/ComplexGenericClassExtended.java
#	sample/src/main/java/com/vimeo/sample/model/generic/GenericClass.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/JsonAdapterExample.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/KnownTypeAdaptersExample.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/TestDeserializer.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/TestSerializer.java
#	sample/src/main/java/com/vimeo/sample/model/jsonadapter/TestSerializerDeserializer.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/AccessModifiers.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/ClassWithNestedInterface.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/ConcreteClass.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/IdenticalFieldTypes.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/NestedClass.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/NestedModel.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/OuterClassWithInnerModel.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/PrimitiveTypesExample.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/RecursiveClass.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/SampleInterface.java
#	sample/src/main/java/com/vimeo/sample/model/scenarios/SubClassWithSameVariableName.java
Cleaner Stag.Factory, and performant way of using TypeToken
thread safe changes, moved inside the synchronized block.
@codecov-io
Copy link

codecov-io commented Dec 18, 2017

Codecov Report

Merging #151 into master will increase coverage by 37.43%.
The diff coverage is 96.01%.

Impacted file tree graph

@@              Coverage Diff              @@
##             master     #151       +/-   ##
=============================================
+ Coverage     39.31%   76.74%   +37.43%     
- Complexity      192      339      +147     
=============================================
  Files            93       23       -70     
  Lines          2358     1776      -582     
  Branches        364      272       -92     
=============================================
+ Hits            927     1363      +436     
+ Misses         1287      297      -990     
+ Partials        144      116       -28
Impacted Files Coverage Δ Complexity Δ
...tag/processor/generators/model/AnnotatedClass.java 92.75% <ø> (+30.78%) 29 <0> (+11) ⬆️
...rocessor/generators/model/SupportedTypesModel.java 92.59% <ø> (+23.84%) 9 <0> (+1) ⬆️
...meo/stag/processor/generators/model/ClassInfo.java 51.85% <0%> (-2%) 7 <0> (ø)
...eo/stag/processor/generators/AdapterGenerator.java 91.66% <100%> (+79.16%) 7 <1> (+6) ⬆️
...vimeo/stag/processor/generators/StagGenerator.java 100% <100%> (+62.89%) 9 <4> (-1) ⬇️
...processor/generators/EnumTypeAdapterGenerator.java 100% <100%> (+100%) 11 <0> (+11) ⬆️
...generators/model/accessor/MethodFieldAccessor.java 81.66% <76.47%> (+63.33%) 29 <4> (+25) ⬆️
...rc/main/java/com/vimeo/stag/KnownTypeAdapters.java 50.11% <85.71%> (+0.56%) 1 <0> (ø) ⬇️
...n/java/com/vimeo/stag/processor/StagProcessor.java 90.8% <93.75%> (+7.7%) 23 <6> (+8) ⬆️
...tag/processor/generators/TypeAdapterGenerator.java 94.46% <96.53%> (+70.13%) 57 <14> (+48) ⬆️
... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7e6741c...7366feb. Read the comment docs.

@anthonycr anthonycr merged commit 735dd21 into master Dec 18, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants