Merged
Conversation
Codecov Report
@@ Coverage Diff @@
## master #598 +/- ##
=========================================
Coverage 77.91% 77.91%
Complexity 3029 3029
=========================================
Files 510 510
Lines 11490 11490
Branches 667 667
=========================================
Hits 8952 8952
Misses 2311 2311
Partials 227 227 |
Update disclaimer.
19 tasks
Contributor
alexander-yevsyukov
left a comment
There was a problem hiding this comment.
Why do we still need JUnit4 and Slf4J? Can we drop these dependencies?
Why do we mention App Engine API dependency in the context of base?
Contributor
Author
|
@alexander-yevsyukov we're forcing these dependencies and while No, with our current dependency resolution strategy, we cannot drop these. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR does the release of the library version
1.7.0.This release brings internal API improvements, better support for the tooling and Dart as well as improvements to the
Environmentand tests APIs.Breaking Changes
Removed deprecated APIs in the
UtilityClassTestclass.Please use
subject()over removedgetUtilityClass().Removed deprecated methods in the
Validateutility.Please consider migrating to mirrored methods in
Preconditions2and check out the related PR Remove deprecated API #596.Removed deprecated methods in the
Environmentutility and introduced a newCustomEnvironmentTypeabstraction for custom environments.Consider changing your custom environments parent class from
EnvironmentTypetoCustomEnvironmentType. And when registering new environments please use `Environment.register(Class<? extends CustomEnvironmentType>) or the previously accessible method with an environment instance argument.Please use
Environment.instance().is(Tests.class)over the previously deprecated and now removedEnvironment.isTests().Please use
Environment.instance().is(Production.class)over the previously deprecated and now removedEnvironment.isProduction().To set a custom environment please use the
Environment.setTo(Class<? extends EnvironmentType>)over the previously available method with an environment instance argument. Also, use the same method over the previously deprecated and now removedEnvironment.setToTests()andEnvironment.setToProduction().Consult PR Improve environment #594 for extra details on the improvements and removals of the deprecated APIs.
MethodFactoryandNestedClassFactoryinterfaces are extracted into a separatespine-tools-apiartifact.In case you were implementing a custom
MethodFactoryorNestedClassFactory, please consider adding thespine-tools-apidependency to the respective module.You can use the following snippet to add the dependency to your Gradle project:
dependencies { implementation("io.spine.tools:spine-tools-api:1.7.0") }API changes
On top of the breaking changes here are some minor API changes introduced in the release.
Resource.file(String)is deprecated in favor ofResource.file(String, ClassLoader).It is always recommended to provide a particular
ClassLoaderinstance to achieve predictable and reproducible access to resources while using theResourceutility. Please consult PR Always specify a ClassLoader forResource#566 for more details on the matter.The new
SingletonClassTesttest abstraction to simplify testing singletons. (see PR Class tests #583 for details).Improved test assertions support with the new
AssertionsandTempDirutilities available in thetestlibproject.The
Assertionsutility provides convenient assertions to verify that one of the exceptions was thrown by introducing the following methods:The
TempDirprovides a replacement for the deprecatedcom.google.common.io.Files#createTempDir().Please consult PR Improve
testlib#585 for additional details.The
TypeUrlprefix is the Protobuf file declaration may now be empty.One may now specify an empty
(type_url_prefix)option in the Protobuf if she does not intend to usethe type URLs.
The following declaration is now fully legit:
PR
TypeUrlwithout type prefix #588 provides more information on the matter.The
Diagsutility now provides additionalCollectors for commonly used diagnostics.The new
Diags.toEnumeration()joins the item's string representation with a comma followed by a space character.The
Diags.toEnumerationBacktickedwraps each item's string representation into backticks and then joins to the result string with a comma followed by a space character.Fixes
Gradle Proto Dart plugin now resolves relative imports. (see Patch imports in
types.dart#572 and Allow short relative paths in imports #573)Enum values now also support
(distinct)validation options (see Add message casters for Protobuf descriptors #437 and Allow usage of(distinct)option on enums #587)Infrastructure
Spine Protoc plugin is now started by the Gradle Protobuf plugin without custom launch scripts (see Supply
protocplugin via JAR #586 for details).Proto Dart plugin resolves the
pubcache better with the newPubCacheutility (seePubCacheAPI #589).The libraries now do not use
implementationfor compile-only annotations likeerrorproneannotations but use the newly introducedcompileOnlyApiconfiguration for such dependencies (see Improve dependencies management and use newcompileOnlyApiscope #597).Dependency upgrades
3.3.0->3.7.12.3.4->2.4.01.2.1->1.3.03.11.4->3.13.00.8.12->0.8.131.9.79->1.9.8229.0-jre->30.0-jre4.12->4.13.15.6.2->5.7.01.6.2->1.7.00.4.2.->1.0.01.0.1->1.11.12.1->1.13.01.0-rc6->1.0-rc71.18->1.193.10.3->3.11.00.22->0.231.7.29->1.7.30