Commit Graph

87 Commits

Author SHA1 Message Date
Éamonn McManus 2ce6a6106c [maven-release-plugin] prepare release gson-parent-2.10.1 2023-01-06 07:42:31 -08:00
Maicol 1a2170b99c
Port tests from JUnit 3 to JUnit 4 (#2294)
* Port tests from JUnit 3 to JUnit 4

* Port tests from JUnit 3 to JUnit 4

* Add `@Test` above `@Ignore`
2022-12-22 06:04:16 -08:00
Maicol 0a42c31efe
Code cleanup (#2282)
* Simplify `if` condition in JsonReader.peekNumber()

* Remove `if` to simplify a `return` in Excluder.excludeClassChecks()

* Remove redundant variable in Gson.fromJson()

* equal condition replace by `Objects.equals()` in $Gson$Types.equal()

* equal condition replace by `Objects.equals()` in LinkedTreeMap.equal()

* Replace `switch` with `if` in UtcDateTypeAdapter.read()

* Remove redundant `throws` clause in GraphAdapterBuilder.read()

* Remove redundant `throws` clause in JsonTreeReader.UNREADABLE_READER

* Remove redundant `throws` clause in JsonTreeWriter.UNREADABLE_READER

* Remove unnecessary `.initCause()` call

* Remove redundant cast in TreeTypeAdapter.GsonContextImpl.deserialize

* Replace `StringBuilder` with `String`

* Fix the import and restore the `switch`

* Fix the import

* Add the `util.Objects` import

* Fix indentation

* Add a comment to clarify the condition

* Fix indentation

* Fix imports

* Fix indentation

* Fix indentation

* Fix indentation
2022-12-13 08:50:25 -08:00
Éamonn McManus 818faeeaa2
Adjust version numbers and a test to conform to the SemVer spec. (#2237)
* Adjust version numbers and a test to conform to the SemVer spec.

Gson releases since 2.8.0 have been following this spec. We mistakenly released 2.10
without the .0 patch version, and adjusted `GsonVersionDiagnosticsTest` so it would
accept that, as well as the two-digit `10`. Here we make the test no longer accept
versions without a patch number, while still accepting two-digit minor versions of course.
We also change the snapshot version to 2.11.0-SNAPSHOT instead of 2.11-SNAPSHOT.
2022-11-13 15:36:09 -08:00
Éamonn McManus 763e69a331 [maven-release-plugin] prepare for next development iteration 2022-10-24 18:06:57 -07:00
Éamonn McManus dd92e49b27 [maven-release-plugin] prepare release gson-parent-2.10 2022-10-24 18:06:55 -07:00
Éamonn McManus 79c27dd885 [maven-release-plugin] prepare for next development iteration 2022-10-24 17:48:57 -07:00
Éamonn McManus 87e9ee5511 [maven-release-plugin] prepare release gson-parent-2.10 2022-10-24 17:48:55 -07:00
Éamonn McManus 7bca5c4061 [maven-release-plugin] rollback the release of gson-parent-2.10 2022-10-24 17:42:45 -07:00
Éamonn McManus c7544a0e86 [maven-release-plugin] prepare for next development iteration 2022-10-24 17:33:36 -07:00
Éamonn McManus 9efdfad33c [maven-release-plugin] prepare release gson-parent-2.10 2022-10-24 17:33:34 -07:00
Marcono1234 2591ede59b
Fix incorrect HTML headings in Javadoc (#2200) 2022-09-24 17:02:11 -07:00
Éamonn McManus 0864a02e86
Build on JDK 17 as well as 11. (#2198)
* Build on JDK 8 and 17 as well as 11.

* Remove JDK 8 for now.

`DefaultDateTypeAdapterTest` fails.

* Tweak javadoc to avoid warnings.

Mostly these are about using `<h3>` when the previous tag was `<h1>`,
and the like. This previous tag might be implicit (part of what javadoc
itself outputs rather than the HTML in doc comments).

Apparently JDK 11 puts method javadoc inside `<h2>` while JDK 11 puts it
inside `<h3>`. Or something like that. Anyway it doesn't appear to be
possible to use `<h3>` _or_ `<h4>` and please both.
2022-09-23 14:33:28 -07:00
Marcono1234 2266ccdd67
Remove usage of oss-parent Maven parent and update ReleaseProcess.md (#2159)
The oss-parent configuration has been applied manually to the root pom.xml,
except that now newer plugin versions are used for source and javadoc JAR
creation, and for GPG signing.

This required some reordering of the plugins for the gson module to make
sure they are executed in the correct order. Otherwise this would cause
failures for javadoc:jar.
2022-09-06 16:26:53 -07:00
Marcono1234 f7a164d98b
Fail Maven build on compiler warnings; remove some warning suppressions (#2183)
* Fail Maven build on compiler warnings; remove some warning suppressions

* Fix compiler warnings causing failure for newer JDK

* Improve placement of "raw" and "unchecked" warning suppressions

* Adjust javac documentation link

* Fix compilation error on newer JDKs
2022-08-26 17:36:18 -07:00
Éamonn McManus ca22b68008 [maven-release-plugin] prepare for next development iteration 2022-07-31 14:25:34 -07:00
Éamonn McManus bb9a1f255a [maven-release-plugin] prepare release gson-parent-2.9.1 2022-07-31 14:25:32 -07:00
Éamonn McManus 2deb2099d3
Make `RuntimeTypeAdapterFactory` recognize subclasses only conditionally. (#2160)
PR #2139 changed this factory so that if given a certain baseType, it will also
recognize any subtype of that type. That is often the right thing to do, but it
is a change in behaviour, and does in fact break at least one current client of
this code. So instead we introduce a new `recognizeSubclasses()` method that
triggers this behaviour. When the method is not called, we revert to the old
behaviour of only recognizing instances of the exact class `baseType`.
2022-07-27 12:18:20 -07:00
dependabot[bot] 010624730b
Bump maven-deploy-plugin from 3.0.0-M2 to 3.0.0 (#2148)
Bumps [maven-deploy-plugin](https://github.com/apache/maven-deploy-plugin) from 3.0.0-M2 to 3.0.0.
- [Release notes](https://github.com/apache/maven-deploy-plugin/releases)
- [Commits](https://github.com/apache/maven-deploy-plugin/compare/maven-deploy-plugin-3.0.0-M2...maven-deploy-plugin-3.0.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-deploy-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-21 10:45:59 -07:00
Thomas Oster 2eb37589b5
Fix RuntimeTypeAdapterFactory (#2139)
* Change the RuntimeTypeAdapterFactoryTest, so it fails because of #712

* Fix RuntimeTypeAdapterFactory

Trying to use this class as is results in the type-property not being serialized into the JSON, thus it is not present on deserialization.
The fix from https://github.com/google/gson/issues/712#issuecomment-148955110 works. No idea why this is not merged yet.
2022-07-21 10:28:48 -07:00
Marcono1234 4dda4ec5ba
Use diamond operator when creating generic instances (#2104) 2022-04-17 15:27:21 -07:00
Marcono1234 e82637c485
Add support for reflection access filter (#1905)
* Add support for reflection access filter

* Improve documentation

* Fix compilation errors

* Relax handling for BLOCK_ALL when invoking default constructor

* Improve handling for inherited fields

* Fix accessible test failing for static fields

* Simplify ReflectiveTypeAdapterFactory field writing

* Fix GsonBuilder changes affecting created Gson instances

* Improve documentation

* Improve handling for IllegalAccessException

For Java < 9, AccessibleObject.canAccess is not available and therefore checks
might pass even if object is not accessible, causing IllegalAccessException
later.

* Fix incorrect GsonBuilder.addReflectionAccessFilter documentation
2022-04-17 09:05:18 -07:00
Marcono1234 49ddab9eeb
Add CodeQL GitHub code scanning workflow (#2076)
* Add CodeQL GitHub code scanning workflow

* Only compile main sources for code scanning

* Move test .proto  files to test sources

`annotations.proto` also seems to be only relevant for tests because the test
explicitly registers them as extensions. By default the Proto adapter does not
consider them.

* Address some code scanning findings

* Fix some more findings
2022-02-17 18:40:40 -08:00
Éamonn McManus e58db43f57 [maven-release-plugin] prepare for next development iteration 2022-02-11 11:13:24 -08:00
Éamonn McManus b6acf1178a [maven-release-plugin] prepare release gson-parent-2.9.0 2022-02-11 11:13:22 -08:00
dependabot[bot] bc8858a3d9
Bump maven-deploy-plugin from 3.0.0-M1 to 3.0.0-M2 (#2044)
Bumps [maven-deploy-plugin](https://github.com/apache/maven-deploy-plugin) from 3.0.0-M1 to 3.0.0-M2.
- [Release notes](https://github.com/apache/maven-deploy-plugin/releases)
- [Commits](https://github.com/apache/maven-deploy-plugin/compare/maven-deploy-plugin-3.0.0-M1...maven-deploy-plugin-3.0.0-M2)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-deploy-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-31 07:15:38 -08:00
Marcono1234 615c8835d3
Add `GsonBuilder.disableJdkUnsafe()` (#1904)
* Add GsonBuilder.disableJdkUnsafe()

* Address review feedback
2021-12-30 15:08:18 -08:00
Marcono1234 abd2191b0e
Add READMEs to Maven modules (#2039)
* Add READMEs to Maven modules

* Address feedback
2021-12-27 10:17:41 -08:00
Marcono1234 6ffcdf3029
Fix Javadoc warnings and errors (#2040) 2021-12-26 15:30:21 -08:00
Marcono1234 cc505e1b9f
Convert codegen, metrics and proto to Maven submodules (#2008)
* Convert codegen, metrics and proto to Maven submodules

* Fix import order
2021-11-07 08:42:08 -08:00
Éamonn McManus 031db9d473
Update CHANGELOG.md for 2.8.9. (#2005)
* Update CHANGELOG.md for 2.8.9.

* Adjust snapshot version. Gson versions have three numbers.
2021-10-29 13:41:12 -07:00
Éamonn McManus 128586847b [maven-release-plugin] prepare for next development iteration 2021-10-29 12:58:56 -07:00
Éamonn McManus 6a368d89da [maven-release-plugin] prepare release gson-parent-2.8.9 2021-10-29 12:58:54 -07:00
Marcono1234 26a1928277
Fix `RuntimeTypeAdapterFactory` depending on internal `Streams` class (#1959)
* Fix RuntimeTypeAdapterFactory depending on internal Streams class

* Clean up gson-extras project, make it Maven module of gson-parent

* Remove broken test from GraphAdapterBuilderTest
2021-09-17 17:21:37 -07:00
Z ebe4b581dd
update RawCollectionsExample.java (#1953)
use static method instead deprecated method
2021-09-07 08:02:04 -07:00
dependabot[bot] 074a556d38
Bump junit from 3.8.2 to 4.13.1 in /extras
Bumps [junit](https://github.com/junit-team/junit4) from 3.8.2 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/compare/r3.8.2...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-12 22:55:48 +00:00
Lyubomyr Shaydariv 47b28d99a1 The JavaDoc is now more accurate about the type adapter serialization and deserialization (#1441) 2019-10-28 16:11:15 -07:00
hmble b046ea28ee
Typo in JavaDoc example 2018-10-10 20:28:10 +05:30
Eric Cochran d8d8ccb98a Simplify maintainType logic
When we maintain the label value, we do not need to make a new JsonObject and copy over the keys and values when writing. The ordering will change, though. Before this change, it always put the label first.
2018-07-30 13:43:52 -04:00
lucalas c1e7e2d280 Add possibility to maintain type variable in created pojo (#1342)
Instead of completely remove type variable, give the possibility to decide if maintain type value (if pojo has type variable declaration) or not.
2018-07-20 14:34:45 -07:00
Stefan M 1c09b3f928 Fix well formed exception (#1105)
The previous exception was styled in the following way:
... ["DATE']...
This commit will fix the different quote marks and replace the " with '
2017-06-23 09:32:04 -07:00
Niv Singer 74e37110e5 Avoid NPE in PostConstructAdapterFactory (#1103)
* Avoid NPE in PostConstructAdapterFactory

The RawType's Superclass might be null. This happens, for example, when the type is a collection.

* Add test case for NPE in PostConstructAdapterFactory

* Improve the code quality of PostConstructAdapterFactoryTest

* Improve the code quality of PostConstructAdapterFactoryTest

* Improve the code quality of PostConstructAdapterFactoryTest
2017-06-19 18:04:19 -07:00
Inderjeet Singh 4512f31c69 Added PostConstruct Factory sample in Extras. 2016-09-16 17:35:34 -07:00
Juan Andrés Diana 86d88c32cf The method registerTypeAdapterFactory accepts a TypeAdapterFactory instance only. 2016-05-25 15:49:39 -03:00
Juan Andrés Diana d4a9eb4e7b Docs fix for the RuntimeTypeAdapterFactory class.
Instances of classes that implement RuntimeTypeAdapterFactory should be registered using the registerTypeAdapterFactory method instead of registerTypeAdapter.
2016-05-24 16:45:55 -03:00
Egor N edaf59e178 Fix RuntimeTypeAdapterFactory javadoc 2016-02-19 16:14:55 +02:00
Lachlan Coote 1867457030 fix #680 - make RuntimeTypeAdapterFactory null-safe 2015-08-05 16:27:18 -07:00
Inderjeet Singh 0c3b9670f0 Ensuring that UTC date adapter serializes nulls correctly 2014-12-05 22:12:54 +00:00
Inderjeet Singh f0f9ce42f4 using only Jackson iso8601 implementation for UTC date adapter 2014-12-05 08:28:25 +00:00
Inderjeet Singh 0e3708be82 updated UTC type adapter to support JDK 1.6 using Jackson ISO8601 parsing util 2014-12-05 07:41:08 +00:00