feat: move YAML parsing to compile time#83
Open
jmini wants to merge 1 commit intoua-parser:masterfrom
Open
Conversation
This was referenced Apr 7, 2023
|
I am really interested in this being merged. Is there a timeline for this? |
|
I am also interested in this change. Can someone review this? |
Author
|
Until this is sorted out, I have released this version on maven central: <dependency>
<groupId>com.unblu.ua-parser</groupId>
<artifactId>uap-java</artifactId>
<version>2.0.0</version>
</dependency>From the fork https://github.com/unblu/uap-java It contains the change suggested in this PR. |
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 removes the necessity to have SnakeYAML at runtime.
A class
Regexes.javais added to the project.It represents the content of
uap-core/regexes.yamldirectly as Java object.The code generation logic (adjusted from what the
Parserwas doing at runtime) is now inRegexesBuilder.javain thetestsource-set.A test class is added
RegexesBuilderTest.java.The test
testCode()makes sure that theRegexes.javais up-to-date withuap-core/regexes.yamlThe yaml
regexes.yamlis no longer present in the produced jar.Version is bumped to
2.0.0-SNAPSHOTas this is a breaking change if some people where supplying there own yaml config file.Process to update when there is a new
regexes.yamlfile:testCode()will fail and generate a newRegexes.javacontent.Regexes.javafile with the submodule update and push.Fixes #77
Fixes #81 (SnakeYAML is updated to
2.0and is now a test dependency)Fixes #79 (SnakeYAML Engine is not necessary)
Fixes #68 (SnakeYAML is no longer a runtime dependency)