From 2b6c1e79bd943af7320a999fa2acc15efd2de0b4 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 24 Mar 2020 16:44:24 +0200 Subject: [PATCH 01/10] Update config --- config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config b/config index 775a2ab45d..63701feb02 160000 --- a/config +++ b/config @@ -1 +1 @@ -Subproject commit 775a2ab45d841bee791aef56bddc773453feca7d +Subproject commit 63701feb02a70c6af1e50aa2f0ca812bdab3c233 From dc4812937a3b3e0d81f3d876582f32c6ed9aaa2c Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 24 Mar 2020 16:44:43 +0200 Subject: [PATCH 02/10] Define modifiers --- base/src/main/proto/spine/options.proto | 62 ++++++++++++++++++++++++- license-report.md | 30 ++++++------ 2 files changed, 76 insertions(+), 16 deletions(-) diff --git a/base/src/main/proto/spine/options.proto b/base/src/main/proto/spine/options.proto index 081743aea4..1264a07217 100644 --- a/base/src/main/proto/spine/options.proto +++ b/base/src/main/proto/spine/options.proto @@ -615,10 +615,70 @@ message PatternOption { string regex = 1; // The regex flag. - int32 flag = 2; + // + // Has no effect. Use `modifier` instead. + // + int32 flag = 2 [deprecated = true]; + + // Modifiers for this pattern. + repeated Modifier modifier = 4; // A user-defined validation error format message. string msg_format = 3; + + // Regular expression modifiers. + // + // These modifiers are specifically selected to be supported in many implementation platforms. + // + enum Modifier { + + // The default instance. Has no effect on matching. + REGEX_MODIFIER_UNKNOWN = 0; + + // Enables the dot (`.`) symbol to match all the characters. + // + // By default, the dot does not match line break characters. + // + // May also be known in some platforms as "single line" mode and be encoded with the `s` + // flag. + // + DOT_ALL = 1; + + // Allows to ignore the case of the matched symbols. + // + // For example, this modifier is specified, string `ABC` would be a complete match for + // the regex `[a-z]+`. + // + // On some platforms may be represented by the `i` flag. + // + CASE_INSENSITIVE = 2; + + // Enables the `^` (caret) and `$` (dollar) signs to match a start and an end of a line + // instead of a start and an end of the whole expression. + // + // On some platforms may be represented by the `m` flag. + // + MULTILINE = 3; + + // Enables matching the whole UTF-8 sequences, + // + // On some platforms may be represented by the `u` flag. + // + UNICODE = 4; + + // Allows the matched strings to contain a full match to the pattern and some other + // characters as well. + // + // By default, a string only matches a pattern if it is a full match, i.e. there are no + // unaccounted for leading and/or trailing characters. + // + // This modifier is usually not represented programming languages, as the control over + // weather to match an entire string or only its part is provided to the user by other + // language means. For example, in Java, this would be the difference between methods + // `matches()` and `find()` of the `java.util.regex.Matcher` class. + // + PARTIAL_MATCH = 5; + } } // Specifies the message to show if a validated field happens to be invalid. diff --git a/license-report.md b/license-report.md index 54c09913c9..bc14177d67 100644 --- a/license-report.md +++ b/license-report.md @@ -330,7 +330,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:50 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:09 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -777,7 +777,7 @@ This report was generated on **Thu Mar 12 11:36:50 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:51 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:11 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1170,7 +1170,7 @@ This report was generated on **Thu Mar 12 11:36:51 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:51 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:13 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1537,7 +1537,7 @@ This report was generated on **Thu Mar 12 11:36:51 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:52 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:13 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1920,7 +1920,7 @@ This report was generated on **Thu Mar 12 11:36:52 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:52 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:14 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2305,7 +2305,7 @@ This report was generated on **Thu Mar 12 11:36:52 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:52 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:15 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2672,7 +2672,7 @@ This report was generated on **Thu Mar 12 11:36:52 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:53 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:15 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3097,7 +3097,7 @@ This report was generated on **Thu Mar 12 11:36:53 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:53 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:16 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3464,7 +3464,7 @@ This report was generated on **Thu Mar 12 11:36:53 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:53 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:16 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3831,7 +3831,7 @@ This report was generated on **Thu Mar 12 11:36:53 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:17 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4158,7 +4158,7 @@ This report was generated on **Thu Mar 12 11:36:54 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:17 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4493,7 +4493,7 @@ This report was generated on **Thu Mar 12 11:36:54 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:18 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4878,7 +4878,7 @@ This report was generated on **Thu Mar 12 11:36:54 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:18 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5213,7 +5213,7 @@ This report was generated on **Thu Mar 12 11:36:54 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 16:43:19 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5548,4 +5548,4 @@ This report was generated on **Thu Mar 12 11:36:55 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Thu Mar 12 11:36:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file +This report was generated on **Tue Mar 24 16:43:19 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file From 93362c46b3e5c8db5585ad378bf31312d42e7d3d Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Tue, 24 Mar 2020 19:28:31 +0200 Subject: [PATCH 03/10] Adjust validation to account for regex flags --- .../io/spine/validate/MessageValidator.java | 24 ++++++++-- .../validate/option/PatternConstraint.java | 46 +++++++++++++++++++ license-report.md | 30 ++++++------ .../validate/ValidationCodeGenerator.java | 9 +++- 4 files changed, 88 insertions(+), 21 deletions(-) diff --git a/base/src/main/java/io/spine/validate/MessageValidator.java b/base/src/main/java/io/spine/validate/MessageValidator.java index 9f19276c8c..9454aa8de5 100644 --- a/base/src/main/java/io/spine/validate/MessageValidator.java +++ b/base/src/main/java/io/spine/validate/MessageValidator.java @@ -28,7 +28,6 @@ import io.spine.code.proto.FieldContext; import io.spine.code.proto.FieldDeclaration; import io.spine.code.proto.FieldName; -import io.spine.option.PatternOption; import io.spine.type.MessageType; import io.spine.type.TypeName; import io.spine.validate.option.DistinctConstraint; @@ -45,6 +44,7 @@ import java.util.List; import java.util.Optional; import java.util.Set; +import java.util.regex.Matcher; import java.util.regex.Pattern; import static com.google.common.base.Preconditions.checkNotNull; @@ -106,11 +106,15 @@ public void visitRequired(RequiredConstraint constraint) { @Override public void visitPattern(PatternConstraint constraint) { FieldValue fieldValue = message.valueOf(constraint.field()); - PatternOption pattern = constraint.optionValue(); - String regex = pattern.getRegex(); - Pattern compiledPattern = Pattern.compile(regex); + String regex = constraint.regex(); + int flags = constraint.flagsMask(); + @SuppressWarnings("MagicConstant") + Pattern compiledPattern = Pattern.compile(regex, flags); + boolean partialMatch = constraint.allowsPartialMatch(); fieldValue.nonDefault() - .filter(value -> !compiledPattern.matcher((CharSequence) value).matches()) + .filter(value -> partialMatch + ? noPartialMatch(compiledPattern, (String) value) + : noCompleteMatch(compiledPattern, (String) value)) .map(value -> violation(constraint, fieldValue, value) .toBuilder() .addParam(regex) @@ -118,6 +122,16 @@ public void visitPattern(PatternConstraint constraint) { .forEach(violations::add); } + private static boolean noCompleteMatch(Pattern pattern, String value) { + Matcher matcher = pattern.matcher(value); + return !matcher.matches(); + } + + private static boolean noPartialMatch(Pattern pattern, String value) { + Matcher matcher = pattern.matcher(value); + return !matcher.find(); + } + @Override public void visitDistinct(DistinctConstraint constraint) { FieldValue fieldValue = message.valueOf(constraint.field()); diff --git a/base/src/main/java/io/spine/validate/option/PatternConstraint.java b/base/src/main/java/io/spine/validate/option/PatternConstraint.java index 5098effc39..54568e970e 100644 --- a/base/src/main/java/io/spine/validate/option/PatternConstraint.java +++ b/base/src/main/java/io/spine/validate/option/PatternConstraint.java @@ -24,9 +24,18 @@ import io.spine.code.proto.FieldContext; import io.spine.code.proto.FieldDeclaration; import io.spine.option.PatternOption; +import io.spine.option.PatternOption.Modifier; import io.spine.validate.ConstraintTranslator; import io.spine.validate.diags.ViolationText; +import java.util.List; + +import static io.spine.option.PatternOption.Modifier.PARTIAL_MATCH; +import static java.util.regex.Pattern.CASE_INSENSITIVE; +import static java.util.regex.Pattern.DOTALL; +import static java.util.regex.Pattern.MULTILINE; +import static java.util.regex.Pattern.UNICODE_CHARACTER_CLASS; + /** * A constraint, which when applied to a string field, checks whether that field matches the * specified pattern. @@ -48,4 +57,41 @@ public String errorMessage(FieldContext field) { public void accept(ConstraintTranslator visitor) { visitor.visitPattern(this); } + + public String regex() { + return optionValue().getRegex(); + } + + public boolean allowsPartialMatch() { + PatternOption option = optionValue(); + List modifiers = option.getModifierList(); + return modifiers.contains(PARTIAL_MATCH); + } + + public int flagsMask() { + int result = 0; + PatternOption option = optionValue(); + for (Modifier modifier : option.getModifierList()) { + switch (modifier) { + case DOT_ALL: + result |= DOTALL; + break; + case UNICODE: + result |= UNICODE_CHARACTER_CLASS; + break; + case MULTILINE: + result |= MULTILINE; + break; + case CASE_INSENSITIVE: + result |= CASE_INSENSITIVE; + break; + case UNRECOGNIZED: + case REGEX_MODIFIER_UNKNOWN: + case PARTIAL_MATCH: + default: + // Do nothing. + } + } + return result; + } } diff --git a/license-report.md b/license-report.md index bc14177d67..3125f63938 100644 --- a/license-report.md +++ b/license-report.md @@ -330,7 +330,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:09 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:40 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -777,7 +777,7 @@ This report was generated on **Tue Mar 24 16:43:09 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:11 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:40 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1170,7 +1170,7 @@ This report was generated on **Tue Mar 24 16:43:11 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:13 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:41 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1537,7 +1537,7 @@ This report was generated on **Tue Mar 24 16:43:13 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:13 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:42 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1920,7 +1920,7 @@ This report was generated on **Tue Mar 24 16:43:13 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:14 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:43 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2305,7 +2305,7 @@ This report was generated on **Tue Mar 24 16:43:14 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:15 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:43 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2672,7 +2672,7 @@ This report was generated on **Tue Mar 24 16:43:15 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:15 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:44 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3097,7 +3097,7 @@ This report was generated on **Tue Mar 24 16:43:15 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:16 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:45 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3464,7 +3464,7 @@ This report was generated on **Tue Mar 24 16:43:16 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:16 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:46 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3831,7 +3831,7 @@ This report was generated on **Tue Mar 24 16:43:16 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:17 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:46 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4158,7 +4158,7 @@ This report was generated on **Tue Mar 24 16:43:17 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:17 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:47 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4493,7 +4493,7 @@ This report was generated on **Tue Mar 24 16:43:17 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:18 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:47 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4878,7 +4878,7 @@ This report was generated on **Tue Mar 24 16:43:18 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:18 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:48 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5213,7 +5213,7 @@ This report was generated on **Tue Mar 24 16:43:18 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:19 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Tue Mar 24 19:22:48 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5548,4 +5548,4 @@ This report was generated on **Tue Mar 24 16:43:19 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 16:43:19 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file +This report was generated on **Tue Mar 24 19:22:49 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file diff --git a/tools/validation-generator/src/main/java/io/spine/tools/validate/ValidationCodeGenerator.java b/tools/validation-generator/src/main/java/io/spine/tools/validate/ValidationCodeGenerator.java index 5b48c4a0cf..fba1158406 100644 --- a/tools/validation-generator/src/main/java/io/spine/tools/validate/ValidationCodeGenerator.java +++ b/tools/validation-generator/src/main/java/io/spine/tools/validate/ValidationCodeGenerator.java @@ -63,6 +63,7 @@ import java.util.List; import java.util.Set; import java.util.function.Function; +import java.util.regex.Pattern; import static com.google.common.base.Preconditions.checkNotNull; import static io.spine.tools.validate.ValidateMethod.VIOLATIONS; @@ -169,7 +170,13 @@ public void visitPattern(PatternConstraint constraint) { FieldDeclaration field = constraint.field(); String pattern = constraint.optionValue() .getRegex(); - Check check = fieldAccess -> fromCode("$L.matches($S)", fieldAccess, pattern).negate(); + String matcher = "$T.compile($S, $L).matcher($L)."; + String method = constraint.allowsPartialMatch() + ? "find()" + : "matches()"; + Check check = fieldAccess -> fromCode( + matcher + method, Pattern.class, pattern, constraint.flagsMask(), fieldAccess + ).negate(); CreateViolation violation = fieldAccess -> newViolation(field, constraint) .setFieldValue(fieldAccess) .addParam(pattern) From 2fc9cd2db6d5767ddd7b101667bab99aac8a0886 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Wed, 25 Mar 2020 11:57:09 +0200 Subject: [PATCH 04/10] Update Gradle --- gradle/wrapper/gradle-wrapper.properties | 2 +- license-report.md | 30 +++++++++---------- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a2bf1313b8..a4b4429748 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/license-report.md b/license-report.md index 3125f63938..dff44c1365 100644 --- a/license-report.md +++ b/license-report.md @@ -330,7 +330,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:40 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:51 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -777,7 +777,7 @@ This report was generated on **Tue Mar 24 19:22:40 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:40 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:52 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1170,7 +1170,7 @@ This report was generated on **Tue Mar 24 19:22:40 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:41 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:53 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1537,7 +1537,7 @@ This report was generated on **Tue Mar 24 19:22:41 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:42 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1920,7 +1920,7 @@ This report was generated on **Tue Mar 24 19:22:42 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:43 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2305,7 +2305,7 @@ This report was generated on **Tue Mar 24 19:22:43 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:43 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2672,7 +2672,7 @@ This report was generated on **Tue Mar 24 19:22:43 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:44 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:56 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3097,7 +3097,7 @@ This report was generated on **Tue Mar 24 19:22:44 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:45 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:56 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3464,7 +3464,7 @@ This report was generated on **Tue Mar 24 19:22:45 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:46 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:57 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3831,7 +3831,7 @@ This report was generated on **Tue Mar 24 19:22:46 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:46 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:57 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4158,7 +4158,7 @@ This report was generated on **Tue Mar 24 19:22:46 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:47 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:58 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4493,7 +4493,7 @@ This report was generated on **Tue Mar 24 19:22:47 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:47 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:58 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4878,7 +4878,7 @@ This report was generated on **Tue Mar 24 19:22:47 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:48 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:59 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5213,7 +5213,7 @@ This report was generated on **Tue Mar 24 19:22:48 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:48 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 11:47:59 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5548,4 +5548,4 @@ This report was generated on **Tue Mar 24 19:22:48 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Tue Mar 24 19:22:49 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file +This report was generated on **Wed Mar 25 11:47:59 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file diff --git a/tools/smoke-tests/gradle/wrapper/gradle-wrapper.properties b/tools/smoke-tests/gradle/wrapper/gradle-wrapper.properties index 4a6ebceacd..a4b4429748 100644 --- a/tools/smoke-tests/gradle/wrapper/gradle-wrapper.properties +++ b/tools/smoke-tests/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 38822a65e2086f704ca55e844f26d2ad0b250a5c Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Wed, 25 Mar 2020 12:27:47 +0200 Subject: [PATCH 05/10] Make modifiers a message and add tests for runtime validation --- .../validate/option/PatternConstraint.java | 39 ++++------ base/src/main/proto/spine/options.proto | 17 ++--- .../validate/ValidationOfConstraintTest.java | 2 - .../io/spine/validate/option/PatternTest.java | 75 +++++++++++++++++++ .../proto/spine/test/validate/patterns.proto | 38 ++++++++++ license-report.md | 30 ++++---- 6 files changed, 149 insertions(+), 52 deletions(-) create mode 100644 base/src/test/proto/spine/test/validate/patterns.proto diff --git a/base/src/main/java/io/spine/validate/option/PatternConstraint.java b/base/src/main/java/io/spine/validate/option/PatternConstraint.java index 54568e970e..68fcbfdc6c 100644 --- a/base/src/main/java/io/spine/validate/option/PatternConstraint.java +++ b/base/src/main/java/io/spine/validate/option/PatternConstraint.java @@ -28,9 +28,6 @@ import io.spine.validate.ConstraintTranslator; import io.spine.validate.diags.ViolationText; -import java.util.List; - -import static io.spine.option.PatternOption.Modifier.PARTIAL_MATCH; import static java.util.regex.Pattern.CASE_INSENSITIVE; import static java.util.regex.Pattern.DOTALL; import static java.util.regex.Pattern.MULTILINE; @@ -64,33 +61,25 @@ public String regex() { public boolean allowsPartialMatch() { PatternOption option = optionValue(); - List modifiers = option.getModifierList(); - return modifiers.contains(PARTIAL_MATCH); + Modifier modifier = option.getModifier(); + return modifier.getPartialMatch(); } public int flagsMask() { int result = 0; PatternOption option = optionValue(); - for (Modifier modifier : option.getModifierList()) { - switch (modifier) { - case DOT_ALL: - result |= DOTALL; - break; - case UNICODE: - result |= UNICODE_CHARACTER_CLASS; - break; - case MULTILINE: - result |= MULTILINE; - break; - case CASE_INSENSITIVE: - result |= CASE_INSENSITIVE; - break; - case UNRECOGNIZED: - case REGEX_MODIFIER_UNKNOWN: - case PARTIAL_MATCH: - default: - // Do nothing. - } + Modifier modifier = option.getModifier(); + if (modifier.getDotAll()) { + result |= DOTALL; + } + if (modifier.getUnicode()) { + result |= UNICODE_CHARACTER_CLASS; + } + if (modifier.getCaseInsensitive()) { + result |= CASE_INSENSITIVE; + } + if (modifier.getMultiline()) { + result |= MULTILINE; } return result; } diff --git a/base/src/main/proto/spine/options.proto b/base/src/main/proto/spine/options.proto index 1264a07217..4324ed9127 100644 --- a/base/src/main/proto/spine/options.proto +++ b/base/src/main/proto/spine/options.proto @@ -621,7 +621,7 @@ message PatternOption { int32 flag = 2 [deprecated = true]; // Modifiers for this pattern. - repeated Modifier modifier = 4; + Modifier modifier = 4; // A user-defined validation error format message. string msg_format = 3; @@ -630,10 +630,7 @@ message PatternOption { // // These modifiers are specifically selected to be supported in many implementation platforms. // - enum Modifier { - - // The default instance. Has no effect on matching. - REGEX_MODIFIER_UNKNOWN = 0; + message Modifier { // Enables the dot (`.`) symbol to match all the characters. // @@ -642,7 +639,7 @@ message PatternOption { // May also be known in some platforms as "single line" mode and be encoded with the `s` // flag. // - DOT_ALL = 1; + bool dot_all = 1; // Allows to ignore the case of the matched symbols. // @@ -651,20 +648,20 @@ message PatternOption { // // On some platforms may be represented by the `i` flag. // - CASE_INSENSITIVE = 2; + bool case_insensitive = 2; // Enables the `^` (caret) and `$` (dollar) signs to match a start and an end of a line // instead of a start and an end of the whole expression. // // On some platforms may be represented by the `m` flag. // - MULTILINE = 3; + bool multiline = 3; // Enables matching the whole UTF-8 sequences, // // On some platforms may be represented by the `u` flag. // - UNICODE = 4; + bool unicode = 4; // Allows the matched strings to contain a full match to the pattern and some other // characters as well. @@ -677,7 +674,7 @@ message PatternOption { // language means. For example, in Java, this would be the difference between methods // `matches()` and `find()` of the `java.util.regex.Matcher` class. // - PARTIAL_MATCH = 5; + bool partial_match = 5; } } diff --git a/base/src/test/java/io/spine/validate/ValidationOfConstraintTest.java b/base/src/test/java/io/spine/validate/ValidationOfConstraintTest.java index fc9b5694e1..9a833346d3 100644 --- a/base/src/test/java/io/spine/validate/ValidationOfConstraintTest.java +++ b/base/src/test/java/io/spine/validate/ValidationOfConstraintTest.java @@ -20,7 +20,6 @@ package io.spine.validate; -import com.google.common.truth.Truth; import com.google.protobuf.Message; import java.util.List; @@ -29,7 +28,6 @@ import static io.spine.validate.Validate.violationsOf; import static io.spine.validate.given.MessageValidatorTestEnv.assertFieldPathIs; import static java.lang.String.format; -import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; public abstract class ValidationOfConstraintTest { diff --git a/base/src/test/java/io/spine/validate/option/PatternTest.java b/base/src/test/java/io/spine/validate/option/PatternTest.java index 119727c8d1..b336ea5c46 100644 --- a/base/src/test/java/io/spine/validate/option/PatternTest.java +++ b/base/src/test/java/io/spine/validate/option/PatternTest.java @@ -21,6 +21,7 @@ package io.spine.validate.option; import com.google.protobuf.StringValue; +import io.spine.test.validate.AllThePatterns; import io.spine.test.validate.PatternStringFieldValue; import io.spine.test.validate.SimpleStringValue; import io.spine.test.validate.WithStringValue; @@ -84,6 +85,80 @@ void findOutThatStringDoesNotMatchExternalConstraint() { assertNotValid(msg); } + @Test + @DisplayName("validate with `case_insensitive` modifier") + void caseInsensitive() { + AllThePatterns message = AllThePatterns + .newBuilder() + .setLetters("AbC") + .buildPartial(); + assertValid(message); + + AllThePatterns invalid = AllThePatterns + .newBuilder() + .setLetters("12345") + .buildPartial(); + assertNotValid(invalid); + } + + @Test + @DisplayName("validate with `multiline` modifier") + void multiline() { + AllThePatterns message = AllThePatterns + .newBuilder() + .setManyLines("text" + System.lineSeparator() + "more text") + .buildPartial(); + assertValid(message); + + AllThePatterns invalid = AllThePatterns + .newBuilder() + .setManyLines("single line text") + .buildPartial(); + assertNotValid(invalid); + } + + @Test + @DisplayName("validate with `partial` modifier") + void partial() { + AllThePatterns message = AllThePatterns + .newBuilder() + .setPartial("Hello World!") + .buildPartial(); + assertValid(message); + + AllThePatterns invalid = AllThePatterns + .newBuilder() + .setPartial("123456") + .buildPartial(); + assertNotValid(invalid); + } + + @Test + @DisplayName("validate with `unicode` modifier") + void utf8() { + AllThePatterns message = AllThePatterns + .newBuilder() + .setUtf8("ґ") + .buildPartial(); + assertValid(message); + + AllThePatterns invalid = AllThePatterns + .newBuilder() + .setUtf8("\\\\") + .buildPartial(); + assertNotValid(invalid); + } + + @Test + @DisplayName("validate with `dot_all` modifier") + void dotAll() { + AllThePatterns message = AllThePatterns + .newBuilder() + .setDotAll("ab" + System.lineSeparator() + "cd") + .buildPartial(); + assertValid(message); + } + private static PatternStringFieldValue patternStringFor(String email) { return PatternStringFieldValue .newBuilder() diff --git a/base/src/test/proto/spine/test/validate/patterns.proto b/base/src/test/proto/spine/test/validate/patterns.proto new file mode 100644 index 0000000000..a44aa3ac3f --- /dev/null +++ b/base/src/test/proto/spine/test/validate/patterns.proto @@ -0,0 +1,38 @@ +syntax = "proto3"; + +package spine.test.validate; + +import "spine/options.proto"; + +option (type_url_prefix) = "type.spine.io"; +option java_package = "io.spine.test.validate"; +option java_outer_classname = "PatternsProto"; +option java_multiple_files = true; + +message AllThePatterns { + + string letters = 1 [ + (pattern).regex = "[a-z]+", + (pattern).modifier.case_insensitive = true + ]; + + string many_lines = 2 [ + (pattern).regex = ".+$\n^.+", + (pattern).modifier.multiline = true + ]; + + string partial = 3 [ + (pattern).regex = "World", + (pattern).modifier.partial_match = true + ]; + + string utf8 = 4 [ + (pattern).regex = "[їґє]", + (pattern).modifier.unicode = true + ]; + + string dot_all = 5 [ + (pattern).regex = ".*", + (pattern).modifier.dot_all = true + ]; +} diff --git a/license-report.md b/license-report.md index dff44c1365..9800a6f49d 100644 --- a/license-report.md +++ b/license-report.md @@ -330,7 +330,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:51 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:49 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -777,7 +777,7 @@ This report was generated on **Wed Mar 25 11:47:51 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:52 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:50 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1170,7 +1170,7 @@ This report was generated on **Wed Mar 25 11:47:52 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:53 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:51 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1537,7 +1537,7 @@ This report was generated on **Wed Mar 25 11:47:53 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:51 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1920,7 +1920,7 @@ This report was generated on **Wed Mar 25 11:47:54 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:52 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2305,7 +2305,7 @@ This report was generated on **Wed Mar 25 11:47:55 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:52 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2672,7 +2672,7 @@ This report was generated on **Wed Mar 25 11:47:55 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:56 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:53 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3097,7 +3097,7 @@ This report was generated on **Wed Mar 25 11:47:56 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:56 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:53 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3464,7 +3464,7 @@ This report was generated on **Wed Mar 25 11:47:56 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:57 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3831,7 +3831,7 @@ This report was generated on **Wed Mar 25 11:47:57 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:57 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4158,7 +4158,7 @@ This report was generated on **Wed Mar 25 11:47:57 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:58 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4493,7 +4493,7 @@ This report was generated on **Wed Mar 25 11:47:58 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:58 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4878,7 +4878,7 @@ This report was generated on **Wed Mar 25 11:47:58 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:59 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5213,7 +5213,7 @@ This report was generated on **Wed Mar 25 11:47:59 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:59 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:20:56 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5548,4 +5548,4 @@ This report was generated on **Wed Mar 25 11:47:59 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 11:47:59 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file +This report was generated on **Wed Mar 25 12:20:56 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file From a44d6ab3a819384658d83fe7bd6a4c46e363cd12 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Wed, 25 Mar 2020 12:51:55 +0200 Subject: [PATCH 06/10] Make test patterns platform-independant --- base/src/test/proto/spine/test/validate/patterns.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/src/test/proto/spine/test/validate/patterns.proto b/base/src/test/proto/spine/test/validate/patterns.proto index a44aa3ac3f..d679a1df77 100644 --- a/base/src/test/proto/spine/test/validate/patterns.proto +++ b/base/src/test/proto/spine/test/validate/patterns.proto @@ -17,7 +17,7 @@ message AllThePatterns { ]; string many_lines = 2 [ - (pattern).regex = ".+$\n^.+", + (pattern).regex = ".+$\r?\n^.+", (pattern).modifier.multiline = true ]; From 01ce0bcb47aa35c584b76140130d4ec2029a1aae Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Wed, 25 Mar 2020 13:08:43 +0200 Subject: [PATCH 07/10] Remove usage of deprecated API --- license-report.md | 30 +++++++++---------- .../tools/gradle/compiler/ProtoModule.java | 4 +-- .../tools/gradle/SpinePluginBuilderTest.java | 5 ++-- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/license-report.md b/license-report.md index 9800a6f49d..9b5970c621 100644 --- a/license-report.md +++ b/license-report.md @@ -330,7 +330,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:49 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:06 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -777,7 +777,7 @@ This report was generated on **Wed Mar 25 12:20:49 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:50 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:06 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1170,7 +1170,7 @@ This report was generated on **Wed Mar 25 12:20:50 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:51 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:07 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1537,7 +1537,7 @@ This report was generated on **Wed Mar 25 12:20:51 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:51 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:08 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1920,7 +1920,7 @@ This report was generated on **Wed Mar 25 12:20:51 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:52 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:09 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2305,7 +2305,7 @@ This report was generated on **Wed Mar 25 12:20:52 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:52 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:09 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2672,7 +2672,7 @@ This report was generated on **Wed Mar 25 12:20:52 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:53 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:10 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3097,7 +3097,7 @@ This report was generated on **Wed Mar 25 12:20:53 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:53 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:10 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3464,7 +3464,7 @@ This report was generated on **Wed Mar 25 12:20:53 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:11 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3831,7 +3831,7 @@ This report was generated on **Wed Mar 25 12:20:54 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:54 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:11 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4158,7 +4158,7 @@ This report was generated on **Wed Mar 25 12:20:54 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:11 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4493,7 +4493,7 @@ This report was generated on **Wed Mar 25 12:20:55 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:12 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4878,7 +4878,7 @@ This report was generated on **Wed Mar 25 12:20:55 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:55 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:12 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5213,7 +5213,7 @@ This report was generated on **Wed Mar 25 12:20:55 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:56 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 12:54:13 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5548,4 +5548,4 @@ This report was generated on **Wed Mar 25 12:20:56 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:20:56 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file +This report was generated on **Wed Mar 25 12:54:13 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file diff --git a/tools/model-compiler/src/main/java/io/spine/tools/gradle/compiler/ProtoModule.java b/tools/model-compiler/src/main/java/io/spine/tools/gradle/compiler/ProtoModule.java index fdf2f2ef68..2239a361bb 100644 --- a/tools/model-compiler/src/main/java/io/spine/tools/gradle/compiler/ProtoModule.java +++ b/tools/model-compiler/src/main/java/io/spine/tools/gradle/compiler/ProtoModule.java @@ -23,7 +23,6 @@ import io.spine.tools.gradle.SourceScope; import org.gradle.api.Project; import org.gradle.api.file.FileCollection; -import org.gradle.api.internal.file.collections.ImmutableFileCollection; import org.gradle.api.plugins.JavaPluginConvention; import org.gradle.api.tasks.SourceSet; @@ -88,7 +87,8 @@ FileCollection testProtoSource() { private FileCollection protoSource(SourceScope sourceScope) { SourceSet sourceSet = sourceSet(sourceScope); Optional files = protoSource(sourceSet); - return files.orElse(ImmutableFileCollection.of()); + FileCollection emptyCollection = project.getLayout().files(); + return files.orElse(emptyCollection); } private static Optional protoSource(SourceSet sourceSet) { diff --git a/tools/plugin-base/src/test/java/io/spine/tools/gradle/SpinePluginBuilderTest.java b/tools/plugin-base/src/test/java/io/spine/tools/gradle/SpinePluginBuilderTest.java index d762454a24..c5c8641a97 100644 --- a/tools/plugin-base/src/test/java/io/spine/tools/gradle/SpinePluginBuilderTest.java +++ b/tools/plugin-base/src/test/java/io/spine/tools/gradle/SpinePluginBuilderTest.java @@ -23,7 +23,7 @@ import io.spine.tools.gradle.testing.NoOp; import org.gradle.api.Project; import org.gradle.api.Task; -import org.gradle.api.internal.file.collections.ImmutableFileCollection; +import org.gradle.api.file.FileCollection; import org.gradle.api.tasks.TaskContainer; import org.gradle.testfixtures.ProjectBuilder; import org.junit.jupiter.api.BeforeEach; @@ -153,9 +153,10 @@ void returnBuildTaskDescription() { void createTaskWithGivenInputs() throws IOException { SpinePlugin plugin = TestPlugin.INSTANCE; File input = new File(".").getAbsoluteFile(); + FileCollection files = project.getLayout().files(input); plugin.newTask(preClean, NoOp.action()) .insertBeforeTask(clean) - .withInputFiles(ImmutableFileCollection.of(input)) + .withInputFiles(files) .applyNowTo(project); Task task = project.getTasks() .findByPath(preClean.name()); From c5ec0c2090d8251e25e0140615f4f1e3a1f73a8f Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Wed, 25 Mar 2020 23:19:55 +0200 Subject: [PATCH 08/10] Add doc for public API --- .../validate/option/PatternConstraint.java | 14 +++++++++ license-report.md | 30 +++++++++---------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/base/src/main/java/io/spine/validate/option/PatternConstraint.java b/base/src/main/java/io/spine/validate/option/PatternConstraint.java index 68fcbfdc6c..691cf8dcba 100644 --- a/base/src/main/java/io/spine/validate/option/PatternConstraint.java +++ b/base/src/main/java/io/spine/validate/option/PatternConstraint.java @@ -55,16 +55,30 @@ public void accept(ConstraintTranslator visitor) { visitor.visitPattern(this); } + /** + * Obtains the regular expression as a string. + */ public String regex() { return optionValue().getRegex(); } + /** + * Checks if the pattern allows a partial match. + * + *

If {@code true}, the whole string value does not have to match the regex, but only its + * substring. + */ public boolean allowsPartialMatch() { PatternOption option = optionValue(); Modifier modifier = option.getModifier(); return modifier.getPartialMatch(); } + /** + * Obtains the pattern modifiers as a bit mask for the {@link Pattern} flags. + * + *

If no modifiers are specified, returns {@code 0}. + */ public int flagsMask() { int result = 0; PatternOption option = optionValue(); diff --git a/license-report.md b/license-report.md index 9b5970c621..da6201a122 100644 --- a/license-report.md +++ b/license-report.md @@ -330,7 +330,7 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:06 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:18 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -777,7 +777,7 @@ This report was generated on **Wed Mar 25 12:54:06 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:06 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:19 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1170,7 +1170,7 @@ This report was generated on **Wed Mar 25 12:54:06 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:07 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:20 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1537,7 +1537,7 @@ This report was generated on **Wed Mar 25 12:54:07 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:08 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:20 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -1920,7 +1920,7 @@ This report was generated on **Wed Mar 25 12:54:08 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:09 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:21 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2305,7 +2305,7 @@ This report was generated on **Wed Mar 25 12:54:09 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:09 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:21 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -2672,7 +2672,7 @@ This report was generated on **Wed Mar 25 12:54:09 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:10 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:22 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3097,7 +3097,7 @@ This report was generated on **Wed Mar 25 12:54:10 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:10 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:23 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3464,7 +3464,7 @@ This report was generated on **Wed Mar 25 12:54:10 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:11 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:23 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -3831,7 +3831,7 @@ This report was generated on **Wed Mar 25 12:54:11 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:11 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:24 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4158,7 +4158,7 @@ This report was generated on **Wed Mar 25 12:54:11 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:11 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:24 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4493,7 +4493,7 @@ This report was generated on **Wed Mar 25 12:54:11 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:12 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:25 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -4878,7 +4878,7 @@ This report was generated on **Wed Mar 25 12:54:12 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:12 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:25 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5213,7 +5213,7 @@ This report was generated on **Wed Mar 25 12:54:12 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:13 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Wed Mar 25 13:14:26 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). @@ -5548,4 +5548,4 @@ This report was generated on **Wed Mar 25 12:54:13 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 12:54:13 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file +This report was generated on **Wed Mar 25 13:14:26 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file From 19945af5eb0f4d7d857813e0bf6a5d5a4d163388 Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Thu, 26 Mar 2020 14:01:42 +0200 Subject: [PATCH 09/10] Bump base version --- version.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.gradle b/version.gradle index 02db104793..19cafac1f1 100644 --- a/version.gradle +++ b/version.gradle @@ -25,7 +25,7 @@ * as we want to manage the versions in a single source. */ -final def SPINE_VERSION = '1.5.1' +final def SPINE_VERSION = '1.5.2' ext { spineVersion = SPINE_VERSION From 19191be292f9da09aef16d6ef307ebad8de8e79e Mon Sep 17 00:00:00 2001 From: Dmytro Dashenkov Date: Thu, 26 Mar 2020 14:10:19 +0200 Subject: [PATCH 10/10] Update reports --- license-report.md | 60 +++++++++++++++++++++++------------------------ pom.xml | 4 ++-- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/license-report.md b/license-report.md index da6201a122..45f7a4cd61 100644 --- a/license-report.md +++ b/license-report.md @@ -1,6 +1,6 @@ -# Dependencies of `io.spine:spine-base:1.5.1` +# Dependencies of `io.spine:spine-base:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -330,12 +330,12 @@ The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:18 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:23 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-errorprone-checks:1.5.1` +# Dependencies of `io.spine.tools:spine-errorprone-checks:1.5.2` ## Runtime 1. **Group:** com.github.ben-manes.caffeine **Name:** caffeine **Version:** 2.7.0 @@ -777,12 +777,12 @@ This report was generated on **Wed Mar 25 13:14:18 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:19 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:24 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-javadoc-filter:1.5.1` +# Dependencies of `io.spine.tools:spine-javadoc-filter:1.5.2` ## Runtime 1. **Group:** com.google.android **Name:** annotations **Version:** 4.1.1.4 @@ -1170,12 +1170,12 @@ This report was generated on **Wed Mar 25 13:14:19 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:20 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:25 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-javadoc-prettifier:1.5.1` +# Dependencies of `io.spine.tools:spine-javadoc-prettifier:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -1537,12 +1537,12 @@ This report was generated on **Wed Mar 25 13:14:20 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:20 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:25 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-model-compiler:1.5.1` +# Dependencies of `io.spine.tools:spine-model-compiler:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -1920,12 +1920,12 @@ This report was generated on **Wed Mar 25 13:14:20 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:21 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:26 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-mute-logging:1.5.1` +# Dependencies of `io.spine.tools:spine-mute-logging:1.5.2` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -2305,12 +2305,12 @@ This report was generated on **Wed Mar 25 13:14:21 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:21 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:27 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-plugin-base:1.5.1` +# Dependencies of `io.spine.tools:spine-plugin-base:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -2672,12 +2672,12 @@ This report was generated on **Wed Mar 25 13:14:21 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:22 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:27 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-plugin-testlib:1.5.1` +# Dependencies of `io.spine.tools:spine-plugin-testlib:1.5.2` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -3097,12 +3097,12 @@ This report was generated on **Wed Mar 25 13:14:22 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:23 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:28 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-proto-dart-plugin:1.5.1` +# Dependencies of `io.spine.tools:spine-proto-dart-plugin:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -3464,12 +3464,12 @@ This report was generated on **Wed Mar 25 13:14:23 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:23 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:28 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-proto-js-plugin:1.5.1` +# Dependencies of `io.spine.tools:spine-proto-js-plugin:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -3831,12 +3831,12 @@ This report was generated on **Wed Mar 25 13:14:23 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:24 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:29 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-protoc-api:1.5.1` +# Dependencies of `io.spine.tools:spine-protoc-api:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -4158,12 +4158,12 @@ This report was generated on **Wed Mar 25 13:14:24 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:24 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:29 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-protoc-plugin:1.5.1` +# Dependencies of `io.spine.tools:spine-protoc-plugin:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -4493,12 +4493,12 @@ This report was generated on **Wed Mar 25 13:14:24 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:25 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:30 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine:spine-testlib:1.5.1` +# Dependencies of `io.spine:spine-testlib:1.5.2` ## Runtime 1. **Group:** com.google.auto.value **Name:** auto-value-annotations **Version:** 1.6.3 @@ -4878,12 +4878,12 @@ This report was generated on **Wed Mar 25 13:14:25 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:25 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:30 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-tool-base:1.5.1` +# Dependencies of `io.spine.tools:spine-tool-base:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -5213,12 +5213,12 @@ This report was generated on **Wed Mar 25 13:14:25 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:26 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). +This report was generated on **Thu Mar 26 14:09:30 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). -# Dependencies of `io.spine.tools:spine-validation-generator:1.5.1` +# Dependencies of `io.spine.tools:spine-validation-generator:1.5.2` ## Runtime 1. **Group:** com.google.code.findbugs **Name:** jsr305 **Version:** 3.0.2 @@ -5548,4 +5548,4 @@ This report was generated on **Wed Mar 25 13:14:26 EET 2020** using [Gradle-Lice The dependencies distributed under several licenses, are used according their commercial-use-friendly license. -This report was generated on **Wed Mar 25 13:14:26 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file +This report was generated on **Thu Mar 26 14:09:31 EET 2020** using [Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under [Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE). \ No newline at end of file diff --git a/pom.xml b/pom.xml index dc02883fd6..e7e51490a1 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ all modules and does not describe the project structure per-subproject. io.spine spine-base -1.5.1 +1.5.2 2015 @@ -154,7 +154,7 @@ all modules and does not describe the project structure per-subproject. io.spine.tools spine-protoc-plugin - 1.5.1 + 1.5.2 test